coins.sym
クラス ParamImpl

java.lang.Object
  |
  +--coins.sym.SymImpl
        |
        +--coins.sym.VarImpl
              |
              +--coins.sym.ParamImpl
すべての実装インタフェース:
java.lang.Cloneable, FlowAnalSym, HasStringObject, Param, Sym, Sym0, Var

public class ParamImpl
extends VarImpl
implements Param

Param Class Param class (formal parameter class) interface. Anonymous parameter should be assigned a generated name.


フィールドの概要
protected  boolean fCallByReference
          fCallByReference true if call-by-reference, false if call-by-value.
protected  int fIndex
          Parameter index number
protected  boolean fOptional
          Optional parameter generated for "..." specification
 
クラス coins.sym.VarImpl から継承したフィールド
fDefList, fDefUseList, fOperandSet, fUseList
 
クラス coins.sym.SymImpl から継承したフィールド
fDbgLevel, fDefinedIn, fFlagBox, fKind, fName, fNextSym, fRecordedIn, fSourceInf, fSymInf, fType, fUniqueNameSym, fWork, machineParam, sourceLanguage, symRoot
 
インタフェース coins.sym.Var から継承したフィールド
STORAGECLASS, VAR_AUTO, VAR_REGISTER, VAR_STATIC
 
インタフェース coins.sym.Sym から継承したフィールド
KIND_NAME, VISIBILITY
 
インタフェース coins.sym.Sym0 から継承したフィールド
FLAG_ADDRESS_TAKEN, FLAG_CASTLESS_SUBP, FLAG_COMMON, FLAG_COMPLEX_STRUCT, FLAG_DERIVED_SYM, FLAG_GENERATED_SYM, FLAG_INCOMPLETE_TYPE, FLAG_POINTER_OPERATION, FLAG_REGION_ELEM, FLAG_RESERVED_NAME, FLAG_SIZEOF_TAKEN, FLAG_UNFIXED_SIZE, FLAG_UNIFORM_SIZE, FLAG_VALUE_IS_ASSIGNED, KIND_AREG, KIND_BOOL_CONST, KIND_CHAR_CONST, KIND_CONST_FIRST, KIND_CONST_LAST, KIND_ELEM, KIND_EXP_ID, KIND_FLOAT_CONST, KIND_INT_CONST, KIND_LABEL, KIND_MREG, KIND_NAMED_CONST, KIND_OTHER, KIND_PARAM, KIND_REMOVED, KIND_STRING_CONST, KIND_SUBP, KIND_TAG, KIND_TYPE, KIND_VAR, SYM_COMPILE_UNIT, SYM_EXTERN, SYM_PRIVATE, SYM_PROTECTED, SYM_PUBLIC
 
コンストラクタの概要
ParamImpl(SymRoot pSymRoot)
           
ParamImpl(SymRoot pSymRoot, java.lang.String pParamName, int pIndex, Sym pDefinedIn)
           
