@Override public boolean visitParseArtefact(Node node) { formatter.buildInline(node); formatter.fail("ARTEFACT: " + node.getClass().getSimpleName()); formatter.closeInline(); return true; }
@Override public boolean visitIdentifier(Identifier node) { String name = node.astValue(); if (name == null) name = FAIL + "NULL_IDENTIFIER" + FAIL; else if (name.isEmpty()) name = FAIL + "EMPTY_IDENTIFIER" + FAIL; else if (!isValidJavaIdentifier(name)) name = FAIL + "INVALID_IDENTIFIER: " + name + FAIL; formatter.buildInline(node); formatter.property("name", name); formatter.append(name); formatter.closeInline(); return true; }
@Override public boolean visitAnnotationValueArray(AnnotationValueArray node) { formatter.buildInline(node); formatter.append("{"); visitAll(node.rawValues(), ", ", "", ""); formatter.append("}"); formatter.closeInline(); return true; }
@Override public boolean visitVariableReference(VariableReference node) { parensOpen(node); formatter.buildInline(node); visit(node.astIdentifier()); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitVariableReference(VariableReference node) { parensOpen(node); formatter.buildInline(node); visit(node.astIdentifier()); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitModifiers(Modifiers node) { formatter.buildInline(node); visitAll(node.rawAnnotations(), "", "", ""); visitAll(node.rawKeywords(), " ", "", ""); formatter.closeInline(); return true; }
@Override public boolean visitAnnotationValueArray(AnnotationValueArray node) { formatter.buildInline(node); formatter.append("{"); visitAll(node.rawValues(), ", ", "", ""); formatter.append("}"); formatter.closeInline(); return true; }
@Override public boolean visitTypeReferencePart(TypeReferencePart node) { formatter.buildInline(node); visit(node.astIdentifier()); visitAll(node.rawTypeArguments(), ", ", "<", ">"); formatter.closeInline(); return true; }
@Override public boolean visitAnnotationValueArray(AnnotationValueArray node) { formatter.buildInline(node); formatter.append("{"); visitAll(node.rawValues(), ", ", "", ""); formatter.append("}"); formatter.closeInline(); return true; }
@Override public boolean visitKeywordModifier(KeywordModifier node) { formatter.buildInline(node); formatter.property("modifier", node.astName()); if (node.astName() == null || node.astName().isEmpty()) formatter.fail("MISSING_MODIFIER"); else formatter.keyword(node.astName()); formatter.closeInline(); return true; }
@Override public boolean visitKeywordModifier(KeywordModifier node) { formatter.buildInline(node); formatter.property("modifier", node.astName()); if (node.astName() == null || node.astName().isEmpty()) formatter.fail("MISSING_MODIFIER"); else formatter.keyword(node.astName()); formatter.closeInline(); return true; }
@Override public boolean visitIntegralLiteral(IntegralLiteral node) { parensOpen(node); String raw = node.rawValue(); formatter.buildInline(node); formatter.property("value", raw); formatter.append(raw); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitFloatingPointLiteral(FloatingPointLiteral node) { parensOpen(node); String raw = node.rawValue(); formatter.buildInline(node); formatter.property("value", raw); formatter.append(raw); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitStringLiteral(StringLiteral node) { parensOpen(node); String raw = node.rawValue(); formatter.buildInline(node); formatter.property("value", raw); formatter.append(raw); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitBooleanLiteral(BooleanLiteral node) { parensOpen(node); String raw = node.rawValue(); formatter.buildInline(node); formatter.property("value", raw); formatter.append(raw); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitFloatingPointLiteral(FloatingPointLiteral node) { parensOpen(node); String raw = node.rawValue(); formatter.buildInline(node); formatter.property("value", raw); formatter.append(raw); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitClassLiteral(ClassLiteral node) { parensOpen(node); formatter.buildInline(node); visit(node.rawTypeReference()); formatter.append("."); formatter.keyword("class"); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitArrayInitializer(ArrayInitializer node) { parensOpen(node); formatter.buildInline(node); formatter.append("{"); visitAll(node.rawExpressions(), ", ", "", ""); formatter.append("}"); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitArrayAccess(ArrayAccess node) { parensOpen(node); formatter.buildInline(node); visit(node.rawOperand()); formatter.append("["); visit(node.rawIndexExpression()); formatter.append("]"); formatter.closeInline(); parensClose(node); return true; }
@Override public boolean visitArrayAccess(ArrayAccess node) { parensOpen(node); formatter.buildInline(node); visit(node.rawOperand()); formatter.append("["); visit(node.rawIndexExpression()); formatter.append("]"); formatter.closeInline(); parensClose(node); return true; }