Fix if-feature propagation for implicit case statements 53/100953/1
authorPeter Suna <peter.suna@pantheon.tech>
Tue, 3 May 2022 12:33:42 +0000 (14:33 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 3 May 2022 20:32:06 +0000 (22:32 +0200)
commitcf25e1ba364513c0eac8804bb6824ae2fbf97988
tree30aea88f5fee1998de7d87a36aeb881ab149e1e0
parentfd1fcd8b28b69bc86053ff47ddefcc42d12fdcee
Fix if-feature propagation for implicit case statements

Implicit statements created during parse must not be propagated
if their child statement is not supported by features or otherwise
unavailable.

This really can only happen when we are creating an implicit declaration
on the parser side, as in other code paths the substatement is already
completely defined.

JIRA: YANGTOOLS-1431
Change-Id: I5797f09c795587c91f10c7f92a6a8c9fd2480213
Signed-off-by: Peter Suna <peter.suna@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit bc84355a85cafb4d8257a0e397c1efb2409aaf2e)
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ImplicitStmtCtx.java [new file with mode: 0644]
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/UndeclaredStmtCtx.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YT1431Test.java [new file with mode: 0644]
parser/yang-parser-rfc7950/src/test/resources/bugs/YT1431/bar.yang [new file with mode: 0644]
parser/yang-parser-rfc7950/src/test/resources/bugs/YT1431/foo.yang [new file with mode: 0644]