X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Freactor%2FSourceSpecificContext.java;h=cfbd93377cf5e4adecc7db49bf2b040031e07b83;hb=960c11dc4a50f27718a163451c0da65995d5c850;hp=5c1fa6329c87aa8436bf697c53dd7697eb2e0432;hpb=67a0dab285a9bd42b2deec9f2cf6f4df0366c6d5;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java index 5c1fa6329c..cfbd93377c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java @@ -34,6 +34,7 @@ import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; 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.IdentifierNamespace; +import org.opendaylight.yangtools.yang.model.api.meta.StatementSource; import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException; import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder; import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase; @@ -130,7 +131,10 @@ public class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeh QName name, final String argument, final StatementSourceReference ref) { if (current != null) { // Fast path: we are entering a statement which was emitted in previous phase - final StatementContextBase existing = current.lookupSubstatement(childId); + StatementContextBase existing = current.lookupSubstatement(childId); + while (existing != null && StatementSource.CONTEXT == existing.getStatementSource()) { + existing = existing.lookupSubstatement(childId); + } if (existing != null) { return existing; }