Package com.strobel.expressions
Class DebugViewWriter
java.lang.Object
com.strobel.expressions.ExpressionVisitor
com.strobel.expressions.DebugViewWriter
-
Nested Class Summary
Nested classes/interfaces inherited from class com.strobel.expressions.ExpressionVisitor
ExpressionVisitor.ElementVisitor<T>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private int
private int
private final Map
<LabelTarget, Integer> private final Map
<LambdaExpression, Integer> private final Deque
<LambdaExpression> private final StringBuilder
private final Map
<ParameterExpression, Integer> private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private final Consumer
<? extends Expression> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate String
arrayToString
(Object value) private int
base()
private int
checkBreak
(int flow) private static boolean
containsWhiteSpace
(String name) private int
delta()
private int
depth()
private static String
getConstantValueSuffix
(Type<?> type) private static String
getDisplayName
(String name) private int
getFlow
(int flow) private static <T> int
private int
getLabelTargetId
(LabelTarget target) private String
getLabelTargetName
(LabelTarget target) private int
private String
getLambdaName
(LambdaExpression lambda) private static int
private int
private void
indent()
private static boolean
isSimpleExpression
(Expression node) private static boolean
needsParentheses
(Expression parent, Expression child) private void
newLine()
private void
out
(char c) private void
out
(char c, int after) private void
out
(int before, char c, int after) private void
private void
private void
private void
private void
outMember
(Expression node, Expression instance, MemberInfo member) private void
parenthesizedVisit
(Expression parent, Expression nodeToVisit) private static String
private void
unindent()
protected Expression
visitBinary
(BinaryExpression node) protected Expression
visitBlock
(BlockExpression node) protected CatchBlock
visitCatchBlock
(CatchBlock node) protected Expression
visitConcat
(ConcatExpression node) protected Expression
protected Expression
private void
visitDeclarations
(ExpressionList<ParameterExpression> expressions) protected Expression
private <T extends Expression>
voidvisitExpressions
(char open, char separator, ExpressionList<T> expressions) private <T extends Expression>
voidvisitExpressions
(char open, char separator, ExpressionList<T> expressions, Consumer<T> visit) private <T extends Expression>
voidvisitExpressions
(char open, ExpressionList<T> expressions) protected Expression
visitExtension
(Expression node) protected Expression
visitFor
(ForExpression node) protected Expression
protected Expression
visitGoto
(GotoExpression node) protected Expression
protected Expression
visitLabel
(LabelExpression node) protected LabelTarget
visitLabelTarget
(LabelTarget node) protected <T> LambdaExpression
<T> visitLambda
(LambdaExpression<T> node) protected Expression
visitLoop
(LoopExpression node) protected Expression
visitMember
(MemberExpression node) protected Expression
protected Expression
visitNew
(NewExpression node) protected Expression
private <T extends Expression>
Consumer<T> protected Expression
protected Expression
protected Expression
visitSwitch
(SwitchExpression node) protected SwitchCase
visitSwitchCase
(SwitchCase node) protected Expression
visitTry
(TryExpression node) protected Expression
protected Expression
visitUnary
(UnaryExpression node) private void
write
(char c) private void
private void
writeLabel
(LabelTarget target) private void
writeLambda
(LambdaExpression lambda) private void
private void
writeTo
(Expression node) (package private) static void
writeTo
(Expression node, StringBuilder writer) Methods inherited from class com.strobel.expressions.ExpressionVisitor
visit, visit, visit, visitAndConvert, visitAndConvertList, visitAndConvertList, visitArguments
-
Field Details
-
FLOW_NONE
private static final int FLOW_NONE- See Also:
-
FLOW_SPACE
private static final int FLOW_SPACE- See Also:
-
FLOW_NEW_LINE
private static final int FLOW_NEW_LINE- See Also:
-
FLOW_BREAK
private static final int FLOW_BREAK- See Also:
-
TAB_SIZE
private static final int TAB_SIZE- See Also:
-
MAX_COLUMN
private static final int MAX_COLUMN- See Also:
-
_out
-
_column
private int _column -
_delta
private int _delta -
_flow
private int _flow -
_lambdas
-
_lambdaIds
-
_paramIds
-
_labelIds
-
VISITOR_BLOCK
-
-
Constructor Details
-
DebugViewWriter
-
-
Method Details
-
visitorBlock
-
base
private int base() -
delta
private int delta() -
depth
private int depth() -
indent
private void indent() -
unindent
private void unindent() -
newLine
private void newLine() -
getId
-
getLambdaId
-
getParamId
-
getLabelTargetId
-
out
private void out(char c) -
out
private void out(char c, int after) -
out
private void out(int before, char c, int after) -
out
-
out
-
out
-
out
-
outMember
-
writeLine
private void writeLine() -
write
-
write
private void write(char c) -
getFlow
private int getFlow(int flow) -
checkBreak
private int checkBreak(int flow) -
writeTo
-
writeTo
-
writeLambda
-
visitExpressions
-
visitExpressions
private <T extends Expression> void visitExpressions(char open, char separator, ExpressionList<T> expressions) -
visitDeclarations
-
visitExpressions
private <T extends Expression> void visitExpressions(char open, char separator, ExpressionList<T> expressions, Consumer<T> visit) -
writeLabel
-
isSimpleExpression
-
getConstantValueSuffix
-
containsWhiteSpace
-
quoteName
-
getDisplayName
-
getLambdaName
-
getLabelTargetName
-
arrayToString
-
parenthesizedVisit
-
needsParentheses
-
getOperatorPrecedence
-
visitBinary
- Overrides:
visitBinary
in classExpressionVisitor
-
visitParameter
- Overrides:
visitParameter
in classExpressionVisitor
-
visitLambda
- Overrides:
visitLambda
in classExpressionVisitor
-
visitConditional
- Overrides:
visitConditional
in classExpressionVisitor
-
visitConstant
- Overrides:
visitConstant
in classExpressionVisitor
-
visitRuntimeVariables
- Overrides:
visitRuntimeVariables
in classExpressionVisitor
-
visitMember
- Overrides:
visitMember
in classExpressionVisitor
-
visitInvocation
- Overrides:
visitInvocation
in classExpressionVisitor
-
visitMethodCall
- Overrides:
visitMethodCall
in classExpressionVisitor
-
visitNewArray
- Overrides:
visitNewArray
in classExpressionVisitor
-
visitNew
- Overrides:
visitNew
in classExpressionVisitor
-
visitDefaultValue
- Overrides:
visitDefaultValue
in classExpressionVisitor
-
visitExtension
- Overrides:
visitExtension
in classExpressionVisitor
-
visitLabel
- Overrides:
visitLabel
in classExpressionVisitor
-
visitLabelTarget
- Overrides:
visitLabelTarget
in classExpressionVisitor
-
visitGoto
- Overrides:
visitGoto
in classExpressionVisitor
-
visitLoop
- Overrides:
visitLoop
in classExpressionVisitor
-
visitForEach
- Overrides:
visitForEach
in classExpressionVisitor
-
visitFor
- Overrides:
visitFor
in classExpressionVisitor
-
visitUnary
- Overrides:
visitUnary
in classExpressionVisitor
-
visitTypeBinary
- Overrides:
visitTypeBinary
in classExpressionVisitor
-
visitBlock
- Overrides:
visitBlock
in classExpressionVisitor
-
visitTry
- Overrides:
visitTry
in classExpressionVisitor
-
visitCatchBlock
- Overrides:
visitCatchBlock
in classExpressionVisitor
-
visitSwitchCase
- Overrides:
visitSwitchCase
in classExpressionVisitor
-
visitSwitch
- Overrides:
visitSwitch
in classExpressionVisitor
-
visitConcat
- Overrides:
visitConcat
in classExpressionVisitor
-