coins.ast
クラス Function

java.lang.Object
  |
  +--coins.ast.ASTree
        |
        +--coins.ast.Function
すべての実装インタフェース:
java.io.Serializable, Stmnt, TypeId

public class Function
extends ASTree
implements TypeId, Stmnt

Declaration of a function.

関連項目:
直列化された形式

フィールドの概要
 
インタフェース coins.ast.TypeId から継承したフィールド
ARRAY_T, CHAR_T, CONST_T, DOUBLE_T, ELLIPSIS_T, ENUM_BEGIN, ENUM_END, FLOAT_T, FUNCTION_T, INT_T, LONG_DOUBLE_T, LONG_LONG_T, LONG_T, NO_DIMENSION_T, OFFSET_T, POINTER_T, RESTRICT_T, RETURN_T, S_AUTO, S_EXTERN, S_INLINE, S_NONE, S_REGISTER, S_STATIC, SHORT_T, SIGNED_T, SIZE_T, STRUCT_BEGIN, STRUCT_END, UNION_BEGIN, UNION_END, UNSIGNED_T, VOID_T, VOLATILE_T
 
コンストラクタの概要
Function(Declarator decl, Stmnt body)
          Constructs a function.
 
メソッドの概要
 void accept(Visitor v)
          Is a method for the visitor pattern.
 java.lang.String fileName()
          Returns the file name including the statement.
 DeclaratorList getArguments()
          Returns the argument list.
 Stmnt getBody()
          Returns the function body.
 ASTree getLeft()
          Returns an argument list.
 java.lang.String getName()
          Returns the function name.
 ASTree getRight()
          Returns a function body.
 int getStorage()
          Returns the storage specifiers.
protected  java.lang.String getTag()
          Returns the type of this node.
 byte[] getType()
          Returns the encoded function type.
 int lineNumber()
          Returns the line number of the statement.
protected  void putSeparator(java.lang.StringBuffer sbuf)
           
 void setLeft(ASTree _left)
           
 void setRight(ASTree _right)
           
 
クラス coins.ast.ASTree から継承したメソッド
rightToString, toString, toString1
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Function

public Function(Declarator decl,
                Stmnt body)
Constructs a function.

Note: to parse a function declaration, the parser first tries to construct Declarator object but it discards that object and constructs Function object for substitution.

パラメータ:
decl - the function name, the return type, and the argument list.
body - the function body.
メソッドの詳細

getLeft

public ASTree getLeft()
Returns an argument list.

定義:
クラス ASTree 内の getLeft

getRight

public ASTree getRight()
Returns a function body.

定義:
クラス ASTree 内の getRight

setLeft

public void setLeft(ASTree _left)
定義:
クラス ASTree 内の setLeft

setRight

public void setRight(ASTree _right)
定義:
クラス ASTree 内の setRight

accept

public void accept(Visitor v)
クラス ASTree の記述:
Is a method for the visitor pattern. It calls atXXX() on the given visitor, where XXX is the class name of the node object.

定義:
クラス ASTree 内の accept

fileName

public java.lang.String fileName()
インタフェース Stmnt の記述:
Returns the file name including the statement.

定義:
インタフェース Stmnt 内の fileName

lineNumber

public int lineNumber()
インタフェース Stmnt の記述:
Returns the line number of the statement.

定義:
インタフェース Stmnt 内の lineNumber

getName

public java.lang.String getName()
Returns the function name.


getType

public byte[] getType()
Returns the encoded function type. See ast.TypeId


getStorage

public int getStorage()
Returns the storage specifiers. See ast.TypeId


getArguments

public DeclaratorList getArguments()
Returns the argument list.


getBody

public Stmnt getBody()
Returns the function body.


getTag

protected java.lang.String getTag()
クラス ASTree の記述:
Returns the type of this node. This method is used by toString().

オーバーライド:
クラス ASTree 内の getTag

putSeparator

protected void putSeparator(java.lang.StringBuffer sbuf)
オーバーライド:
クラス ASTree 内の putSeparator