coins.ir.hir
クラス ExpListExpImpl

java.lang.Object
  |
  +--coins.ir.hir.HIR_Impl
        |
        +--coins.ir.hir.ExpImpl
              |
              +--coins.ir.hir.ExpListExpImpl
すべての実装インタフェース:
java.lang.Cloneable, Exp, ExpListExp, HasStringObject, HIR, HIR0, HirList, IR, IR0, IrList

public class ExpListExpImpl
extends ExpImpl
implements ExpListExp

ExpListExpImpl Expression representing a list of expressions (Exp). Its operator is OP_EXPLIST. This is used to represent a list of initial values. The element of the list may be a repetition specification that specifies repetition count (as child 1) and elements to be repeated (as child 2).


フィールドの概要
(パッケージプライベート)  java.util.LinkedList values
           
 
クラス coins.ir.hir.HIR_Impl から継承したフィールド
fAdditionalChild, fChildCount, fChildNode1, fChildNode2, fDbgLevel, fHirAnnex, fOperator, fParentNode, fType, hirRoot, inversionTable, machineParam, sourceLanguage
 
インタフェース coins.ir.hir.HIR から継承したフィールド
OP_CODE_NAME, OP_CODE_NAME_DENSE
 
インタフェース coins.ir.IR から継承したフィールド
OP_INF, OP_LIST, OP_PROG, OP_SUBP_DEF
 
インタフェース coins.ir.hir.HIR0 から継承したフィールド
FLAG_C_PTR, FLAG_CONST_EXP, FLAG_INIT_BLOCK, FLAG_LOOP_WITH_CONDITIONAL_INIT, FLAG_NOCHANGE, FLAG_NONTERMINAL, OP_ADD, OP_ADD_ASSIGN, OP_ADDR, OP_AND, OP_AND_ASSIGN, OP_ARROW, OP_ASM, OP_ASSIGN, OP_BLOCK, OP_CALL, OP_CMP_EQ, OP_CMP_GE, OP_CMP_GT, OP_CMP_LE, OP_CMP_LT, OP_CMP_NE, OP_COMMA, OP_CONST, OP_CONTENTS, OP_CONV, OP_DECAY, OP_DIV, OP_DIV_ASSIGN, OP_ELEM, OP_ENCLOSE, OP_EQ_ZERO, OP_EXP_STMT, OP_EXPLIST, OP_EXPREPEAT, OP_FOR, OP_IF, OP_INDEX, OP_INDEXED_LOOP, OP_JUMP, OP_LABEL, OP_LABEL_DEF, OP_LABELED_STMT, OP_LG_AND, OP_LG_OR, OP_MOD, OP_MOD_ASSIGN, OP_MULT, OP_MULT_ASSIGN, OP_NEG, OP_NOT, OP_NULL, OP_OFFSET, OP_OR, OP_OR_ASSIGN, OP_PARAM, OP_PHI, OP_POST_DECR, OP_POST_INCR, OP_PRE_DECR, OP_PRE_INCR, OP_QUAL, OP_REPEAT, OP_RETURN, OP_SELECT, OP_SEQ, OP_SETDATA, OP_SHIFT_L_ASSIGN, OP_SHIFT_LL, OP_SHIFT_R, OP_SHIFT_R_ASSIGN, OP_SHIFT_RL, OP_SIZEOF, OP_STMT, OP_STMT_UPPER, OP_SUB, OP_SUB_ASSIGN, OP_SUBP, OP_SUBS, OP_SWITCH, OP_SYM, OP_TYPE, OP_UNDECAY, OP_UNTIL, OP_VAR, OP_WHILE, OP_XOR, OP_XOR_ASSIGN
 
