minijava.syntaxtree
Class MethodDeclaration

java.lang.Object
  extended by minijava.syntaxtree.MethodDeclaration
All Implemented Interfaces:
java.io.Serializable, Node

public class MethodDeclaration
extends java.lang.Object
implements Node

Grammar production:

 nodeToken -> "public"
 type -> Type()
 identifier -> Identifier()
 nodeToken1 -> "("
 nodeOptional -> ( FormalParameterList() )?
 nodeToken2 -> ")"
 nodeToken3 -> "{"
 nodeListOptional -> ( VarDeclaration() )*
 nodeListOptional1 -> ( Statement() )*
 nodeToken4 -> "return"
 expression -> Expression()
 nodeToken5 -> ";"
 nodeToken6 -> "}"
 

See Also:
Serialized Form

Field Summary
 Expression expression
           
 Identifier identifier
           
 NodeListOptional nodeListOptional
           
 NodeListOptional nodeListOptional1
           
 NodeOptional nodeOptional
           
 NodeToken nodeToken
           
 NodeToken nodeToken1
           
 NodeToken nodeToken2
           
 NodeToken nodeToken3
           
 NodeToken nodeToken4
           
 NodeToken nodeToken5
           
 NodeToken nodeToken6
           
 Type type
           
 
Constructor Summary
MethodDeclaration(NodeToken n0, Type n1, Identifier n2, NodeToken n3, NodeOptional n4, NodeToken n5, NodeToken n6, NodeListOptional n7, NodeListOptional n8, NodeToken n9, Expression n10, NodeToken n11, NodeToken n12)
           
MethodDeclaration(Type n0, Identifier n1, NodeOptional n2, NodeListOptional n3, NodeListOptional n4, Expression n5)
           
 
Method Summary
<R> R
accept(GJNoArguVisitor<R> v)
           
<R,A> R
accept(GJVisitor<R,A> v, A argu)
           
<A> void
accept(GJVoidVisitor<A> v, A argu)
           
 void accept(Visitor v)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nodeToken

public NodeToken nodeToken

type

public Type type

identifier

public Identifier identifier

nodeToken1

public NodeToken nodeToken1

nodeOptional

public NodeOptional nodeOptional

nodeToken2

public NodeToken nodeToken2

nodeToken3

public NodeToken nodeToken3

nodeListOptional

public NodeListOptional nodeListOptional

nodeListOptional1

public NodeListOptional nodeListOptional1

nodeToken4

public NodeToken nodeToken4

expression

public Expression expression

nodeToken5

public NodeToken nodeToken5

nodeToken6

public NodeToken nodeToken6
Constructor Detail

MethodDeclaration

public MethodDeclaration(NodeToken n0,
                         Type n1,
                         Identifier n2,
                         NodeToken n3,
                         NodeOptional n4,
                         NodeToken n5,
                         NodeToken n6,
                         NodeListOptional n7,
                         NodeListOptional n8,
                         NodeToken n9,
                         Expression n10,
                         NodeToken n11,
                         NodeToken n12)

MethodDeclaration

public MethodDeclaration(Type n0,
                         Identifier n1,
                         NodeOptional n2,
                         NodeListOptional n3,
                         NodeListOptional n4,
                         Expression n5)
Method Detail

accept

public void accept(Visitor v)
Specified by:
accept in interface Node

accept

public <R,A> R accept(GJVisitor<R,A> v,
                      A argu)
Specified by:
accept in interface Node

accept

public <R> R accept(GJNoArguVisitor<R> v)
Specified by:
accept in interface Node

accept

public <A> void accept(GJVoidVisitor<A> v,
                       A argu)
Specified by:
accept in interface Node