Add YANG IR I/O support 60/92260/24
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 24 Aug 2020 16:36:00 +0000 (18:36 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 21 Dec 2023 10:26:31 +0000 (11:26 +0100)
commit408bde0508dee321d60a4faf2be52897b669f7b9
tree1aeb050e728dfdd9ee1ae6edbf74a0970b9e75b2
parentdd2538add52f66ed69e7396f2b43996a6dbbd7a4
Add YANG IR I/O support

Persisting the intermediate representation and restoring it is much
faster and memory-efficient than parsing YANG files from scratch.

This patch adds the smarts to persist/restore an IRStatement to/from
an arbitrary DataOutput/DataInput.

We also complete AbstractIRObject definitions by adding appropriate
hashCode()/equals() methods.

JIRA: YANGTOOLS-1461
Change-Id: Iff10b91c8439d3323ae8c263480f4dfd6c1f1c00
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
parser/yang-ir/src/main/java/org/opendaylight/yangtools/yang/ir/IOConstantsV1.java [new file with mode: 0644]
parser/yang-ir/src/main/java/org/opendaylight/yangtools/yang/ir/IOSupport.java [new file with mode: 0644]
parser/yang-ir/src/main/java/org/opendaylight/yangtools/yang/ir/IRStatement.java
parser/yang-ir/src/main/java/org/opendaylight/yangtools/yang/ir/StatementInput.java [new file with mode: 0644]
parser/yang-ir/src/main/java/org/opendaylight/yangtools/yang/ir/StatementInputV1.java [new file with mode: 0644]
parser/yang-ir/src/main/java/org/opendaylight/yangtools/yang/ir/StatementOutput.java [new file with mode: 0644]
parser/yang-ir/src/main/java/org/opendaylight/yangtools/yang/ir/StatementOutputV1.java [new file with mode: 0644]
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/rfc7950/antlr/IOSupportTest.java [new file with mode: 0644]
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/TestUtils.java