コンストラクタの概要
ExpListExpImpl(HirRoot pHirRoot, java.util.List list)
           
 
メソッドの概要
 void add(int pInsertionPosition, java.lang.Object pObjectToBeInserted)
           
 void add(java.lang.Object pElement)
           Specifications of following methods are the same to those of List in java.util.
 void clear()
           
 java.lang.Object clone()
          clone Override Object.clone in HIR.
 boolean contains(java.lang.Object pObject)
           
 java.lang.Object get(int pIndex)
           
 Exp getExp(int index)
          getExp Get the i-th element of the expression list, where i is given by the parameter pIndex.
 java.lang.Object getFirst()
           
 Exp getWithRepeat(int index)
          getWithRepeat Get the i-th final element of the expression list assuming as if the nest of list is expanded, where i is given by the parameter pIndex.
 HirList hirListClone()
          hirListClone Make the clone of this node to get a clone in the situation where clone() can not be used directly.
 int indexOf(java.lang.Object pObject)
           
 boolean isEmpty()
           
 java.util.ListIterator iterator()
          Make iterator to traverse all elements of the list.
 int length()
          length
 void print(int indent)
          Print the list enclosing the string images of all elements by parenthesis.
 void print(int indent, boolean detail)
          Print the list enclosing the detailed string images of all elements by parenthesis.
 java.lang.Object remove(int pRemovePosition)
           
 boolean remove(java.lang.Object pObject)
           
 void set(int pIndex, java.lang.Object pElement)
           
 void setExp(int index, Exp exp)
          set Set pExp as pIndex-th element of the expression list.
 int size()
          size
 java.lang.String toStringWithChildren()
          toStringWithChildren Get the string of this node and its children traversing the children in depth-first order.
 
クラス coins.ir.hir.ExpImpl から継承したメソッド
accept, adjustTypesOfBinaryOperands, evaluate, evaluateAsDouble, evaluateAsFloat, evaluateAsInt, evaluateAsLong, findSubpType, fold, getActualParamList, getArrayExp, getConstSym, getElem, getElemSizeExp, getExp1, getExp2, getLabel, getPointedElem, getPointerExp, getQualifiedElem, getQualifierExp, getSubp, getSubpSpec, getSubscriptExp, getSym, getValueString, getVar, initiateArray, isEvaluable, isLValue
 
クラス coins.ir.hir.HIR_Impl から継承したメソッド
addInf, addrExp, asmStmt, assignStmt, blockStmt, callStmt, checkLinkage, conditionalExp, conditionalExp1, constNode, contains, contentsExp, convExp, copyInfListFrom, copyWithOperands, copyWithOperandsChangingLabels, cutParentLink, cutParentLink, decayExp, elemNode, exp, exp, exp, expList, expRepeat, expStmt, falseNode, fatalError, finishHir, flagsAreAllFalse, forStmt, forStmt, functionExp, getChild, getChild1, getChild2, getChildCount, getChildNumber, getClone, getExpId, getFlag, getFlagBox, getFlowAnalSym, getIndentSpace, getIndex, getInf, getInfList, getInfString, getIrName, getNextNode, getNextNodeSeeingAncestor, getNextStmt, getOperator, getParent, getResultOperand, getResultVar, getSourceNode, getSourceNode1, getSourceNode2, getStmtContainingThisNode, getSymOrExpId, getType, getWork, hirClone, hirIterator, hirList, hirNodeClone, hirSeq, hirSeq, hirSeq, ifStmt, indexedLoopStmt, indexedLoopStmt, infStmt, infStmt, intConstNode, intConstNode, irList, irList, isEmpty, isHIR, isLIR, isSameAs, isStmt, isSym, isTerminal, isTree, isTree, jumpStmt, labelDef, labeledStmt, labelNode, nullNode, nullStmt, offsetConstNode, phiExp, pointedExp, program, qualifiedExp, removeInf, repeatStmt, repeatStmt, replaceOperator, replaceResultOperand, replaceResultVar, replaceSource, replaceSource1, replaceSource2, replaceThisNode, returnStmt, returnStmt, setChild, setChild1, setChild2, setChildren, setChildren, setChildren, setChildren, setDataStmt, setFlag, setIndex, setIndexNumberToAllNodes, setIndexNumberToAllNodes, setIndexNumberToAllNodes2, setParameters, setParent, setType, setWork, severeError, sizeofExp, sizeofExp, slightError, subpDefinition, subpDefinition, subpDefinition, subpIterator, subpNode, subscriptedExp, subscriptedExp, switchStmt, symNode, toString, toStringDetail, toStringShort, trueNode, typeNode, undecayExp, undecayExp, undecayExp, undecayExp, varNode, warinig, whileStmt, whileStmt, withInf
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース coins.ir.hir.ExpListExp から継承したメソッド
toString
 
