org.codehaus.janino
Class UnparseVisitor

java.lang.Object
  extended by org.codehaus.janino.UnparseVisitor
All Implemented Interfaces:
Visitor.AtomVisitor, Visitor.BlockStatementVisitor, Visitor.ComprehensiveVisitor, Visitor.ImportVisitor, Visitor.LvalueVisitor, Visitor.RvalueVisitor, Visitor.TypeBodyDeclarationVisitor, Visitor.TypeDeclarationVisitor, Visitor.TypeVisitor

public class UnparseVisitor
extends java.lang.Object
implements Visitor.ComprehensiveVisitor

A visitor that unparses (un-compiles) an AST to a Writer. See main(String[]) for a usage example.


Field Summary
protected  AutoIndentWriter aiw
           
protected  java.io.PrintWriter pw
           
 
Constructor Summary
UnparseVisitor(java.io.Writer w)
           
 
Method Summary
 void close()
          Flushes all generated code and closes the Writer that was passed to UnparseVisitor(Writer).
static void main(java.lang.String[] args)
          Testing of parsing/unparsing.
static void unparse(Java.CompilationUnit cu, java.io.Writer w)
          Unparse the given Java.CompilationUnit to the given Writer.
 void unparseCompilationUnit(Java.CompilationUnit cu)
           
 void unparseFormalParameter(Java.FunctionDeclarator.FormalParameter fp)
           
 void unparseVariableDeclarator(Java.VariableDeclarator vd)
           
 void visitAlternateConstructorInvocation(Java.AlternateConstructorInvocation aci)
           
 void visitAmbiguousName(Java.AmbiguousName an)
           
 void visitAnonymousClassDeclaration(Java.AnonymousClassDeclaration acd)
           
 void visitArrayAccessExpression(Java.ArrayAccessExpression aae)
           
 void visitArrayLength(Java.ArrayLength al)
           
 void visitArrayType(Java.ArrayType at)
           
 void visitAssignment(Java.Assignment a)
           
 void visitBasicType(Java.BasicType bt)
           
 void visitBinaryOperation(Java.BinaryOperation bo)
           
 void visitBlock(Java.Block b)
           
 void visitBreakStatement(Java.BreakStatement bs)
           
 void visitCast(Java.Cast c)
           
 void visitClassLiteral(Java.ClassLiteral cl)
           
 void visitConditionalExpression(Java.ConditionalExpression ce)
           
 void visitConstructorDeclarator(Java.ConstructorDeclarator cd)
           
 void visitContinueStatement(Java.ContinueStatement cs)
           
 void visitCrement(Java.Crement c)
           
 void visitDoStatement(Java.DoStatement ds)
           
 void visitEmptyStatement(Java.EmptyStatement es)
           
 void visitExpressionStatement(Java.ExpressionStatement es)
           
 void visitFieldAccess(Java.FieldAccess fa)
           
 void visitFieldAccessExpression(Java.FieldAccessExpression fae)
           
 void visitFieldDeclaration(Java.FieldDeclaration fd)
           
 void visitForStatement(Java.ForStatement fs)
           
 void visitIfStatement(Java.IfStatement is)
           
 void visitInitializer(Java.Initializer i)
           
 void visitInstanceof(Java.Instanceof io)
           
 void visitLabeledStatement(Java.LabeledStatement ls)
           
 void visitLiteral(Java.Literal l)
           
 void visitLocalClassDeclaration(Java.LocalClassDeclaration lcd)
           
 void visitLocalClassDeclarationStatement(Java.LocalClassDeclarationStatement lcds)
           
 void visitLocalVariableAccess(Java.LocalVariableAccess lva)
           
 void visitLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement lvds)
           
 void visitMemberClassDeclaration(Java.MemberClassDeclaration mcd)
           
 void visitMemberInterfaceDeclaration(Java.MemberInterfaceDeclaration mid)
           
 void visitMethodDeclarator(Java.MethodDeclarator md)
           
 void visitMethodInvocation(Java.MethodInvocation mi)
           
 void visitNewAnonymousClassInstance(Java.NewAnonymousClassInstance naci)
           
 void visitNewArray(Java.NewArray na)
           
 void visitNewClassInstance(Java.NewClassInstance nci)
           
 void visitNewInitializedArray(Java.NewInitializedArray nai)
           
 void visitPackage(Java.Package p)
           
 void visitPackageMemberClassDeclaration(Java.PackageMemberClassDeclaration pmcd)
           
 void visitPackageMemberInterfaceDeclaration(Java.PackageMemberInterfaceDeclaration pmid)
           
 void visitParameterAccess(Java.ParameterAccess pa)
           
 void visitParenthesizedExpression(Java.ParenthesizedExpression pe)
           
 void visitQualifiedThisReference(Java.QualifiedThisReference qtr)
           
 void visitReferenceType(Java.ReferenceType rt)
           
 void visitReturnStatement(Java.ReturnStatement rs)
           
 void visitRvalueMemberType(Java.RvalueMemberType rmt)
           
 void visitSimpleType(Java.SimpleType st)
           
 void visitSingleStaticImportDeclaration(Java.CompilationUnit.SingleStaticImportDeclaration ssid)
           
 void visitSingleTypeImportDeclaration(Java.CompilationUnit.SingleTypeImportDeclaration stid)
           
 void visitStaticImportOnDemandDeclaration(Java.CompilationUnit.StaticImportOnDemandDeclaration siodd)
           
 void visitSuperclassFieldAccessExpression(Java.SuperclassFieldAccessExpression scfae)
           
 void visitSuperclassMethodInvocation(Java.SuperclassMethodInvocation smi)
           
 void visitSuperConstructorInvocation(Java.SuperConstructorInvocation sci)
           
 void visitSwitchStatement(Java.SwitchStatement ss)
           
 void visitSynchronizedStatement(Java.SynchronizedStatement ss)
           
 void visitThisReference(Java.ThisReference tr)
           
 void visitThrowStatement(Java.ThrowStatement ts)
           
 void visitTryStatement(Java.TryStatement ts)
           
 void visitTypeImportOnDemandDeclaration(Java.CompilationUnit.TypeImportOnDemandDeclaration tiodd)
           
 void visitUnaryOperation(Java.UnaryOperation uo)
           
 void visitWhileStatement(Java.WhileStatement ws)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

