From 3edb35d95ef135c3cb5088189f42af880e48d9fd Mon Sep 17 00:00:00 2001 From: Terence Parr Date: Sun, 22 Jul 2012 12:59:26 -0700 Subject: [PATCH] cleanup; avoid array creation --- .../antlr/v4/runtime/atn/PredictionContext.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/runtime/Java/src/org/antlr/v4/runtime/atn/PredictionContext.java b/runtime/Java/src/org/antlr/v4/runtime/atn/PredictionContext.java index 366f9422e..c7d116ccd 100644 --- a/runtime/Java/src/org/antlr/v4/runtime/atn/PredictionContext.java +++ b/runtime/Java/src/org/antlr/v4/runtime/atn/PredictionContext.java @@ -266,22 +266,19 @@ public abstract class PredictionContext implements Iterable b.invokingState ) { - payloads = new int[] {b.invokingState, a.invokingState}; + if ( a.invokingState > b.invokingState ) { // sort by payload + payloads[0] = b.invokingState; + payloads[1] = a.invokingState; parents = new PredictionContext[] {b.parent, a.parent}; } - ArrayPredictionContext joined = - new ArrayPredictionContext(parents, payloads); - return joined; + return new ArrayPredictionContext(parents, payloads); } }