X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fgenerator%2Fimpl%2Freactor%2FTypedefGenerator.java;h=e3cfd4d5949e3399ba2d3966a8361e1c185447bb;hb=0ee55d1f9da11dd03ff05fc67d10cbcbfe63fd2c;hp=8bca3a398da8ac9d6f33125179d25a8135808b6a;hpb=89a12a10b9573dcc84a5636c046cbd0610bc2111;p=mdsal.git diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/TypedefGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/TypedefGenerator.java index 8bca3a398d..e3cfd4d594 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/TypedefGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/TypedefGenerator.java @@ -7,13 +7,18 @@ */ package org.opendaylight.mdsal.binding.generator.impl.reactor; +import static com.google.common.base.Verify.verify; import static java.util.Objects.requireNonNull; import java.util.ArrayList; import java.util.List; +import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultTypedefRuntimeType; import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; +import org.opendaylight.mdsal.binding.model.api.GeneratedType; +import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase; +import org.opendaylight.mdsal.binding.runtime.api.TypedefRuntimeType; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; @@ -21,14 +26,14 @@ import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; /** * Generator corresponding to a {@code typedef} statement. */ -final class TypedefGenerator extends AbstractTypeObjectGenerator { +final class TypedefGenerator extends AbstractTypeObjectGenerator { /** * List of all generators for types directly derived from this typedef. We populate this list during initial type * linking. It allows us to easily cascade inferences made by this typedef down the type derivation tree. */ - private List> derivedGenerators = null; + private List> derivedGenerators = null; - TypedefGenerator(final TypedefEffectiveStatement statement, final AbstractCompositeGenerator parent) { + TypedefGenerator(final TypedefEffectiveStatement statement, final AbstractCompositeGenerator parent) { super(statement, parent); } @@ -42,7 +47,7 @@ final class TypedefGenerator extends AbstractTypeObjectGenerator derivedGenerator) { + void addDerivedGenerator(final AbstractTypeObjectGenerator derivedGenerator) { if (derivedGenerators == null) { derivedGenerators = new ArrayList<>(4); } @@ -53,7 +58,7 @@ final class TypedefGenerator extends AbstractTypeObjectGenerator derived : derivedGenerators) { + for (AbstractTypeObjectGenerator derived : derivedGenerators) { derived.bindTypeDefinition(reference); } } @@ -89,6 +94,19 @@ final class TypedefGenerator extends AbstractTypeObjectGenerator builder, final TypeBuilderFactory builderFactory) { // typedefs are a separate concept