Retain DeclarationReference in DeclaredStatements 88/94088/7
authorAnton Tregubov <tregubov@gmail.com>
Mon, 7 Dec 2020 08:35:10 +0000 (11:35 +0300)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 22 Apr 2021 14:49:48 +0000 (16:49 +0200)
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 <tregubov@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
157 files changed:
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/DeclaredStatementDecorators.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefActionStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnydataStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAnyxmlStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefArgumentStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefAugmentStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBaseStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBelongsToStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefBitStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefCaseStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefChoiceStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefConfigStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContactStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefContainerStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDefaultStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDescriptionStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviateStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefDeviationStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefEnumStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorAppTagStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefErrorMessageStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefExtensionStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFeatureStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefFractionDigitsStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefGroupingStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIdentityStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIfFeatureStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefImportStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefIncludeStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefInputStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefKeyStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafListStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLeafStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefLengthStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefListStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMandatoryStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMaxElementsStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMinElementsStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModifierStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefModuleStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefMustStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNamespaceStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefNotificationStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrderedByStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOrganizationStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefOutputStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPathStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPatternStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPositionStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPrefixStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefPresenceStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRangeStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefReferenceStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRefineStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRequireInstanceStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionDateStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRevisionStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefRpcStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefStatusStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefSubmoduleStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypeStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefTypedefStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUniqueStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUnitsStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefUsesStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefValueStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefWhenStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYangVersionStatement.java [new file with mode: 0644]
yang/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/ref/RefYinElementStatement.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/OpenConfigVersionSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/openconfig/stmt/RefOpenConfigVersionStatement.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AbstractAugmentStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RefUnrecognizedStatement.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/LeafListStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/ListStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ActionStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnydataStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/AnyxmlStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ArgumentStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BaseStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BelongsToStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BitStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/CaseStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ChoiceStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ConfigStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContactStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ContainerStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DefaultStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DescriptionStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DeviationStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/EnumStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorAppTagStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ErrorMessageStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FeatureStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FractionDigitsStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/GroupingStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IdentityStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IncludeStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/InputStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/KeyStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LeafStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LengthStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MandatoryStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MaxElementsStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MinElementsStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ModifierStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/MustStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/NamespaceStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrderedByStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OrganizationStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/OutputStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PositionStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PrefixStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/PresenceStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RangeStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ReferenceStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RequireInstanceStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionDateStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RevisionStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RpcStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/StatusStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/TypedefStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UniqueStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/UnitsStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ValueStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/WhenStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YangVersionStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/YinElementStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/path/PathStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/pattern/PatternStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractIdentityRefSpecificationSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractLeafrefSpecificationSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/Decimal64SpecificationSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/EnumSpecificationSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/InstanceIdentifierSpecificationSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefBitsSpecification.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefDecimal64Specification.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefEnumSpecification.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefIdentityRefSpecification.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefInstanceIdentifierSpecification.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefLeafrefSpecification.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/RefUnionSpecification.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/UnionSpecificationSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java
yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/RefThirdPartyExtensionStatement.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionSupport.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 (file)
index 0000000..67bbdcd
--- /dev/null
@@ -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 (file)
index 0000000..4bdaca0
--- /dev/null
@@ -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<QName, ActionStatement> 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 (file)
index 0000000..46c7e8e
--- /dev/null
@@ -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<QName, AnydataStatement>
+        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 (file)
index 0000000..9d0adca
--- /dev/null
@@ -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<QName, AnyxmlStatement>
+        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 (file)
index 0000000..7a47735
--- /dev/null
@@ -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<QName, ArgumentStatement>
+        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 (file)
index 0000000..efeb71f
--- /dev/null
@@ -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<SchemaNodeIdentifier, AugmentStatement>
+        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 (file)
index 0000000..02eed82
--- /dev/null
@@ -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<QName, BaseStatement> 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 (file)
index 0000000..524ecc6
--- /dev/null
@@ -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<String, BelongsToStatement>
+        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 (file)
index 0000000..ae66614
--- /dev/null
@@ -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<String, BitStatement> 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 (file)
index 0000000..d93d782
--- /dev/null
@@ -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<QName, CaseStatement> 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 (file)
index 0000000..cc13a28
--- /dev/null
@@ -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<QName, ChoiceStatement> 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 (file)
index 0000000..8f8e8e6
--- /dev/null
@@ -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<Boolean, ConfigStatement>
+        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 (file)
index 0000000..b679866
--- /dev/null
@@ -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<String, ContactStatement>
+        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 (file)
index 0000000..90cb212
--- /dev/null
@@ -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<QName, ContainerStatement>
+        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 (file)
index 0000000..9358a80
--- /dev/null
@@ -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<String, DefaultStatement>
+        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 (file)
index 0000000..2cfcaa7
--- /dev/null
@@ -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<String, DescriptionStatement>
+        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 (file)
index 0000000..41485c8
--- /dev/null
@@ -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<DeviateKind, DeviateStatement>
+        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 (file)
index 0000000..b6bfe51
--- /dev/null
@@ -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<Absolute, DeviationStatement>
+        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 (file)
index 0000000..3915513
--- /dev/null
@@ -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<String, EnumStatement> 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 (file)
index 0000000..d85159f
--- /dev/null
@@ -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<String, ErrorAppTagStatement>
+        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 (file)
index 0000000..20e2ac4
--- /dev/null
@@ -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<String, ErrorMessageStatement>
+        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 (file)
index 0000000..9ab2c7a
--- /dev/null
@@ -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<QName, ExtensionStatement>
+        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 (file)
index 0000000..7cd6809
--- /dev/null
@@ -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<QName, FeatureStatement>
+        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 (file)
index 0000000..dfac54b
--- /dev/null
@@ -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<Integer, FractionDigitsStatement>
+        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 (file)
index 0000000..91d4f75
--- /dev/null
@@ -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<QName, GroupingStatement>
+        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 (file)
index 0000000..50cd177
--- /dev/null
@@ -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<QName, IdentityStatement>
+        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 (file)
index 0000000..1a68523
--- /dev/null
@@ -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<IfFeatureExpr, IfFeatureStatement>
+        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 (file)
index 0000000..3992b9a
--- /dev/null
@@ -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<String, ImportStatement> 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 (file)
index 0000000..76271c3
--- /dev/null
@@ -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<String, IncludeStatement>
+        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 (file)
index 0000000..36bfca0
--- /dev/null
@@ -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<QName, InputStatement> 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 (file)
index 0000000..eabf8fb
--- /dev/null
@@ -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<Set<QName>, 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 (file)
index 0000000..26e0419
--- /dev/null
@@ -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<QName, LeafListStatement>
+        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 (file)
index 0000000..3786cac
--- /dev/null
@@ -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<QName, LeafStatement> 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 (file)
index 0000000..f0c1917
--- /dev/null
@@ -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<List<ValueRange>, 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 (file)
index 0000000..9d8b0ce
--- /dev/null
@@ -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<QName, ListStatement> 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 (file)
index 0000000..09ed1b4
--- /dev/null
@@ -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<Boolean, MandatoryStatement>
+        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 (file)
index 0000000..2f692fb
--- /dev/null
@@ -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<String, MaxElementsStatement>
+        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 (file)
index 0000000..4cdc6f9
--- /dev/null
@@ -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<Integer, MinElementsStatement>
+        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 (file)
index 0000000..367b788
--- /dev/null
@@ -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<ModifierKind, ModifierStatement>
+        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 (file)
index 0000000..5da41ef
--- /dev/null
@@ -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<UnqualifiedQName, ModuleStatement>
+        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 (file)
index 0000000..7756f02
--- /dev/null
@@ -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<QualifiedBound, MustStatement>
+        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 (file)
index 0000000..0da0910
--- /dev/null
@@ -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<XMLNamespace, NamespaceStatement>
+        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 (file)
index 0000000..4f03826
--- /dev/null
@@ -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<QName, NotificationStatement>
+        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 (file)
index 0000000..1ab3293
--- /dev/null
@@ -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<Ordering, OrderedByStatement>
+        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 (file)
index 0000000..50b909f
--- /dev/null
@@ -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<String, OrganizationStatement>
+        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 (file)
index 0000000..d395753
--- /dev/null
@@ -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<QName, OutputStatement>
+        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 (file)
index 0000000..ed8838c
--- /dev/null
@@ -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<PathExpression, PathStatement>
+        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 (file)
index 0000000..3f5ac24
--- /dev/null
@@ -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<PatternExpression, PatternStatement>
+        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 (file)
index 0000000..21853c7
--- /dev/null
@@ -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<Uint32, PositionStatement>
+        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 (file)
index 0000000..7f2f51c
--- /dev/null
@@ -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<String, PrefixStatement>
+        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 (file)
index 0000000..241ee5f
--- /dev/null
@@ -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<String, PresenceStatement>
+        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 (file)
index 0000000..7b289ab
--- /dev/null
@@ -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<List<ValueRange>, 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 (file)
index 0000000..faa19e7
--- /dev/null
@@ -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<String, ReferenceStatement>
+        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 (file)
index 0000000..87a3af6
--- /dev/null
@@ -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<Descendant, RefineStatement>
+        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 (file)
index 0000000..d29b008
--- /dev/null
@@ -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<Boolean, RequireInstanceStatement>
+        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 (file)
index 0000000..45634eb
--- /dev/null
@@ -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<Revision, RevisionDateStatement>
+        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 (file)
index 0000000..6ba90b5
--- /dev/null
@@ -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<Revision, RevisionStatement>
+        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 (file)
index 0000000..9afdafb
--- /dev/null
@@ -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<QName, RpcStatement> 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 (file)
index 0000000..dc12e99
--- /dev/null
@@ -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<Status, StatusStatement> 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 (file)
index 0000000..c5773b5
--- /dev/null
@@ -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<UnqualifiedQName, SubmoduleStatement>
+        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 (file)
index 0000000..76b44c7
--- /dev/null
@@ -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<QName, TypeStatement> 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 (file)
index 0000000..b369968
--- /dev/null
@@ -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<QName, TypedefStatement>
+        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 (file)
index 0000000..cc2bc73
--- /dev/null
@@ -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<Set<Descendant>, 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 (file)
index 0000000..2c5667f
--- /dev/null
@@ -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<String, UnitsStatement> 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 (file)
index 0000000..3875f9b
--- /dev/null
@@ -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<QName, UsesStatement> 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 (file)
index 0000000..5b1d341
--- /dev/null
@@ -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<Integer, ValueStatement> 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 (file)
index 0000000..8a1a9ba
--- /dev/null
@@ -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<QualifiedBound, WhenStatement>
+        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 (file)
index 0000000..e305382
--- /dev/null
@@ -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<YangVersion, YangVersionStatement>
+        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 (file)
index 0000000..36e6d9a
--- /dev/null
@@ -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<Boolean, YinElementStatement>
+        implements YinElementStatement {
+    public RefYinElementStatement(final YinElementStatement delegate, final DeclarationReference ref) {
+        super(delegate, ref);
+    }
+}
index 88ffeda0cc6180b2eb840f2ce5cdf5e8ab39ee9b..7bc11e997135d3bc4f4f9aa457b725ea7ab4d89a 100644 (file)
@@ -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<SemVer, OpenConfigVersionStatement> 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 (file)
index 0000000..76172be
--- /dev/null
@@ -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<SemVer, OpenConfigVersionStatement>
+        implements OpenConfigVersionStatement {
+    RefOpenConfigVersionStatement(final OpenConfigVersionStatement delegate, final DeclarationReference ref) {
+        super(delegate, ref);
+    }
+}
index ee7050b79e9e717e0765153943f062fd12334b47..7cb61b4f06ad7456346a9ce14b01e9717ec1a088 100644 (file)
@@ -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<? extends StmtContext<?, ?, ?>> statementsToBuild(
             final Current<SchemaNodeIdentifier, AugmentStatement> stmt,
index 94794464fdf84ba8f540962540cd99b86a912b31..219e46bb974115fe2a9e430032a204f2991178f4 100644 (file)
@@ -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<DeviateKind, DeviateStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 88d52358f0889f2faf792360ec900a3838c59428..79cc5b9c6864f8e9d46bc75f06c6fc0e2ec4b585 100644 (file)
@@ -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<QName, ExtensionStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> 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 (file)
index 0000000..b01133d
--- /dev/null
@@ -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<Object, UnrecognizedStatement>
+        implements UnrecognizedStatement {
+    public RefUnrecognizedStatement(final UnrecognizedStatement delegate, final DeclarationReference ref) {
+        super(delegate, ref);
+    }
+}
index fcee2e589196ea0a7d8413d2f1274c6c2714db33..57e48075129da1677edfef5c23afa87ec4df1011 100644 (file)
@@ -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
index 6d23b13deb2c76f68986c82037d36ffe3d8d7bb4..d724b94079a388222ad20af6007bb48569a4a21b 100644 (file)
@@ -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<IfFeatureExpr, IfFeatureStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index b6056b0fb4e77969fb114d9846c5f82db27fef55..0767ad7f86284edb2117a0222e7bc9bb370cfac6 100644 (file)
@@ -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<String, ImportStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 0f8c0db26fedb17b38b1f943ea66e0eb4e3231c2..addccb799b5d083fb2cbdd19af84709d14db4337 100644 (file)
@@ -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<QName, LeafListStatement> stmt,
             final LeafListEffectiveStatement original) {
index 613dcf52cbd342c8350422b84b22c8741e287f8a..39dc646ca52be9279b3f764dafde92355dee3033 100644 (file)
@@ -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<QName, ListStatement> stmt,
             final ListEffectiveStatement original) {
index 7c168a370e1296e74aeb95e804fcdc6df7b2ff5a..908c7c65d9b18a48553e27e4513b083bcf2eaf29 100644 (file)
@@ -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<QName, ActionStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 0a7b8163362e9a3ebd8cb317a579d7a0597fb61f..aad2c9829737e04a820e708fa76a02c6557f6317 100644 (file)
@@ -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<QName, AnydataStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 47d651a13b56136de36b86494a76ce89ca09e288..0a4a630b55b1fbcf09721b12b142a5f5eb4f80d4 100644 (file)
@@ -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<QName, AnyxmlStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index abd927c860d17dc91595dc0bc6f8ddb1463faf94..d2f92d89c7468b3c024b9d740fa9ac4f10d8bf94 100644 (file)
@@ -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<QName, ArgumentStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 6523e2a63c894d49c42f186753c431e27e47ca4e..7b64716403c8852b14fb6531fea3e2155b028487 100644 (file)
@@ -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<Ba
         return DeclaredStatements.createBase(ctx.getArgument(), substatements);
     }
 
