Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge sharpen to master #286

Merged
merged 4 commits into from
May 13, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion reference/sharpen
Submodule sharpen updated 59 files
+2 −2 README.md
+4 −2 src/main/sharpen/core/AbstractNestedClassBuilder.java
+383 −86 src/main/sharpen/core/CSharpBuilder.java
+47 −7 src/main/sharpen/core/Configuration.java
+5 −6 src/main/sharpen/core/ConfigurationFactory.java
+43 −12 src/main/sharpen/core/DefaultConfiguration.java
+20 −1 src/main/sharpen/core/SharpenApplication.java
+7 −2 src/main/sharpen/core/SharpenCommandLine.java
+17 −5 src/main/sharpen/core/SharpenCommandLineParser.java
+30 −19 src/main/sharpen/core/csharp/CSharpPrinter.java
+3 −0 src/main/sharpen/core/csharp/ast/CSAttribute.java
+12 −0 src/main/sharpen/core/csharp/ast/CSAttributesContainer.java
+1 −1 src/main/sharpen/core/csharp/ast/CSBlockComment.java
+12 −4 src/main/sharpen/core/csharp/ast/CSDeclarationExpression.java
+7 −4 src/main/sharpen/core/csharp/ast/CSMember.java
+0 −10 src/main/sharpen/core/csharp/ast/CSMethodBase.java
+13 −0 src/main/sharpen/core/csharp/ast/CSVariableAttribute.java
+47 −3 src/main/sharpen/core/csharp/ast/CSVariableDeclaration.java
+8 −5 src/main/sharpen/core/framework/StaticImports.java
+12 −0 src/test/resources/Enum2.cs.txt
+12 −0 src/test/resources/Enum2.java.txt
+9 −0 src/test/resources/For3.cs.txt
+6 −0 src/test/resources/For3.java.txt
+15 −0 src/test/resources/annotations/MethodAnnotation.cs.txt
+16 −0 src/test/resources/annotations/MethodAnnotation.java.txt
+8 −0 src/test/resources/annotations/SimpleAnnotationMapping.cs.txt
+9 −0 src/test/resources/annotations/SimpleAnnotationMapping.java.txt
+35 −0 src/test/resources/autocasting/Boolean.cs.txt
+29 −0 src/test/resources/autocasting/Boolean.java.txt
+15 −1 src/test/resources/autocasting/Char.cs.txt
+15 −1 src/test/resources/autocasting/Char.java.txt
+36 −0 src/test/resources/autocasting/Double.cs.txt
+30 −0 src/test/resources/autocasting/Double.java.txt
+37 −0 src/test/resources/autocasting/Float.cs.txt
+30 −0 src/test/resources/autocasting/Float.java.txt
+14 −0 src/test/resources/autocasting/Hex.cs.txt
+12 −0 src/test/resources/autocasting/Hex.java.txt
+38 −0 src/test/resources/autocasting/Integer.cs.txt
+32 −0 src/test/resources/autocasting/Integer.java.txt
+37 −0 src/test/resources/autocasting/Long.cs.txt
+31 −0 src/test/resources/autocasting/Long.java.txt
+6 −6 src/test/resources/comments/BodyBlock.cs.txt
+4 −0 src/test/resources/generics/GenericClass.cs.txt
+3 −0 src/test/resources/generics/GenericClass.java.txt
+7 −1 src/test/resources/imports/StaticImports.cs.txt
+4 −1 src/test/resources/imports/StaticImports.java.txt
+2 −0 src/test/resources/imports/StaticallyImported.cs.txt
+2 −0 src/test/resources/imports/StaticallyImported.java.txt
+4 −4 src/test/resources/innerclasses/GenericAnonymousWithAdditionalMethods.cs.txt
+3 −0 src/test/resources/innerclasses/NestedClass2.cs.txt
+2 −0 src/test/resources/innerclasses/NestedClass2.java.txt
+13 −0 src/test/resources/interfaces/IInterfaceToClass.cs.txt
+6 −0 src/test/resources/interfaces/InterfaceToClass.java.txt
+1 −1 src/test/sharpen/ui/tests/AbstractConversionTestCase.java
+11 −0 src/test/sharpen/ui/tests/AnnotationsTestCase.java
+48 −11 src/test/sharpen/ui/tests/AutoCastingTestCase.java
+2 −3 src/test/sharpen/ui/tests/CustomConfigurationTestCase.java
+5 −0 src/test/sharpen/ui/tests/NativeInterfacesTestCase.java
+10 −0 src/test/sharpen/ui/tests/UnclassifiedConversionTestCase.java
7 changes: 4 additions & 3 deletions runtime/CSharp/Antlr4.Runtime/AntlrFileStream.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