ParamImpl(SymRoot pSymRoot, java.lang.String pParamName, Sym pDefinedIn)
           
 
メソッドの概要
 Param generateOptionalParam()
           
 long getArrayParamSize()
          get array parameter size.
 int getParamIndex()
          getParamIndex Get parameter index.
 Subp getSubp()
          getSubp
 boolean isCallByReference()
          true if this parameter is call-by-reference, false otherwise.
 boolean isCallByValue()
          true if this parameter is call-by-value, false otherwise.
 boolean isOptionalParam()
          isOptionalParam (##2) See if this is optional parameter generated for "..." specification.
 void markAsCallByReference()
          Mark this parameter as call-by-reference
 void markAsCallByValue()
          Mark this parameter as call-by-value
 void markAsOptional()
          markAsOptional Mark this parameter as optional.
 void setArrayParamSize(long s)
          set array parameter size.
 void setParamIndex(int pIndex)
          setParamIndex Set parameter index.
 
クラス coins.sym.VarImpl から継承したメソッド
addOperand, evaluateAsObject, getDimension, getIndex, getInitialValue, getNext, getOperandSet, getSize, getStorageClass, getVisibility, isSizeEvaluable, resetFlowAnalInf, setIndex, setInitialValue, setNext, setStorageClass, setVisibility, toStringDetail
 
クラス coins.sym.SymImpl から継承したメソッド
bareStringConst, baseType, boolConst, charConst, charConst, charConst, definedType, definedType, defineElem, defineLabel, defineParam, defineRegionVar, defineSubp, defineVar, defineVar, derivedSym, enumType, enumType, floatConst, floatConst, getDefinedColumn, getDefinedFile, getDefinedIn, getDefinedInName, getDefinedLine, getFlag, getInf, getName, getNameOrNull, getNextSym, getOrAddInf, getOriginalSym, getOriginalSym, getPureName, getRecordedIn, getSourceInf, getSymKind, getSymKindName, getSymType, getUniqueName, getWork, intConst, intConst, intObject, isGlobal, isHIR, isRemoved, isSym, linkSym, makeCstring, makeCstringWithTrailing0, makeEnumTypeName, makeExpString, makeJavaString, makeStructUnionTypeName, makeSubpTypeName, makeSubpTypeName, makeVectorTypeName, makeVectorTypeName, makeVectorTypeName, namedConst, namedConst, pointerType, pointerType, pointerType, pointerType, pointerType, print, print, regionType, regionType, remove, setDefinedFile, setDefinedIn, setDefinedLine, setFlag, setOriginalSym, setParameters, setRecordedIn, setSourceInf, setSymKind, setSymType, setUniqueNameSym, setWork, stringConst, stringConstFromQuotedString, structType, structType, subpType, subpType, symbol, toString, toStringShort, unionType, unionType, vectorType, vectorType, vectorType, vectorType, vectorTypeUnfixed, vectorTypeUnfixed
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース coins.sym.Var から継承したメソッド
evaluateAsObject, getDimension, getInitialValue, getNext, getSize, getStorageClass, getVisibility, isSizeEvaluable, setInitialValue, setNext, setStorageClass, setVisibility
 
インタフェース coins.sym.Sym から継承したメソッド
baseType, boolConst, charConst, defineVar, derivedSym, floatConst, getDefinedColumn, getDefinedInName, getDefinedLine, getInf, getNameOrNull, getOrAddInf, getOriginalSym, getOriginalSym, getPureName, getSymKindName, getWork, intConst, intObject, isRemoved, makeCstring, makeCstringWithTrailing0, makeEnumTypeName, makeJavaString, makeStructUnionTypeName, makeSubpTypeName, makeVectorTypeName, makeVectorTypeName, makeVectorTypeName, namedConst, pointerType, pointerType, pointerType, regionType, remove, setDefinedFile, setDefinedIn, setDefinedLine, setRecordedIn, setSymKind, setSymType, setUniqueNameSym, setWork, stringConstFromQuotedString, symbol, toStringDetail, toStringShort, vectorType, vectorType, vectorType, vectorTypeUnfixed
 
インタフェース coins.sym.Sym0 から継承したメソッド
charConst, definedType, defineElem, defineLabel, defineParam, defineSubp, defineVar, enumType, floatConst, getDefinedFile, getDefinedIn, getFlag, getName, getNextSym, getRecordedIn, getSymKind, getSymType, getUniqueName, intConst, isGlobal, namedConst, pointerType, setFlag, stringConst, structType, subpType, unionType, vectorType, vectorTypeUnfixed
 

フィールドの詳細

fIndex

protected int fIndex
Parameter index number


fOptional

protected boolean fOptional
Optional parameter generated for "..." specification


fCallByReference

protected boolean fCallByReference
fCallByReference true if call-by-reference, false if call-by-value.

コンストラクタの詳細

ParamImpl

public ParamImpl(SymRoot pSymRoot)

ParamImpl

public ParamImpl(SymRoot pSymRoot,
                 java.lang.String pParamName,
                 Sym pDefinedIn)

ParamImpl

public ParamImpl(SymRoot pSymRoot,
                 java.lang.String pParamName,
                 int pIndex,
                 Sym pDefinedIn)
メソッドの詳細

getParamIndex

public int getParamIndex()
getParamIndex Get parameter index. "this" should be a Param (parameter) symbol. See setNextVar(...), DefinedIn( ) which will set the index value.

定義:
インタフェース Param 内の getParamIndex
戻り値:
parameter index (1: first parameter, 2: second parameter, 3: third parameter, etc. in DefinedIn( ) subprogram).

setParamIndex

public void setParamIndex(int pIndex)
インタフェース Param の記述:
setParamIndex Set parameter index. See setNextVar(...), DefinedIn( ).

定義:
インタフェース Param 内の setParamIndex
パラメータ:
pIndex - index value to be set to this parameter.
戻り値:
parameter index (1: first parameter, 2: second parameter, : third parameter, etc. in DefinedIn( ) subprogram).

generateOptionalParam

public Param generateOptionalParam()

isOptionalParam

public boolean isOptionalParam()
isOptionalParam (##2) See if this is optional parameter generated for "..." specification. "this" should be a Param (parameter) symbol.

定義:
インタフェース Param 内の isOptionalParam
戻り値:
true if this is an optional paramater generated by setOptionalParam in SubpInterface, false otherwise.

markAsOptional

public void markAsOptional()
インタフェース Param の記述:
markAsOptional Mark this parameter as optional.

定義:
インタフェース Param 内の markAsOptional

markAsCallByReference

public void markAsCallByReference()
インタフェース Param の記述:
Mark this parameter as call-by-reference

定義:
インタフェース Param 内の markAsCallByReference

markAsCallByValue

public void markAsCallByValue()
インタフェース Param の記述:
Mark this parameter as call-by-value

定義:
インタフェース Param 内の markAsCallByValue

isCallByReference

public boolean isCallByReference()
インタフェース Param の記述:
true if this parameter is call-by-reference, false otherwise.

定義:
インタフェース Param 内の isCallByReference

isCallByValue

public boolean isCallByValue()
インタフェース Param の記述:
true if this parameter is call-by-value, false otherwise.

定義:
インタフェース Param 内の isCallByValue

getSubp

public Subp getSubp()
インタフェース Param の記述:
getSubp

定義:
インタフェース Param 内の getSubp
戻り値:
the subprogram defining this parameter.

getArrayParamSize

public long getArrayParamSize()
インタフェース Param の記述:
get array parameter size.

定義:
インタフェース Param 内の getArrayParamSize
戻り値:
array parameter size

setArrayParamSize

public void setArrayParamSize(long s)
インタフェース Param の記述:
set array parameter size.

定義:
インタフェース Param 内の setArrayParamSize
パラメータ:
s - array parameter size