protected void addDefaultConstructor(XtendClass source, JvmGenericType target) { boolean declaredConstructor = false; for (XtendMember member : source.getMembers()) { if (member instanceof XtendConstructor) { declaredConstructor = true; break; } } if (!declaredConstructor) { JvmConstructor constructor = typesFactory.createJvmConstructor(); target.getMembers().add(constructor); associator.associatePrimary(source, constructor); constructor.setSimpleName(source.getName()); constructor.setVisibility(JvmVisibility.PUBLIC); } }
protected void transform(XtendConstructor source, JvmGenericType container) { JvmConstructor constructor = typesFactory.createJvmConstructor(); container.getMembers().add(constructor); associator.associatePrimary(source, constructor); JvmVisibility visibility = source.getVisibility(); constructor.setSimpleName(container.getSimpleName()); constructor.setVisibility(visibility); for (XtendParameter parameter : source.getParameters()) { JvmFormalParameter jvmParam = typesFactory.createJvmFormalParameter(); jvmParam.setName(parameter.getName()); jvmParam.setParameterType(cloneWithProxies(parameter.getParameterType())); constructor.getParameters().add(jvmParam); associator.associate(parameter, jvmParam); } copyAndFixTypeParameters(source.getTypeParameters(), constructor); for (JvmTypeReference exception : source.getExceptions()) { constructor.getExceptions().add(cloneWithProxies(exception)); } jvmTypesBuilder.translateAnnotationsTo( source.getAnnotationInfo().getAnnotations(), constructor); associator.associateLogicalContainer(source.getExpression(), constructor); jvmTypesBuilder.setDocumentation(constructor, jvmTypesBuilder.getDocumentation(source)); }