coins.ir.hir
Class HirListImpl

java.lang.Object
  extended bycoins.ir.hir.HIR_Impl
      extended bycoins.ir.hir.HirListImpl
All Implemented Interfaces:
java.lang.Cloneable, HasStringObject, HIR, HIR0, HirList, IR, IR0, IrList

public class HirListImpl
extends HIR_Impl
implements HirList

class HirListImpl List of expressions, symbols, and others. LinkedList in java.util is wrapped so that it can be treated as IR node and IR methods can be applied.


Field Summary
 
Fields inherited from class coins.ir.hir.HIR_Impl
fAdditionalChild, fChildCount, fChildNode1, fChildNode2, fDbgLevel, fHirAnnex, fOperator, fParentNode, fType, hirRoot, inversionTable, machineParam, sourceLanguage
 
Fields inherited from interface coins.ir.hir.HIR
OP_CODE_NAME, OP_CODE_NAME_DENSE
 
Fields inherited from interface coins.ir.IR
OP_INF, OP_LIST, OP_PROG, OP_SUBP_DEF
 
Fields inherited from interface 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
 
Constructor Summary
HirListImpl(HirRoot pHirRoot)
           
HirListImpl(HirRoot pHirRoot, java.util.LinkedList pList)
          HirList constructor Wrap pList so that it can be treated as IR node.
 
Method Summary
 void accept(HirVisitor pVisitor)
          accept Acceptor used in HIR visitor.
 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)
           
 java.lang.Object getFirst()
           
 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()
           
 void print(int pIndent)
          print Print this subtree in text format traversing all children of this node.
 void print(int pIndent, boolean pDetail)
          print Print this subtree in text format traversing all children of this node.
 java.lang.Object remove(int pRemovePosition)
           
 boolean remove(java.lang.Object pObject)
           
 void set(int pIndex, java.lang.Object pElement)
           
 int size()
           
 
Methods inherited from class 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, getSym, 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, toStringWithChildren, trueNode, typeNode, undecayExp, undecayExp, undecayExp, undecayExp, varNode, warinig, whileStmt, whileStmt, withInf
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface coins.ir.hir.HirList
toString
 
Methods inherited from interface 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, toStringWithChildren, undecayExp, undecayExp, undecayExp, whileStmt
 
Methods inherited from interface coins.ir.IR
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, removeInf
 
Methods inherited from interface coins.ir.IR0
getChild, getChildCount, getIndex, getOperator, setChild
 
Methods inherited from interface coins.ir.hir.HIR0
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
 
Methods inherited from interface coins.ir.IrList
getClone, toStringShort
 

Constructor Detail

HirListImpl

public HirListImpl(HirRoot pHirRoot,
                   java.util.LinkedList pList)
HirList constructor Wrap pList so that it can be treated as IR node.

Parameters:
pList - LinkedList that may contain any objects. If pList is null, an empty LinkedList is created.

HirListImpl

public HirListImpl(HirRoot pHirRoot)
Method Detail

add

public void add(java.lang.Object pElement)
Description copied from interface: HirList
 Specifications of following methods are the same
  to those of List in java.util.
    add
    isEmpty
    size
    contains
    indexOf
    remove
    listIterator

Specified by:
add in interface HirList

add

public void add(int pInsertionPosition,
                java.lang.Object pObjectToBeInserted)
Specified by:
add in interface HirList

getFirst

public java.lang.Object getFirst()
Specified by:
getFirst in interface HirList

get

public java.lang.Object get(int pIndex)
Specified by:
get in interface HirList

set

public void set(int pIndex,
                java.lang.Object pElement)
Specified by:
set in interface HirList

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface HirList

size

public int size()
Specified by:
size in interface HirList

contains

public boolean contains(java.lang.Object pObject)
Specified by:
contains in interface HirList

indexOf

public int indexOf(java.lang.Object pObject)
Specified by:
indexOf in interface HirList

remove

public java.lang.Object remove(int pRemovePosition)
Specified by:
remove in interface HirList

remove

public boolean remove(java.lang.Object pObject)
Specified by:
remove in interface HirList

clear

public void clear()
Specified by:
clear in interface IrList

iterator

public java.util.ListIterator iterator()
Specified by:
iterator in interface HirList

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Description copied from class: HIR_Impl
clone Override Object.clone in HIR.

Overrides:
clone in class HIR_Impl
Returns:
cloned HIR object.
Throws:
java.lang.CloneNotSupportedException

hirListClone

public HirList hirListClone()
                     throws java.lang.CloneNotSupportedException
Description copied from interface: HirList
hirListClone Make the clone of this node to get a clone in the situation where clone() can not be used directly.

Specified by:
hirListClone in interface HirList
Returns:
the clone of this node.
Throws:
java.lang.CloneNotSupportedException

print

public void print(int pIndent)
Description copied from interface: IR
print Print this subtree in text format traversing all children of this node. "this" may be any subtree (it may be a leaf node).

Specified by:
print in interface HirList
Overrides:
print in class HIR_Impl

print

public void print(int pIndent,
                  boolean pDetail)
Description copied from interface: IR
print Print this subtree in text format traversing all children of this node. "this" may be any subtree (it may be a leaf node).

Specified by:
print in interface IR
Overrides:
print in class HIR_Impl

accept

public void accept(HirVisitor pVisitor)
Description copied from interface: HIR0
accept Acceptor used in HIR visitor. See HirVisitor, HirVisitorModel1, HirVisitormodel2.

Specified by:
accept in interface HIR0
Overrides:
accept in class HIR_Impl