If either of the operands is an object reference, the corresponding item must be an object reference, and the following rules
apply:
- If the returning item in the activated source element is not described with an ACTIVE-CLASS phrase, the conformance rules
are be the same as if a SET statement were performed in the activated runtime element with the returning item in the activated
source element as the sending operand and the corresponding returning item in the activating source element as the receiving
operand.
- If the returning item in the activated source element is described with an ACTIVE-CLASS phrase, the conformance rules are
the same as if a SET statement were performed in the activating runtime element with the returning item in the activating
source element as the receiving operand, and a sending operand described with USAGE OBJECT REFERENCE as determined by the
following rules:
- If the activated method is invoked with a class-name, the sending operand is described with the same class-name and an ONLY
phrase.
- If the activated method is invoked with the predefined object references SELF or SUPER
or SELFCLASS
, the sending operand is described with an ACTIVE-CLASS phrase.
- If the activated method is invoked with an object reference described with an interface-name, the sending operand is a universal
object reference.
- If the activated method is invoked with any other object reference, this identifier is used as the sending operand, including
the ONLY phrase if specified.
- If the sending operand selected by applying the above rules is described with a class-name or an ACTIVE-CLASS phrase, the
presence or absence of the FACTORY phrase is the same as in the returning item of the activated source element.
If the sending operand is not an object reference, the receiving operand must have the same PICTURE, USAGE, SIGN, SYNCHRONIZED,
JUSTIFIED, and BLANK clauses, with the following exceptions:
- Currency symbols match if and only if the corresponding currency strings are the same.
- Period picture symbols match if and only if the DECIMAL-POINT IS COMMA clause is in effect for both the activating and the
activated runtime elements or for neither of them.
- Comma picture symbols match if and only if the DECIMAL-POINT IS COMMA clause is in effect for both the activating and the
activated runtime elements or for neither of them.
Additionally:
- If the receiving operand is described with the ANY LENGTH clause, the sending operand must also be described with the ANY
LENGTH clause.
- If the sending operand is described with the ANY LENGTH clause, the length of the sending operand is considered to match the
length of the receiving operand.