Package org.jruby.parser
Class ScopedParserState
java.lang.Object
org.jruby.parser.ScopedParserState
Each scope while parsing contains extra information as part of the parsing process.
This class holds this instead of StaticScope which will outlive parsing.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate longprivate longprivate Map<RubySymbol,Integer> private ScopedParserStateprivate boolean[]private Set<RubySymbol> -
Constructor Summary
ConstructorsConstructorDescriptionScopedParserState(ScopedParserState enclosingScope) ScopedParserState(ScopedParserState enclosingScope, long commandArgumentStack, long condArgumentStack) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDefinedVariable(RubySymbol name, int line) longlongvoidgrowNamedCaptures(int index) booleanisNamedCapture(int index) voidmarkUsedVariable(RubySymbol name, int depth) voidsetCommandArgumentStack(long commandArgumentStack) voidsetCondArgumentStack(long condArgumentStack) voidwarnUnusedVariables(Ruby runtime, IRubyWarnings warnings, String file)
-
Field Details
-
enclosingScope
-
commandArgumentStack
private long commandArgumentStack -
condArgumentStack
private long condArgumentStack -
namedCaptures
private boolean[] namedCaptures -
definedVariables
-
usedVariables
-
-
Constructor Details
-
ScopedParserState
-
ScopedParserState
public ScopedParserState(ScopedParserState enclosingScope, long commandArgumentStack, long condArgumentStack)
-
-
Method Details
-
setCondArgumentStack
public void setCondArgumentStack(long condArgumentStack) -
getCondArgumentStack
public long getCondArgumentStack() -
setCommandArgumentStack
public void setCommandArgumentStack(long commandArgumentStack) -
getCommandArgumentStack
public long getCommandArgumentStack() -
getEnclosingScope
-
growNamedCaptures
public void growNamedCaptures(int index) -
isNamedCapture
public boolean isNamedCapture(int index) -
addDefinedVariable
-
markUsedVariable
-
warnUnusedVariables
-