Merge "Bug 731: Moved list initialization in UnionTypeBuilder before constructing...
[yangtools.git] / code-generator / binding-generator-impl / src / main / java / org / opendaylight / yangtools / sal / binding / generator / impl / BindingGeneratorImpl.xtend
index 0ab2fdbc2dfd02a525fe9ed74f5a1eba68590a6d..ec1ec8fc6af0bed3c0ffb33ddae6fad66656ac92 100644 (file)
@@ -1281,7 +1281,7 @@ public class BindingGeneratorImpl implements BindingGenerator {
                     val enumBuilder = resolveInnerEnumFromTypeDefinition(enumTypeDef, leaf.QName, typeBuilder);
 
                     if (enumBuilder !== null) {
-                        returnType = new ReferencedTypeImpl(enumBuilder.packageName, enumBuilder.name);
+                        returnType = enumBuilder.toInstance(typeBuilder)
                     }
                     (typeProvider as TypeProviderImpl).putReferencedType(leaf.path, returnType);
                 } else if (typeDef instanceof UnionType) {
@@ -1490,7 +1490,7 @@ public class BindingGeneratorImpl implements BindingGenerator {
 
     private def Type createReturnTypeForUnion(GeneratedTOBuilder genTOBuilder, TypeDefinition<?> typeDef,
         GeneratedTypeBuilder typeBuilder, Module parentModule) {
-        val Type returnType = new ReferencedTypeImpl(genTOBuilder.packageName, genTOBuilder.name);
+        val GeneratedTOBuilderImpl returnType = new GeneratedTOBuilderImpl(genTOBuilder.packageName, genTOBuilder.name)
         genTOBuilder.setTypedef(true);
         genTOBuilder.setIsUnion(true);
         (typeProvider as TypeProviderImpl).addUnitsToGenTO(genTOBuilder, typeDef.getUnits());
@@ -1512,7 +1512,7 @@ public class BindingGeneratorImpl implements BindingGenerator {
         } else {
             types.add(unionBuilder.toInstance)
         }
-        return returnType
+        return returnType.toInstance
     }
 
     private def GeneratedTypeBuilder addDefaultInterfaceDefinition(String packageName, SchemaNode schemaNode) {
@@ -1631,9 +1631,9 @@ public class BindingGeneratorImpl implements BindingGenerator {
     }
 
     /**
-     * Creates the name of the getter method from <code>methodName</code>.
+     * Creates the name of the getter method name from <code>localName</code>.
      *
-     * @param methodName
+     * @param localName
      *            string with the name of the getter method
      * @param returnType return type
      * @return string with the name of the getter method for