Fix InferredStatementContext.isSupportedByFeatures() 51/106351/8
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 1 Jun 2023 14:24:45 +0000 (16:24 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 3 Jun 2023 07:34:09 +0000 (09:34 +0200)
commit17e18b8ef8877adeaa56e05bcacb3c47c2b6e1c6
treede160d3af103aab2f4eee9b6d30b332628ac408f
parentc25296a27f40355049bc66dd09c8da8b4ec256f2
Fix InferredStatementContext.isSupportedByFeatures()

StmtContextUtils.checkFeatureSupport() does not work for
InferredStatementContext, as it does not have any declared
substatements -- that only works for OriginalStmtCtx and its subclasses.

Split out computation of this statement's contribution to
isSupportedByFeatures() into a separate method -- allowing
{Inferred,Replica}StatementContext to forward to their prototype or
source.

This also flushes out a bad assertion in YT1393Test, as the second
augment now get correctly disabled.

JIRA: YANGTOOLS-1514
Change-Id: Icf9740cd828bd337b76f38cf33ee29d607f680aa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/OriginalStmtCtx.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReplicaStatementContext.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YT1393Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YT1514Test.java [new file with mode: 0644]
parser/yang-parser-rfc7950/src/test/resources/bugs/YT1514/foo.yang [new file with mode: 0644]