/** * Same as {@link #toEnumerationLiteral(EObject, String)} but with an initializer passed as the last argument. */ /* @Nullable */ public JvmEnumerationLiteral toEnumerationLiteral(/* @Nullable */ EObject sourceElement, /* @Nullable */ String name, /* @Nullable */ Procedure1<? super JvmEnumerationLiteral> initializer) { if (sourceElement == null || name == null) return null; JvmEnumerationLiteral result = typesFactory.createJvmEnumerationLiteral(); result.setSimpleName(name); result.setVisibility(JvmVisibility.PUBLIC); associate(sourceElement, result); return initializeSafely(result, initializer); }
@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); }