protected JvmEnumerationLiteral createEnumLiteralProxy(Enum<?> e) { JvmEnumerationLiteral enumLiteralProxy = TypesFactory.eINSTANCE.createJvmEnumerationLiteral(); InternalEObject internalEObject = (InternalEObject) enumLiteralProxy; Class<?> type = e.getDeclaringClass(); try { Field field = type.getDeclaredField(e.name()); internalEObject.eSetProxyURI(uriHelper.getFullURI(field)); } catch (Exception exception) { log.error(exception.getMessage(), exception); return null; } return enumLiteralProxy; }
protected JvmEnumerationLiteral createEnumLiteralProxy(Enum<?> e) { JvmEnumerationLiteral enumLiteralProxy = TypesFactory.eINSTANCE.createJvmEnumerationLiteral(); InternalEObject internalEObject = (InternalEObject) enumLiteralProxy; Class<?> type = e.getDeclaringClass(); try { Field field = type.getDeclaredField(e.toString()); internalEObject.eSetProxyURI(uriHelper.getFullURI(field)); } catch (Exception exception) { log.error(exception.getMessage(), exception); return null; } return enumLiteralProxy; }
protected JvmEnumerationLiteral createEnumLiteral(String literalName, BinaryTypeSignature typeName) { JvmEnumerationLiteral enumLiteralProxy = TypesFactory.eINSTANCE.createJvmEnumerationLiteral(); InternalEObject internalEObject = (InternalEObject) enumLiteralProxy; BinarySimpleMemberSignature fieldSignature = typeName.appendField(literalName); URI uri = fieldSignature.getURI(); internalEObject.eSetProxyURI(uri); return enumLiteralProxy; }
protected JvmField createField(Field field) { JvmField result; int modifiers = field.getModifiers(); if (!field.isEnumConstant()) { result = TypesFactory.eINSTANCE.createJvmField(); } else result = TypesFactory.eINSTANCE.createJvmEnumerationLiteral(); String fieldName = field.getName(); result.internalSetIdentifier(field.getDeclaringClass().getName() + "." + fieldName); result.setSimpleName(fieldName); result.setFinal(Modifier.isFinal(modifiers)); result.setStatic(Modifier.isStatic(modifiers)); result.setTransient(Modifier.isTransient(modifiers)); result.setVolatile(Modifier.isVolatile(modifiers)); setVisibility(result, modifiers); Type fieldType = null; try { fieldType = field.getGenericType(); } catch (GenericSignatureFormatError error) { logSignatureFormatError(field.getDeclaringClass()); fieldType = field.getType(); } catch (MalformedParameterizedTypeException error) { logSignatureFormatError(field.getDeclaringClass()); fieldType = field.getType(); } result.setType(createTypeReference(fieldType)); createAnnotationValues(field, result); return result; }
protected JvmField createField(Field field) { JvmField result; if (!field.isEnumConstant()) result = TypesFactory.eINSTANCE.createJvmField(); else result = TypesFactory.eINSTANCE.createJvmEnumerationLiteral(); String fieldName = field.getName(); result.internalSetIdentifier(field.getDeclaringClass().getName() + "." + fieldName); result.setSimpleName(fieldName); int modifiers = field.getModifiers(); result.setFinal(Modifier.isFinal(modifiers)); result.setStatic(Modifier.isStatic(modifiers)); result.setTransient(Modifier.isTransient(modifiers)); result.setVolatile(Modifier.isVolatile(modifiers)); setVisibility(result, modifiers); Type fieldType = null; try { fieldType = field.getGenericType(); } catch (GenericSignatureFormatError error) { logSignatureFormatError(field.getDeclaringClass()); fieldType = field.getType(); } catch (MalformedParameterizedTypeException error) { logSignatureFormatError(field.getDeclaringClass()); fieldType = field.getType(); } result.setType(createTypeReference(fieldType)); createAnnotationValues(field, result); return result; }
/** * 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); }
this.declarator = declarator; if ((access & ACC_ENUM) != 0) { result = TypesFactory.eINSTANCE.createJvmEnumerationLiteral(); } else { result = TypesFactory.eINSTANCE.createJvmField();