coins.cfront
クラス EncodedType

java.lang.Object
  |
  +--coins.cfront.EncodedType
すべての実装インタフェース:
TokenId, TypeId

class EncodedType
extends java.lang.Object
implements TokenId, TypeId


フィールドの概要
static int FUNCTION_TYPE_SIZE
           
 
インタフェース coins.ast.TokenId から継承したフィールド
AND_E, ANDAND, ARROW, ASM, AUTO, BAD_TOKEN, BREAK, CASE, CAST_OP, CHAR, CHAR_CONST, COND_OP, CONST, CONTINUE, DEFAULT, DIV_E, DO, DOUBLE, DOUBLE_CONST, ELLIPSIS, ELSE, ENUM, EOF, EQ, EXOR_E, EXTERN, FLOAT, FLOAT_CONST, FOR, FUNCALL, GE, GOTO, IDENTIFIER, IF, IGNORE, INDEX_OP, INLINE, INT, INT_CONST, LE, LONG, LONG_CONST, LONG_DOUBLE_CONST, LONGLONG_CONST, LSHIFT, LSHIFT_E, MINUS_E, MINUSMINUS, MOD_E, MUL_E, MUTABLE, NEQ, OR_E, OROR, PLUS_E, PLUSPLUS, PRAGMA, REGISTER, RESTRICT, RETURN, RSHIFT, RSHIFT_E, SHORT, SIGNED, SIZEOF, SKIP_GCC_ASM, SKIP_GCC_ATTRIBUTE, STATIC, STRING_L, STRING_WL, STRUCT, SWITCH, TYPEDEF, TYPEDEF_NAME, UINT_CONST, ULONG_CONST, ULONGLONG_CONST, UNION, UNSIGNED, VOID, VOLATILE, WHILE
 
インタフェース 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
 
コンストラクタの概要
(パッケージプライベート) EncodedType()
           
 
メソッドの概要
 void bePointer()
          Changes to be a pointer type if the type is an array type.
(パッケージプライベート)  void clear()
           
 long computeSizeof(Parser parser)
           
static long computeSizeof(Parser parser, byte[] type, int pos)
           
(パッケージプライベート)  void copy(EncodedType etype)
           
(パッケージプライベート)  boolean dereference()
           
(パッケージプライベート)  void ellipsisToVoid()
           
(パッケージプライベート)  byte[] get()
           
 EncodedType getArrayElemType()
           
 long getArrayParamSize()
          get/set array parameter size.
(パッケージプライベート)  int getArraySize()
           
 EncodedType getDeclaratorType(Declarator pDecl)
           
 EncodedType getReturnValueType()
           
(パッケージプライベート)  int getStorageClass()
           
(パッケージプライベート)  java.lang.String getTagName()
          Returns a struct/union/enum name.
(パッケージプライベート) static java.lang.String getTagName(byte[] type, int pos)
           
(パッケージプライベート)  int getTypeChar()
           
static int getTypeChar(byte[] type, int start)
          Returns the first character except const, volatile, signed, or unsigned.
(パッケージプライベート)  boolean hasIncompleteArray()
           
(パッケージプライベート)  void insert(byte[] b)
           
(パッケージプライベート)  void insert(char c)
           
(パッケージプライベート)  void insert(EncodedType etype)
           
(パッケージプライベート)  void insert(java.lang.String s)
           
(パッケージプライベート)  void insertArgTypes(OldFuncArgs args)
           
(パッケージプライベート)  void insertCv(int cv)
           
(パッケージプライベート)  void insertCv(int insertpos, int cv_t)
           
(パッケージプライベート)  void insertDim(long d)
           
(パッケージプライベート)  void insertEnum(java.lang.String name)
           
(パッケージプライベート)  void insertStruct(java.lang.String name)
           
(パッケージプライベート)  void insertUnion(java.lang.String name)
           
(パッケージプライベート)  boolean isArray()
           
static boolean isArray(byte[] type, int pos)
           
(パッケージプライベート)  boolean isChar()
           
static boolean isChar(byte[] type, int pos)
           
 boolean isDouble()
          isDouble:
static boolean isDouble(byte[] type, int pos)
           
 boolean isDoubleType()
           
 boolean isFloatType()
           
(パッケージプライベート)  boolean isFunction()
           
static boolean isFunction(byte[] type, int pos)
           
(パッケージプライベート)  boolean isIndex()
           
static boolean isIndex(byte[] type, int pos)
           
(パッケージプライベート)  boolean isInteger()
           
static boolean isInteger(byte[] type, int pos)
           
(パッケージプライベート)  boolean isLong()
           
static boolean isLong(byte[] type, int pos)
           
 boolean isLongDoubleType()
           
(パッケージプライベート)  boolean isLongLong()
           
static boolean isLongLong(byte[] type, int pos)
           
(パッケージプライベート)  boolean isNumber()
           
static boolean isNumber(byte[] type, int pos)
           
(パッケージプライベート)  boolean isPointer()
           
static boolean isPointer(byte[] type, int pos)
           
 boolean isSigned()
           
 boolean isStruct()
           
 boolean isValue()
           
static boolean isValue(byte[] type, int pos)
           
 boolean isValueOrFunction()
           