aiw

protected final AutoIndentWriter aiw

pw

protected final java.io.PrintWriter pw
Constructor Detail

UnparseVisitor

public UnparseVisitor(java.io.Writer w)
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Testing of parsing/unparsing.

Reads compilation units from the files named on the command line and unparses them to System.out.

Throws:
java.lang.Exception

unparse

public static void unparse(Java.CompilationUnit cu,
                           java.io.Writer w)
Unparse the given Java.CompilationUnit to the given Writer.


close

public void close()
Flushes all generated code and closes the Writer that was passed to UnparseVisitor(Writer).


unparseCompilationUnit

public void unparseCompilationUnit(Java.CompilationUnit cu)

visitSingleTypeImportDeclaration

public void visitSingleTypeImportDeclaration(Java.CompilationUnit.SingleTypeImportDeclaration stid)
Specified by:
visitSingleTypeImportDeclaration in interface Visitor.ImportVisitor

visitTypeImportOnDemandDeclaration

public void visitTypeImportOnDemandDeclaration(Java.CompilationUnit.TypeImportOnDemandDeclaration tiodd)
Specified by:
visitTypeImportOnDemandDeclaration in interface Visitor.ImportVisitor

visitSingleStaticImportDeclaration

public void visitSingleStaticImportDeclaration(Java.CompilationUnit.SingleStaticImportDeclaration ssid)
Specified by:
visitSingleStaticImportDeclaration in interface Visitor.ImportVisitor

visitStaticImportOnDemandDeclaration

