Package com.strobel.expressions
Class VariableBinder
- java.lang.Object
-
- com.strobel.expressions.ExpressionVisitor
-
- com.strobel.expressions.VariableBinder
-
final class VariableBinder extends ExpressionVisitor
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.strobel.expressions.ExpressionVisitor
ExpressionVisitor.ElementVisitor<T>
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Stack<BoundConstants>
_constants
private boolean
_inQuote
private java.util.Stack<CompilerScope>
_scopes
private AnalyzedTree
_tree
-
Constructor Summary
Constructors Modifier Constructor Description private
VariableBinder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static AnalyzedTree
bind(LambdaExpression<?> lambda)
private java.lang.String
getCurrentLambdaName()
private void
incrementReferenceCount(ParameterExpression node, CompilerScope scope)
private ExpressionList<? extends Expression>
mergeScopes(Expression node)
private void
reference(ParameterExpression node, VariableStorageKind storage)
protected Expression
visitBlock(BlockExpression node)
protected CatchBlock
visitCatchBlock(CatchBlock node)
protected Expression
visitConstant(ConstantExpression node)
protected Expression
visitInvocation(InvocationExpression node)
<T> LambdaExpression<T>
visitLambda(LambdaExpression<T> node)
protected Expression
visitParameter(ParameterExpression node)
protected Expression
visitRuntimeVariables(RuntimeVariablesExpression node)
protected Expression
visitUnary(UnaryExpression node)
-
Methods inherited from class com.strobel.expressions.ExpressionVisitor
visit, visit, visit, visitAndConvert, visitAndConvertList, visitAndConvertList, visitArguments, visitBinary, visitConcat, visitConditional, visitDefaultValue, visitExtension, visitFor, visitForEach, visitGoto, visitLabel, visitLabelTarget, visitLoop, visitMember, visitMethodCall, visitNew, visitNewArray, visitSwitch, visitSwitchCase, visitTry, visitTypeBinary
-
-
-
-
Field Detail
-
_tree
private final AnalyzedTree _tree
-
_scopes
private final java.util.Stack<CompilerScope> _scopes
-
_constants
private final java.util.Stack<BoundConstants> _constants
-
_inQuote
private boolean _inQuote
-
-
Method Detail
-
bind
static AnalyzedTree bind(LambdaExpression<?> lambda)
-
visitConstant
protected Expression visitConstant(ConstantExpression node)
- Overrides:
visitConstant
in classExpressionVisitor
-
visitUnary
protected Expression visitUnary(UnaryExpression node)
- Overrides:
visitUnary
in classExpressionVisitor
-
visitLambda
public <T> LambdaExpression<T> visitLambda(LambdaExpression<T> node)
- Overrides:
visitLambda
in classExpressionVisitor
-
visitInvocation
protected Expression visitInvocation(InvocationExpression node)
- Overrides:
visitInvocation
in classExpressionVisitor
-
visitBlock
protected Expression visitBlock(BlockExpression node)
- Overrides:
visitBlock
in classExpressionVisitor
-
visitCatchBlock
protected CatchBlock visitCatchBlock(CatchBlock node)
- Overrides:
visitCatchBlock
in classExpressionVisitor
-
visitParameter
protected Expression visitParameter(ParameterExpression node)
- Overrides:
visitParameter
in classExpressionVisitor
-
incrementReferenceCount
private void incrementReferenceCount(ParameterExpression node, CompilerScope scope)
-
visitRuntimeVariables
protected Expression visitRuntimeVariables(RuntimeVariablesExpression node)
- Overrides:
visitRuntimeVariables
in classExpressionVisitor
-
mergeScopes
private ExpressionList<? extends Expression> mergeScopes(Expression node)
-
reference
private void reference(ParameterExpression node, VariableStorageKind storage)
-
getCurrentLambdaName
private java.lang.String getCurrentLambdaName()
-
-