protected void appendConstrainedImplements ( GenerationContext context , JvmGenericType owner , Class < ? > defaultJvmType , Class < ? extends XtendTypeDeclaration > defaultSarlType , List < ? extends JvmParameterizedTypeReference > implementedtypes ) { boolean explicitType = false ; for ( final JvmParameterizedTypeReference superType : implementedtypes ) { if ( ! Objects . equal ( owner . getIdentifier ( ) , superType . getIdentifier ( ) ) && superType . getType ( ) instanceof JvmGenericType /*&& this.inheritanceHelper.isProxyOrSubTypeOf(superType, defaultJvmType, defaultSarlType, true)*/ ) { owner . getSuperTypes ( ) . add ( this . typeBuilder . cloneWithProxies ( superType ) ) ; context . incrementSerial ( superType . getIdentifier ( ) . hashCode ( ) ) ; explicitType = true ; } } if ( ! explicitType ) { final JvmTypeReference type = this . _typeReferenceBuilder . typeRef ( defaultJvmType ) ; owner . getSuperTypes ( ) . add ( type ) ; context . incrementSerial ( type . getIdentifier ( ) . hashCode ( ) ) ; } }
Generate the implemented types for the given SARL statement .