diff --git a/runtime/Java/src/org/antlr/v4/runtime/atn/ArrayPredictionContext.java b/runtime/Java/src/org/antlr/v4/runtime/atn/ArrayPredictionContext.java index dd30df044..c985fb134 100644 --- a/runtime/Java/src/org/antlr/v4/runtime/atn/ArrayPredictionContext.java +++ b/runtime/Java/src/org/antlr/v4/runtime/atn/ArrayPredictionContext.java @@ -160,15 +160,8 @@ public class ArrayPredictionContext extends PredictionContext { } ArrayPredictionContext a = (ArrayPredictionContext)o; - if ( invokingStates.length != a.invokingStates.length ) { - return false; - } - - for (int i=0; i< invokingStates.length; i++) { - if ( invokingStates[i]!=a.invokingStates[i] ) return false; - if ( !parents[i].equals(a.parents[i]) ) return false; - } - return true; + return Arrays.equals(invokingStates, a.invokingStates) && + Arrays.equals(parents, a.parents); } @Override 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 6defe6e33..c0f7a7803 100644 --- a/runtime/Java/src/org/antlr/v4/runtime/atn/PredictionContext.java +++ b/runtime/Java/src/org/antlr/v4/runtime/atn/PredictionContext.java @@ -204,23 +204,29 @@ public abstract class PredictionContext implements Iterable