protected Iterable<JvmMember> _getMembersToBeCompiled(final JvmEnumerationType type) { Iterable<JvmMember> _xblockexpression = null; { String _identifier = type.getIdentifier(); String _plus = (_identifier + "."); String _plus_1 = (_plus + "valueOf(java.lang.String)"); String _identifier_1 = type.getIdentifier(); String _plus_2 = (_identifier_1 + "."); String _plus_3 = (_plus_2 + "values()"); final Set<String> syntheticEnumMethods = Collections.<String>unmodifiableSet(CollectionLiterals.<String>newHashSet(_plus_1, _plus_3)); final Function1<JvmMember, Boolean> _function = (JvmMember it) -> { return Boolean.valueOf((!((it instanceof JvmOperation) && syntheticEnumMethods.contains(it.getIdentifier())))); }; _xblockexpression = IterableExtensions.<JvmMember>filter(type.getMembers(), _function); } return _xblockexpression; }
@Override public MutableEnumerationValueDeclaration addValue(final String name, final Procedure1<MutableEnumerationValueDeclaration> initializer) { this.checkMutable(); ConditionUtils.checkJavaIdentifier(name, "name"); Preconditions.checkArgument((initializer != null), "initializer cannot be null"); final JvmEnumerationLiteral jvmLiteral = TypesFactory.eINSTANCE.createJvmEnumerationLiteral(); jvmLiteral.setSimpleName(name); jvmLiteral.setVisibility(JvmVisibility.PUBLIC); this.getDelegate().getMembers().add(jvmLiteral); MemberDeclaration _memberDeclaration = this.getCompilationUnit().toMemberDeclaration(jvmLiteral); final MutableEnumerationValueDeclaration mutableEnumerationValueDeclaration = ((MutableEnumerationValueDeclaration) _memberDeclaration); initializer.apply(mutableEnumerationValueDeclaration); return mutableEnumerationValueDeclaration; } }
protected void transform(XtendEnumLiteral literal, JvmEnumerationType container) { if (literal.getName() == null) return; JvmEnumerationLiteral jvmLiteral = typesFactory.createJvmEnumerationLiteral(); associator.associatePrimary(literal, jvmLiteral); jvmLiteral.setSimpleName(literal.getName()); jvmLiteral.setVisibility(JvmVisibility.PUBLIC); jvmLiteral.setStatic(true); jvmLiteral.setFinal(true); jvmTypesBuilder.copyDocumentationTo(literal, jvmLiteral); for (XAnnotation anno : literal.getAnnotations()) { if (!annotationTranslationFilter.apply(anno)) continue; JvmAnnotationReference annotationReference = jvmTypesBuilder.getJvmAnnotationReference(anno); if(annotationReference != null) jvmLiteral.getAnnotations().add(annotationReference); } container.getMembers().add(jvmLiteral); }
associator.associate(primarySourceElement, values); element.getMembers().add(values); associator.associate(primarySourceElement, valueOf); element.getMembers().add(valueOf);