public IScope createFeatureCallSerializationScope ( EObject context ) { if ( ! ( context instanceof XAbstractFeatureCall ) ) { return IScope . NULLSCOPE ; } XAbstractFeatureCall call = ( XAbstractFeatureCall ) context ; JvmIdentifiableElement feature = call . getFeature ( ) ; // this and super - logical container aware FeatureScopes if ( feature instanceof JvmType ) { return getTypeScope ( call , ( JvmType ) feature ) ; } if ( feature instanceof JvmConstructor ) { return getThisOrSuperScope ( call , ( JvmConstructor ) feature ) ; } if ( feature instanceof JvmExecutable ) { return getExecutableScope ( call , feature ) ; } if ( feature instanceof JvmFormalParameter || feature instanceof JvmField || feature instanceof XVariableDeclaration || feature instanceof XSwitchExpression ) { return new SingletonScope ( EObjectDescription . create ( feature . getSimpleName ( ) , feature ) , IScope . NULLSCOPE ) ; } return IScope . NULLSCOPE ; }
which is quite hard anyway ...