coins.sym
Interface Param

All Superinterfaces:
Sym, Sym0, Var
All Known Implementing Classes:
ParamImpl

public interface Param
extends Var

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


Field Summary
 
Fields inherited from interface coins.sym.Var
STORAGECLASS, VAR_AUTO, VAR_REGISTER, VAR_STATIC
 
Fields inherited from interface coins.sym.Sym
KIND_NAME, VISIBILITY
 
Fields inherited from interface 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
 
Method Summary
 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.
 
Methods inherited from interface coins.sym.Var
evaluateAsObject, getDimension, getInitialValue, getNext, getSize, getStorageClass, getVisibility, isSizeEvaluable, setInitialValue, setNext, setStorageClass, setVisibility
 
Methods inherited from interface 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
 
Methods inherited from interface 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
 

Method Detail

getParamIndex

public int getParamIndex()
getParamIndex Get parameter index. See setNextVar(...), DefinedIn( ).

Returns:
parameter index (1: first parameter, 2: second parameter, 3: third parameter, etc. in DefinedIn( ) subprogram).

setParamIndex

public void setParamIndex(int pIndex)
setParamIndex Set parameter index. See setNextVar(...), DefinedIn( ).

Parameters:
pIndex - index value to be set to this parameter.
Returns:
parameter index (1: first parameter, 2: second parameter, : third parameter, etc. in DefinedIn( ) subprogram).

isOptionalParam

public boolean isOptionalParam()
isOptionalParam (##2) See if this is optional parameter generated for "..." specification. See setOptionalParam in Subp.

Returns:
true if this is an optional paramater generated by setOptionalParam in SubpInterface, false otherwise.

markAsOptional

public void markAsOptional()
markAsOptional Mark this parameter as optional.


markAsCallByReference

public void markAsCallByReference()
Mark this parameter as call-by-reference


markAsCallByValue

public void markAsCallByValue()
Mark this parameter as call-by-value


isCallByReference

public boolean isCallByReference()
true if this parameter is call-by-reference, false otherwise.


isCallByValue

public boolean isCallByValue()
true if this parameter is call-by-value, false otherwise.


getSubp

public Subp getSubp()
getSubp

Returns:
the subprogram defining this parameter.

getArrayParamSize

public long getArrayParamSize()
get array parameter size.

Returns:
array parameter size

setArrayParamSize

public void setArrayParamSize(long s)
set array parameter size.

Parameters:
s - array parameter size