From 2d8edd5622078f454592ef120e627f59a5d05c42 Mon Sep 17 00:00:00 2001 From: Anton Tregubov Date: Mon, 7 Dec 2020 11:35:10 +0300 Subject: [PATCH] Retain DeclarationReference in DeclaredStatements Previous patches have introduced a way for a DeclaredStatement implementation to expose location where the declaration has been observed, as well as the prerequisite wiring in yang-parser-{api,spi,impl,reactor}. The only remaining bit is for the implementations to opt-in into the infrastructure provided -- and that is done in this patch for all base YANG statements. JIRA: YANGTOOLS-1193 Change-Id: I598406a8e5698fc68410e9c4b6f0ae63846f8cc2 Signed-off-by: Anton Tregubov Signed-off-by: Robert Varga --- .../ri/stmt/DeclaredStatementDecorators.java | 447 ++++++++++++++++++ .../ri/stmt/impl/ref/RefActionStatement.java | 19 + .../ri/stmt/impl/ref/RefAnydataStatement.java | 20 + .../ri/stmt/impl/ref/RefAnyxmlStatement.java | 20 + .../stmt/impl/ref/RefArgumentStatement.java | 20 + .../ri/stmt/impl/ref/RefAugmentStatement.java | 20 + .../ri/stmt/impl/ref/RefBaseStatement.java | 19 + .../stmt/impl/ref/RefBelongsToStatement.java | 19 + .../ri/stmt/impl/ref/RefBitStatement.java | 18 + .../ri/stmt/impl/ref/RefCaseStatement.java | 19 + .../ri/stmt/impl/ref/RefChoiceStatement.java | 19 + .../ri/stmt/impl/ref/RefConfigStatement.java | 19 + .../ri/stmt/impl/ref/RefContactStatement.java | 19 + .../stmt/impl/ref/RefContainerStatement.java | 20 + .../ri/stmt/impl/ref/RefDefaultStatement.java | 19 + .../impl/ref/RefDescriptionStatement.java | 19 + .../ri/stmt/impl/ref/RefDeviateStatement.java | 20 + .../stmt/impl/ref/RefDeviationStatement.java | 20 + .../ri/stmt/impl/ref/RefEnumStatement.java | 18 + .../impl/ref/RefErrorAppTagStatement.java | 19 + .../impl/ref/RefErrorMessageStatement.java | 19 + .../stmt/impl/ref/RefExtensionStatement.java | 20 + .../ri/stmt/impl/ref/RefFeatureStatement.java | 20 + .../impl/ref/RefFractionDigitsStatement.java | 19 + .../stmt/impl/ref/RefGroupingStatement.java | 20 + .../stmt/impl/ref/RefIdentityStatement.java | 20 + .../stmt/impl/ref/RefIfFeatureStatement.java | 20 + .../ri/stmt/impl/ref/RefImportStatement.java | 18 + .../ri/stmt/impl/ref/RefIncludeStatement.java | 19 + .../ri/stmt/impl/ref/RefInputStatement.java | 19 + .../ri/stmt/impl/ref/RefKeyStatement.java | 20 + .../stmt/impl/ref/RefLeafListStatement.java | 20 + .../ri/stmt/impl/ref/RefLeafStatement.java | 19 + .../ri/stmt/impl/ref/RefLengthStatement.java | 21 + .../ri/stmt/impl/ref/RefListStatement.java | 19 + .../stmt/impl/ref/RefMandatoryStatement.java | 19 + .../impl/ref/RefMaxElementsStatement.java | 19 + .../impl/ref/RefMinElementsStatement.java | 19 + .../stmt/impl/ref/RefModifierStatement.java | 20 + .../ri/stmt/impl/ref/RefModuleStatement.java | 20 + .../ri/stmt/impl/ref/RefMustStatement.java | 20 + .../stmt/impl/ref/RefNamespaceStatement.java | 20 + .../impl/ref/RefNotificationStatement.java | 20 + .../stmt/impl/ref/RefOrderedByStatement.java | 20 + .../impl/ref/RefOrganizationStatement.java | 19 + .../ri/stmt/impl/ref/RefOutputStatement.java | 20 + .../ri/stmt/impl/ref/RefPathStatement.java | 20 + .../ri/stmt/impl/ref/RefPatternStatement.java | 20 + .../stmt/impl/ref/RefPositionStatement.java | 20 + .../ri/stmt/impl/ref/RefPrefixStatement.java | 19 + .../stmt/impl/ref/RefPresenceStatement.java | 19 + .../ri/stmt/impl/ref/RefRangeStatement.java | 21 + .../stmt/impl/ref/RefReferenceStatement.java | 19 + .../ri/stmt/impl/ref/RefRefineStatement.java | 20 + .../impl/ref/RefRequireInstanceStatement.java | 19 + .../impl/ref/RefRevisionDateStatement.java | 20 + .../stmt/impl/ref/RefRevisionStatement.java | 20 + .../ri/stmt/impl/ref/RefRpcStatement.java | 19 + .../ri/stmt/impl/ref/RefStatusStatement.java | 19 + .../stmt/impl/ref/RefSubmoduleStatement.java | 20 + .../ri/stmt/impl/ref/RefTypeStatement.java | 19 + .../ri/stmt/impl/ref/RefTypedefStatement.java | 20 + .../ri/stmt/impl/ref/RefUniqueStatement.java | 21 + .../ri/stmt/impl/ref/RefUnitsStatement.java | 18 + .../ri/stmt/impl/ref/RefUsesStatement.java | 19 + .../ri/stmt/impl/ref/RefValueStatement.java | 18 + .../ri/stmt/impl/ref/RefWhenStatement.java | 20 + .../impl/ref/RefYangVersionStatement.java | 20 + .../stmt/impl/ref/RefYinElementStatement.java | 19 + .../stmt/OpenConfigVersionSupport.java | 7 + .../stmt/RefOpenConfigVersionStatement.java | 20 + .../AbstractAugmentStatementSupport.java | 8 + .../AbstractDeviateStatementSupport.java | 8 + .../extension/ExtensionStatementSupport.java | 8 + .../extension/RefUnrecognizedStatement.java | 19 + .../UnrecognizedStatementSupport.java | 7 + .../AbstractIfFeatureStatementSupport.java | 8 + .../stmt/import_/ImportStatementSupport.java | 8 + .../leaf_list/LeafListStatementSupport.java | 8 + .../stmt/list/ListStatementSupport.java | 7 + .../stmt/meta/ActionStatementSupport.java | 8 + .../stmt/meta/AnydataStatementSupport.java | 8 + .../stmt/meta/AnyxmlStatementSupport.java | 8 + .../stmt/meta/ArgumentStatementSupport.java | 8 + .../stmt/meta/BaseStatementSupport.java | 7 + .../stmt/meta/BelongsToStatementSupport.java | 8 + .../stmt/meta/BitStatementSupport.java | 7 + .../stmt/meta/CaseStatementSupport.java | 7 + .../stmt/meta/ChoiceStatementSupport.java | 8 + .../stmt/meta/ConfigStatementSupport.java | 8 + .../stmt/meta/ContactStatementSupport.java | 8 + .../stmt/meta/ContainerStatementSupport.java | 8 + .../stmt/meta/DefaultStatementSupport.java | 8 + .../meta/DescriptionStatementSupport.java | 8 + .../stmt/meta/DeviationStatementSupport.java | 8 + .../stmt/meta/EnumStatementSupport.java | 7 + .../meta/ErrorAppTagStatementSupport.java | 8 + .../meta/ErrorMessageStatementSupport.java | 8 + .../stmt/meta/FeatureStatementSupport.java | 8 + .../meta/FractionDigitsStatementSupport.java | 8 + .../stmt/meta/GroupingStatementSupport.java | 8 + .../stmt/meta/IdentityStatementSupport.java | 8 + .../stmt/meta/IncludeStatementSupport.java | 8 + .../stmt/meta/InputStatementSupport.java | 8 + .../stmt/meta/KeyStatementSupport.java | 7 + .../stmt/meta/LeafStatementSupport.java | 7 + .../stmt/meta/LengthStatementSupport.java | 8 + .../stmt/meta/MandatoryStatementSupport.java | 8 + .../meta/MaxElementsStatementSupport.java | 8 + .../meta/MinElementsStatementSupport.java | 8 + .../stmt/meta/ModifierStatementSupport.java | 8 + .../stmt/meta/MustStatementSupport.java | 7 + .../stmt/meta/NamespaceStatementSupport.java | 8 + .../stmt/meta/OrderedByStatementSupport.java | 8 + .../meta/OrganizationStatementSupport.java | 8 + .../stmt/meta/OutputStatementSupport.java | 8 + .../stmt/meta/PositionStatementSupport.java | 8 + .../stmt/meta/PrefixStatementSupport.java | 8 + .../stmt/meta/PresenceStatementSupport.java | 8 + .../stmt/meta/RangeStatementSupport.java | 8 + .../stmt/meta/ReferenceStatementSupport.java | 8 + .../meta/RequireInstanceStatementSupport.java | 8 + .../meta/RevisionDateStatementSupport.java | 8 + .../stmt/meta/RevisionStatementSupport.java | 8 + .../stmt/meta/RpcStatementSupport.java | 7 + .../stmt/meta/StatusStatementSupport.java | 8 + .../stmt/meta/TypedefStatementSupport.java | 8 + .../stmt/meta/UniqueStatementSupport.java | 8 + .../stmt/meta/UnitsStatementSupport.java | 8 + .../stmt/meta/ValueStatementSupport.java | 8 + .../stmt/meta/WhenStatementSupport.java | 7 + .../meta/YangVersionStatementSupport.java | 8 + .../stmt/meta/YinElementStatementSupport.java | 8 + .../stmt/module/ModuleStatementSupport.java | 8 + .../AbstractNotificationStatementSupport.java | 8 + .../stmt/path/PathStatementSupport.java | 7 + .../stmt/pattern/PatternStatementSupport.java | 8 + .../stmt/refine/RefineStatementSupport.java | 8 + .../submodule/SubmoduleStatementSupport.java | 8 + ...stractIdentityRefSpecificationSupport.java | 7 + .../AbstractLeafrefSpecificationSupport.java | 7 + .../type/AbstractTypeStatementSupport.java | 8 + .../stmt/type/BitsSpecificationSupport.java | 7 + .../type/Decimal64SpecificationSupport.java | 7 + .../stmt/type/EnumSpecificationSupport.java | 7 + ...nstanceIdentifierSpecificationSupport.java | 7 + .../stmt/type/RefBitsSpecification.java | 20 + .../stmt/type/RefDecimal64Specification.java | 20 + .../stmt/type/RefEnumSpecification.java | 19 + .../type/RefIdentityRefSpecification.java | 20 + .../RefInstanceIdentifierSpecification.java | 20 + .../stmt/type/RefLeafrefSpecification.java | 20 + .../stmt/type/RefUnionSpecification.java | 20 + .../stmt/type/UnionSpecificationSupport.java | 7 + .../stmt/uses/UsesStatementSupport.java | 7 + .../RefThirdPartyExtensionStatement.java | 18 + .../plugin/ThirdPartyExtensionSupport.java | 7 + 157 files changed, 2569 insertions(+) create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/DeclaredStatementDecorators.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefActionStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnydataStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnyxmlStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefArgumentStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAugmentStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBaseStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBelongsToStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBitStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefCaseStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefChoiceStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefConfigStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContactStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContainerStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDefaultStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDescriptionStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviateStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviationStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefEnumStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorAppTagStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorMessageStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefExtensionStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFeatureStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFractionDigitsStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefGroupingStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIdentityStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIfFeatureStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefImportStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIncludeStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefInputStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefKeyStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafListStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLengthStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefListStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMandatoryStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMaxElementsStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMinElementsStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModifierStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModuleStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMustStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNamespaceStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNotificationStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrderedByStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrganizationStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOutputStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPathStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPatternStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPositionStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPrefixStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPresenceStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRangeStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefReferenceStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRefineStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRequireInstanceStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionDateStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRpcStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefStatusStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefSubmoduleStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypeStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypedefStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUniqueStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUnitsStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUsesStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefValueStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefWhenStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYangVersionStatement.java create mode 100644 yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYinElementStatement.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/RefOpenConfigVersionStatement.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RefUnrecognizedStatement.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefBitsSpecification.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefDecimal64Specification.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefEnumSpecification.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefIdentityRefSpecification.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefInstanceIdentifierSpecification.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefLeafrefSpecification.java create mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefUnionSpecification.java create mode 100644 yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/RefThirdPartyExtensionStatement.java diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/DeclaredStatementDecorators.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/DeclaredStatementDecorators.java new file mode 100644 index 0000000000..67bbdcd4b9 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/DeclaredStatementDecorators.java @@ -0,0 +1,447 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt; + +import com.google.common.annotations.Beta; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.AnydataStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.AugmentStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.BaseStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.CaseStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DeviationStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.LeafListStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.LeafStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.LengthStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.MustStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PathStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.RangeStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.RpcStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefActionStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefAnydataStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefAnyxmlStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefArgumentStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefAugmentStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefBaseStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefBelongsToStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefBitStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefCaseStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefChoiceStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefConfigStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefContactStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefContainerStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefDefaultStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefDescriptionStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefDeviateStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefDeviationStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefEnumStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefErrorAppTagStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefErrorMessageStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefExtensionStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefFeatureStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefFractionDigitsStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefGroupingStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefIdentityStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefIfFeatureStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefImportStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefIncludeStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefInputStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefKeyStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefLeafListStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefLeafStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefLengthStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefListStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefMandatoryStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefMaxElementsStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefMinElementsStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefModifierStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefModuleStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefMustStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefNamespaceStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefNotificationStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefOrderedByStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefOrganizationStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefOutputStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPathStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPatternStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPositionStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPrefixStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPresenceStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRangeStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefReferenceStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRefineStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRequireInstanceStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRevisionDateStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRevisionStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRpcStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefStatusStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefSubmoduleStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefTypeStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefTypedefStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUniqueStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUnitsStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUsesStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefValueStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefWhenStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefYangVersionStatement; +import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefYinElementStatement; + +/** + * Static entry point to enriching {@link DeclaredStatement}s covered in the {@code RFC7950} metamodel with + * {@link DeclarationReference}s. + */ +@Beta +@NonNullByDefault +public final class DeclaredStatementDecorators { + private DeclaredStatementDecorators() { + // Hidden on purpose + } + + public static ActionStatement decorateAction(final ActionStatement stmt, final DeclarationReference ref) { + return new RefActionStatement(stmt, ref); + } + + public static AnydataStatement decorateAnydata(final AnydataStatement stmt, final DeclarationReference ref) { + return new RefAnydataStatement(stmt, ref); + } + + public static AnyxmlStatement decorateAnyxml(final AnyxmlStatement stmt, final DeclarationReference ref) { + return new RefAnyxmlStatement(stmt, ref); + } + + public static ArgumentStatement decorateArgument(final ArgumentStatement stmt, final DeclarationReference ref) { + return new RefArgumentStatement(stmt, ref); + } + + public static AugmentStatement decorateAugment(final AugmentStatement stmt, final DeclarationReference ref) { + return new RefAugmentStatement(stmt, ref); + } + + public static BaseStatement decorateBase(final BaseStatement stmt, final DeclarationReference ref) { + return new RefBaseStatement(stmt, ref); + } + + public static BelongsToStatement decorateBelongsTo(final BelongsToStatement stmt, final DeclarationReference ref) { + return new RefBelongsToStatement(stmt, ref); + } + + public static BitStatement decorateBit(final BitStatement stmt, final DeclarationReference ref) { + return new RefBitStatement(stmt, ref); + } + + public static CaseStatement decorateCase(final CaseStatement stmt, final DeclarationReference ref) { + return new RefCaseStatement(stmt, ref); + } + + public static ChoiceStatement decorateChoice(final ChoiceStatement stmt, final DeclarationReference ref) { + return new RefChoiceStatement(stmt, ref); + } + + public static ConfigStatement decorateConfig(final ConfigStatement stmt, final DeclarationReference ref) { + return new RefConfigStatement(stmt, ref); + } + + public static ContactStatement decorateContact(final ContactStatement stmt, final DeclarationReference ref) { + return new RefContactStatement(stmt, ref); + } + + public static ContainerStatement decorateContainer(final ContainerStatement stmt, final DeclarationReference ref) { + return new RefContainerStatement(stmt, ref); + } + + public static DefaultStatement decorateDefault(final DefaultStatement stmt, final DeclarationReference ref) { + return new RefDefaultStatement(stmt, ref); + } + + public static DescriptionStatement decorateDescription(final DescriptionStatement stmt, + final DeclarationReference ref) { + return new RefDescriptionStatement(stmt, ref); + } + + public static DeviateStatement decorateDeviate(final DeviateStatement stmt, final DeclarationReference ref) { + return new RefDeviateStatement(stmt, ref); + } + + public static DeviationStatement decorateDeviation(final DeviationStatement stmt, final DeclarationReference ref) { + return new RefDeviationStatement(stmt, ref); + } + + public static EnumStatement decorateEnum(final EnumStatement stmt, final DeclarationReference ref) { + return new RefEnumStatement(stmt, ref); + } + + public static ErrorAppTagStatement decorateErrorAppTag(final ErrorAppTagStatement stmt, + final DeclarationReference ref) { + return new RefErrorAppTagStatement(stmt, ref); + } + + public static ErrorMessageStatement decorateErrorMessage(final ErrorMessageStatement stmt, + final DeclarationReference ref) { + return new RefErrorMessageStatement(stmt, ref); + } + + public static ExtensionStatement decorateExtesion(final ExtensionStatement stmt, final DeclarationReference ref) { + return new RefExtensionStatement(stmt, ref); + } + + public static FeatureStatement decorateFeature(final FeatureStatement stmt, final DeclarationReference ref) { + return new RefFeatureStatement(stmt, ref); + } + + public static FractionDigitsStatement decorateFractionDigits(final FractionDigitsStatement stmt, + final DeclarationReference ref) { + return new RefFractionDigitsStatement(stmt, ref); + } + + public static GroupingStatement decorateGrouping(final GroupingStatement stmt, final DeclarationReference ref) { + return new RefGroupingStatement(stmt, ref); + } + + public static IdentityStatement decorateIdentity(final IdentityStatement stmt, final DeclarationReference ref) { + return new RefIdentityStatement(stmt, ref); + } + + public static IfFeatureStatement decorateIfFeature(final IfFeatureStatement stmt, final DeclarationReference ref) { + return new RefIfFeatureStatement(stmt, ref); + } + + public static ImportStatement decorateImport(final ImportStatement stmt, final DeclarationReference ref) { + return new RefImportStatement(stmt, ref); + } + + public static IncludeStatement decorateInclude(final IncludeStatement stmt, final DeclarationReference ref) { + return new RefIncludeStatement(stmt, ref); + } + + public static InputStatement decorateInput(final InputStatement stmt, final DeclarationReference ref) { + return new RefInputStatement(stmt, ref); + } + + public static KeyStatement decorateKey(final KeyStatement stmt, final DeclarationReference ref) { + return new RefKeyStatement(stmt, ref); + } + + public static LeafStatement decorateLeaf(final LeafStatement stmt, final DeclarationReference ref) { + return new RefLeafStatement(stmt, ref); + } + + public static LeafListStatement decorateLeafList(final LeafListStatement stmt, final DeclarationReference ref) { + return new RefLeafListStatement(stmt, ref); + } + + public static LengthStatement decorateLength(final LengthStatement stmt, final DeclarationReference ref) { + return new RefLengthStatement(stmt, ref); + } + + public static ListStatement decorateList(final ListStatement stmt, final DeclarationReference ref) { + return new RefListStatement(stmt, ref); + } + + public static MandatoryStatement decorateMandatory(final MandatoryStatement stmt, final DeclarationReference ref) { + return new RefMandatoryStatement(stmt, ref); + } + + public static MaxElementsStatement decorateMaxElements(final MaxElementsStatement stmt, + final DeclarationReference ref) { + return new RefMaxElementsStatement(stmt, ref); + } + + public static MinElementsStatement decorateMinElements(final MinElementsStatement stmt, + final DeclarationReference ref) { + return new RefMinElementsStatement(stmt, ref); + } + + public static ModifierStatement decorateModifier(final ModifierStatement stmt, final DeclarationReference ref) { + return new RefModifierStatement(stmt, ref); + } + + public static ModuleStatement decorateModule(final ModuleStatement stmt, final DeclarationReference ref) { + return new RefModuleStatement(stmt, ref); + } + + public static MustStatement decorateMust(final MustStatement stmt, final DeclarationReference ref) { + return new RefMustStatement(stmt, ref); + } + + public static NamespaceStatement decorateNamespace(final NamespaceStatement stmt, final DeclarationReference ref) { + return new RefNamespaceStatement(stmt, ref); + } + + public static NotificationStatement decorateNotification(final NotificationStatement stmt, + final DeclarationReference ref) { + return new RefNotificationStatement(stmt, ref); + } + + public static OrderedByStatement decorateOrderedBy(final OrderedByStatement stmt, + final DeclarationReference ref) { + return new RefOrderedByStatement(stmt, ref); + } + + public static OrganizationStatement decorateOrganization(final OrganizationStatement stmt, + final DeclarationReference ref) { + return new RefOrganizationStatement(stmt, ref); + } + + public static OutputStatement decorateOutput(final OutputStatement stmt, final DeclarationReference ref) { + return new RefOutputStatement(stmt, ref); + } + + public static PathStatement decoratePath(final PathStatement stmt, final DeclarationReference ref) { + return new RefPathStatement(stmt, ref); + } + + public static PatternStatement decoratePattern(final PatternStatement stmt, final DeclarationReference ref) { + return new RefPatternStatement(stmt, ref); + } + + public static PositionStatement decoratePosition(final PositionStatement stmt, final DeclarationReference ref) { + return new RefPositionStatement(stmt, ref); + } + + public static PrefixStatement decoratePrefix(final PrefixStatement stmt, final DeclarationReference ref) { + return new RefPrefixStatement(stmt, ref); + } + + public static PresenceStatement decoratePresence(final PresenceStatement stmt, + final DeclarationReference ref) { + return new RefPresenceStatement(stmt, ref); + } + + public static RangeStatement decorateRange(final RangeStatement stmt, final DeclarationReference ref) { + return new RefRangeStatement(stmt, ref); + } + + public static ReferenceStatement decorateReference(final ReferenceStatement stmt, final DeclarationReference ref) { + return new RefReferenceStatement(stmt, ref); + } + + public static RefineStatement decorateRefine(final RefineStatement stmt, final DeclarationReference ref) { + return new RefRefineStatement(stmt, ref); + } + + public static RequireInstanceStatement decorateRequireInstance(final RequireInstanceStatement stmt, + final DeclarationReference ref) { + return new RefRequireInstanceStatement(stmt, ref); + } + + public static RevisionStatement decorateRevision(final RevisionStatement stmt, final DeclarationReference ref) { + return new RefRevisionStatement(stmt, ref); + } + + public static RevisionDateStatement decorateRevisionDate(final RevisionDateStatement stmt, + final DeclarationReference ref) { + return new RefRevisionDateStatement(stmt, ref); + } + + public static RpcStatement decorateRpc(final RpcStatement stmt, final DeclarationReference ref) { + return new RefRpcStatement(stmt, ref); + } + + public static StatusStatement decorateStatus(final StatusStatement stmt, final DeclarationReference ref) { + return new RefStatusStatement(stmt, ref); + } + + public static SubmoduleStatement decorateSubmodule(final SubmoduleStatement stmt, final DeclarationReference ref) { + return new RefSubmoduleStatement(stmt, ref); + } + + public static TypeStatement decorateType(final TypeStatement stmt, final DeclarationReference ref) { + return new RefTypeStatement(stmt, ref); + } + + public static TypedefStatement decorateTypedef(final TypedefStatement stmt, final DeclarationReference ref) { + return new RefTypedefStatement(stmt, ref); + } + + public static UniqueStatement decorateUnique(final UniqueStatement stmt, final DeclarationReference ref) { + return new RefUniqueStatement(stmt, ref); + } + + public static UnitsStatement decorateUnits(final UnitsStatement stmt, final DeclarationReference ref) { + return new RefUnitsStatement(stmt, ref); + } + + public static UsesStatement decorateUses(final UsesStatement stmt, final DeclarationReference ref) { + return new RefUsesStatement(stmt, ref); + } + + public static ValueStatement decorateValue(final ValueStatement stmt, final DeclarationReference ref) { + return new RefValueStatement(stmt, ref); + } + + public static WhenStatement decorateWhen(final WhenStatement stmt, final DeclarationReference ref) { + return new RefWhenStatement(stmt, ref); + } + + public static YangVersionStatement decorateYangVersion(final YangVersionStatement stmt, + final DeclarationReference ref) { + return new RefYangVersionStatement(stmt, ref); + } + + public static YinElementStatement decorateYinElement(final YinElementStatement stmt, + final DeclarationReference ref) { + return new RefYinElementStatement(stmt, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefActionStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefActionStatement.java new file mode 100644 index 0000000000..4bdaca0435 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefActionStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefActionStatement extends AbstractRefStatement implements ActionStatement { + public RefActionStatement(final ActionStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnydataStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnydataStatement.java new file mode 100644 index 0000000000..46c7e8e214 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnydataStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.AnydataStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefAnydataStatement extends AbstractRefStatement + implements AnydataStatement { + public RefAnydataStatement(final AnydataStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnyxmlStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnyxmlStatement.java new file mode 100644 index 0000000000..9d0adca5a7 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnyxmlStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefAnyxmlStatement extends AbstractRefStatement + implements AnyxmlStatement { + public RefAnyxmlStatement(final AnyxmlStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefArgumentStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefArgumentStatement.java new file mode 100644 index 0000000000..7a47735a1e --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefArgumentStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefArgumentStatement extends AbstractRefStatement + implements ArgumentStatement { + public RefArgumentStatement(final ArgumentStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAugmentStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAugmentStatement.java new file mode 100644 index 0000000000..efeb71f393 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAugmentStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.AugmentStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefAugmentStatement extends AbstractRefStatement + implements AugmentStatement { + public RefAugmentStatement(final AugmentStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBaseStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBaseStatement.java new file mode 100644 index 0000000000..02eed82973 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBaseStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.BaseStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefBaseStatement extends AbstractRefStatement implements BaseStatement { + public RefBaseStatement(final BaseStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBelongsToStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBelongsToStatement.java new file mode 100644 index 0000000000..524ecc6f82 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBelongsToStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefBelongsToStatement extends AbstractRefStatement + implements BelongsToStatement { + public RefBelongsToStatement(final BelongsToStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBitStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBitStatement.java new file mode 100644 index 0000000000..ae66614c6d --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBitStatement.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefBitStatement extends AbstractRefStatement implements BitStatement { + public RefBitStatement(final BitStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefCaseStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefCaseStatement.java new file mode 100644 index 0000000000..d93d782e20 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefCaseStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.CaseStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefCaseStatement extends AbstractRefStatement implements CaseStatement { + public RefCaseStatement(final CaseStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefChoiceStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefChoiceStatement.java new file mode 100644 index 0000000000..cc13a28814 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefChoiceStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefChoiceStatement extends AbstractRefStatement implements ChoiceStatement { + public RefChoiceStatement(final ChoiceStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefConfigStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefConfigStatement.java new file mode 100644 index 0000000000..8f8e8e6ec5 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefConfigStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefConfigStatement extends AbstractRefStatement + implements ConfigStatement { + public RefConfigStatement(final ConfigStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContactStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContactStatement.java new file mode 100644 index 0000000000..b679866826 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContactStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefContactStatement extends AbstractRefStatement + implements ContactStatement { + public RefContactStatement(final ContactStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContainerStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContainerStatement.java new file mode 100644 index 0000000000..90cb212799 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContainerStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefContainerStatement extends AbstractRefStatement + implements ContainerStatement { + public RefContainerStatement(final ContainerStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDefaultStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDefaultStatement.java new file mode 100644 index 0000000000..9358a80fcf --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDefaultStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefDefaultStatement extends AbstractRefStatement + implements DefaultStatement { + public RefDefaultStatement(final DefaultStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDescriptionStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDescriptionStatement.java new file mode 100644 index 0000000000..2cfcaa7955 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDescriptionStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefDescriptionStatement extends AbstractRefStatement + implements DescriptionStatement { + public RefDescriptionStatement(final DescriptionStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviateStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviateStatement.java new file mode 100644 index 0000000000..41485c85b1 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviateStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.DeviateKind; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefDeviateStatement extends AbstractRefStatement + implements DeviateStatement { + public RefDeviateStatement(final DeviateStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviationStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviationStatement.java new file mode 100644 index 0000000000..b6bfe51ea6 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviationStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.DeviationStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefDeviationStatement extends AbstractRefStatement + implements DeviationStatement { + public RefDeviationStatement(final DeviationStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefEnumStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefEnumStatement.java new file mode 100644 index 0000000000..39155130ed --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefEnumStatement.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefEnumStatement extends AbstractRefStatement implements EnumStatement { + public RefEnumStatement(final EnumStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorAppTagStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorAppTagStatement.java new file mode 100644 index 0000000000..d85159f3bd --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorAppTagStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefErrorAppTagStatement extends AbstractRefStatement + implements ErrorAppTagStatement { + public RefErrorAppTagStatement(final ErrorAppTagStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorMessageStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorMessageStatement.java new file mode 100644 index 0000000000..20e2ac4751 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorMessageStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefErrorMessageStatement extends AbstractRefStatement + implements ErrorMessageStatement { + public RefErrorMessageStatement(final ErrorMessageStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefExtensionStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefExtensionStatement.java new file mode 100644 index 0000000000..9ab2c7aa87 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefExtensionStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefExtensionStatement extends AbstractRefStatement + implements ExtensionStatement { + public RefExtensionStatement(final ExtensionStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFeatureStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFeatureStatement.java new file mode 100644 index 0000000000..7cd6809e39 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFeatureStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefFeatureStatement extends AbstractRefStatement + implements FeatureStatement { + public RefFeatureStatement(final FeatureStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFractionDigitsStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFractionDigitsStatement.java new file mode 100644 index 0000000000..dfac54b449 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFractionDigitsStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefFractionDigitsStatement extends AbstractRefStatement + implements FractionDigitsStatement { + public RefFractionDigitsStatement(final FractionDigitsStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefGroupingStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefGroupingStatement.java new file mode 100644 index 0000000000..91d4f75921 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefGroupingStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefGroupingStatement extends AbstractRefStatement + implements GroupingStatement { + public RefGroupingStatement(final GroupingStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIdentityStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIdentityStatement.java new file mode 100644 index 0000000000..50cd1773da --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIdentityStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefIdentityStatement extends AbstractRefStatement + implements IdentityStatement { + public RefIdentityStatement(final IdentityStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIfFeatureStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIfFeatureStatement.java new file mode 100644 index 0000000000..1a6852350a --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIfFeatureStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureExpr; +import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefIfFeatureStatement extends AbstractRefStatement + implements IfFeatureStatement { + public RefIfFeatureStatement(final IfFeatureStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefImportStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefImportStatement.java new file mode 100644 index 0000000000..3992b9a969 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefImportStatement.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefImportStatement extends AbstractRefStatement implements ImportStatement { + public RefImportStatement(final ImportStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIncludeStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIncludeStatement.java new file mode 100644 index 0000000000..76271c3ffc --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIncludeStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefIncludeStatement extends AbstractRefStatement + implements IncludeStatement { + public RefIncludeStatement(final IncludeStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefInputStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefInputStatement.java new file mode 100644 index 0000000000..36bfca0df6 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefInputStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefInputStatement extends AbstractRefStatement implements InputStatement { + public RefInputStatement(final InputStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefKeyStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefKeyStatement.java new file mode 100644 index 0000000000..eabf8fb251 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefKeyStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import java.util.Set; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefKeyStatement extends AbstractRefStatement, KeyStatement> implements KeyStatement { + public RefKeyStatement(final KeyStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafListStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafListStatement.java new file mode 100644 index 0000000000..26e041990b --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafListStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.LeafListStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefLeafListStatement extends AbstractRefStatement + implements LeafListStatement { + public RefLeafListStatement(final LeafListStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafStatement.java new file mode 100644 index 0000000000..3786cac8e6 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.LeafStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefLeafStatement extends AbstractRefStatement implements LeafStatement { + public RefLeafStatement(final LeafStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLengthStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLengthStatement.java new file mode 100644 index 0000000000..f0c1917277 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLengthStatement.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import java.util.List; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.LengthStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ValueRange; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefLengthStatement extends AbstractRefStatement, LengthStatement> + implements LengthStatement { + public RefLengthStatement(final LengthStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefListStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefListStatement.java new file mode 100644 index 0000000000..9d8b0ce89e --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefListStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefListStatement extends AbstractRefStatement implements ListStatement { + public RefListStatement(final ListStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMandatoryStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMandatoryStatement.java new file mode 100644 index 0000000000..09ed1b4aee --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMandatoryStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefMandatoryStatement extends AbstractRefStatement + implements MandatoryStatement { + public RefMandatoryStatement(final MandatoryStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMaxElementsStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMaxElementsStatement.java new file mode 100644 index 0000000000..2f692fbb70 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMaxElementsStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefMaxElementsStatement extends AbstractRefStatement + implements MaxElementsStatement { + public RefMaxElementsStatement(final MaxElementsStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMinElementsStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMinElementsStatement.java new file mode 100644 index 0000000000..4cdc6f9c25 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMinElementsStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefMinElementsStatement extends AbstractRefStatement + implements MinElementsStatement { + public RefMinElementsStatement(final MinElementsStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModifierStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModifierStatement.java new file mode 100644 index 0000000000..367b788752 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModifierStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement; +import org.opendaylight.yangtools.yang.model.api.type.ModifierKind; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefModifierStatement extends AbstractRefStatement + implements ModifierStatement { + public RefModifierStatement(final ModifierStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModuleStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModuleStatement.java new file mode 100644 index 0000000000..5da41ef606 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModuleStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.UnqualifiedQName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefModuleStatement extends AbstractRefStatement + implements ModuleStatement { + public RefModuleStatement(final ModuleStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMustStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMustStatement.java new file mode 100644 index 0000000000..7756f0259e --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMustStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.MustStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; +import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound; + +public final class RefMustStatement extends AbstractRefStatement + implements MustStatement { + public RefMustStatement(final MustStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNamespaceStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNamespaceStatement.java new file mode 100644 index 0000000000..0da0910a57 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNamespaceStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.XMLNamespace; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefNamespaceStatement extends AbstractRefStatement + implements NamespaceStatement { + public RefNamespaceStatement(final NamespaceStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNotificationStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNotificationStatement.java new file mode 100644 index 0000000000..4f0382604a --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNotificationStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefNotificationStatement extends AbstractRefStatement + implements NotificationStatement { + public RefNotificationStatement(final NotificationStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrderedByStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrderedByStatement.java new file mode 100644 index 0000000000..1ab329328a --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrderedByStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.Ordering; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefOrderedByStatement extends AbstractRefStatement + implements OrderedByStatement { + public RefOrderedByStatement(final OrderedByStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrganizationStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrganizationStatement.java new file mode 100644 index 0000000000..50b909f099 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrganizationStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefOrganizationStatement extends AbstractRefStatement + implements OrganizationStatement { + public RefOrganizationStatement(final OrganizationStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOutputStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOutputStatement.java new file mode 100644 index 0000000000..d3957536a7 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOutputStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefOutputStatement extends AbstractRefStatement + implements OutputStatement { + public RefOutputStatement(final OutputStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPathStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPathStatement.java new file mode 100644 index 0000000000..ed8838c912 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPathStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.PathExpression; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.PathStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefPathStatement extends AbstractRefStatement + implements PathStatement { + public RefPathStatement(final PathStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPatternStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPatternStatement.java new file mode 100644 index 0000000000..3f5ac245b1 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPatternStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.PatternExpression; +import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefPatternStatement extends AbstractRefStatement + implements PatternStatement { + public RefPatternStatement(final PatternStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPositionStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPositionStatement.java new file mode 100644 index 0000000000..21853c77cd --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPositionStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.Uint32; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefPositionStatement extends AbstractRefStatement + implements PositionStatement { + public RefPositionStatement(final PositionStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPrefixStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPrefixStatement.java new file mode 100644 index 0000000000..7f2f51c742 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPrefixStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefPrefixStatement extends AbstractRefStatement + implements PrefixStatement { + public RefPrefixStatement(final PrefixStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPresenceStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPresenceStatement.java new file mode 100644 index 0000000000..241ee5f6ba --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPresenceStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefPresenceStatement extends AbstractRefStatement + implements PresenceStatement { + public RefPresenceStatement(final PresenceStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRangeStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRangeStatement.java new file mode 100644 index 0000000000..7b289ab9ab --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRangeStatement.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import java.util.List; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.RangeStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ValueRange; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefRangeStatement extends AbstractRefStatement, RangeStatement> + implements RangeStatement { + public RefRangeStatement(final RangeStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefReferenceStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefReferenceStatement.java new file mode 100644 index 0000000000..faa19e7b72 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefReferenceStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefReferenceStatement extends AbstractRefStatement + implements ReferenceStatement { + public RefReferenceStatement(final ReferenceStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRefineStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRefineStatement.java new file mode 100644 index 0000000000..87a3af656b --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRefineStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefRefineStatement extends AbstractRefStatement + implements RefineStatement { + public RefRefineStatement(final RefineStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRequireInstanceStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRequireInstanceStatement.java new file mode 100644 index 0000000000..d29b008cf4 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRequireInstanceStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefRequireInstanceStatement extends AbstractRefStatement + implements RequireInstanceStatement { + public RefRequireInstanceStatement(final RequireInstanceStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionDateStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionDateStatement.java new file mode 100644 index 0000000000..45634ebbf3 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionDateStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefRevisionDateStatement extends AbstractRefStatement + implements RevisionDateStatement { + public RefRevisionDateStatement(final RevisionDateStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionStatement.java new file mode 100644 index 0000000000..6ba90b555e --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefRevisionStatement extends AbstractRefStatement + implements RevisionStatement { + public RefRevisionStatement(final RevisionStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRpcStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRpcStatement.java new file mode 100644 index 0000000000..9afdafb13e --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRpcStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.RpcStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefRpcStatement extends AbstractRefStatement implements RpcStatement { + public RefRpcStatement(final RpcStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefStatusStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefStatusStatement.java new file mode 100644 index 0000000000..dc12e991fb --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefStatusStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.Status; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefStatusStatement extends AbstractRefStatement implements StatusStatement { + public RefStatusStatement(final StatusStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefSubmoduleStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefSubmoduleStatement.java new file mode 100644 index 0000000000..c5773b51d6 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefSubmoduleStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.UnqualifiedQName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefSubmoduleStatement extends AbstractRefStatement + implements SubmoduleStatement { + public RefSubmoduleStatement(final SubmoduleStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypeStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypeStatement.java new file mode 100644 index 0000000000..76b44c7085 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypeStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefTypeStatement extends AbstractRefStatement implements TypeStatement { + public RefTypeStatement(final TypeStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypedefStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypedefStatement.java new file mode 100644 index 0000000000..b369968c45 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypedefStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefTypedefStatement extends AbstractRefStatement + implements TypedefStatement { + public RefTypedefStatement(final TypedefStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUniqueStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUniqueStatement.java new file mode 100644 index 0000000000..cc2bc73349 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUniqueStatement.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import java.util.Set; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant; +import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefUniqueStatement extends AbstractRefStatement, UniqueStatement> + implements UniqueStatement { + public RefUniqueStatement(final UniqueStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUnitsStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUnitsStatement.java new file mode 100644 index 0000000000..2c5667fdd7 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUnitsStatement.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefUnitsStatement extends AbstractRefStatement implements UnitsStatement { + public RefUnitsStatement(final UnitsStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUsesStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUsesStatement.java new file mode 100644 index 0000000000..3875f9b099 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUsesStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefUsesStatement extends AbstractRefStatement implements UsesStatement { + public RefUsesStatement(final UsesStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefValueStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefValueStatement.java new file mode 100644 index 0000000000..5b1d341548 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefValueStatement.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefValueStatement extends AbstractRefStatement implements ValueStatement { + public RefValueStatement(final ValueStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefWhenStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefWhenStatement.java new file mode 100644 index 0000000000..8a1a9bac93 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefWhenStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; +import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound; + +public final class RefWhenStatement extends AbstractRefStatement + implements WhenStatement { + public RefWhenStatement(final WhenStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYangVersionStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYangVersionStatement.java new file mode 100644 index 0000000000..e305382da8 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYangVersionStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.common.YangVersion; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefYangVersionStatement extends AbstractRefStatement + implements YangVersionStatement { + public RefYangVersionStatement(final YangVersionStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYinElementStatement.java b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYinElementStatement.java new file mode 100644 index 0000000000..36e6d9aa94 --- /dev/null +++ b/yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYinElementStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.model.ri.stmt.impl.ref; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefYinElementStatement extends AbstractRefStatement + implements YinElementStatement { + public RefYinElementStatement(final YinElementStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/OpenConfigVersionSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/OpenConfigVersionSupport.java index 88ffeda0cc..7bc11e9971 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/OpenConfigVersionSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/OpenConfigVersionSupport.java @@ -12,6 +12,7 @@ import org.opendaylight.yangtools.concepts.SemVer; import org.opendaylight.yangtools.openconfig.model.api.OpenConfigStatements; import org.opendaylight.yangtools.openconfig.model.api.OpenConfigVersionEffectiveStatement; import org.opendaylight.yangtools.openconfig.model.api.OpenConfigVersionStatement; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; @@ -53,6 +54,12 @@ public final class OpenConfigVersionSupport return new OpenConfigVersionStatementImpl(ctx.getArgument(), substatements); } + @Override + protected OpenConfigVersionStatement attachDeclarationReference(final OpenConfigVersionStatement stmt, + final DeclarationReference reference) { + return new RefOpenConfigVersionStatement(stmt, reference); + } + @Override protected OpenConfigVersionEffectiveStatement createEffective( final Current stmt, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/RefOpenConfigVersionStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/RefOpenConfigVersionStatement.java new file mode 100644 index 0000000000..76172beb82 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/RefOpenConfigVersionStatement.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.openconfig.stmt; + +import org.opendaylight.yangtools.concepts.SemVer; +import org.opendaylight.yangtools.openconfig.model.api.OpenConfigVersionStatement; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +final class RefOpenConfigVersionStatement extends AbstractRefStatement + implements OpenConfigVersionStatement { + RefOpenConfigVersionStatement(final OpenConfigVersionStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AbstractAugmentStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AbstractAugmentStatementSupport.java index ee7050b79e..7cb61b4f06 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AbstractAugmentStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AbstractAugmentStatementSupport.java @@ -18,6 +18,7 @@ import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @@ -29,6 +30,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Desce import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.WhenEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -113,6 +115,12 @@ abstract class AbstractAugmentStatementSupport return DeclaredStatements.createAugment(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected final AugmentStatement attachDeclarationReference(final AugmentStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateAugment(stmt, reference); + } + @Override protected final List> statementsToBuild( final Current stmt, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java index 94794464fd..219e46bb97 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java @@ -22,6 +22,7 @@ import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.YangVersion; import org.opendaylight.yangtools.yang.model.api.DeviateKind; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @@ -29,6 +30,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.DeviateEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.YangValidationBundles; @@ -197,6 +199,12 @@ abstract class AbstractDeviateStatementSupport return DeclaredStatements.createDeviate(ctx.getArgument(), substatements); } + @Override + protected final DeviateStatement attachDeclarationReference(final DeviateStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateDeviate(stmt, reference); + } + @Override protected final DeviateEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java index 88d52358f0..79cc5b9c68 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java @@ -13,6 +13,7 @@ import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.openconfig.model.api.OpenConfigStatements; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentStatement; @@ -20,6 +21,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatemen import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.ExtensionNamespace; @@ -87,6 +89,12 @@ public final class ExtensionStatementSupport return DeclaredStatements.createExtension(ctx.getArgument(), substatements); } + @Override + protected ExtensionStatement attachDeclarationReference(final ExtensionStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateExtesion(stmt, reference); + } + @Override protected ExtensionEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RefUnrecognizedStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RefUnrecognizedStatement.java new file mode 100644 index 0000000000..b01133da71 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RefUnrecognizedStatement.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.extension; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefUnrecognizedStatement extends AbstractRefStatement + implements UnrecognizedStatement { + public RefUnrecognizedStatement(final UnrecognizedStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java index fcee2e5891..57e4807512 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java @@ -13,6 +13,7 @@ import com.google.common.collect.ImmutableList; import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.ArgumentDefinition; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @@ -75,6 +76,12 @@ final class UnrecognizedStatementSupport return new UnrecognizedStatementImpl(ctx.rawArgument(), ctx.publicDefinition(), substatements); } + @Override + protected UnrecognizedStatement attachDeclarationReference(final UnrecognizedStatement stmt, + final DeclarationReference reference) { + return new RefUnrecognizedStatement(stmt, reference); + } + // createEffective() should never be called, ensure that for each declared statement @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java index 6d23b13deb..d724b94079 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java @@ -17,12 +17,14 @@ import java.util.Map; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureExpr; import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.FeatureNamespace; @@ -93,6 +95,12 @@ abstract class AbstractIfFeatureStatementSupport return DeclaredStatements.createIfFeature(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected final IfFeatureStatement attachDeclarationReference(final IfFeatureStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateIfFeature(stmt, reference); + } + @Override protected final IfFeatureEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java index b6056b0fb4..0767ad7f86 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java @@ -21,12 +21,14 @@ import org.opendaylight.yangtools.openconfig.model.api.OpenConfigStatements; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ImportEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.PreLinkageModuleNamespace; @@ -134,6 +136,12 @@ public final class ImportStatementSupport return DeclaredStatements.createImport(ctx.getRawArgument(), substatements); } + @Override + protected ImportStatement attachDeclarationReference(final ImportStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateImport(stmt, reference); + } + @Override protected ImportEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/LeafListStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/LeafListStatementSupport.java index 0f8c0db26f..addccb799b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/LeafListStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/LeafListStatementSupport.java @@ -21,6 +21,7 @@ import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement; @@ -30,6 +31,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatemen import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils; @@ -100,6 +102,12 @@ public final class LeafListStatementSupport return DeclaredStatements.createLeafList(ctx.getArgument(), substatements); } + @Override + protected LeafListStatement attachDeclarationReference(final LeafListStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateLeafList(stmt, reference); + } + @Override public LeafListEffectiveStatement copyEffective(final Current stmt, final LeafListEffectiveStatement original) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/ListStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/ListStatementSupport.java index 613dcf52cb..39dc646ca5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/ListStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/ListStatementSupport.java @@ -28,6 +28,7 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @@ -37,6 +38,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException; @@ -138,6 +140,11 @@ public final class ListStatementSupport return DeclaredStatements.createList(ctx.getArgument(), substatements); } + @Override + protected ListStatement attachDeclarationReference(final ListStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateList(stmt, reference); + } + @Override public ListEffectiveStatement copyEffective(final Current stmt, final ListEffectiveStatement original) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ActionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ActionStatementSupport.java index 7c168a370e..908c7c65d9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ActionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ActionStatementSupport.java @@ -14,6 +14,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @@ -22,6 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement; import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins; @@ -102,6 +104,12 @@ public final class ActionStatementSupport extends return DeclaredStatements.createAction(ctx.getArgument(), substatements); } + @Override + protected ActionStatement attachDeclarationReference(final ActionStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateAction(stmt, reference); + } + @Override protected ActionEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnydataStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnydataStatementSupport.java index 0a7b816336..aad2c98297 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnydataStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnydataStatementSupport.java @@ -13,6 +13,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.AnydataEffectiveStatement; @@ -20,6 +21,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.AnydataStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -57,6 +59,12 @@ public final class AnydataStatementSupport return DeclaredStatements.createAnydata(ctx.getArgument(), substatements); } + @Override + protected AnydataStatement attachDeclarationReference(final AnydataStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateAnydata(stmt, reference); + } + @Override protected AnydataEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnyxmlStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnyxmlStatementSupport.java index 47d651a13b..0a4a630b55 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnyxmlStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnyxmlStatementSupport.java @@ -13,6 +13,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlEffectiveStatement; @@ -20,6 +21,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -57,6 +59,12 @@ public final class AnyxmlStatementSupport return DeclaredStatements.createAnyxml(ctx.getArgument(), substatements); } + @Override + protected AnyxmlStatement attachDeclarationReference(final AnyxmlStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateAnyxml(stmt, reference); + } + @Override protected AnyxmlEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ArgumentStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ArgumentStatementSupport.java index abd927c860..d2f92d89c7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ArgumentStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ArgumentStatementSupport.java @@ -10,11 +10,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport; @@ -48,6 +50,12 @@ public final class ArgumentStatementSupport return DeclaredStatements.createArgument(ctx.getArgument(), substatements); } + @Override + protected ArgumentStatement attachDeclarationReference(final ArgumentStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateArgument(stmt, reference); + } + @Override protected ArgumentEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BaseStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BaseStatementSupport.java index 6523e2a63c..7b64716403 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BaseStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BaseStatementSupport.java @@ -11,12 +11,14 @@ import com.google.common.collect.ImmutableList; import java.util.Collection; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BaseStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.IdentityNamespace; @@ -83,6 +85,11 @@ public final class BaseStatementSupport extends AbstractQNameStatementSupport stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BelongsToStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BelongsToStatementSupport.java index 2e8237417e..68b749bbc6 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BelongsToStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BelongsToStatementSupport.java @@ -12,6 +12,7 @@ import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.f import com.google.common.collect.ImmutableList; import java.util.Collection; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToEffectiveStatement; @@ -20,6 +21,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -86,6 +88,12 @@ public final class BelongsToStatementSupport return DeclaredStatements.createBelongsTo(ctx.getRawArgument(), substatements); } + @Override + protected BelongsToStatement attachDeclarationReference(final BelongsToStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateBelongsTo(stmt, reference); + } + @Override protected BelongsToEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BitStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BitStatementSupport.java index d0b7d1dea8..33cbf85f3a 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BitStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BitStatementSupport.java @@ -13,11 +13,13 @@ import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BitEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -76,6 +78,11 @@ public final class BitStatementSupport extends AbstractStatementSupport stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/CaseStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/CaseStatementSupport.java index a1751dacb6..a60b1c7255 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/CaseStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/CaseStatementSupport.java @@ -21,6 +21,7 @@ import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementOrigin; @@ -28,6 +29,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.CaseEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.CaseStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.ImplicitStatements; @@ -106,6 +108,11 @@ public final class CaseStatementSupport } } + @Override + protected CaseStatement attachDeclarationReference(final CaseStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateCase(stmt, reference); + } + @Override protected CaseEffectiveStatement copyDeclaredEffective(final Current stmt, final CaseEffectiveStatement original) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ChoiceStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ChoiceStatementSupport.java index 76bc640a47..f4f9996578 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ChoiceStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ChoiceStatementSupport.java @@ -19,6 +19,7 @@ import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @@ -28,6 +29,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -118,6 +120,12 @@ public final class ChoiceStatementSupport return DeclaredStatements.createChoice(ctx.getArgument(), substatements); } + @Override + protected ChoiceStatement attachDeclarationReference(final ChoiceStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateChoice(stmt, reference); + } + @Override public ChoiceEffectiveStatement copyEffective(final Current stmt, final ChoiceEffectiveStatement original) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ConfigStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ConfigStatementSupport.java index d90bdb9bc4..845cc139f7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ConfigStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ConfigStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ConfigEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractBooleanStatementSupport; @@ -43,6 +45,12 @@ public final class ConfigStatementSupport return DeclaredStatements.createConfig(argument, substatements); } + @Override + protected ConfigStatement attachDeclarationReference(final ConfigStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateConfig(stmt, reference); + } + @Override protected ConfigEffectiveStatement createEffective(final ConfigStatement declared, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContactStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContactStatementSupport.java index 9cf3c78e46..7d7fbf24e8 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContactStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContactStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ContactEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStringStatementSupport; @@ -39,6 +41,12 @@ public final class ContactStatementSupport return DeclaredStatements.createContact(argument, substatements); } + @Override + protected ContactStatement attachDeclarationReference(final ContactStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateContact(stmt, reference); + } + @Override protected ContactStatement createEmptyDeclared(final String argument) { return DeclaredStatements.createContact(argument); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContainerStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContainerStatementSupport.java index 24732865b5..a9a78e1bca 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContainerStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContainerStatementSupport.java @@ -17,6 +17,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ContainerEffectiveStatement; @@ -24,6 +25,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -109,6 +111,12 @@ public final class ContainerStatementSupport return DeclaredStatements.createContainer(ctx.getArgument(), substatements); } + @Override + protected ContainerStatement attachDeclarationReference(final ContainerStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateContainer(stmt, reference); + } + @Override protected ContainerEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DefaultStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DefaultStatementSupport.java index be34bba3ba..52beecc6ca 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DefaultStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DefaultStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -42,6 +44,12 @@ public final class DefaultStatementSupport return DeclaredStatements.createDefault(ctx.getRawArgument(), substatements); } + @Override + protected DefaultStatement attachDeclarationReference(final DefaultStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateDefault(stmt, reference); + } + @Override protected DefaultEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DescriptionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DescriptionStatementSupport.java index ee3c121a35..f2ebe97045 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DescriptionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DescriptionStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -41,6 +43,12 @@ public final class DescriptionStatementSupport return DeclaredStatements.createDescription(ctx.getRawArgument(), substatements); } + @Override + protected DescriptionStatement attachDeclarationReference(final DescriptionStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateDescription(stmt, reference); + } + @Override protected DescriptionEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DeviationStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DeviationStatementSupport.java index bdf147af74..1caa8a4b49 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DeviationStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DeviationStatementSupport.java @@ -11,12 +11,14 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DeviationEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DeviationStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils; @@ -69,6 +71,12 @@ public final class DeviationStatementSupport return DeclaredStatements.createDeviation(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected DeviationStatement attachDeclarationReference(final DeviationStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateDeviation(stmt, reference); + } + @Override protected DeviationEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/EnumStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/EnumStatementSupport.java index 14c92727cf..78372b6845 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/EnumStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/EnumStatementSupport.java @@ -13,11 +13,13 @@ import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.EnumEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -74,6 +76,11 @@ public final class EnumStatementSupport return DeclaredStatements.createEnum(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected EnumStatement attachDeclarationReference(final EnumStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateEnum(stmt, reference); + } + @Override protected EnumEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorAppTagStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorAppTagStatementSupport.java index 5032fc1e1d..d3402da2f3 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorAppTagStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorAppTagStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -41,6 +43,12 @@ public final class ErrorAppTagStatementSupport return DeclaredStatements.createErrorAppTag(ctx.getRawArgument(), substatements); } + @Override + protected ErrorAppTagStatement attachDeclarationReference(final ErrorAppTagStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateErrorAppTag(stmt, reference); + } + @Override protected ErrorAppTagEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorMessageStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorMessageStatementSupport.java index 7dd59cb6b9..f2e4375520 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorMessageStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorMessageStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -41,6 +43,12 @@ public final class ErrorMessageStatementSupport return DeclaredStatements.createErrorMessage(ctx.getRawArgument(), substatements); } + @Override + protected ErrorMessageStatement attachDeclarationReference(final ErrorMessageStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateErrorMessage(stmt, reference); + } + @Override protected ErrorMessageEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FeatureStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FeatureStatementSupport.java index ec92e28b2b..a2fb94d584 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FeatureStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FeatureStatementSupport.java @@ -11,12 +11,14 @@ import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -64,6 +66,12 @@ public final class FeatureStatementSupport return DeclaredStatements.createFeature(ctx.getArgument(), substatements); } + @Override + protected FeatureStatement attachDeclarationReference(final FeatureStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateFeature(stmt, reference); + } + @Override protected FeatureEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FractionDigitsStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FractionDigitsStatementSupport.java index 6d969a0685..8709b3b416 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FractionDigitsStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FractionDigitsStatementSupport.java @@ -12,11 +12,13 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -71,6 +73,12 @@ public final class FractionDigitsStatementSupport return DeclaredStatements.createFractionDigits(ctx.getArgument(), substatements); } + @Override + protected FractionDigitsStatement attachDeclarationReference(final FractionDigitsStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateFractionDigits(stmt, reference); + } + @Override protected FractionDigitsEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/GroupingStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/GroupingStatementSupport.java index c1aea8e0ce..eff251e9b3 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/GroupingStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/GroupingStatementSupport.java @@ -15,11 +15,13 @@ import java.util.Collection; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins; @@ -144,6 +146,12 @@ public final class GroupingStatementSupport return DeclaredStatements.createGrouping(ctx.getArgument(), substatements); } + @Override + protected GroupingStatement attachDeclarationReference(final GroupingStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateGrouping(stmt, reference); + } + @Override protected GroupingEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IdentityStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IdentityStatementSupport.java index 1a97ae76da..b6c8a44c7f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IdentityStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IdentityStatementSupport.java @@ -21,6 +21,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement; @@ -28,6 +29,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -99,6 +101,12 @@ public final class IdentityStatementSupport return DeclaredStatements.createIdentity(ctx.getArgument(), substatements); } + @Override + protected IdentityStatement attachDeclarationReference(final IdentityStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateIdentity(stmt, reference); + } + @Override protected IdentityEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IncludeStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IncludeStatementSupport.java index 079abafea5..295e1023c8 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IncludeStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IncludeStatementSupport.java @@ -18,6 +18,7 @@ import java.util.Optional; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IncludeEffectiveStatement; @@ -25,6 +26,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace; @@ -124,6 +126,12 @@ public final class IncludeStatementSupport return DeclaredStatements.createInclude(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected IncludeStatement attachDeclarationReference(final IncludeStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateInclude(stmt, reference); + } + @Override protected IncludeEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/InputStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/InputStatementSupport.java index 9e7ce61de5..7508e079c5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/InputStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/InputStatementSupport.java @@ -15,12 +15,14 @@ import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementOrigin; import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.ImplicitStatements; @@ -92,6 +94,12 @@ public final class InputStatementSupport } } + @Override + protected InputStatement attachDeclarationReference(final InputStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateInput(stmt, reference); + } + @Override InputEffectiveStatement copyDeclaredEffective(final int flags, final Current stmt, final InputEffectiveStatement original) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/KeyStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/KeyStatementSupport.java index be86b67852..948952d73d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/KeyStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/KeyStatementSupport.java @@ -16,11 +16,13 @@ import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.antlr.YangStatementLexer; @@ -108,6 +110,11 @@ public final class KeyStatementSupport return DeclaredStatements.createKey(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected KeyStatement attachDeclarationReference(final KeyStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateKey(stmt, reference); + } + @Override protected KeyEffectiveStatement createEffective(final Current, KeyStatement> stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LeafStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LeafStatementSupport.java index afe0491bc4..d5036ada7b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LeafStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LeafStatementSupport.java @@ -13,6 +13,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement; @@ -22,6 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatemen import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -72,6 +74,11 @@ public final class LeafStatementSupport return DeclaredStatements.createLeaf(ctx.getArgument(), substatements); } + @Override + protected LeafStatement attachDeclarationReference(final LeafStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateLeaf(stmt, reference); + } + @Override public LeafEffectiveStatement copyEffective(final Current stmt, final LeafEffectiveStatement original) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LengthStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LengthStatementSupport.java index 9a20e79976..029366d8f3 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LengthStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LengthStatementSupport.java @@ -15,6 +15,7 @@ import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.Uint64; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.LengthEffectiveStatement; @@ -22,6 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.LengthStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnresolvedNumber; import org.opendaylight.yangtools.yang.model.api.stmt.ValueRange; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils; @@ -88,6 +90,12 @@ public final class LengthStatementSupport return DeclaredStatements.createLength(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected LengthStatement attachDeclarationReference(final LengthStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateLength(stmt, reference); + } + @Override protected LengthEffectiveStatement createEffective(final Current, LengthStatement> stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MandatoryStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MandatoryStatementSupport.java index 4f762c4ff8..56bcfc44b6 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MandatoryStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MandatoryStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractBooleanStatementSupport; @@ -42,6 +44,12 @@ public final class MandatoryStatementSupport extends return DeclaredStatements.createMandatory(argument, substatements); } + @Override + protected MandatoryStatement attachDeclarationReference(final MandatoryStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateMandatory(stmt, reference); + } + @Override protected MandatoryEffectiveStatement createEffective(final MandatoryStatement declared, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MaxElementsStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MaxElementsStatementSupport.java index 2c1055c962..3b7320d8d0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MaxElementsStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MaxElementsStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -46,6 +48,12 @@ public final class MaxElementsStatementSupport return DeclaredStatements.createMaxElements(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected MaxElementsStatement attachDeclarationReference(final MaxElementsStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateMaxElements(stmt, reference); + } + @Override protected MaxElementsEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MinElementsStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MinElementsStatementSupport.java index dd7b469cfe..bbc1554394 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MinElementsStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MinElementsStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStatementSupport; @@ -50,6 +52,12 @@ public final class MinElementsStatementSupport return DeclaredStatements.createMinElements(argument, substatements); } + @Override + protected MinElementsStatement attachDeclarationReference(final MinElementsStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateMinElements(stmt, reference); + } + @Override protected MinElementsStatement createEmptyDeclared(final Integer argument) { return DeclaredStatements.createMinElements(argument); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ModifierStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ModifierStatementSupport.java index 06dbd33ca0..80abaa84fe 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ModifierStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ModifierStatementSupport.java @@ -9,12 +9,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModifierEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement; import org.opendaylight.yangtools.yang.model.api.type.ModifierKind; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -54,6 +56,12 @@ public final class ModifierStatementSupport return DeclaredStatements.createModifier(ctx.getArgument(), substatements); } + @Override + protected ModifierStatement attachDeclarationReference(final ModifierStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateModifier(stmt, reference); + } + @Override protected ModifierEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MustStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MustStatementSupport.java index 9430a103fc..f13b9cb470 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MustStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MustStatementSupport.java @@ -12,11 +12,13 @@ import static java.util.Objects.requireNonNull; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MustEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MustStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -59,6 +61,11 @@ public final class MustStatementSupport return DeclaredStatements.createMust(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected MustStatement attachDeclarationReference(final MustStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateMust(stmt, reference); + } + @Override protected MustEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/NamespaceStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/NamespaceStatementSupport.java index e702e15a62..b5eb0d813c 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/NamespaceStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/NamespaceStatementSupport.java @@ -11,11 +11,13 @@ import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -53,6 +55,12 @@ public final class NamespaceStatementSupport return DeclaredStatements.createNamespace(ctx.getArgument(), substatements); } + @Override + protected NamespaceStatement attachDeclarationReference(final NamespaceStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateNamespace(stmt, reference); + } + @Override protected NamespaceEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrderedByStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrderedByStatementSupport.java index 4b95ce0884..f2c960827f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrderedByStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrderedByStatementSupport.java @@ -11,11 +11,13 @@ import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.Ordering; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -90,6 +92,12 @@ public final class OrderedByStatementSupport } } + @Override + protected OrderedByStatement attachDeclarationReference(final OrderedByStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateOrderedBy(stmt, reference); + } + @Override protected OrderedByEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrganizationStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrganizationStatementSupport.java index f1f92c8cf5..496ce3ef29 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrganizationStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrganizationStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStringStatementSupport; @@ -39,6 +41,12 @@ public final class OrganizationStatementSupport return DeclaredStatements.createOrganization(argument, substatements); } + @Override + protected OrganizationStatement attachDeclarationReference(final OrganizationStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateOrganization(stmt, reference); + } + @Override protected OrganizationStatement createEmptyDeclared(final String argument) { return DeclaredStatements.createOrganization(argument); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OutputStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OutputStatementSupport.java index 5ef86b397a..839d949463 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OutputStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OutputStatementSupport.java @@ -15,12 +15,14 @@ import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementOrigin; import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.ImplicitStatements; @@ -92,6 +94,12 @@ public final class OutputStatementSupport } } + @Override + protected OutputStatement attachDeclarationReference(final OutputStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateOutput(stmt, reference); + } + @Override OutputEffectiveStatement copyDeclaredEffective(final int flags, final Current stmt, final OutputEffectiveStatement original) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PositionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PositionStatementSupport.java index fd4f43ee2e..967084dc35 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PositionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PositionStatementSupport.java @@ -10,11 +10,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PositionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStatementSupport; @@ -56,6 +58,12 @@ public final class PositionStatementSupport return DeclaredStatements.createPosition(argument, ImmutableList.of()); } + @Override + protected PositionStatement attachDeclarationReference(final PositionStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decoratePosition(stmt, reference); + } + @Override protected PositionEffectiveStatement createEffective(final PositionStatement declared, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PrefixStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PrefixStatementSupport.java index f6cb1e8608..e9490dc736 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PrefixStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PrefixStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -41,6 +43,12 @@ public final class PrefixStatementSupport return DeclaredStatements.createPrefix(ctx.getRawArgument(), substatements); } + @Override + protected PrefixStatement attachDeclarationReference(final PrefixStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decoratePrefix(stmt, reference); + } + @Override protected PrefixEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PresenceStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PresenceStatementSupport.java index 7c473b110c..df0aeb7ae4 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PresenceStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PresenceStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -41,6 +43,12 @@ public final class PresenceStatementSupport return DeclaredStatements.createPresence(ctx.getRawArgument(), substatements); } + @Override + protected PresenceStatement attachDeclarationReference(final PresenceStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decoratePresence(stmt, reference); + } + @Override protected PresenceEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RangeStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RangeStatementSupport.java index 8584249a0c..8af2d7ad06 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RangeStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RangeStatementSupport.java @@ -16,6 +16,7 @@ import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.Uint64; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RangeEffectiveStatement; @@ -23,6 +24,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.RangeStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnresolvedNumber; import org.opendaylight.yangtools.yang.model.api.stmt.ValueRange; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils; @@ -84,6 +86,12 @@ public final class RangeStatementSupport return DeclaredStatements.createRange(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected RangeStatement attachDeclarationReference(final RangeStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateRange(stmt, reference); + } + @Override protected RangeEffectiveStatement createEffective(final Current, RangeStatement> stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ReferenceStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ReferenceStatementSupport.java index 6b78825df7..c929ddacbc 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ReferenceStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ReferenceStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStringStatementSupport; @@ -39,6 +41,12 @@ public final class ReferenceStatementSupport return DeclaredStatements.createReference(argument, substatements); } + @Override + protected ReferenceStatement attachDeclarationReference(final ReferenceStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateReference(stmt, reference); + } + @Override protected ReferenceStatement createEmptyDeclared(final String argument) { return DeclaredStatements.createReference(argument); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RequireInstanceStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RequireInstanceStatementSupport.java index 52e7aa531d..4d52e42285 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RequireInstanceStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RequireInstanceStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractBooleanStatementSupport; @@ -41,6 +43,12 @@ public final class RequireInstanceStatementSupport return DeclaredStatements.createRequireInstance(argument, substatements); } + @Override + protected RequireInstanceStatement attachDeclarationReference(final RequireInstanceStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateRequireInstance(stmt, reference); + } + @Override protected RequireInstanceEffectiveStatement createEffective(final RequireInstanceStatement declared, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionDateStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionDateStatementSupport.java index 63516fd30a..31f9d19708 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionDateStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionDateStatementSupport.java @@ -11,11 +11,13 @@ import com.google.common.collect.ImmutableList; import java.time.format.DateTimeParseException; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -53,6 +55,12 @@ public final class RevisionDateStatementSupport return DeclaredStatements.createRevisionDate(ctx.getArgument(), substatements); } + @Override + protected RevisionDateStatement attachDeclarationReference(final RevisionDateStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateRevisionDate(stmt, reference); + } + @Override protected RevisionDateEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionStatementSupport.java index 2103732777..c923ec0759 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionStatementSupport.java @@ -11,11 +11,13 @@ import com.google.common.collect.ImmutableList; import java.time.format.DateTimeParseException; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -56,6 +58,12 @@ public final class RevisionStatementSupport return DeclaredStatements.createRevision(ctx.getArgument(), substatements); } + @Override + protected RevisionStatement attachDeclarationReference(final RevisionStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateRevision(stmt, reference); + } + @Override protected RevisionEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RpcStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RpcStatementSupport.java index 9e50e8bff5..a3018356bc 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RpcStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RpcStatementSupport.java @@ -16,6 +16,7 @@ import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; @@ -24,6 +25,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.RpcEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RpcStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -85,6 +87,11 @@ public final class RpcStatementSupport extends AbstractSchemaTreeStatementSuppor return DeclaredStatements.createRpc(ctx.getArgument(), substatements); } + @Override + protected RpcStatement attachDeclarationReference(final RpcStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateRpc(stmt, reference); + } + @Override protected RpcEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/StatusStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/StatusStatementSupport.java index f3a48109fd..7e05b87a8b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/StatusStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/StatusStatementSupport.java @@ -10,11 +10,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -71,6 +73,12 @@ public final class StatusStatementSupport return DeclaredStatements.createStatus(ctx.getArgument(), substatements); } + @Override + protected StatusStatement attachDeclarationReference(final StatusStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateStatus(stmt, reference); + } + @Override protected StatusEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/TypedefStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/TypedefStatementSupport.java index e145842a3b..08fabebbb7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/TypedefStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/TypedefStatementSupport.java @@ -14,6 +14,7 @@ import java.util.Collection; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement; @@ -22,6 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; @@ -106,6 +108,12 @@ public final class TypedefStatementSupport extends return DeclaredStatements.createTypedef(ctx.getArgument(), substatements); } + @Override + protected TypedefStatement attachDeclarationReference(final TypedefStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateTypedef(stmt, reference); + } + @Override protected TypedefEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UniqueStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UniqueStatementSupport.java index 6e1a99e939..dfdb2bc7df 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UniqueStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UniqueStatementSupport.java @@ -15,6 +15,7 @@ import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; @@ -23,6 +24,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Desce import org.opendaylight.yangtools.yang.model.api.stmt.UniqueEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils; @@ -71,6 +73,12 @@ public final class UniqueStatementSupport return DeclaredStatements.createUnique(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected UniqueStatement attachDeclarationReference(final UniqueStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateUnique(stmt, reference); + } + @Override protected UniqueEffectiveStatement createEffective(final Current, UniqueStatement> stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UnitsStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UnitsStatementSupport.java index 9fe5a18c11..ec4631415b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UnitsStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UnitsStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; @@ -41,6 +43,12 @@ public final class UnitsStatementSupport return DeclaredStatements.createUnits(ctx.getRawArgument(), substatements); } + @Override + protected UnitsStatement attachDeclarationReference(final UnitsStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateUnits(stmt, reference); + } + @Override protected UnitsEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ValueStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ValueStatementSupport.java index 749316519a..3b90bb58cb 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ValueStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ValueStatementSupport.java @@ -10,11 +10,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ValueEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStatementSupport; @@ -52,6 +54,12 @@ public final class ValueStatementSupport return DeclaredStatements.createValue(argument, substatements); } + @Override + protected ValueStatement attachDeclarationReference(final ValueStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateValue(stmt, reference); + } + @Override protected ValueStatement createEmptyDeclared(@NonNull final Integer argument) { return DeclaredStatements.createValue(argument); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/WhenStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/WhenStatementSupport.java index e6b64be994..52dd551b63 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/WhenStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/WhenStatementSupport.java @@ -12,11 +12,13 @@ import static java.util.Objects.requireNonNull; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.WhenEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -57,6 +59,11 @@ public final class WhenStatementSupport return DeclaredStatements.createWhen(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected WhenStatement attachDeclarationReference(final WhenStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateWhen(stmt, reference); + } + @Override protected WhenEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YangVersionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YangVersionStatementSupport.java index 4d7c6435df..53f61a2829 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YangVersionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YangVersionStatementSupport.java @@ -10,11 +10,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.YangVersion; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -55,6 +57,12 @@ public final class YangVersionStatementSupport return DeclaredStatements.createYangVersion(ctx.getArgument(), substatements); } + @Override + protected YangVersionStatement attachDeclarationReference(final YangVersionStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateYangVersion(stmt, reference); + } + @Override protected YangVersionEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YinElementStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YinElementStatementSupport.java index 19c5499a99..91cc52ec70 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YinElementStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YinElementStatementSupport.java @@ -9,11 +9,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.YinElementEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractBooleanStatementSupport; @@ -42,6 +44,12 @@ public final class YinElementStatementSupport return DeclaredStatements.createYinElement(argument, substatements); } + @Override + protected YinElementStatement attachDeclarationReference(final YinElementStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateYinElement(stmt, reference); + } + @Override protected YinElementEffectiveStatement createEffective(final YinElementStatement declared, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleStatementSupport.java index edcd4c822d..0b29817c61 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleStatementSupport.java @@ -30,6 +30,7 @@ import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.Submodule; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; @@ -40,6 +41,7 @@ import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SemVerSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException; import org.opendaylight.yangtools.yang.parser.spi.ModuleNamespace; @@ -256,6 +258,12 @@ public final class ModuleStatementSupport return DeclaredStatements.createModule(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected ModuleStatement attachDeclarationReference(final ModuleStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateModule(stmt, reference); + } + @Override protected ModuleEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java index 975a81e629..ed1cfbeaa0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java @@ -10,11 +10,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.notification; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.NotificationEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins; @@ -36,6 +38,12 @@ abstract class AbstractNotificationStatementSupport return DeclaredStatements.createNotification(ctx.getArgument(), substatements); } + @Override + protected final NotificationStatement attachDeclarationReference(final NotificationStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateNotification(stmt, reference); + } + @Override protected final NotificationEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathStatementSupport.java index f6ba62d211..a0d208c3f7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathStatementSupport.java @@ -12,11 +12,13 @@ import static java.util.Objects.requireNonNull; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.PathExpression; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PathEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PathStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -61,6 +63,11 @@ public final class PathStatementSupport return DeclaredStatements.createPath(ctx.getArgument(), substatements); } + @Override + protected PathStatement attachDeclarationReference(final PathStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decoratePath(stmt, reference); + } + @Override protected PathEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/PatternStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/PatternStatementSupport.java index 33e7311776..e8084392c5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/PatternStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/PatternStatementSupport.java @@ -15,12 +15,14 @@ import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PatternEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PatternExpression; import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -85,6 +87,12 @@ public final class PatternStatementSupport return DeclaredStatements.createPattern(ctx.getArgument(), substatements); } + @Override + protected PatternStatement attachDeclarationReference(final PatternStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decoratePattern(stmt, reference); + } + @Override protected PatternEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineStatementSupport.java index 256a97ac0a..7c8802a4a4 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineStatementSupport.java @@ -16,12 +16,14 @@ import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RefineEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -87,6 +89,12 @@ public final class RefineStatementSupport return DeclaredStatements.createRefine(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected RefineStatement attachDeclarationReference(final RefineStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateRefine(stmt, reference); + } + @Override protected RefineEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleStatementSupport.java index 0e1e7a897d..d0728bfe24 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleStatementSupport.java @@ -16,6 +16,7 @@ import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.UnqualifiedQName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; @@ -25,6 +26,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException; import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace; @@ -168,6 +170,12 @@ public final class SubmoduleStatementSupport return DeclaredStatements.createSubmodule(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected SubmoduleStatement attachDeclarationReference(final SubmoduleStatement stmt, + final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateSubmodule(stmt, reference); + } + @Override protected SubmoduleEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java index edf67dca16..77ccda40ba 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java @@ -14,6 +14,7 @@ import com.google.common.collect.ImmutableList; import java.util.Collection; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement; @@ -63,6 +64,12 @@ abstract class AbstractIdentityRefSpecificationSupport return new IdentityRefSpecificationImpl(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected IdentityRefSpecification attachDeclarationReference(final IdentityRefSpecification stmt, + final DeclarationReference reference) { + return new RefIdentityRefSpecification(stmt, reference); + } + @Override protected final EffectiveStatement createEffective( final Current stmt, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java index bbb88fe0ff..b3bf4f1652 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PathEffectiveStatement; @@ -36,6 +37,12 @@ abstract class AbstractLeafrefSpecificationSupport extends AbstractTypeSupport createEffective( final Current stmt, 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 1207bc9a61..f517f08f30 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 @@ -18,6 +18,7 @@ import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BitEffectiveStatement; @@ -54,6 +55,7 @@ import org.opendaylight.yangtools.yang.model.api.type.Uint64TypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.ri.type.BitsTypeBuilder; import org.opendaylight.yangtools.yang.model.ri.type.EnumerationTypeBuilder; @@ -191,6 +193,12 @@ abstract class AbstractTypeStatementSupport extends AbstractTypeSupport createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java index 27b5bd5df3..4b283c6de4 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java @@ -12,6 +12,7 @@ import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BitEffectiveStatement; @@ -48,6 +49,12 @@ final class BitsSpecificationSupport extends AbstractTypeSupport createEffective( final Current stmt, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java index ea5beadc4f..a71d6ef70e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsEffectiveStatement; @@ -49,6 +50,12 @@ final class Decimal64SpecificationSupport extends AbstractTypeSupport createEffective( final Current stmt, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java index fce5ad094b..0b808b1ff9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java @@ -11,6 +11,7 @@ import com.google.common.collect.ImmutableList; import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.EnumEffectiveStatement; @@ -48,6 +49,12 @@ final class EnumSpecificationSupport extends AbstractTypeSupport createEffective( final Current stmt, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/InstanceIdentifierSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/InstanceIdentifierSpecificationSupport.java index f30af56c56..3c797cce2b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/InstanceIdentifierSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/InstanceIdentifierSpecificationSupport.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceEffectiveStatement; @@ -44,6 +45,12 @@ final class InstanceIdentifierSpecificationSupport : new RegularInstanceIdentifierSpecification(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected InstanceIdentifierSpecification attachDeclarationReference(final InstanceIdentifierSpecification stmt, + final DeclarationReference reference) { + return new RefInstanceIdentifierSpecification(stmt, reference); + } + @Override protected EffectiveStatement createEffective( final Current stmt, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefBitsSpecification.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefBitsSpecification.java new file mode 100644 index 0000000000..8035f47127 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefBitsSpecification.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.BitsSpecification; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +public final class RefBitsSpecification extends AbstractRefStatement + implements BitsSpecification { + public RefBitsSpecification(final BitsSpecification delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefDecimal64Specification.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefDecimal64Specification.java new file mode 100644 index 0000000000..7c1633607f --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefDecimal64Specification.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.Decimal64Specification; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +final class RefDecimal64Specification extends AbstractRefStatement + implements Decimal64Specification { + RefDecimal64Specification(final Decimal64Specification delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefEnumSpecification.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefEnumSpecification.java new file mode 100644 index 0000000000..fee208e291 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefEnumSpecification.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.EnumSpecification; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +final class RefEnumSpecification extends AbstractRefStatement implements EnumSpecification { + RefEnumSpecification(final EnumSpecification delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefIdentityRefSpecification.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefIdentityRefSpecification.java new file mode 100644 index 0000000000..cd0ccf1f8b --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefIdentityRefSpecification.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.IdentityRefSpecification; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +final class RefIdentityRefSpecification extends AbstractRefStatement + implements IdentityRefSpecification { + RefIdentityRefSpecification(final IdentityRefSpecification delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefInstanceIdentifierSpecification.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefInstanceIdentifierSpecification.java new file mode 100644 index 0000000000..8e3a2c30bb --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefInstanceIdentifierSpecification.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.InstanceIdentifierSpecification; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +final class RefInstanceIdentifierSpecification extends AbstractRefStatement + implements InstanceIdentifierSpecification { + RefInstanceIdentifierSpecification(final InstanceIdentifierSpecification delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefLeafrefSpecification.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefLeafrefSpecification.java new file mode 100644 index 0000000000..087f68f7b3 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefLeafrefSpecification.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.LeafrefSpecification; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +final class RefLeafrefSpecification extends AbstractRefStatement + implements LeafrefSpecification { + RefLeafrefSpecification(final LeafrefSpecification delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefUnionSpecification.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefUnionSpecification.java new file mode 100644 index 0000000000..9152842e90 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefUnionSpecification.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.UnionSpecification; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +final class RefUnionSpecification extends AbstractRefStatement + implements UnionSpecification { + RefUnionSpecification(final UnionSpecification delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java index f90526c62e..b3d57f0e81 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java @@ -11,6 +11,7 @@ import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement; @@ -46,6 +47,12 @@ final class UnionSpecificationSupport extends AbstractTypeSupport createEffective( final Current stmt, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java index 157d91d084..e094d9d3d8 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java @@ -26,6 +26,7 @@ import org.opendaylight.yangtools.yang.common.YangVersion; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @@ -37,6 +38,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStateme import org.opendaylight.yangtools.yang.model.api.stmt.UsesEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; +import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators; import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins; import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.YangValidationBundles; @@ -138,6 +140,11 @@ public final class UsesStatementSupport return DeclaredStatements.createUses(ctx.getRawArgument(), ctx.getArgument(), substatements); } + @Override + protected UsesStatement attachDeclarationReference(final UsesStatement stmt, final DeclarationReference reference) { + return DeclaredStatementDecorators.decorateUses(stmt, reference); + } + @Override protected UsesEffectiveStatement createEffective(final Current stmt, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/RefThirdPartyExtensionStatement.java b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/RefThirdPartyExtensionStatement.java new file mode 100644 index 0000000000..753a4cf180 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/RefThirdPartyExtensionStatement.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. 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.thirdparty.plugin; + +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; +import org.opendaylight.yangtools.yang.model.spi.meta.AbstractRefStatement; + +final class RefThirdPartyExtensionStatement extends AbstractRefStatement + implements ThirdPartyExtensionStatement { + RefThirdPartyExtensionStatement(final ThirdPartyExtensionStatement delegate, final DeclarationReference ref) { + super(delegate, ref); + } +} diff --git a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionSupport.java b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionSupport.java index d11a51b4e2..abdfe8b493 100644 --- a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionSupport.java +++ b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionSupport.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.thirdparty.plugin; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.Empty; +import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration; @@ -43,6 +44,12 @@ public final class ThirdPartyExtensionSupport return new ThirdPartyExtensionStatementImpl(ctx.getRawArgument(), substatements); } + @Override + protected ThirdPartyExtensionStatement attachDeclarationReference(final ThirdPartyExtensionStatement stmt, + final DeclarationReference reference) { + return new RefThirdPartyExtensionStatement(stmt, reference); + } + @Override protected ThirdPartyExtensionEffectiveStatement createEffective( final Current stmt, -- 2.36.6