Define ExecutionOrder 14/95214/13
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 17 Feb 2021 21:18:18 +0000 (22:18 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 18 Feb 2021 10:24:19 +0000 (11:24 +0100)
commit817686488c9ca877b5a1c778f5884c7491ff0234
tree6494ecc532f2ea5926883eb7cefb47e9a95f1c4e
parent8f8eb19f2917e7d4b3bea918835ac10d077f3930
Define ExecutionOrder

ModelProcessingPhase really amounts to an execution order, in that
the phases need to be executed serially.

Let's define a space for 127 values of ModelProcessingPhase by
defining ExecutionOrder, which is semantically the same thing (but
different).

Update StatementContextBase to store the execution order as single
byte instead of a reference. Doing so allows us to simplify some
of the verification logic, but most importantly it frees up
some space -- resulting in 3-7 bytes worth of internal space losses.

JIRA: YANGTOOLS-1254
JIRA: YANGTOOLS-1150
Change-Id: I3e5b23cae45798b4508dd9e270a4b0317613ed1b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReplicaStatementContext.java
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ModelProcessingPhase.java