@Override public void visitParenExpr(ParenExpr parenExpr) { out.append("("); visit(parenExpr.getExpr()); out.append(")"); }
@Override public void visitSwitchStmt(SwitchStmt switchStmt) { out.append(indent() + "switch("); visit(switchStmt.getExpr()); out.append(")" + newLine()); increaseIndent(); visitBlockStmt(switchStmt.getBody()); decreaseIndent(); }
/** * Returns, via pretty printing, a string representation of the given node. * * @param node Node for which string representation is required * @return String representation of the node */ public static String prettyPrintAsString(IAstNode node) { ByteArrayOutputStream bytes = new ByteArrayOutputStream(); new PrettyPrinterVisitor(new PrintStream(bytes)).visit(node); return new String(bytes.toByteArray(), StandardCharsets.UTF_8); }
public static void emitShader(TranslationUnit shader, Optional<String> license, PrintStream stream, int indentationWidth, Supplier<String> newlineSupplier, boolean emitGraphicsFuzzDefines) { new PrettyPrinterVisitor(stream, indentationWidth, newlineSupplier, emitGraphicsFuzzDefines, license).visit(shader); }
@Override public void visitArrayType(ArrayType arrayType) { // Do not generate array info, as this has to come after the associated variable name visit(arrayType.getBaseType()); }
@Override public void visitFunctionCallExpr(FunctionCallExpr functionCallExpr) { out.append(functionCallExpr.getCallee() + "("); boolean first = true; for (Expr e : functionCallExpr.getArgs()) { if (!first) { out.append(", "); } first = false; visit(e); } out.append(")"); }
@Override public void visitMemberLookupExpr(MemberLookupExpr memberLookupExpr) { visit(memberLookupExpr.getStructure()); out.append("." + memberLookupExpr.getMember()); }
@Override public void visitQualifiedType(QualifiedType qualifiedType) { for (TypeQualifier q : qualifiedType.getQualifiers()) { out.append(q + " "); } visit(qualifiedType.getTargetType()); }
@Override public void visitExprCaseLabel(ExprCaseLabel exprCaseLabel) { out.append(indent()); out.append("case "); visit(exprCaseLabel.getExpr()); out.append(":" + newLine()); }
@Override public void visitExprStmt(ExprStmt exprStmt) { out.append(indent()); visit(exprStmt.getExpr()); out.append(";" + newLine()); }
@Override public void visitReturnStmt(ReturnStmt returnStmt) { out.append(indent() + "return"); if (returnStmt.hasExpr()) { out.append(" "); visit(returnStmt.getExpr()); } out.append(";" + newLine()); }
public static void main(String[] args) throws IOException, ParseTimeoutException { TranslationUnit tu = ParseHelper.parse(new File(args[0])); new PrettyPrinterVisitor(System.out).visit(transform(tu)); }
@Override public void visitParameterDecl(ParameterDecl parameterDecl) { visit(parameterDecl.getType()); if (parameterDecl.getName() != null) { out.append(" " + parameterDecl.getName()); } if (parameterDecl.getArrayInfo() != null) { out.append("[" + parameterDecl.getArrayInfo().getSize() + "]"); } }
public static void main(String[] args) { if (args.length != 1) { System.err.print("Usage: seed"); System.exit(1); } new PrettyPrinterVisitor(System.out) .visit(new Fuzzer(new FuzzingContext(), ShadingLanguageVersion.GLSL_440, new RandomWrapper(Integer.parseInt(args[0])), GenerationParams.normal(ShaderKind.FRAGMENT, true)).fuzzTranslationUnit()); }
@Override public void visitBlockStmt(BlockStmt stmt) { out.append(indent() + "{" + newLine()); increaseIndent(); for (Stmt s : stmt.getStmts()) { visit(s); } decreaseIndent(); out.append(indent() + "}" + newLine()); }