public XFeatureCall createReferenceToSuper ( ) { final XExpression expr = getXExpression ( ) ; XtendTypeDeclaration type = EcoreUtil2 . getContainerOfType ( expr , XtendTypeDeclaration . class ) ; JvmType jvmObject = getAssociatedElement ( JvmType . class , type , expr . eResource ( ) ) ; final XFeatureCall superFeature = XbaseFactory . eINSTANCE . createXFeatureCall ( ) ; JvmIdentifiableElement feature ; if ( jvmObject instanceof JvmDeclaredType ) { feature = ( ( JvmDeclaredType ) jvmObject ) . getExtendedClass ( ) . getType ( ) ; } else { feature = findType ( expr , getQualifiedName ( type ) ) . getType ( ) ; if ( feature instanceof JvmDeclaredType ) { feature = ( ( JvmDeclaredType ) feature ) . getExtendedClass ( ) . getType ( ) ; } else { feature = null ; } } if ( feature == null ) { return null ; } superFeature . setFeature ( feature ) ; return superFeature ; }
Create a reference to super object or to the super type .