X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Frfc6020%2Feffective%2FExtensionEffectiveStatementImpl.java;h=fd9623b0bc3f0c59a7f06a387e2f9e7ae3922f42;hb=91f43b1ce6453fef9e04e6673e7637fb5dba8b38;hp=da4a2a92ec937e6e6c2fbec70fa2ef3b46a6f283;hpb=0de136825605fc7c15b49bdb1841ff5ea48d8a21;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ExtensionEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ExtensionEffectiveStatementImpl.java index da4a2a92ec..fd9623b0bc 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ExtensionEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ExtensionEffectiveStatementImpl.java @@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; import com.google.common.collect.ImmutableList; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Objects; import org.opendaylight.yangtools.yang.common.QName; @@ -26,15 +25,23 @@ public class ExtensionEffectiveStatementImpl extends AbstractEffectiveDocumented private final String argument; private final SchemaPath schemaPath; - private List unknownNodes; + private final List unknownNodes; private final boolean yin; public ExtensionEffectiveStatementImpl( final StmtContext> ctx) { - super(ctx, false); + super(ctx); this.qname = ctx.getStatementArgument(); this.schemaPath = ctx.getSchemaPath().get(); + final List unknownNodesInit = new ArrayList<>(); + for (EffectiveStatement unknownNode : effectiveSubstatements()) { + if (unknownNode instanceof UnknownSchemaNode) { + unknownNodesInit.add((UnknownSchemaNode) unknownNode); + } + } + this.unknownNodes = ImmutableList.copyOf(unknownNodesInit); + // initFields ArgumentEffectiveStatementImpl argumentSubstatement = firstEffective(ArgumentEffectiveStatementImpl.class); if (argumentSubstatement != null) { @@ -53,21 +60,6 @@ public class ExtensionEffectiveStatementImpl extends AbstractEffectiveDocumented } } - void initUnknownSchemaNodes() { - if (unknownNodes != null) { - return; - } - - Collection> buildedUnknownNodes = getOmittedUnknownSubstatements(); - List unknownNodesInit = new ArrayList<>(); - for (EffectiveStatement unknownNode : buildedUnknownNodes) { - if (unknownNode instanceof UnknownSchemaNode) { - unknownNodesInit.add((UnknownSchemaNode) unknownNode); - } - } - this.unknownNodes = ImmutableList.copyOf(unknownNodesInit); - } - @Override public QName getQName() { return qname; @@ -80,9 +72,6 @@ public class ExtensionEffectiveStatementImpl extends AbstractEffectiveDocumented @Override public List getUnknownSchemaNodes() { - if (unknownNodes == null) { - initUnknownSchemaNodes(); - } return unknownNodes; }