public void visitStaticImportOnDemandDeclaration(Java.CompilationUnit.StaticImportOnDemandDeclaration siodd)
Specified by:
visitStaticImportOnDemandDeclaration in interface Visitor.ImportVisitor

visitLocalClassDeclaration

public void visitLocalClassDeclaration(Java.LocalClassDeclaration lcd)
Specified by:
visitLocalClassDeclaration in interface Visitor.TypeDeclarationVisitor

visitMemberClassDeclaration

public void visitMemberClassDeclaration(Java.MemberClassDeclaration mcd)
Specified by:
visitMemberClassDeclaration in interface Visitor.TypeBodyDeclarationVisitor
Specified by:
visitMemberClassDeclaration in interface Visitor.TypeDeclarationVisitor

visitMemberInterfaceDeclaration

public void visitMemberInterfaceDeclaration(Java.MemberInterfaceDeclaration mid)
Specified by:
visitMemberInterfaceDeclaration in interface Visitor.TypeBodyDeclarationVisitor
Specified by:
visitMemberInterfaceDeclaration in interface Visitor.TypeDeclarationVisitor

visitPackageMemberClassDeclaration

public void visitPackageMemberClassDeclaration(Java.PackageMemberClassDeclaration pmcd)
Specified by:
visitPackageMemberClassDeclaration in interface Visitor.TypeDeclarationVisitor

visitPackageMemberInterfaceDeclaration

public void visitPackageMemberInterfaceDeclaration(Java.PackageMemberInterfaceDeclaration pmid)
Specified by:
visitPackageMemberInterfaceDeclaration in interface Visitor.TypeDeclarationVisitor

visitConstructorDeclarator

public void visitConstructorDeclarator(Java.ConstructorDeclarator cd)
Specified by:
visitConstructorDeclarator in interface Visitor.TypeBodyDeclarationVisitor

visitMethodDeclarator

public void visitMethodDeclarator(Java.MethodDeclarator md)
Specified by:
visitMethodDeclarator in interface Visitor.TypeBodyDeclarationVisitor

visitFieldDeclaration

public void visitFieldDeclaration(Java.FieldDeclaration fd)
Specified by:
visitFieldDeclaration in interface Visitor.BlockStatementVisitor
Specified by:
visitFieldDeclaration in interface Visitor.TypeBodyDeclarationVisitor

visitInitializer

public void visitInitializer(Java.Initializer i)
Specified by:
visitInitializer in interface Visitor.BlockStatementVisitor
Specified by:
visitInitializer in interface Visitor.TypeBodyDeclarationVisitor

visitBlock

public void visitBlock(Java.Block b)
Specified by:
visitBlock in interface Visitor.BlockStatementVisitor

visitBreakStatement

public void visitBreakStatement(Java.BreakStatement bs)
Specified by:
visitBreakStatement in interface Visitor.BlockStatementVisitor

visitContinueStatement

public void visitContinueStatement(Java.ContinueStatement cs)
Specified by:
visitContinueStatement in interface Visitor.BlockStatementVisitor

visitDoStatement

public void visitDoStatement(Java.DoStatement ds)
Specified by:
visitDoStatement in interface Visitor.BlockStatementVisitor

visitEmptyStatement

public void visitEmptyStatement(Java.EmptyStatement es)
Specified by:
visitEmptyStatement in interface Visitor.BlockStatementVisitor

visitExpressionStatement

public void visitExpressionStatement(Java.ExpressionStatement es)
Specified by:
visitExpressionStatement in interface Visitor.BlockStatementVisitor

visitForStatement

public void visitForStatement(Java.ForStatement fs)
Specified by:
visitForStatement in interface Visitor.BlockStatementVisitor

visitIfStatement

public void visitIfStatement(Java.IfStatement is)
Specified by:
visitIfStatement in interface Visitor.BlockStatementVisitor

visitLabeledStatement

public void visitLabeledStatement(Java.LabeledStatement ls)
Specified by:
visitLabeledStatement in interface Visitor.BlockStatementVisitor

