Class DebugViewWriter
java.lang.Object
com.strobel.expressions.ExpressionVisitor
com.strobel.expressions.DebugViewWriter
-
Nested Class Summary
Nested classes/interfaces inherited from class ExpressionVisitor
ExpressionVisitor.ElementVisitor<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate intprivate intprivate final Map<LabelTarget, Integer> private final Map<LambdaExpression, Integer> private final Deque<LambdaExpression> private final StringBuilderprivate final Map<ParameterExpression, Integer> private static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate final Consumer<? extends Expression> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate StringarrayToString(Object value) private intbase()private intcheckBreak(int flow) private static booleancontainsWhiteSpace(String name) private intdelta()private intdepth()private static StringgetConstantValueSuffix(Type<?> type) private static StringgetDisplayName(String name) private intgetFlow(int flow) private static <T> intprivate intgetLabelTargetId(LabelTarget target) private StringgetLabelTargetName(LabelTarget target) private intprivate StringgetLambdaName(LambdaExpression lambda) private static intprivate intprivate voidindent()private static booleanisSimpleExpression(Expression node) private static booleanneedsParentheses(Expression parent, Expression child) private voidnewLine()private voidout(char c) private voidout(char c, int after) private voidout(int before, char c, int after) private voidprivate voidprivate voidprivate voidprivate voidoutMember(Expression node, Expression instance, MemberInfo member) private voidparenthesizedVisit(Expression parent, Expression nodeToVisit) private static Stringprivate voidunindent()protected ExpressionvisitBinary(BinaryExpression node) protected ExpressionvisitBlock(BlockExpression node) protected CatchBlockvisitCatchBlock(CatchBlock node) protected ExpressionvisitConcat(ConcatExpression node) protected Expressionprotected Expressionprivate voidvisitDeclarations(ExpressionList<ParameterExpression> expressions) protected Expressionprivate <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 ExpressionvisitExtension(Expression node) protected ExpressionvisitFor(ForExpression node) protected Expressionprotected ExpressionvisitGoto(GotoExpression node) protected Expressionprotected ExpressionvisitLabel(LabelExpression node) protected LabelTargetvisitLabelTarget(LabelTarget node) protected <T> LambdaExpression<T> visitLambda(LambdaExpression<T> node) protected ExpressionvisitLoop(LoopExpression node) protected ExpressionvisitMember(MemberExpression node) protected Expressionprotected ExpressionvisitNew(NewExpression node) protected Expressionprivate <T extends Expression>
Consumer<T> protected Expressionprotected Expressionprotected ExpressionvisitSwitch(SwitchExpression node) protected SwitchCasevisitSwitchCase(SwitchCase node) protected ExpressionvisitTry(TryExpression node) protected Expressionprotected ExpressionvisitUnary(UnaryExpression node) private voidwrite(char c) private voidprivate voidwriteLabel(LabelTarget target) private voidwriteLambda(LambdaExpression lambda) private voidprivate voidwriteTo(Expression node) (package private) static voidwriteTo(Expression node, StringBuilder writer) Methods inherited from class 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:
visitBinaryin classExpressionVisitor
-
visitParameter
- Overrides:
visitParameterin classExpressionVisitor
-
visitLambda
- Overrides:
visitLambdain classExpressionVisitor
-
visitConditional
- Overrides:
visitConditionalin classExpressionVisitor
-
visitConstant
- Overrides:
visitConstantin classExpressionVisitor
-
visitRuntimeVariables
- Overrides:
visitRuntimeVariablesin classExpressionVisitor
-
visitMember
- Overrides:
visitMemberin classExpressionVisitor
-
visitInvocation
- Overrides:
visitInvocationin classExpressionVisitor
-
visitMethodCall
- Overrides:
visitMethodCallin classExpressionVisitor
-
visitNewArray
- Overrides:
visitNewArrayin classExpressionVisitor
-
visitNew
- Overrides:
visitNewin classExpressionVisitor
-
visitDefaultValue
- Overrides:
visitDefaultValuein classExpressionVisitor
-
visitExtension
- Overrides:
visitExtensionin classExpressionVisitor
-
visitLabel
- Overrides:
visitLabelin classExpressionVisitor
-
visitLabelTarget
- Overrides:
visitLabelTargetin classExpressionVisitor
-
visitGoto
- Overrides:
visitGotoin classExpressionVisitor
-
visitLoop
- Overrides:
visitLoopin classExpressionVisitor
-
visitForEach
- Overrides:
visitForEachin classExpressionVisitor
-
visitFor
- Overrides:
visitForin classExpressionVisitor
-
visitUnary
- Overrides:
visitUnaryin classExpressionVisitor
-
visitTypeBinary
- Overrides:
visitTypeBinaryin classExpressionVisitor
-
visitBlock
- Overrides:
visitBlockin classExpressionVisitor
-
visitTry
- Overrides:
visitTryin classExpressionVisitor
-
visitCatchBlock
- Overrides:
visitCatchBlockin classExpressionVisitor
-
visitSwitchCase
- Overrides:
visitSwitchCasein classExpressionVisitor
-
visitSwitch
- Overrides:
visitSwitchin classExpressionVisitor
-
visitConcat
- Overrides:
visitConcatin classExpressionVisitor
-