インタフェース coins.ir.hir.Exp から継承したメソッド
adjustTypesOfBinaryOperands, evaluate, evaluateAsDouble, evaluateAsFloat, evaluateAsInt, evaluateAsLong, findSubpType, fold, getActualParamList, getArrayExp, getConstSym, getElem, getElemSizeExp, getExp1, getExp2, getLabel, getPointedElem, getPointerExp, getQualifiedElem, getQualifierExp, getSubp, getSubpSpec, getSubscriptExp, getValueString, getVar, initiateArray, isEvaluable
 
インタフェース coins.ir.hir.HIR から継承したメソッド
addrExp, asmStmt, checkLinkage, conditionalExp, contains, copyInfListFrom, cutParentLink, exp, expList, expRepeat, forStmt, getExpId, getFlowAnalSym, getIndentSpace, getInfString, getIrName, getSourceNode, getSourceNode1, getSourceNode2, getSymOrExpId, getWork, hirNodeClone, hirSeq, hirSeq, indexedLoopStmt, indexedLoopStmt, infStmt, infStmt, intConstNode, irList, isEmpty, isStmt, isTree, nullNode, nullStmt, offsetConstNode, phiExp, repeatStmt, replaceSource, replaceSource1, replaceSource2, returnStmt, setChild1, setChild2, setChildren, setChildren, setDataStmt, setIndex, setIndexNumberToAllNodes, setParent, setType, setWork, subpDefinition, subpIterator, subscriptedExp, toStringDetail, toStringShort, undecayExp, undecayExp, undecayExp, whileStmt
 
インタフェース coins.ir.IR から継承したメソッド
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, removeInf
 
インタフェース coins.ir.IR0 から継承したメソッド
getChild, getChildCount, getIndex, getOperator, setChild
 
インタフェース coins.ir.hir.HIR0 から継承したメソッド
accept, assignStmt, blockStmt, callStmt, constNode, contentsExp, convExp, copyWithOperands, copyWithOperandsChangingLabels, decayExp, elemNode, exp, exp, expStmt, falseNode, finishHir, forStmt, functionExp, getChildNumber, getFlag, getFlagBox, getNextStmt, getStmtContainingThisNode, getType, hirClone, hirIterator, hirList, hirSeq, ifStmt, intConstNode, irList, isSameAs, jumpStmt, labelDef, labeledStmt, labelNode, pointedExp, program, qualifiedExp, repeatStmt, replaceThisNode, returnStmt, setFlag, setIndexNumberToAllNodes, sizeofExp, sizeofExp, subpDefinition, subpNode, subscriptedExp, switchStmt, symNode, trueNode, undecayExp, varNode, whileStmt
 
インタフェース coins.ir.IrList から継承したメソッド
getClone, toStringShort
 

フィールドの詳細

values

java.util.LinkedList values
コンストラクタの詳細

ExpListExpImpl

public ExpListExpImpl(HirRoot pHirRoot,
                      java.util.List list)
メソッドの詳細

size

public int size()
インタフェース ExpListExp の記述:
size

定義:
インタフェース ExpListExp 内の size
戻り値:
the size (number of elements) of the expression list.

length

public int length()
インタフェース ExpListExp の記述:
length

定義:
インタフェース ExpListExp 内の length
戻り値:
the length (number of elements) of the expression list.

getExp

public Exp getExp(int index)
インタフェース ExpListExp の記述:
getExp Get the i-th element of the expression list, where i is given by the parameter pIndex. If there is no i-th element, return null.

定義:
インタフェース ExpListExp 内の getExp
パラメータ:
index - element index number.
戻り値:
the pIndex-th element of the expression list.

getWithRepeat

