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>_constantsprivate boolean_inQuoteprivate java.util.Stack<CompilerScope>_scopesprivate AnalyzedTree_tree
-
Constructor Summary
Constructors Modifier Constructor Description privateVariableBinder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static AnalyzedTreebind(LambdaExpression<?> lambda)private java.lang.StringgetCurrentLambdaName()private voidincrementReferenceCount(ParameterExpression node, CompilerScope scope)private ExpressionList<? extends Expression>mergeScopes(Expression node)private voidreference(ParameterExpression node, VariableStorageKind storage)protected ExpressionvisitBlock(BlockExpression node)protected CatchBlockvisitCatchBlock(CatchBlock node)protected ExpressionvisitConstant(ConstantExpression node)protected ExpressionvisitInvocation(InvocationExpression node)<T> LambdaExpression<T>visitLambda(LambdaExpression<T> node)protected ExpressionvisitParameter(ParameterExpression node)protected ExpressionvisitRuntimeVariables(RuntimeVariablesExpression node)protected ExpressionvisitUnary(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:
visitConstantin classExpressionVisitor
-
visitUnary
protected Expression visitUnary(UnaryExpression node)
- Overrides:
visitUnaryin classExpressionVisitor
-
visitLambda
public <T> LambdaExpression<T> visitLambda(LambdaExpression<T> node)
- Overrides:
visitLambdain classExpressionVisitor
-
visitInvocation
protected Expression visitInvocation(InvocationExpression node)
- Overrides:
visitInvocationin classExpressionVisitor
-
visitBlock
protected Expression visitBlock(BlockExpression node)
- Overrides:
visitBlockin classExpressionVisitor
-
visitCatchBlock
protected CatchBlock visitCatchBlock(CatchBlock node)
- Overrides:
visitCatchBlockin classExpressionVisitor
-
visitParameter
protected Expression visitParameter(ParameterExpression node)
- Overrides:
visitParameterin classExpressionVisitor
-
incrementReferenceCount
private void incrementReferenceCount(ParameterExpression node, CompilerScope scope)
-
visitRuntimeVariables
protected Expression visitRuntimeVariables(RuntimeVariablesExpression node)
- Overrides:
visitRuntimeVariablesin classExpressionVisitor
-
mergeScopes
private ExpressionList<? extends Expression> mergeScopes(Expression node)
-
reference
private void reference(ParameterExpression node, VariableStorageKind storage)
-
getCurrentLambdaName
private java.lang.String getCurrentLambdaName()
-
-