From c560517fb34086af761fa9de21da38ad9a6d565d Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 2 Jul 2020 19:49:30 +0200 Subject: [PATCH] Consolidate IdentityrefTypeEffectiveStatementImpl TypeEffectiveStatementImpl can easily support the case of an identityref type, migrate it. JIRA: YANGTOOLS-1065 Change-Id: Ibc13fff074cf7c4f597686f75ba55f65f6870ba1 Signed-off-by: Robert Varga --- .../type/AbstractTypeStatementSupport.java | 10 +++++++- ...IdentityrefTypeEffectiveStatementImpl.java | 23 ------------------- 2 files changed, 9 insertions(+), 24 deletions(-) delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/IdentityrefTypeEffectiveStatementImpl.java diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java index e783ad1132..ff7821dcd9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java @@ -227,7 +227,7 @@ abstract class AbstractTypeStatementSupport } else if (baseType instanceof EnumTypeDefinition) { return new EnumTypeEffectiveStatementImpl(ctx, (EnumTypeDefinition) baseType); } else if (baseType instanceof IdentityrefTypeDefinition) { - return new IdentityrefTypeEffectiveStatementImpl(ctx, (IdentityrefTypeDefinition) baseType); + return createIdentityref(ctx, (IdentityrefTypeDefinition) baseType, declared, substatements); } else if (baseType instanceof InstanceIdentifierTypeDefinition) { return new InstanceIdentifierTypeEffectiveStatementImpl(ctx, (InstanceIdentifierTypeDefinition) baseType); @@ -366,4 +366,12 @@ abstract class AbstractTypeStatementSupport return new TypeEffectiveStatementImpl<>(declared, substatements, RestrictedTypes.newEmptyBuilder(baseType, typeEffectiveSchemaPath(ctx))); } + + private static @NonNull TypeEffectiveStatement createIdentityref(final StmtContext ctx, + final IdentityrefTypeDefinition baseType, final TypeStatement declared, + final ImmutableList> substatements) { + return new TypeEffectiveStatementImpl<>(declared, substatements, RestrictedTypes.newIdentityrefBuilder(baseType, + typeEffectiveSchemaPath(ctx))); + } + } \ No newline at end of file diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/IdentityrefTypeEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/IdentityrefTypeEffectiveStatementImpl.java deleted file mode 100644 index 51015909f7..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/IdentityrefTypeEffectiveStatementImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; - -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; -import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition; -import org.opendaylight.yangtools.yang.model.util.type.RestrictedTypes; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -final class IdentityrefTypeEffectiveStatementImpl extends AbstractTypeEffectiveStatement { - IdentityrefTypeEffectiveStatementImpl( - final StmtContext> ctx, - final IdentityrefTypeDefinition baseType) { - super(ctx, RestrictedTypes.newIdentityrefBuilder(baseType, - AbstractTypeStatementSupport.typeEffectiveSchemaPath(ctx))); - } -} -- 2.36.6