protected void appendDefaultConstructors(XtendTypeDeclaration source, JvmGenericType target) {
		final GenerationContext context = getContext(target);
		if (!context.hasConstructor()) {

			// Special case: if a value was not set, we cannot create implicit constructors
			// in order to have the issue message "The blank final field may not have been initialized".

			final boolean notInitializedValueField = Iterables.any(source.getMembers(), it -> {
				if (it instanceof XtendField) {
					final XtendField op = (XtendField) it;
					if (op.isFinal() && op.getInitialValue() == null) {
						return true;
					}
				}
				return false;
			});

			if (!notInitializedValueField) {
				// Add the default constructors for the agent, if not already added
				final JvmTypeReference reference = target.getExtendedClass();
				if (reference != null) {
					final JvmType type = reference.getType();
					if (type instanceof JvmGenericType) {
						copyVisibleJvmConstructors(
								(JvmGenericType) type,
								target, source, Sets.newTreeSet(),
								JvmVisibility.PUBLIC);
					}
				}
			}
		}
	}
protected void appendDefaultConstructors ( XtendTypeDeclaration source , JvmGenericType target ) { final GenerationContext context = getContext ( target ) ; if ( ! context . hasConstructor ( ) ) { final boolean notInitializedValueField = Iterables . any ( source . getMembers ( ) , it -> { if ( it instanceof XtendField ) { final XtendField op = ( XtendField ) it ; if ( op . isFinal ( ) && op . getInitialValue ( ) == null ) { return true ; } } return false ; } ) ; if ( ! notInitializedValueField ) { final JvmTypeReference reference = target . getExtendedClass ( ) ; if ( reference != null ) { final JvmType type = reference . getType ( ) ; if ( type instanceof JvmGenericType ) { copyVisibleJvmConstructors ( ( JvmGenericType ) type , target , source , Sets . newTreeSet ( ) , JvmVisibility . PUBLIC ) ; } } } } }
Add the default constructors.

<p>The default constructors have the same signature as the constructors of the super class.

<p>This function adds the default constructors if no constructor was already added. This condition
is determined with a call to {@link GenerationContext#hasConstructor()}.

@param source the SARL element in which no constructor was specified. This SARL element should be
associated to the {@code target} element.
@param target the JVM type that is receiving the default constructor.
@see GenerationContext#hasConstructor()