Consolidate BooleanTypeEffectiveStatementImpl
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / type / AbstractTypeStatementSupport.java
index f2d4ddb3f729c24ff29d4ca24a9e725aa9c7f719..bf17401ba6a1ec17eaee6182edcd816b6eb79887 100644 (file)
@@ -219,7 +219,7 @@ abstract class AbstractTypeStatementSupport
         } else if (baseType instanceof BitsTypeDefinition) {
             return new BitsTypeEffectiveStatementImpl(ctx, (BitsTypeDefinition) baseType);
         } else if (baseType instanceof BooleanTypeDefinition) {
-            return new BooleanTypeEffectiveStatementImpl(ctx, (BooleanTypeDefinition) baseType);
+            return createBoolean(ctx, (BooleanTypeDefinition) baseType, declared, substatements);
         } else if (baseType instanceof DecimalTypeDefinition) {
             return new DecimalTypeEffectiveStatementImpl(ctx, (DecimalTypeDefinition) baseType);
         } else if (baseType instanceof EmptyTypeDefinition) {
@@ -352,4 +352,11 @@ abstract class AbstractTypeStatementSupport
 
         return new TypeEffectiveStatementImpl<>(declared, substatements, builder);
     }
+
+    private static @NonNull TypeEffectiveStatement<TypeStatement> createBoolean(final StmtContext<?, ?, ?> ctx,
+            final BooleanTypeDefinition baseType, final TypeStatement declared,
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        return new TypeEffectiveStatementImpl<>(declared, substatements, RestrictedTypes.newBooleanBuilder(baseType,
+            typeEffectiveSchemaPath(ctx)));
+    }
 }
\ No newline at end of file