visitLocalClassDeclarationStatement

public void visitLocalClassDeclarationStatement(Java.LocalClassDeclarationStatement lcds)
Specified by:
visitLocalClassDeclarationStatement in interface Visitor.BlockStatementVisitor

visitLocalVariableDeclarationStatement

public void visitLocalVariableDeclarationStatement(Java.LocalVariableDeclarationStatement lvds)
Specified by:
visitLocalVariableDeclarationStatement in interface Visitor.BlockStatementVisitor

visitReturnStatement

public void visitReturnStatement(Java.ReturnStatement rs)
Specified by:
visitReturnStatement in interface Visitor.BlockStatementVisitor

visitSwitchStatement

public void visitSwitchStatement(Java.SwitchStatement ss)
Specified by:
visitSwitchStatement in interface Visitor.BlockStatementVisitor

visitSynchronizedStatement

public void visitSynchronizedStatement(Java.SynchronizedStatement ss)
Specified by:
visitSynchronizedStatement in interface Visitor.BlockStatementVisitor

visitThrowStatement

public void visitThrowStatement(Java.ThrowStatement ts)
Specified by:
visitThrowStatement in interface Visitor.BlockStatementVisitor

visitTryStatement

public void visitTryStatement(Java.TryStatement ts)
Specified by:
visitTryStatement in interface Visitor.BlockStatementVisitor

visitWhileStatement

public void visitWhileStatement(Java.WhileStatement ws)
Specified by:
visitWhileStatement in interface Visitor.BlockStatementVisitor

unparseVariableDeclarator

public void unparseVariableDeclarator(Java.VariableDeclarator vd)

unparseFormalParameter

public void unparseFormalParameter(Java.FunctionDeclarator.FormalParameter fp)

visitMethodInvocation

public void visitMethodInvocation(Java.MethodInvocation mi)
Specified by:
visitMethodInvocation in interface Visitor.RvalueVisitor

visitAlternateConstructorInvocation

public void visitAlternateConstructorInvocation(Java.AlternateConstructorInvocation aci)
Specified by:
visitAlternateConstructorInvocation in interface Visitor.BlockStatementVisitor

visitSuperConstructorInvocation

public void visitSuperConstructorInvocation(Java.SuperConstructorInvocation sci)
Specified by:
visitSuperConstructorInvocation in interface Visitor.BlockStatementVisitor

visitNewClassInstance

public void visitNewClassInstance(Java.NewClassInstance nci)
Specified by:
visitNewClassInstance in interface Visitor.RvalueVisitor

visitAssignment

public void visitAssignment(Java.Assignment a)
Specified by:
visitAssignment in interface Visitor.RvalueVisitor

visitAmbiguousName

public void visitAmbiguousName(Java.AmbiguousName an)
Specified by:
visitAmbiguousName in interface Visitor.LvalueVisitor

visitArrayAccessExpression

public void visitArrayAccessExpression(Java.ArrayAccessExpression aae)
Specified by:
visitArrayAccessExpression in interface Visitor.LvalueVisitor

visitArrayLength

public void visitArrayLength(Java.ArrayLength al)
Specified by:
visitArrayLength in interface Visitor.RvalueVisitor

visitArrayType

public void visitArrayType(Java.ArrayType at)
Specified by:
visitArrayType in interface Visitor.TypeVisitor

visitBasicType

public void visitBasicType(Java.BasicType bt)
Specified by:
visitBasicType in interface Visitor.TypeVisitor

visitBinaryOperation

public void visitBinaryOperation(Java.BinaryOperation bo)
Specified by:
visitBinaryOperation in interface Visitor.RvalueVisitor

visitCast

public void visitCast(Java.Cast c)
Specified by:
visitCast in interface Visitor.RvalueVisitor

visitClassLiteral

public void visitClassLiteral(Java.ClassLiteral cl)
Specified by:
visitClassLiteral in interface Visitor.RvalueVisitor

