--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
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;
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,
--- /dev/null
+/*
+ * 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);
+ }
+}
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;
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;
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,
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;
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;
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) {
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;
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;
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) {
--- /dev/null
+/*
+ * 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);
+ }
+}
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;
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
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;
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) {
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;
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) {
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;
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;
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) {
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;
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;
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) {
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;
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;
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) {
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;
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;
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) {
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;
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;
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) {
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;
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) {
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;
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) {
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;
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;
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) {
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;
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) {
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;
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;
}
}
+ @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) {
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;
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;
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) {
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;
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) {
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;
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);
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;
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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;
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) {
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;
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;
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) {
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;
}
}
+ @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) {
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;
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) {
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;
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;
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) {
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;
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;
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) {
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;
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) {
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;
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) {
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;
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);
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;
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) {
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;
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) {
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;
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) {
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;
}
}
+ @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) {
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;
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);
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;
}
}
+ @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) {
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;
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) {
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;
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) {
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;
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) {
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;
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;
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) {
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;
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);
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;
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) {
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;
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) {
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;
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) {
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;
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;
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) {
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;
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) {
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;
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;
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) {
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;
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;
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) {
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;
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) {
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;
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);
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;
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) {
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;
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) {
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;
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) {
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;
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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) {
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;
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;
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) {
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;
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,
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;
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,
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;
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;
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) {
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;
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,
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;
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,
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;
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,
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;
: 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,
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+}
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;
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,
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;
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;
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) {
--- /dev/null
+/*
+ * 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);
+ }
+}
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;
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,