protected boolean isValidFeatureCallArgument(XExpression expression, JvmIdentifiableElement linkedReceiver, IFeatureScopeSession session) {
		if (linkedReceiver instanceof JvmType) {
			IEObjectDescription knownSuperType = session.getLocalElement(SUPER);
			if (knownSuperType != null && linkedReceiver == knownSuperType.getEObjectOrProxy()) {
				return false;
			}
		}
		return !(expression instanceof XAbstractFeatureCall) || linkedReceiver != null && !linkedReceiver.eIsProxy();
	}
protected boolean isValidFeatureCallArgument ( XExpression expression , JvmIdentifiableElement linkedReceiver , IFeatureScopeSession session ) { if ( linkedReceiver instanceof JvmType ) { IEObjectDescription knownSuperType = session . getLocalElement ( SUPER ) ; if ( knownSuperType != null && linkedReceiver == knownSuperType . getEObjectOrProxy ( ) ) { return false ; } } return ! ( expression instanceof XAbstractFeatureCall ) || linkedReceiver != null && ! linkedReceiver . eIsProxy ( ) ; }
Returns <code>true</code> if the linked receiver may be passed as an argument. Basically everything could
be passed as an argument except the linked receiver is null, a proxy or a reference to <code>super</code>.