#if !PORTABLE

using Antlr4.Runtime.Misc;
using Antlr4.Runtime.Sharpen;
using Encoding = System.Text.Encoding;
using File = System.IO.File;
Expand All @@ -24,20 +25,20 @@ public class AntlrFileStream : AntlrInputStream
protected internal string fileName;

/// <exception cref="System.IO.IOException"/>
public AntlrFileStream(string fileName)
public AntlrFileStream([NotNull] string fileName)
: this(fileName, null)
{
}

/// <exception cref="System.IO.IOException"/>
public AntlrFileStream(string fileName, Encoding encoding)
public AntlrFileStream([NotNull] string fileName, Encoding encoding)
{
this.fileName = fileName;
Load(fileName, encoding);
}

/// <exception cref="System.IO.IOException"/>
public virtual void Load(string fileName, Encoding encoding)
public virtual void Load([NotNull] string fileName, [NotNull] Encoding encoding)
{
if (fileName == null)
{
Expand Down
16 changes: 8 additions & 8 deletions runtime/CSharp/Antlr4.Runtime/Atn/ATN.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public class ATN
protected internal readonly ConcurrentDictionary<int, int> LL1Table = new ConcurrentDictionary<int, int>();

/// <summary>Used for runtime deserialization of ATNs from strings</summary>
public ATN(ATNType grammarType, int maxTokenType)
public ATN([NotNull] ATNType grammarType, int maxTokenType)
{
this.grammarType = grammarType;
this.maxTokenType = maxTokenType;
Expand Down Expand Up @@ -148,7 +148,7 @@ public DFA[] DecisionToDfa
/// 's rule.
/// </summary>
[return: NotNull]
public virtual IntervalSet NextTokens(ATNState s, PredictionContext ctx)
public virtual IntervalSet NextTokens(ATNState s, [NotNull] PredictionContext ctx)
{
Args.NotNull("ctx", ctx);
LL1Analyzer anal = new LL1Analyzer(this);
Expand All @@ -166,7 +166,7 @@ public virtual IntervalSet NextTokens(ATNState s, PredictionContext ctx)
/// rule.
/// </summary>
[return: NotNull]
public virtual IntervalSet NextTokens(ATNState s)
public virtual IntervalSet NextTokens([NotNull] ATNState s)
{
if (s.nextTokenWithinRule != null)
{
Expand All @@ -177,7 +177,7 @@ public virtual IntervalSet NextTokens(ATNState s)
return s.nextTokenWithinRule;
}

public virtual void AddState(ATNState state)
public virtual void AddState([Nullable] ATNState state)
{
if (state != null)
{
Expand All @@ -187,13 +187,13 @@ public virtual void AddState(ATNState state)
states.Add(state);
}

public virtual void RemoveState(ATNState state)
public virtual void RemoveState([NotNull] ATNState state)
{
states[state.stateNumber] = null;
}

// just free mem, don't shift states in list
public virtual void DefineMode(string name, TokensStartState s)
public virtual void DefineMode([NotNull] string name, [NotNull] TokensStartState s)
{
modeNameToStartState[name] = s;
modeToStartState.Add(s);
Expand All @@ -202,7 +202,7 @@ public virtual void DefineMode(string name, TokensStartState s)
DefineDecisionState(s);
}

public virtual int DefineDecisionState(DecisionState s)
public virtual int DefineDecisionState([NotNull] DecisionState s)
{
decisionToState.Add(s);
s.decision = decisionToState.Count - 1;
Expand Down Expand Up @@ -275,7 +275,7 @@ public virtual int NumberOfDecisions
/// <paramref name="stateNumber"/>
/// </exception>
[return: NotNull]
public virtual IntervalSet GetExpectedTokens(int stateNumber, RuleContext context)
public virtual IntervalSet GetExpectedTokens(int stateNumber, [Nullable] RuleContext context)
{
if (stateNumber < 0 || stateNumber >= states.Count)
{
Expand Down
32 changes: 16 additions & 16 deletions runtime/CSharp/Antlr4.Runtime/Atn/ATNConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,32 +58,32 @@ public class ATNConfig
[NotNull]
private PredictionContext context;

protected internal ATNConfig(ATNState state, int alt, PredictionContext context)
protected internal ATNConfig([NotNull] ATNState state, int alt, [NotNull] PredictionContext context)
{
System.Diagnostics.Debug.Assert((alt & unchecked((int)(0xFFFFFF))) == alt);
this.state = state;
this.altAndOuterContextDepth = alt;
this.context = context;
}

protected internal ATNConfig(Antlr4.Runtime.Atn.ATNConfig c, ATNState state, PredictionContext context)
protected internal ATNConfig([NotNull] Antlr4.Runtime.Atn.ATNConfig c, [NotNull] ATNState state, [NotNull] PredictionContext context)
{
this.state = state;
this.altAndOuterContextDepth = c.altAndOuterContextDepth;
this.context = context;
}

public static Antlr4.Runtime.Atn.ATNConfig Create(ATNState state, int alt, PredictionContext context)
public static Antlr4.Runtime.Atn.ATNConfig Create([NotNull] ATNState state, int alt, [Nullable] PredictionContext context)
{
return Create(state, alt, context, Antlr4.Runtime.Atn.SemanticContext.None, null);
}

public static Antlr4.Runtime.Atn.ATNConfig Create(ATNState state, int alt, PredictionContext context, Antlr4.Runtime.Atn.SemanticContext semanticContext)
public static Antlr4.Runtime.Atn.ATNConfig Create([NotNull] ATNState state, int alt, [Nullable] PredictionContext context, [NotNull] Antlr4.Runtime.Atn.SemanticContext semanticContext)
{
return Create(state, alt, context, semanticContext, null);
}

public static Antlr4.Runtime.Atn.ATNConfig Create(ATNState state, int alt, PredictionContext context, Antlr4.Runtime.Atn.SemanticContext semanticContext, LexerActionExecutor lexerActionExecutor)
public static Antlr4.Runtime.Atn.ATNConfig Create([NotNull] ATNState state, int alt, [Nullable] PredictionContext context, [NotNull] Antlr4.Runtime.Atn.SemanticContext semanticContext, LexerActionExecutor lexerActionExecutor)
{
if (semanticContext != Antlr4.Runtime.Atn.SemanticContext.None)
{
Expand Down Expand Up @@ -208,27 +208,27 @@ public Antlr4.Runtime.Atn.ATNConfig Clone()
return Transform(this.State, false);
}

public Antlr4.Runtime.Atn.ATNConfig Transform(ATNState state, bool checkNonGreedy)
public Antlr4.Runtime.Atn.ATNConfig Transform([NotNull] ATNState state, bool checkNonGreedy)
{
return Transform(state, this.context, this.SemanticContext, checkNonGreedy, this.ActionExecutor);
}

public Antlr4.Runtime.Atn.ATNConfig Transform(ATNState state, Antlr4.Runtime.Atn.SemanticContext semanticContext, bool checkNonGreedy)
public Antlr4.Runtime.Atn.ATNConfig Transform([NotNull] ATNState state, [NotNull] Antlr4.Runtime.Atn.SemanticContext semanticContext, bool checkNonGreedy)
{
return Transform(state, this.context, semanticContext, checkNonGreedy, this.ActionExecutor);
}

public Antlr4.Runtime.Atn.ATNConfig Transform(ATNState state, PredictionContext context, bool checkNonGreedy)
public Antlr4.Runtime.Atn.ATNConfig Transform([NotNull] ATNState state, [Nullable] PredictionContext context, bool checkNonGreedy)
{
return Transform(state, context, this.SemanticContext, checkNonGreedy, this.ActionExecutor);
}

public Antlr4.Runtime.Atn.ATNConfig Transform(ATNState state, LexerActionExecutor lexerActionExecutor, bool checkNonGreedy)
public Antlr4.Runtime.Atn.ATNConfig Transform([NotNull] ATNState state, LexerActionExecutor lexerActionExecutor, bool checkNonGreedy)
{
return Transform(state, context, this.SemanticContext, checkNonGreedy, lexerActionExecutor);
}

private Antlr4.Runtime.Atn.ATNConfig Transform(ATNState state, PredictionContext context, Antlr4.Runtime.Atn.SemanticContext semanticContext, bool checkNonGreedy, LexerActionExecutor lexerActionExecutor)
private Antlr4.Runtime.Atn.ATNConfig Transform([NotNull] ATNState state, [Nullable] PredictionContext context, [NotNull] Antlr4.Runtime.Atn.SemanticContext semanticContext, bool checkNonGreedy, LexerActionExecutor lexerActionExecutor)
{
bool passedThroughNonGreedy = checkNonGreedy && CheckNonGreedyDecision(this, state);
if (semanticContext != Antlr4.Runtime.Atn.SemanticContext.None)
Expand Down Expand Up @@ -481,13 +481,13 @@ private class SemanticContextATNConfig : ATNConfig
[NotNull]
private readonly Antlr4.Runtime.Atn.SemanticContext semanticContext;

public SemanticContextATNConfig(Antlr4.Runtime.Atn.SemanticContext semanticContext, ATNState state, int alt, PredictionContext context)
public SemanticContextATNConfig(Antlr4.Runtime.Atn.SemanticContext semanticContext, [NotNull] ATNState state, int alt, [Nullable] PredictionContext context)
: base(state, alt, context)
{
this.semanticContext = semanticContext;
}

public SemanticContextATNConfig(Antlr4.Runtime.Atn.SemanticContext semanticContext, ATNConfig c, ATNState state, PredictionContext context)
public SemanticContextATNConfig(Antlr4.Runtime.Atn.SemanticContext semanticContext, [NotNull] ATNConfig c, [NotNull] ATNState state, [Nullable] PredictionContext context)
: base(c, state, context)
{
this.semanticContext = semanticContext;
Expand All @@ -508,14 +508,14 @@ private class ActionATNConfig : ATNConfig

private readonly bool passedThroughNonGreedyDecision;

public ActionATNConfig(LexerActionExecutor lexerActionExecutor, ATNState state, int alt, PredictionContext context, bool passedThroughNonGreedyDecision)
public ActionATNConfig(LexerActionExecutor lexerActionExecutor, [NotNull] ATNState state, int alt, [Nullable] PredictionContext context, bool passedThroughNonGreedyDecision)
: base(state, alt, context)
{
this.lexerActionExecutor = lexerActionExecutor;
this.passedThroughNonGreedyDecision = passedThroughNonGreedyDecision;
}

protected internal ActionATNConfig(LexerActionExecutor lexerActionExecutor, ATNConfig c, ATNState state, PredictionContext context, bool passedThroughNonGreedyDecision)
protected internal ActionATNConfig(LexerActionExecutor lexerActionExecutor, [NotNull] ATNConfig c, [NotNull] ATNState state, [Nullable] PredictionContext context, bool passedThroughNonGreedyDecision)
: base(c, state, context)
{
if (c.SemanticContext != SemanticContext.None)
Expand Down Expand Up @@ -549,14 +549,14 @@ private class ActionSemanticContextATNConfig : ATNConfig.SemanticContextATNConfi

private readonly bool passedThroughNonGreedyDecision;

public ActionSemanticContextATNConfig(LexerActionExecutor lexerActionExecutor, SemanticContext semanticContext, ATNState state, int alt, PredictionContext context, bool passedThroughNonGreedyDecision)
public ActionSemanticContextATNConfig(LexerActionExecutor lexerActionExecutor, [NotNull] SemanticContext semanticContext, [NotNull] ATNState state, int alt, [Nullable] PredictionContext context, bool passedThroughNonGreedyDecision)
: base(semanticContext, state, alt, context)
{
this.lexerActionExecutor = lexerActionExecutor;
this.passedThroughNonGreedyDecision = passedThroughNonGreedyDecision;
}

public ActionSemanticContextATNConfig(LexerActionExecutor lexerActionExecutor, SemanticContext semanticContext, ATNConfig c, ATNState state, PredictionContext context, bool passedThroughNonGreedyDecision)
public ActionSemanticContextATNConfig(LexerActionExecutor lexerActionExecutor, [NotNull] SemanticContext semanticContext, [NotNull] ATNConfig c, [NotNull] ATNState state, [Nullable] PredictionContext context, bool passedThroughNonGreedyDecision)
: base(semanticContext, c, state, context)
{
this.lexerActionExecutor = lexerActionExecutor;
Expand Down
2 changes: 1 addition & 1 deletion runtime/CSharp/Antlr4.Runtime/Atn/ATNConfigSet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ public virtual bool Add(ATNConfig e)
return Add(e, null);
}

public virtual bool Add(ATNConfig e, PredictionContextCache contextCache)
public virtual bool Add(ATNConfig e, [Nullable] PredictionContextCache contextCache)
{
EnsureWritable();
System.Diagnostics.Debug.Assert(!outermostConfigSet || !e.ReachesIntoOuterContext);
Expand Down
18 changes: 9 additions & 9 deletions runtime/CSharp/Antlr4.Runtime/Atn/ATNDeserializer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ public class ATNDeserializer
static ATNDeserializer()
{
/* WARNING: DO NOT MERGE THESE LINES. If UUIDs differ during a merge,
* resolve the conflict by generating a new ID!
*/
* resolve the conflict by generating a new ID!
*/
BaseSerializedUuid = new Guid("E4178468-DF95-44D0-AD87-F22A5D5FB6D3");
AddedLexerActions = new Guid("AB35191A-1603-487E-B75A-479B831EAF6D");
SupportedUuids = new List<Guid>();
Expand All @@ -58,7 +58,7 @@ public ATNDeserializer()
{
}

public ATNDeserializer(ATNDeserializationOptions deserializationOptions)
public ATNDeserializer([Nullable] ATNDeserializationOptions deserializationOptions)
{
if (deserializationOptions == null)
{
Expand Down Expand Up @@ -109,7 +109,7 @@ protected internal virtual bool IsFeatureSupported(Guid feature, Guid actualUuid
return SupportedUuids.IndexOf(actualUuid) >= featureIndex;
}

public virtual ATN Deserialize(char[] data)
public virtual ATN Deserialize([NotNull] char[] data)
{
data = (char[])data.Clone();
// don't adjust the first value since that's the version number
Expand Down Expand Up @@ -582,7 +582,7 @@ public virtual ATN Deserialize(char[] data)
/// correct value.
/// </summary>
/// <param name="atn">The ATN.</param>
protected internal virtual void MarkPrecedenceDecisions(ATN atn)
protected internal virtual void MarkPrecedenceDecisions([NotNull] ATN atn)
{
// Map rule index -> precedence decision for that rule
IDictionary<int, StarLoopEntryState> rulePrecedenceDecisions = new Dictionary<int, StarLoopEntryState>();
Expand All @@ -593,9 +593,9 @@ protected internal virtual void MarkPrecedenceDecisions(ATN atn)
continue;
}
/* We analyze the ATN to determine if this ATN decision state is the
* decision for the closure block that determines whether a
* precedence rule should continue or complete.
*/
* decision for the closure block that determines whether a
* precedence rule should continue or complete.
*/
if (atn.ruleToStartState[state.ruleIndex].isPrecedenceRule)
{
ATNState maybeLoopEndState = state.Transition(state.NumberOfTransitions - 1).target;
Expand Down Expand Up @@ -1120,7 +1120,7 @@ protected internal static Guid ToUUID(char[] data, int offset)
}

[return: NotNull]
protected internal virtual Transition EdgeFactory(ATN atn, TransitionType type, int src, int trg, int arg1, int arg2, int arg3, IList<IntervalSet> sets)
protected internal virtual Transition EdgeFactory([NotNull] ATN atn, TransitionType type, int src, int trg, int arg1, int arg2, int arg3, IList<IntervalSet> sets)
{
ATNState target = atn.states[trg];
switch (type)
Expand Down
28 changes: 14 additions & 14 deletions runtime/CSharp/Antlr4.Runtime/Atn/ATNSimulator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public abstract class ATNSimulator
[NotNull]
public readonly ATN atn;

public ATNSimulator(ATN atn)
public ATNSimulator([NotNull] ATN atn)
{
this.atn = atn;
}
Expand All @@ -60,7 +60,7 @@ public virtual void ClearDFA()
}

[Obsolete(@"Use ATNDeserializer.Deserialize(char[]) instead.")]
public static ATN Deserialize(char[] data)
public static ATN Deserialize([NotNull] char[] data)
{
return new ATNDeserializer().Deserialize(data);
}
Expand Down Expand Up @@ -103,7 +103,7 @@ public static Guid ToUUID(char[] data, int offset)

[return: NotNull]
[Obsolete(@"Use ATNDeserializer.EdgeFactory(ATN, TransitionType, int, int, int, int, int, System.Collections.Generic.IList{E}) instead.")]
public static Transition EdgeFactory(ATN atn, TransitionType type, int src, int trg, int arg1, int arg2, int arg3, IList<IntervalSet> sets)
public static Transition EdgeFactory([NotNull] ATN atn, TransitionType type, int src, int trg, int arg1, int arg2, int arg3, IList<IntervalSet> sets)
{
return new ATNDeserializer().EdgeFactory(atn, type, src, trg, arg1, arg2, arg3, sets);
}
Expand All @@ -113,16 +113,16 @@ public static ATNState StateFactory(StateType type, int ruleIndex)
{
return new ATNDeserializer().StateFactory(type, ruleIndex);
}
/*
public static void dump(DFA dfa, Grammar g) {
DOTGenerator dot = new DOTGenerator(g);
String output = dot.getDOT(dfa, false);
System.out.println(output);
}
public static void dump(DFA dfa) {
dump(dfa, null);
}
*/
/*
public static void dump(DFA dfa, Grammar g) {
DOTGenerator dot = new DOTGenerator(g);
String output = dot.getDOT(dfa, false);
System.out.println(output);
}

public static void dump(DFA dfa) {
dump(dfa, null);
}
*/
}
}
5 changes: 3 additions & 2 deletions runtime/CSharp/Antlr4.Runtime/Atn/ActionTransition.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) Terence Parr, Sam Harwell. All Rights Reserved.
// Licensed under the BSD License. See LICENSE.txt in the project root for license information.

using Antlr4.Runtime.Misc;
using Antlr4.Runtime.Sharpen;

namespace Antlr4.Runtime.Atn
Expand All @@ -13,12 +14,12 @@ public sealed class ActionTransition : Transition

public readonly bool isCtxDependent;

public ActionTransition(ATNState target, int ruleIndex)
public ActionTransition([NotNull] ATNState target, int ruleIndex)
: this(target, ruleIndex, -1, false)
{
}

public ActionTransition(ATNState target, int ruleIndex, int actionIndex, bool isCtxDependent)
public ActionTransition([NotNull] ATNState target, int ruleIndex, int actionIndex, bool isCtxDependent)
: base(target)
{
// e.g., $i ref in action
Expand Down
2 changes: 1 addition & 1 deletion runtime/CSharp/Antlr4.Runtime/Atn/AmbiguityInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public class AmbiguityInfo : DecisionEventInfo
/// The index at which the ambiguity was identified during
/// prediction
/// </param>
public AmbiguityInfo(int decision, SimulatorState state, BitSet ambigAlts, ITokenStream input, int startIndex, int stopIndex)
public AmbiguityInfo(int decision, [NotNull] SimulatorState state, [NotNull] BitSet ambigAlts, [NotNull] ITokenStream input, int startIndex, int stopIndex)
: base(decision, state, input, startIndex, stopIndex, state.useContext)
{
this.ambigAlts = ambigAlts;
Expand Down
Loading