Issue 1419: "in". "out", and "inout" modifiers on value operation parameters (obv-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: The "in", "out", and "inout" modifiers on value operation parameters are effectively comments. This is the case as a value maps to a language pointer or reference. When it is passed in a local interface there is no way to guarantee "in" or "out" semantics; it is passed by reference which essentially has "inout" semantics. These semantics should be explicitly stated. Resolution: Revised Text: Actions taken: June 2, 1998: received issue July 30, 1998: closed issue Discussion: End of Annotations:===== Return-Path: X-Sender: thompson@mail.roguewave.com Date: Mon, 01 Jun 1998 15:23:32 -0700 To: issues@omg.org From: Patrick Thompson Subject: OBV Issue The "in", "out", and "inout" modifiers on value operation parameters are effectively comments. This is the case as a value maps to a language pointer or reference. When it is passed in a local interface there is no way to guarantee "in" or "out" semantics; it is passed by reference which essentially has "inout" semantics. These semantics should be explicitly stated. --- Patrick Thompson Rogue Wave Software, Inc. ph. 541 754 3189 patrick@roguewave.com Return-Path: X-Sender: thompson@mail.roguewave.com Date: Mon, 01 Jun 1998 17:45:48 -0700 To: Jonathan Biggar From: Patrick Thompson Subject: Re: OBV Issue Cc: issues@omg.org, obval@omg.org References: <199806012223.PAA18791@cvo.roguewave.com> Hi Jon, It seems that you're right... For some reason, I was under the impression that the parameter passing modes discussed in the mapping sections applied to object operations and not to value operations. It's not clearly stated. While the C++ mapping doesn't discuss value operation param. passing modes explicitly, the example in 7.3.14 does makes it clear that the mapping rules apply to local operations as well. I could likewise infer that the Java mapping discussion of param. passing modes applies to value operations, but there is no example (or text) to support this. In all, if the intent is to apply common parameter mapping rules to both interface and value operations, then we should explicitly state that in the parameter passing mode discussions and provide supporting examples. Thanks for the clarification. -Patrick At 04:10 PM 6/1/98 , Jonathan Biggar wrote: >Patrick Thompson wrote: >> >> The "in", "out", and "inout" modifiers on value operation parameters are >> effectively comments. This is the case as a value maps to a language >> pointer or reference. When it is passed in a local interface >> there is no way to guarantee "in" or "out" semantics; it is passed by >> reference which essentially has "inout" semantics. >> >> These semantics should be explicitly stated. > >Which language mapping are you talking about? It appears that C++ has >it "right": > >in maps to value * >inout maps to value *& >out maps to value_out > >and so does Java: > >in maps to value >inout maps to valueHolder >out maps to valueHolder > >Where is the problem? > >-- >Jon Biggar >Floorboard Software >jon@floorboard.com >jon@biggar.org > --- Patrick Thompson Rogue Wave Software, Inc. ph. 541 754 3189 patrick@roguewave.com