visitConditionalExpression

public void visitConditionalExpression(Java.ConditionalExpression ce)
Specified by:
visitConditionalExpression in interface Visitor.RvalueVisitor

visitCrement

public void visitCrement(Java.Crement c)
Specified by:
visitCrement in interface Visitor.RvalueVisitor

visitFieldAccess

public void visitFieldAccess(Java.FieldAccess fa)
Specified by:
visitFieldAccess in interface Visitor.LvalueVisitor

visitFieldAccessExpression

public void visitFieldAccessExpression(Java.FieldAccessExpression fae)
Specified by:
visitFieldAccessExpression in interface Visitor.LvalueVisitor

visitSuperclassFieldAccessExpression

public void visitSuperclassFieldAccessExpression(Java.SuperclassFieldAccessExpression scfae)
Specified by:
visitSuperclassFieldAccessExpression in interface Visitor.LvalueVisitor

visitInstanceof

public void visitInstanceof(Java.Instanceof io)
Specified by:
visitInstanceof in interface Visitor.RvalueVisitor

visitLiteral

public void visitLiteral(Java.Literal l)
Specified by:
visitLiteral in interface Visitor.RvalueVisitor

visitLocalVariableAccess

public void visitLocalVariableAccess(Java.LocalVariableAccess lva)
Specified by:
visitLocalVariableAccess in interface Visitor.LvalueVisitor

visitNewArray

public void visitNewArray(Java.NewArray na)
Specified by:
visitNewArray in interface Visitor.RvalueVisitor

visitNewInitializedArray

public void visitNewInitializedArray(Java.NewInitializedArray nai)
Specified by:
visitNewInitializedArray in interface Visitor.RvalueVisitor

visitPackage

public void visitPackage(Java.Package p)
Specified by:
visitPackage in interface Visitor.AtomVisitor

visitParameterAccess

public void visitParameterAccess(Java.ParameterAccess pa)
Specified by:
visitParameterAccess in interface Visitor.RvalueVisitor

visitQualifiedThisReference

public void visitQualifiedThisReference(Java.QualifiedThisReference qtr)
Specified by:
visitQualifiedThisReference in interface Visitor.RvalueVisitor

visitReferenceType

public void visitReferenceType(Java.ReferenceType rt)
Specified by:
visitReferenceType in interface Visitor.TypeVisitor

visitRvalueMemberType

public void visitRvalueMemberType(Java.RvalueMemberType rmt)
Specified by:
visitRvalueMemberType in interface Visitor.TypeVisitor

visitSimpleType

public void visitSimpleType(Java.SimpleType st)
Specified by:
visitSimpleType in interface Visitor.TypeVisitor

visitSuperclassMethodInvocation

public void visitSuperclassMethodInvocation(Java.SuperclassMethodInvocation smi)
Specified by:
visitSuperclassMethodInvocation in interface Visitor.RvalueVisitor

visitThisReference

public void visitThisReference(Java.ThisReference tr)
Specified by:
visitThisReference in interface Visitor.RvalueVisitor

visitUnaryOperation

public void visitUnaryOperation(Java.UnaryOperation uo)
Specified by:
visitUnaryOperation in interface Visitor.RvalueVisitor

visitParenthesizedExpression

public void visitParenthesizedExpression(Java.ParenthesizedExpression pe)
Specified by:
visitParenthesizedExpression in interface Visitor.LvalueVisitor

visitAnonymousClassDeclaration

public void visitAnonymousClassDeclaration(Java.AnonymousClassDeclaration acd)
Specified by:
visitAnonymousClassDeclaration in interface Visitor.TypeDeclarationVisitor

visitNewAnonymousClassInstance

public void visitNewAnonymousClassInstance(Java.NewAnonymousClassInstance naci)
Specified by:
visitNewAnonymousClassInstance in interface Visitor.RvalueVisitor


Copyright © 2001-2011. All Rights Reserved.