(パッケージプライベート)  boolean isVoid()
           
static boolean isVoid(byte[] type, int pos)
           
(パッケージプライベート)  void restore(int p)
           
(パッケージプライベート)  int save()
           
 void setArrayParamSize(long s)
           
(パッケージプライベート)  void setArraySize(int n, Lex lex)
           
(パッケージプライベート)  void setArraySizeIfCharArray(int n, Lex lex)
           
(パッケージプライベート)  void setStorageClass(int s)
           
(パッケージプライベート)  boolean toBePromotedToInteger()
           
static boolean toBePromotedToInteger(byte[] type, int pos)
           
(パッケージプライベート)  char top()
           
(パッケージプライベート)  boolean toReturnType()
           
 java.lang.String toString()
           
static java.lang.String toString(byte[] type)
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

FUNCTION_TYPE_SIZE

public static int FUNCTION_TYPE_SIZE
コンストラクタの詳細

EncodedType

EncodedType()
メソッドの詳細

clear

void clear()

top

char top()

copy

void copy(EncodedType etype)

insert

void insert(char c)

insert

void insert(java.lang.String s)

insert

void insert(byte[] b)

insert

void insert(EncodedType etype)

insertCv

void insertCv(int cv)

insertCv

void insertCv(int insertpos,
              int cv_t)

insertDim

void insertDim(long d)

setArraySize

void setArraySize(int n,
                  Lex lex)
            throws ParseError
ParseError

getArraySize

int getArraySize()

setArraySizeIfCharArray

void setArraySizeIfCharArray(int n,
                             Lex lex)
                       throws ParseError
ParseError

hasIncompleteArray

boolean hasIncompleteArray()

insertStruct

void insertStruct(java.lang.String name)

insertUnion

void insertUnion(java.lang.String name)

insertEnum

void insertEnum(java.lang.String name)

insertArgTypes

void insertArgTypes(OldFuncArgs args)

dereference

boolean dereference()

toReturnType

boolean toReturnType()

getTypeChar

int getTypeChar()

getTagName

java.lang.String getTagName()
Returns a struct/union/enum name.


getTagName

static java.lang.String getTagName(byte[] type,
                                   int pos)

save

int save()

restore

void restore(int p)

get

byte[] get()

getTypeChar

public static int getTypeChar(byte[] type,
                              int start)
Returns the first character except const, volatile, signed, or unsigned.

パラメータ:
type - encoded type

bePointer

public void bePointer()
Changes to be a pointer type if the type is an array type.


isSigned

public boolean isSigned()

isFunction

boolean isFunction()

isFunction

public static boolean isFunction(byte[] type,
                                 int pos)

isPointer

boolean isPointer()

isPointer

public static boolean isPointer(byte[] type,
                                int pos)

isArray

boolean isArray()

isArray

public static boolean isArray(byte[] type,
                              int pos)

isValue

public boolean isValue()

isValue

public static boolean isValue(byte[] type,
                              int pos)

isValueOrFunction

public boolean isValueOrFunction()

isLong

boolean isLong()

isLong

public static boolean isLong(byte[] type,
                             int pos)

isLongLong

boolean isLongLong()

isLongLong

public static boolean isLongLong(byte[] type,
                                 int pos)

isIndex

boolean isIndex()

isIndex

public static boolean isIndex(byte[] type,
                              int pos)

isInteger

boolean isInteger()

isInteger

public static boolean isInteger(byte[] type,
                                int pos)

toBePromotedToInteger

boolean toBePromotedToInteger()

toBePromotedToInteger

public static boolean toBePromotedToInteger(byte[] type,
                                            int pos)

isNumber

boolean isNumber()

isNumber

public static boolean isNumber(byte[] type,
                               int pos)

isDouble

public boolean isDouble()
isDouble:

戻り値:
true if float, double, or long double.

isDouble

public static boolean isDouble(byte[] type,
                               int pos)

isFloatType

public boolean isFloatType()

isDoubleType

public boolean isDoubleType()

isLongDoubleType

public boolean isLongDoubleType()

getArrayElemType

public EncodedType getArrayElemType()

getDeclaratorType

public EncodedType getDeclaratorType(Declarator pDecl)

isStruct

public boolean isStruct()

isChar

boolean isChar()

isChar

public static boolean isChar(byte[] type,
                             int pos)

isVoid

boolean isVoid()

isVoid

public static boolean isVoid(byte[] type,
                             int pos)

toString

public java.lang.String toString()
オーバーライド:
クラス java.lang.Object 内の toString

computeSizeof

public long computeSizeof(Parser parser)
                   throws ParseError
ParseError

computeSizeof

public static long computeSizeof(Parser parser,
                                 byte[] type,
                                 int pos)
                          throws ParseError
ParseError

toString

public static java.lang.String toString(byte[] type)

getArrayParamSize

public long getArrayParamSize()
get/set array parameter size.


setArrayParamSize

public void setArrayParamSize(long s)

getReturnValueType

public EncodedType getReturnValueType()

ellipsisToVoid

void ellipsisToVoid()

setStorageClass

void setStorageClass(int s)

getStorageClass

int getStorageClass()