+    @Override
+    protected BaseStatement attachDeclarationReference(final BaseStatement stmt, final DeclarationReference reference) {
+        return DeclaredStatementDecorators.decorateBase(stmt, reference);
+    }
+
     @Override
     protected BaseEffectiveStatement createEffective(final Current<QName, BaseStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 2e8237417e460c1387558ab8e92a1e9970e57d83..68b749bbc62c0da87cb3a74bcda25b286789b1f3 100644 (file)
@@ -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<String, BelongsToStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index d0b7d1dea8f18a51d47cf4192e2da08757d364cb..33cbf85f3aa6e024312717a0e1fa8a0fb2597f1b 100644 (file)
@@ -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<String,
         return DeclaredStatements.createBit(ctx.getArgument(), substatements);
     }
 
+    @Override
+    protected BitStatement attachDeclarationReference(final BitStatement stmt, final DeclarationReference reference) {
+        return DeclaredStatementDecorators.decorateBit(stmt, reference);
+    }
+
     @Override
     protected BitEffectiveStatement createEffective(final Current<String, BitStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index a1751dacb674fc375cefd57550e113d3261a46cc..a60b1c7255dab1984bad8b29bd3d384c5f4e8a7b 100644 (file)
@@ -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<QName, CaseStatement> stmt,
             final CaseEffectiveStatement original) {
index 76bc640a476ea3f61082e969a485b3b068018f61..f4f9996578cb427b2959e8d0ca99b6fd2e4cbbae 100644 (file)
@@ -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<QName, ChoiceStatement> stmt,
             final ChoiceEffectiveStatement original) {
index d90bdb9bc49942b47cf6b28eaf774fb8dffc8455..845cc139f71d5cfe58a2e80540dff2c94bd4e5bb 100644 (file)
@@ -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<? extends EffectiveStatement<?, ?>> substatements) {
index 9cf3c78e46450082b89ba0380b59a50bd4fca23b..7d7fbf24e89d224a35ec43944a3121515d81908f 100644 (file)
@@ -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);
index 24732865b56dfdf8dedf45453b61175838d6a8d3..a9a78e1bca6d6e0726fb9a609fdcc69c34646c9e 100644 (file)
@@ -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<QName, ContainerStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index be34bba3bad9b8bf7b34f767e186c19a76ac6773..52beecc6ca00d59d81843a01a4aefa73685036be 100644 (file)
@@ -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<String, DefaultStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index ee3c121a354a4fa93ace0c3f891e7887e060a822..f2ebe97045719ea34991986239715df4eac71265 100644 (file)
@@ -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<String, DescriptionStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index bdf147af740763478b1c8eab7fafed9765c442dd..1caa8a4b498233a8c3d46a455b98f12cb0ec2ce2 100644 (file)
@@ -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<Absolute, DeviationStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 14c92727cff63d2966da6376deb552088538d3de..78372b684530b524b2182724f80e75fc57cc380c 100644 (file)
@@ -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<String, EnumStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 5032fc1e1d294d1ed27bbc759d851f52f8b92987..d3402da2f3dd7820833da9ec64ce208d55b73ec5 100644 (file)
@@ -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<String, ErrorAppTagStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 7dd59cb6b98a9f3ed87c0b549e3e69c4409908f4..f2e4375520203994199e6c0c415c37d4738aecba 100644 (file)
@@ -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<String, ErrorMessageStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index ec92e28b2b1664d2f54c22ae5652fe0ccfc99121..a2fb94d5847c6ecf5ffddd77d6c0fbbf20076bb0 100644 (file)
@@ -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<QName, FeatureStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 6d969a06859564c1080928fa43c3774e9b73a58d..8709b3b416e68e1bb89b148698b7d0af69591d5c 100644 (file)
@@ -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<Integer, FractionDigitsStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index c1aea8e0ceedb4793c93047763e7573a2073be12..eff251e9b31af15fc8caa75c3284acf3553dea42 100644 (file)
@@ -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<QName, GroupingStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 1a97ae76da7398b2431d90d7893026914bb8c341..b6c8a44c7ff157cbbf06b8ccb1f83378bc92bbb1 100644 (file)
@@ -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<QName, IdentityStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 079abafea5651699f8eccbb10a9f7e2ce9192d3d..295e1023c8c861ecb129eb08fb34cf133c79d9e5 100644 (file)
@@ -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<String, IncludeStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 9e7ce61de56ab88942120e40fb7fb6180f530c3a..7508e079c589a4e83cd204afba40b2e935ef1bc6 100644 (file)
@@ -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<QName, InputStatement> stmt,
             final InputEffectiveStatement original) {
index be86b67852b3abd3144807894cc1ddee7073f7c8..948952d73ddc739a69f2f4b66b722ddb27650a75 100644 (file)
@@ -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<Set<QName>, KeyStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index afe0491bc4249fc1aa88d5c05144ab29471768e3..d5036ada7bb3c619433e3196f83e7215b84a9c05 100644 (file)
@@ -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<QName, LeafStatement> stmt,
             final LeafEffectiveStatement original) {
index 9a20e7997689c0902baeac3c6a4f1269866cc7a1..029366d8f39aa28a5392d9293c8055ff96fce937 100644 (file)
@@ -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<List<ValueRange>, LengthStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 4f762c4ff8bfe495bf1b4b2d0c7c25ae18470e8b..56bcfc44b6037bdcaf7ddf52bb8edc4c03b2317f 100644 (file)
@@ -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<? extends EffectiveStatement<?, ?>> substatements) {
index 2c1055c9620fade1b4b2faac2e39062a93637f2c..3b7320d8d0a59f205e3c5695b38db55c67ee7881 100644 (file)
@@ -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<String, MaxElementsStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index dd7b469cfe246fc45a07ac0bc09feab165678032..bbc1554394df87bf514493ccf7bf0958ea2e290d 100644 (file)
@@ -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);
index 06dbd33ca0fd45744e262d0e80510c40aebc80ba..80abaa84fe91e6fbc9108ec64d3cb204a82193f1 100644 (file)
@@ -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<ModifierKind, ModifierStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 9430a103fc98b5258e454f70b7ae37d7ea17934c..f13b9cb4705cde830a249d89f5d1da88de666661 100644 (file)
@@ -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<QualifiedBound, MustStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index e702e15a62f5f62ff1838ea4bd64252685f1d1a0..b5eb0d813c5a5e1690ae5e707db45604660630cf 100644 (file)
@@ -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<XMLNamespace, NamespaceStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 4b95ce08844fafd11dc1744ae79fa39973d76e46..f2c960827ff238d137eb58a90d725bca12d89b26 100644 (file)
@@ -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<Ordering, OrderedByStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index f1f92c8cf5d1209477a259f8563ccf6dea4b112c..496ce3ef2905951457ab540b900b6966f28185ad 100644 (file)
@@ -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);
index 5ef86b397a4b5d3f03f4f753a18963db6346ce22..839d94946383e2913a0573c335400637b5610eb5 100644 (file)
@@ -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<QName, OutputStatement> stmt,
             final OutputEffectiveStatement original) {
index fd4f43ee2e5e11290ac40c9191e022618be2fa6d..967084dc35bcca406499d2c9d90c0661a55b1406 100644 (file)
@@ -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<? extends EffectiveStatement<?, ?>> substatements) {
index f6cb1e8608178b8a43b5c2832773a569e784a432..e9490dc736e3f3330c5f37ad64be2e06c7548d8c 100644 (file)
@@ -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<String, PrefixStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 7c473b110c9caf3fc85db3e3c5cc9eefeacbab80..df0aeb7ae413c13bdea60ff3fff4d14c5e90fe7e 100644 (file)
@@ -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<String, PresenceStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 8584249a0c8d06037c22caab1394407e829d3cfa..8af2d7ad06b19497209093bdac304b644bca06eb 100644 (file)
@@ -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<List<ValueRange>, RangeStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 6b78825df739512375a49db3c2454a13764847b2..c929ddacbc8f4dc9b761820df08520203f8f73a3 100644 (file)
@@ -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);
index 52e7aa531de13d3530531f4c760e8137f686b1a8..4d52e42285417e545b829abd9663dea960b26e6f 100644 (file)
@@ -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<? extends EffectiveStatement<?, ?>> substatements) {
index 63516fd30a6812914fdf04c9c5230f42fd83df8b..31f9d19708d7da44d6ca69110d1361daa9cbbbb3 100644 (file)
@@ -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<Revision, RevisionDateStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 21037327771d8d0f1d2d10466437ea7631e422e1..c923ec0759d2840b69f161d4a31d20c276d72927 100644 (file)
@@ -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<Revision, RevisionStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 9e50e8bff5cd520433044e27c85bec4ec9f2c9cd..a3018356bc39155bfbc3cd65c22897b4becd1c5e 100644 (file)
@@ -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<QName, RpcStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index f3a48109fd198d46ef6ebb0460db147da4b60fe0..7e05b87a8b4fbfaf268a6777615471524803cef6 100644 (file)
@@ -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<Status, StatusStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index e145842a3bd554b363366df0e061c3e3b03d4751..08fabebbb735c9885ca2b0720ced3d9f35e26eb5 100644 (file)
@@ -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<QName, TypedefStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 6e1a99e939ea69e1c9674136140fc974bd0eaf20..dfdb2bc7dfcba1cb6da78cdd9d9ac49bb00678ba 100644 (file)
@@ -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<Set<Descendant>, UniqueStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 9fe5a18c11be265f24dbc29910c78d4198fae122..ec4631415b81045892de1a2d10dcb7fa0ca588a8 100644 (file)
@@ -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<String, UnitsStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 749316519ac4d1a062f9cd11bc923389101a2311..3b90bb58cb7267c91642c8257204839a98a73527 100644 (file)
@@ -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);
index e6b64be9945dd5b0d25e5b7211e25b503faf272c..52dd551b637228b154428bd05edd8acdcc5de18f 100644 (file)
@@ -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<QualifiedBound, WhenStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 4d7c6435df8e07744cf5951a7591d19eb0eae2c7..53f61a2829a16821e5522f2490b36a9f70f7c063 100644 (file)
@@ -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<YangVersion, YangVersionStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 19c5499a994369eb370f52b2d10a96eabe4772ae..91cc52ec70ff1dcdc3bb12085f86bbf43f0266e9 100644 (file)
@@ -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<? extends EffectiveStatement<?, ?>> substatements) {
index edcd4c822deacee75ff381803e9ccc49d31e3158..0b29817c61c52b82185e5cadf042307f0f9a31ef 100644 (file)
@@ -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<UnqualifiedQName, ModuleStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 975a81e62984ece953f91744f126109b829342c3..ed1cfbeaa00d8c592d06ef5e1083dbd5cdb901ed 100644 (file)
@@ -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<QName, NotificationStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index f6ba62d21146793f681e67312ea72c9518131a8f..a0d208c3f7ecc92c743df838b9ab058ed2545a79 100644 (file)
@@ -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<PathExpression, PathStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 33e7311776ffaa4bd9a7d2d3ef6c196df7b801e1..e8084392c54794fcaf7d59686f67dcaaf46993ba 100644 (file)
@@ -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<PatternExpression, PatternStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 256a97ac0a7340f8714083ff78a80a6dc946cd24..7c8802a4a449adcb58bba821b5fdedb14ff0e675 100644 (file)
@@ -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<Descendant, RefineStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 0e1e7a897d24e38b70212abfe96d4939b36e89d0..d0728bfe247e3fdca9b82b4e01feb1f6c9fca0fc 100644 (file)
@@ -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<UnqualifiedQName, SubmoduleStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index edf67dca168a905941b40abe1613e83b99e3125a..77ccda40bacbe8e48a65682ab7af325685413f83 100644 (file)
@@ -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<QName, IdentityRefSpecification> createEffective(
             final Current<QName, IdentityRefSpecification> stmt,
index bbb88fe0ff7f5c46d41cf9cbc6e9817a918db6de..b3bf4f16522d1600629383e326cbfc45bf9c43c7 100644 (file)
@@ -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<L
         return new LeafrefSpecificationImpl(ctx.getRawArgument(), ctx.getArgument(), substatements);
     }
 
+    @Override
+    protected final LeafrefSpecification attachDeclarationReference(final LeafrefSpecification stmt,
+            final DeclarationReference reference) {
+        return new RefLeafrefSpecification(stmt, reference);
+    }
+
     @Override
     protected EffectiveStatement<QName, LeafrefSpecification> createEffective(
             final Current<QName, LeafrefSpecification> stmt,
index 1207bc9a616ad8f21db7a93006897f5f0efcdcfb..f517f08f301629ed8cb83b70893a0c92fd8c3a62 100644 (file)
@@ -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<TypeStat
         return DeclaredStatements.createType(ctx.getRawArgument(), ctx.getArgument(), substatements);
     }
 
+    @Override
+    protected final TypeStatement attachDeclarationReference(final TypeStatement stmt,
+            final DeclarationReference reference) {
+        return DeclaredStatementDecorators.decorateType(stmt, reference);
+    }
+
     @Override
     protected EffectiveStatement<QName, TypeStatement> createEffective(final Current<QName, TypeStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
index 27b5bd5df37574845ca28f87fe326e03f399e9e6..4b283c6de42373e5b01aefe26b2a1878b2744d8a 100644 (file)
@@ -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<BitsSpecificati
         return new BitsSpecificationImpl(ctx.getRawArgument(), ctx.getArgument(), substatements);
     }
 
+    @Override
+    protected BitsSpecification attachDeclarationReference(final BitsSpecification stmt,
+            final DeclarationReference reference) {
+        return new RefBitsSpecification(stmt, reference);
+    }
+
     @Override
     protected EffectiveStatement<QName, BitsSpecification> createEffective(
             final Current<QName, BitsSpecification> stmt,
index ea5beadc4f89e766aab9f62f459881e9e447dd90..a71d6ef70e6b8d24484d25bf56845301a36ed23b 100644 (file)
@@ -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<Decimal64S
         return new Decimal64SpecificationImpl(ctx.getRawArgument(), ctx.getArgument(), substatements);
     }
 
+    @Override
+    protected Decimal64Specification attachDeclarationReference(final Decimal64Specification stmt,
+            final DeclarationReference reference) {
+        return new RefDecimal64Specification(stmt, reference);
+    }
+
     @Override
     protected EffectiveStatement<QName, Decimal64Specification> createEffective(
             final Current<QName, Decimal64Specification> stmt,
index fce5ad094b79f659830e8b7daf6bb8c9b63482bd..0b808b1ff9709dfbadf4e72525915c9c6f009bb5 100644 (file)
@@ -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<EnumSpecificati
         return new EnumSpecificationImpl(ctx.getRawArgument(), ctx.getArgument(), substatements);
     }
 
+    @Override
+    protected EnumSpecification attachDeclarationReference(final EnumSpecification stmt,
+            final DeclarationReference reference) {
+        return new RefEnumSpecification(stmt, reference);
+    }
+
     @Override
     protected EffectiveStatement<QName, EnumSpecification> createEffective(
             final Current<QName, EnumSpecification> stmt,
index f30af56c5695cdffc4a0da6c82a0f4887dc1cfe2..3c797cce2ba69ed020c9368a5b7986155e5fe101 100644 (file)
@@ -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<QName, InstanceIdentifierSpecification> createEffective(
             final Current<QName, InstanceIdentifierSpecification> 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 (file)
index 0000000..8035f47
--- /dev/null
@@ -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<QName, BitsSpecification>
+        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 (file)
index 0000000..7c16336
--- /dev/null
@@ -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<QName, Decimal64Specification>
+        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 (file)
index 0000000..fee208e
--- /dev/null
@@ -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<QName, EnumSpecification> 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 (file)
index 0000000..cd0ccf1
--- /dev/null
@@ -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<QName, IdentityRefSpecification>
+        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 (file)
index 0000000..8e3a2c3
--- /dev/null
@@ -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<QName, InstanceIdentifierSpecification>
+        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 (file)
index 0000000..087f68f
--- /dev/null
@@ -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<QName, LeafrefSpecification>
+        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 (file)
index 0000000..9152842
--- /dev/null
@@ -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<QName, UnionSpecification>
+        implements UnionSpecification {
+    RefUnionSpecification(final UnionSpecification delegate, final DeclarationReference ref) {
+        super(delegate, ref);
+    }
+}
index f90526c62e39b386975281552b287ad09efb90da..b3d57f0e811225a312c07c92ef5902cab9ebca16 100644 (file)
@@ -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<UnionSpecifica
         return new UnionSpecificationImpl(ctx.getRawArgument(), ctx.getArgument(), substatements);
     }
 
+    @Override
+    protected UnionSpecification attachDeclarationReference(final UnionSpecification stmt,
+            final DeclarationReference reference) {
+        return new RefUnionSpecification(stmt, reference);
+    }
+
     @Override
     protected EffectiveStatement<QName, UnionSpecification> createEffective(
             final Current<QName, UnionSpecification> stmt,
index 157d91d0848ac80eb577b9f052103a60dcb41a90..e094d9d3d8e06007cb2f0e1fe75828912e98c762 100644 (file)
@@ -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<QName, UsesStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> 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 (file)
index 0000000..753a4cf
--- /dev/null
@@ -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<String, ThirdPartyExtensionStatement>
+        implements ThirdPartyExtensionStatement {
+    RefThirdPartyExtensionStatement(final ThirdPartyExtensionStatement delegate, final DeclarationReference ref) {
+        super(delegate, ref);
+    }
+}
index d11a51b4e2b0301200ac968abd3a659fb36610ba..abdfe8b493f41a22f1d74ed9de226fae4b7a43a2 100644 (file)
@@ -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<String, ThirdPartyExtensionStatement> stmt,