public Exp getWithRepeat(int index)
インタフェース ExpListExp の記述:
getWithRepeat
 Get the i-th final element of the expression list assuming as if
 the nest of list is expanded, where i is given by the parameter
 pIndex.
 If the i-th element is (exprepeatCode n elem), then
 elem is assumed to be repeated n-times and its first one
 is treated as the i-th element.
 If there is no i-th element, return null.
 The end of list may be detected by encountering null
 as the return value of getWithRepeat method.
 Example
   Given list:
     (OP_EXPLIST c1 c2 (OP_EXPREPEAT c3 c4) c5)
   Sequence of Exp to be get by getWithRepeat:
     c1 c2 c4 c4 c4 c5
   where, each of c1, c2, c3, c4, c5 represents constant expression
   whose value is 1, 2, 3, 4, 5 respectively.

定義:
インタフェース ExpListExp 内の getWithRepeat
パラメータ:
index - index number corresponding to the element to be returned.
戻り値:
the pIndex-th element of the expression list; if there is no pIndex-th element, then return null.

setExp

public void setExp(int index,
                   Exp exp)
インタフェース ExpListExp の記述:
set Set pExp as pIndex-th element of the expression list. If there is no pIndex-th element in the list, then do nothing.

定義:
インタフェース ExpListExp 内の setExp
パラメータ:
index - index number corresponding to the element to be set.
exp - element to be set.

set

public void set(int pIndex,
                java.lang.Object pElement)
定義:
インタフェース HirList 内の set

add

public void add(java.lang.Object pElement)
インタフェース HirList の記述:
 Specifications of following methods are the same
  to those of List in java.util.
    add
    isEmpty
    size
    contains
    indexOf
    remove
    listIterator

定義:
インタフェース HirList 内の add

add

public void add(int pInsertionPosition,
                java.lang.Object pObjectToBeInserted)
定義:
インタフェース HirList 内の add

getFirst

public java.lang.Object getFirst()
定義:
インタフェース HirList 内の getFirst

get

public java.lang.Object get(int pIndex)
定義:
インタフェース HirList 内の get

isEmpty

public boolean isEmpty()
定義:
インタフェース HirList 内の isEmpty

contains

public boolean contains(java.lang.Object pObject)
定義:
インタフェース HirList 内の contains

indexOf

public int indexOf(java.lang.Object pObject)
定義:
インタフェース HirList 内の indexOf

remove

public java.lang.Object remove(int pRemovePosition)
定義:
インタフェース HirList 内の remove

remove

public boolean remove(java.lang.Object pObject)
定義:
インタフェース HirList 内の remove

clear

public void clear()
定義:
インタフェース IrList 内の clear

iterator

public java.util.ListIterator iterator()
インタフェース ExpListExp の記述:
Make iterator to traverse all elements of the list.

定義:
インタフェース ExpListExp 内の iterator
戻り値:
the iterator.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
クラス HIR_Impl の記述:
clone Override Object.clone in HIR.

オーバーライド:
クラス HIR_Impl 内の clone
戻り値:
cloned HIR object.
例外:
java.lang.CloneNotSupportedException

hirListClone

public HirList hirListClone()
                     throws java.lang.CloneNotSupportedException
インタフェース HirList の記述:
hirListClone Make the clone of this node to get a clone in the situation where clone() can not be used directly.

定義:
インタフェース HirList 内の hirListClone
戻り値:
the clone of this node.
java.lang.CloneNotSupportedException

print

public void print(int indent)
インタフェース ExpListExp の記述:
Print the list enclosing the string images of all elements by parenthesis. The start column is indicated by pIndent.

定義:
インタフェース ExpListExp 内の print
オーバーライド:
クラス HIR_Impl 内の print
パラメータ:
indent - the start column to print.

print

public void print(int indent,
                  boolean detail)
インタフェース ExpListExp の記述:
Print the list enclosing the detailed string images of all elements by parenthesis. The start column is indicated by pIndent.

定義:
インタフェース ExpListExp 内の print
オーバーライド:
クラス HIR_Impl 内の print

toStringWithChildren

public java.lang.String toStringWithChildren()
インタフェース HIR の記述:
toStringWithChildren Get the string of this node and its children traversing the children in depth-first order. The result is shown in compact form.

定義:
インタフェース HIR 内の toStringWithChildren
オーバーライド:
クラス HIR_Impl 内の toStringWithChildren
戻り値:
the string of this node and its children.