2 * Copyright (c) 2021 PANTHEON.tech, s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.yangtools.yang.model.ri.stmt;
10 import com.google.common.annotations.Beta;
11 import org.eclipse.jdt.annotation.NonNullByDefault;
12 import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference;
13 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
14 import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement;
15 import org.opendaylight.yangtools.yang.model.api.stmt.AnydataStatement;
16 import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement;
17 import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentStatement;
18 import org.opendaylight.yangtools.yang.model.api.stmt.AugmentStatement;
19 import org.opendaylight.yangtools.yang.model.api.stmt.BaseStatement;
20 import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement;
21 import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement;
22 import org.opendaylight.yangtools.yang.model.api.stmt.CaseStatement;
23 import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceStatement;
24 import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
25 import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement;
26 import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement;
27 import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement;
28 import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
29 import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement;
30 import org.opendaylight.yangtools.yang.model.api.stmt.DeviationStatement;
31 import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement;
32 import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement;
33 import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement;
34 import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement;
35 import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement;
36 import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement;
37 import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement;
38 import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement;
39 import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
40 import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement;
41 import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement;
42 import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement;
43 import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement;
44 import org.opendaylight.yangtools.yang.model.api.stmt.LeafListStatement;
45 import org.opendaylight.yangtools.yang.model.api.stmt.LeafStatement;
46 import org.opendaylight.yangtools.yang.model.api.stmt.LengthStatement;
47 import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement;
48 import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement;
49 import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsStatement;
50 import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement;
51 import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement;
52 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
53 import org.opendaylight.yangtools.yang.model.api.stmt.MustStatement;
54 import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement;
55 import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement;
56 import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement;
57 import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationStatement;
58 import org.opendaylight.yangtools.yang.model.api.stmt.OutputStatement;
59 import org.opendaylight.yangtools.yang.model.api.stmt.PathStatement;
60 import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement;
61 import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement;
62 import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement;
63 import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement;
64 import org.opendaylight.yangtools.yang.model.api.stmt.RangeStatement;
65 import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement;
66 import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement;
67 import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement;
68 import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement;
69 import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement;
70 import org.opendaylight.yangtools.yang.model.api.stmt.RpcStatement;
71 import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement;
72 import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
73 import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
74 import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement;
75 import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement;
76 import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement;
77 import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement;
78 import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement;
79 import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement;
80 import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionStatement;
81 import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement;
82 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefActionStatement;
83 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefAnydataStatement;
84 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefAnyxmlStatement;
85 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefArgumentStatement;
86 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefAugmentStatement;
87 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefBaseStatement;
88 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefBelongsToStatement;
89 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefBitStatement;
90 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefCaseStatement;
91 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefChoiceStatement;
92 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefConfigStatement;
93 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefContactStatement;
94 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefContainerStatement;
95 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefDefaultStatement;
96 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefDescriptionStatement;
97 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefDeviateStatement;
98 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefDeviationStatement;
99 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefEnumStatement;
100 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefErrorAppTagStatement;
101 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefErrorMessageStatement;
102 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefExtensionStatement;
103 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefFeatureStatement;
104 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefFractionDigitsStatement;
105 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefGroupingStatement;
106 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefIdentityStatement;
107 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefIfFeatureStatement;
108 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefImportStatement;
109 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefIncludeStatement;
110 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefInputStatement;
111 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefKeyStatement;
112 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefLeafListStatement;
113 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefLeafStatement;
114 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefLengthStatement;
115 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefListStatement;
116 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefMandatoryStatement;
117 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefMaxElementsStatement;
118 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefMinElementsStatement;
119 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefModifierStatement;
120 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefModuleStatement;
121 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefMustStatement;
122 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefNamespaceStatement;
123 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefNotificationStatement;
124 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefOrderedByStatement;
125 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefOrganizationStatement;
126 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefOutputStatement;
127 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPathStatement;
128 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPatternStatement;
129 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPositionStatement;
130 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPrefixStatement;
131 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefPresenceStatement;
132 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRangeStatement;
133 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefReferenceStatement;
134 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRefineStatement;
135 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRequireInstanceStatement;
136 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRevisionDateStatement;
137 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRevisionStatement;
138 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefRpcStatement;
139 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefStatusStatement;
140 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefSubmoduleStatement;
141 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefTypeStatement;
142 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefTypedefStatement;
143 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUniqueStatement;
144 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUnitsStatement;
145 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefUsesStatement;
146 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefValueStatement;
147 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefWhenStatement;
148 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefYangVersionStatement;
149 import org.opendaylight.yangtools.yang.model.ri.stmt.impl.ref.RefYinElementStatement;
152 * Static entry point to enriching {@link DeclaredStatement}s covered in the {@code RFC7950} metamodel with
153 * {@link DeclarationReference}s.
157 public final class DeclaredStatementDecorators {
158 private DeclaredStatementDecorators() {
162 public static ActionStatement decorateAction(final ActionStatement stmt, final DeclarationReference ref) {
163 return new RefActionStatement(stmt, ref);
166 public static AnydataStatement decorateAnydata(final AnydataStatement stmt, final DeclarationReference ref) {
167 return new RefAnydataStatement(stmt, ref);
170 public static AnyxmlStatement decorateAnyxml(final AnyxmlStatement stmt, final DeclarationReference ref) {
171 return new RefAnyxmlStatement(stmt, ref);
174 public static ArgumentStatement decorateArgument(final ArgumentStatement stmt, final DeclarationReference ref) {
175 return new RefArgumentStatement(stmt, ref);
178 public static AugmentStatement decorateAugment(final AugmentStatement stmt, final DeclarationReference ref) {
179 return new RefAugmentStatement(stmt, ref);
182 public static BaseStatement decorateBase(final BaseStatement stmt, final DeclarationReference ref) {
183 return new RefBaseStatement(stmt, ref);
186 public static BelongsToStatement decorateBelongsTo(final BelongsToStatement stmt, final DeclarationReference ref) {
187 return new RefBelongsToStatement(stmt, ref);
190 public static BitStatement decorateBit(final BitStatement stmt, final DeclarationReference ref) {
191 return new RefBitStatement(stmt, ref);
194 public static CaseStatement decorateCase(final CaseStatement stmt, final DeclarationReference ref) {
195 return new RefCaseStatement(stmt, ref);
198 public static ChoiceStatement decorateChoice(final ChoiceStatement stmt, final DeclarationReference ref) {
199 return new RefChoiceStatement(stmt, ref);
202 public static ConfigStatement decorateConfig(final ConfigStatement stmt, final DeclarationReference ref) {
203 return new RefConfigStatement(stmt, ref);
206 public static ContactStatement decorateContact(final ContactStatement stmt, final DeclarationReference ref) {
207 return new RefContactStatement(stmt, ref);
210 public static ContainerStatement decorateContainer(final ContainerStatement stmt, final DeclarationReference ref) {
211 return new RefContainerStatement(stmt, ref);
214 public static DefaultStatement decorateDefault(final DefaultStatement stmt, final DeclarationReference ref) {
215 return new RefDefaultStatement(stmt, ref);
218 public static DescriptionStatement decorateDescription(final DescriptionStatement stmt,
219 final DeclarationReference ref) {
220 return new RefDescriptionStatement(stmt, ref);
223 public static DeviateStatement decorateDeviate(final DeviateStatement stmt, final DeclarationReference ref) {
224 return new RefDeviateStatement(stmt, ref);
227 public static DeviationStatement decorateDeviation(final DeviationStatement stmt, final DeclarationReference ref) {
228 return new RefDeviationStatement(stmt, ref);
231 public static EnumStatement decorateEnum(final EnumStatement stmt, final DeclarationReference ref) {
232 return new RefEnumStatement(stmt, ref);
235 public static ErrorAppTagStatement decorateErrorAppTag(final ErrorAppTagStatement stmt,
236 final DeclarationReference ref) {
237 return new RefErrorAppTagStatement(stmt, ref);
240 public static ErrorMessageStatement decorateErrorMessage(final ErrorMessageStatement stmt,
241 final DeclarationReference ref) {
242 return new RefErrorMessageStatement(stmt, ref);
245 public static ExtensionStatement decorateExtesion(final ExtensionStatement stmt, final DeclarationReference ref) {
246 return new RefExtensionStatement(stmt, ref);
249 public static FeatureStatement decorateFeature(final FeatureStatement stmt, final DeclarationReference ref) {
250 return new RefFeatureStatement(stmt, ref);
253 public static FractionDigitsStatement decorateFractionDigits(final FractionDigitsStatement stmt,
254 final DeclarationReference ref) {
255 return new RefFractionDigitsStatement(stmt, ref);
258 public static GroupingStatement decorateGrouping(final GroupingStatement stmt, final DeclarationReference ref) {
259 return new RefGroupingStatement(stmt, ref);
262 public static IdentityStatement decorateIdentity(final IdentityStatement stmt, final DeclarationReference ref) {
263 return new RefIdentityStatement(stmt, ref);
266 public static IfFeatureStatement decorateIfFeature(final IfFeatureStatement stmt, final DeclarationReference ref) {
267 return new RefIfFeatureStatement(stmt, ref);
270 public static ImportStatement decorateImport(final ImportStatement stmt, final DeclarationReference ref) {
271 return new RefImportStatement(stmt, ref);
274 public static IncludeStatement decorateInclude(final IncludeStatement stmt, final DeclarationReference ref) {
275 return new RefIncludeStatement(stmt, ref);
278 public static InputStatement decorateInput(final InputStatement stmt, final DeclarationReference ref) {
279 return new RefInputStatement(stmt, ref);
282 public static KeyStatement decorateKey(final KeyStatement stmt, final DeclarationReference ref) {
283 return new RefKeyStatement(stmt, ref);
286 public static LeafStatement decorateLeaf(final LeafStatement stmt, final DeclarationReference ref) {
287 return new RefLeafStatement(stmt, ref);
290 public static LeafListStatement decorateLeafList(final LeafListStatement stmt, final DeclarationReference ref) {
291 return new RefLeafListStatement(stmt, ref);
294 public static LengthStatement decorateLength(final LengthStatement stmt, final DeclarationReference ref) {
295 return new RefLengthStatement(stmt, ref);
298 public static ListStatement decorateList(final ListStatement stmt, final DeclarationReference ref) {
299 return new RefListStatement(stmt, ref);
302 public static MandatoryStatement decorateMandatory(final MandatoryStatement stmt, final DeclarationReference ref) {
303 return new RefMandatoryStatement(stmt, ref);
306 public static MaxElementsStatement decorateMaxElements(final MaxElementsStatement stmt,
307 final DeclarationReference ref) {
308 return new RefMaxElementsStatement(stmt, ref);
311 public static MinElementsStatement decorateMinElements(final MinElementsStatement stmt,
312 final DeclarationReference ref) {
313 return new RefMinElementsStatement(stmt, ref);
316 public static ModifierStatement decorateModifier(final ModifierStatement stmt, final DeclarationReference ref) {
317 return new RefModifierStatement(stmt, ref);
320 public static ModuleStatement decorateModule(final ModuleStatement stmt, final DeclarationReference ref) {
321 return new RefModuleStatement(stmt, ref);
324 public static MustStatement decorateMust(final MustStatement stmt, final DeclarationReference ref) {
325 return new RefMustStatement(stmt, ref);
328 public static NamespaceStatement decorateNamespace(final NamespaceStatement stmt, final DeclarationReference ref) {
329 return new RefNamespaceStatement(stmt, ref);
332 public static NotificationStatement decorateNotification(final NotificationStatement stmt,
333 final DeclarationReference ref) {
334 return new RefNotificationStatement(stmt, ref);
337 public static OrderedByStatement decorateOrderedBy(final OrderedByStatement stmt,
338 final DeclarationReference ref) {
339 return new RefOrderedByStatement(stmt, ref);
342 public static OrganizationStatement decorateOrganization(final OrganizationStatement stmt,
343 final DeclarationReference ref) {
344 return new RefOrganizationStatement(stmt, ref);
347 public static OutputStatement decorateOutput(final OutputStatement stmt, final DeclarationReference ref) {
348 return new RefOutputStatement(stmt, ref);
351 public static PathStatement decoratePath(final PathStatement stmt, final DeclarationReference ref) {
352 return new RefPathStatement(stmt, ref);
355 public static PatternStatement decoratePattern(final PatternStatement stmt, final DeclarationReference ref) {
356 return new RefPatternStatement(stmt, ref);
359 public static PositionStatement decoratePosition(final PositionStatement stmt, final DeclarationReference ref) {
360 return new RefPositionStatement(stmt, ref);
363 public static PrefixStatement decoratePrefix(final PrefixStatement stmt, final DeclarationReference ref) {
364 return new RefPrefixStatement(stmt, ref);
367 public static PresenceStatement decoratePresence(final PresenceStatement stmt,
368 final DeclarationReference ref) {
369 return new RefPresenceStatement(stmt, ref);
372 public static RangeStatement decorateRange(final RangeStatement stmt, final DeclarationReference ref) {
373 return new RefRangeStatement(stmt, ref);
376 public static ReferenceStatement decorateReference(final ReferenceStatement stmt, final DeclarationReference ref) {
377 return new RefReferenceStatement(stmt, ref);
380 public static RefineStatement decorateRefine(final RefineStatement stmt, final DeclarationReference ref) {
381 return new RefRefineStatement(stmt, ref);
384 public static RequireInstanceStatement decorateRequireInstance(final RequireInstanceStatement stmt,
385 final DeclarationReference ref) {
386 return new RefRequireInstanceStatement(stmt, ref);
389 public static RevisionStatement decorateRevision(final RevisionStatement stmt, final DeclarationReference ref) {
390 return new RefRevisionStatement(stmt, ref);
393 public static RevisionDateStatement decorateRevisionDate(final RevisionDateStatement stmt,
394 final DeclarationReference ref) {
395 return new RefRevisionDateStatement(stmt, ref);
398 public static RpcStatement decorateRpc(final RpcStatement stmt, final DeclarationReference ref) {
399 return new RefRpcStatement(stmt, ref);
402 public static StatusStatement decorateStatus(final StatusStatement stmt, final DeclarationReference ref) {
403 return new RefStatusStatement(stmt, ref);
406 public static SubmoduleStatement decorateSubmodule(final SubmoduleStatement stmt, final DeclarationReference ref) {
407 return new RefSubmoduleStatement(stmt, ref);
410 public static TypeStatement decorateType(final TypeStatement stmt, final DeclarationReference ref) {
411 return new RefTypeStatement(stmt, ref);
414 public static TypedefStatement decorateTypedef(final TypedefStatement stmt, final DeclarationReference ref) {
415 return new RefTypedefStatement(stmt, ref);
418 public static UniqueStatement decorateUnique(final UniqueStatement stmt, final DeclarationReference ref) {
419 return new RefUniqueStatement(stmt, ref);
422 public static UnitsStatement decorateUnits(final UnitsStatement stmt, final DeclarationReference ref) {
423 return new RefUnitsStatement(stmt, ref);
426 public static UsesStatement decorateUses(final UsesStatement stmt, final DeclarationReference ref) {
427 return new RefUsesStatement(stmt, ref);
430 public static ValueStatement decorateValue(final ValueStatement stmt, final DeclarationReference ref) {
431 return new RefValueStatement(stmt, ref);
434 public static WhenStatement decorateWhen(final WhenStatement stmt, final DeclarationReference ref) {
435 return new RefWhenStatement(stmt, ref);
438 public static YangVersionStatement decorateYangVersion(final YangVersionStatement stmt,
439 final DeclarationReference ref) {
440 return new RefYangVersionStatement(stmt, ref);
443 public static YinElementStatement decorateYinElement(final YinElementStatement stmt,
444 final DeclarationReference ref) {
445 return new RefYinElementStatement(stmt, ref);