Refactor augment statement implementation 47/87447/4
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 5 Feb 2020 10:34:25 +0000 (11:34 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 5 Feb 2020 12:51:39 +0000 (13:51 +0100)
commita95bcdc303392803a80361ec625658a338abcaf3
tree5fe7ddfd36a77aa9757c1ad44ac8bd4fbbbe2356
parent94fefb3973e2a96707bec388fd68c12041f12981
Refactor augment statement implementation

Augment has an interesting interplay with EffectiveStatementBase,
where it overrides the list of statements to be built by wrapping
them in implicit definition.

Furthermore the implementation classes are needlessly wasteful,
we refactor them to not carry the definitions.

JIRA: YANGTOOLS-1065
Change-Id: I55407a26f163aeecff820048a6545eae8879b5e1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AugmentEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/AugmentStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveDocumentedDataNodeContainer.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/BaseStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/EffectiveStatementBase.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AbstractAugmentStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AugmentEffectiveStatementImpl.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/EmptyAugmentStatement.java [moved from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AugmentStatementImpl.java with 59% similarity]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/RegularAugmentStatement.java [new file with mode: 0644]