コード例 #1
0
 protected void addSuperClass(final XtendClass xtendClass) {
   EObject xtendType = xtendClass;
   while (((!Objects.equal(xtendType, null)) && (xtendType instanceof XtendClass))) {
     {
       final XtendClass current = ((XtendClass) xtendType);
       EList<XAnnotation> _annotations = current.getAnnotations();
       final Function1<XAnnotation, Boolean> _function =
           new Function1<XAnnotation, Boolean>() {
             public Boolean apply(final XAnnotation it) {
               return Boolean.valueOf(JnarioJvmModelInferrer.this.hasExtendsAnnotation(it));
             }
           };
       Iterable<XAnnotation> _filter =
           IterableExtensions.<XAnnotation>filter(_annotations, _function);
       final Function1<XAnnotation, XTypeLiteral> _function_1 =
           new Function1<XAnnotation, XTypeLiteral>() {
             public XTypeLiteral apply(final XAnnotation it) {
               XExpression _value = it.getValue();
               return ((XTypeLiteral) _value);
             }
           };
       Iterable<XTypeLiteral> _map =
           IterableExtensions.<XAnnotation, XTypeLiteral>map(_filter, _function_1);
       for (final XTypeLiteral extendedType : _map) {
         boolean _and = false;
         EList<JvmTypeReference> _implements = current.getImplements();
         boolean _isEmpty = _implements.isEmpty();
         if (!_isEmpty) {
           _and = false;
         } else {
           JvmType _type = extendedType.getType();
           boolean _notEquals = (!Objects.equal(_type, null));
           _and = _notEquals;
         }
         if (_and) {
           JvmType _type_1 = extendedType.getType();
           JvmParameterizedTypeReference _createTypeRef =
               this._typeReferences.createTypeRef(_type_1);
           xtendClass.setExtends(_createTypeRef);
           return;
         }
       }
       EObject _eContainer = xtendType.eContainer();
       xtendType = _eContainer;
     }
   }
 }