coins.ir.hir
クラス StmtImpl

java.lang.Object
  |
  +--coins.ir.hir.HIR_Impl
        |
        +--coins.ir.hir.StmtImpl
すべての実装インタフェース:
java.lang.Cloneable, HasStringObject, HIR, HIR0, IR, IR0, Stmt
直系の既知のサブクラス:
AsmStmtImpl, AssignStmtImpl, BlockStmtImpl, ExpStmtImpl, IfStmtImpl, InfStmtImpl, JumpStmtImpl, LabeledStmtImpl, LoopStmtImpl, ReturnStmtImpl, SetDataStmtImpl, SwitchStmtImpl

public class StmtImpl
extends HIR_Impl
implements Stmt

Statement


フィールドの概要
protected  boolean fMultiBlock
           
protected  Stmt fNextStmt
           
protected  Stmt fPrevStmt
           
 
クラス 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
 
コンストラクタの概要
  StmtImpl()
          Default constructor for subclasses.
  StmtImpl(HirRoot pHirRoot)
           
protected StmtImpl(HirRoot pHirRoot, int pOperator)
           
 
メソッドの概要
 Stmt addNextStmt(Stmt pStatement)
          addNextStmt Add a statement as the one next to this statement.
 Stmt addNextStmt(Stmt pStatement, BlockStmt pBlock)
           
 void adjustMultiBlockFlag()
           
 void adjustMultiBlockFlag(Stmt pStmt)
           
 Stmt ancestorControlStmtOfConditionalExp(HIR pHir)
          Get the ancestor control statement (IfStmt, LoopStmt, SwitchStmt) containing pHir as conditional Exp or ExpStmt.
 LabeledStmt attachLabel(Label pLabel)
          attachLabel Attach the definition of a label (pLabel) to this statement. (##2) A statement may have multiple labels (set of labels). (##2) If this statement has already a label different from pLabel, then pLabel is added as the last label attached to the statement. (##2) If pLabel is already attached to this statement, then pLabel is not attached to avoid duplication.
 LabeledStmt attachLabelAsFirstOne(Label pLabel)
          attachLabelAsFirstOne Attach pLabel as the first label of this statement.
 LabeledStmt backTraceLabeledStmt()
           
 java.lang.Object clone()
          clone Override Object.clone in HIR.
 Stmt combineStmt(Stmt pStmt, boolean pBeforeBranch)
          combineStmt Combine this statement and pStmt making them as one statement.
 void combineWithConditionalExp(Stmt pStmt, HIR pCond)
          Combine pStmt with conditional expression part pCond of control statement so that pStmt should be executed before pCond.
 void copyPosition(Stmt pStmt)
          Copy the file name and line number of pStatement to this statement.
 void cutLabelLinkOfStmt(Stmt pStmt)
          cutLabelLinkOfStmt For labels defined in pStmt, execute setHirPosition(null) to prepare for deletion of pStmt.
 Stmt deleteNextStmt()
          deleteNextStmt Delete the statement next to this statement and return the statement next ot the next statement, which may be null.
 Stmt deletePreviousStmt()
          deletePreviousStmt Delete the statement that preceeds this statement and return a statement previous to the previous one.
 Stmt deleteThisStmt()
          deleteThisStmt Delete this statement and return the next statement.
 BlockStmt getBlockStmt()
          getBlockStmt Get the block statement containing this statement.
 java.lang.String getFileName()
          Get the absolute path of the file containing this statement (see setFileName method).
 Label getLabel()
          getLabel Get the label attached to this statement.
 IrList getLabelDefList()
           
 LabeledStmt getLabeledStmt()
          getLabeledStmt
 int getLineNumber()
          Get the line number of this statement.
 Stmt getNextStmt()
          getNextStmt Get the statement next to "this" one.
 Stmt getPreviousStmt()
          getPreviousStmt Get the statement previous to this one.
 Stmt getStmtWithLabel(Label pLabel)
           
 Stmt getUpperStmt()
          Get the statement that includes this statement.
 Stmt insertPreviousStmt(Stmt pStatement)
          insertPreviousStmt Insert a statement in front of "this" one.
 Stmt insertPreviousStmt(Stmt pStatement, BlockStmt pBlock)
          insertPreviousStmt Insert a statement in front of "this" one.
 boolean isBranchStmt()
          isBranch Return true if this statement is either //##60 IfStmt, JumpStmt, SwitchStmt, CallStmt, ReturnStmt, JumpStmt, ReturnStmt, //##60 or LabeledStmt with one of above statement body.
 boolean isLoopStmt()
           
 boolean isMultiBlock()
          isMultiBlock true if this statement is composed of multiple basic blocks or a jump statement.
 void isolateThisStmt()
          isolateThisStmt Cut previous/next link and parent link of this statement.
 void printLinkage(java.lang.String pHeader)
           
 Stmt replaceThisStmtWith(Stmt pStmt)
          replaceThisStmtWith Replace this statement with pStmt which is made to have the same linkage with other nodes as this statement and this statement is made isolated.
 void setFileName(java.lang.String pFileName)
           Set the absolute path of the source program file containing this statement.
 void setLineNumber(int pLineNumber)
          Set the line number of this statement within the file specified by setFileName.
 java.lang.String toStringDetail()
          toStringDetail Get text string of this node showing detail information.
 Stmt traceFirstStmt()
           
 Stmt traceLastStmt()
           
 
クラス coins.ir.hir.HIR_Impl から継承したメソッド
accept, 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, 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, print, print, 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, toStringShort, toStringWithChildren, 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.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, toString, toStringShort, toStringWithChildren, undecayExp, undecayExp, undecayExp, whileStmt
 
インタフェース coins.ir.IR から継承したメソッド
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, print, print, 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, getStmtContainingThisNode, getType, hirClone, hirIterator, hirList, hirSeq, ifStmt, intConstNode, irList, isSameAs, jumpStmt, labelDef, labeledStmt, labelNode, pointedExp, print, program, qualifiedExp, repeatStmt, replaceThisNode, returnStmt, setFlag, setIndexNumberToAllNodes, sizeofExp, sizeofExp, subpDefinition, subpNode, subscriptedExp, switchStmt, symNode, trueNode, undecayExp, varNode, whileStmt
 

フィールドの詳細

fNextStmt

protected Stmt fNextStmt

fPrevStmt

protected Stmt fPrevStmt

fMultiBlock

protected boolean fMultiBlock
コンストラクタの詳細

StmtImpl

public StmtImpl()
Default constructor for subclasses.


StmtImpl

public StmtImpl(HirRoot pHirRoot)

StmtImpl

protected StmtImpl(HirRoot pHirRoot,
                   int pOperator)
メソッドの詳細

addNextStmt

public Stmt addNextStmt(Stmt pStatement)
addNextStmt Add a statement as the one next to this statement. If "this" is the last statement, append one as the next statement. If "this" has already the next statement, insert in front of the next statement. "this" should be a statement node.

定義:
インタフェース Stmt 内の addNextStmt
パラメータ:
pStatement - statement subtree to be added.
戻り値:
the added statement node.

addNextStmt

public Stmt addNextStmt(Stmt pStatement,
                        BlockStmt pBlock)

getNextStmt

public Stmt getNextStmt()
getNextStmt Get the statement next to "this" one. "this" should be a statement node.

定義:
インタフェース HIR0 内の getNextStmt
オーバーライド:
クラス HIR_Impl 内の getNextStmt
戻り値:
the statement next to "this" one. Return null if there is no next statement (if this is the last statement of a block).

getUpperStmt

public Stmt getUpperStmt()
インタフェース Stmt の記述:
Get the statement that includes this statement. If there is not, return null.

定義:
インタフェース Stmt 内の getUpperStmt
戻り値:
the upper statement.

insertPreviousStmt

public Stmt insertPreviousStmt(Stmt pStatement)
insertPreviousStmt Insert a statement in front of "this" one.

定義:
インタフェース Stmt 内の insertPreviousStmt
パラメータ:
pStatement - statement subtree to be inserted.
戻り値:
the inserted statement node (pStatement).

insertPreviousStmt

public Stmt insertPreviousStmt(Stmt pStatement,
                               BlockStmt pBlock)
インタフェース Stmt の記述:
insertPreviousStmt
  Insert a statement in front of "this" one.
  It is not recommended to insert statement having non-null linkage
  (getNextStmt(), getPreviousStmt(), or getParent() are not null)
  because the addition will change these linkages. In such case,
  copy of the statement should be used (see copyWithOperands() of HIR).

定義:
インタフェース Stmt 内の insertPreviousStmt
パラメータ:
pStatement - statement subtree to be inserted.
pBlock - Block statement containing this statement. If it is unknown, give null.
戻り値:
the inserted statement node (pStatement).

getPreviousStmt

public Stmt getPreviousStmt()
getPreviousStmt Get the statement previous to this one. "this" should be a statement node.

定義:
インタフェース Stmt 内の getPreviousStmt
戻り値:
the previous statement. If there is no previous one, return null.

combineStmt

public Stmt combineStmt(Stmt pStmt,
                        boolean pBeforeBranch)
インタフェース Stmt の記述:
combineStmt
  Combine this statement and pStmt making them as one statement.
  If this statement is a block, pStmt is added as the last statement
  of the block.
  If this statement is a labeled statement, then pStmt
  is combined with its statement body
  (((LabeledStmt)this).getStmt().combineStmt(pStmt, pBeforeBranch). //##65
  In other case, a new block statement
  including this and pStmt is created and pStmt is made
  as the next one to this statement.
  If pBeforeBranch is true and this statement has branch
  as the last statement (if this is a block), then
  pStatement is inserted before the branch statement.
  If pStmt is null, do nothing.
  It is not recommended to combine statement having non-null linkage
  (getNextStmt(), getPreviousStmt(), or getParent() are not null)
  because the addition will change these linkages. In such case,
  copy of the statement should be used (see copyWithOperands() of HIR).
  This method (combineStmt) changes statement linkages (linkages
  get by getNextStmt(), getPreviousStmt(), getParent()) of this
  statement. If these linkages are used later, then make copy and
  use the copy in applying combineStmt.
  combineStmt makes neither a copy of pStmt nore a copy of this Stmt. //##60
  If copy is required, then make copy before calling combineStmt.
  If label is to be changed so as not to make duplicated label,
  it is necessary to change it before calling combineStmt (see
  copyWithOperandsChangingLabels). //##60
  The combined result replaces this statement and inherit its linkages.
  It may be the same to
     Stmt ltmt3 = lStmt1.combineStmt(
                   ((Stmt)lStmt2.copyWithOperands(), true);
     lStmt1.replaceThisStmtWith(lStmt3);

定義:
インタフェース Stmt 内の combineStmt
パラメータ:
pStmt - Statement to be combined as the next one to this statement.
pBeforeBranch - if true, insertion is done before the branch statement.
戻り値:
the block statement containing pStmt.

traceLastStmt

public Stmt traceLastStmt()

traceFirstStmt

public Stmt traceFirstStmt()

deleteThisStmt

public Stmt deleteThisStmt()
deleteThisStmt Delete this statement and return the next statement. "this" should be a statement node. If this is the first statement of a block, then the next statement becomes the first statement of the block. If the block contains only one statement, then the block becomes an empty block. "this" statement is not erazed but bypassed in the chain of statements. See deleteThisStmt() of LabeledStmt.

定義:
インタフェース Stmt 内の deleteThisStmt
戻り値:
the statement next to this statement. If there is no next statement, return null.

cutLabelLinkOfStmt

public void cutLabelLinkOfStmt(Stmt pStmt)
インタフェース Stmt の記述:
cutLabelLinkOfStmt
  For labels defined in pStmt, execute setHirPosition(null)
  to prepare for deletion of pStmt.
  If pStmt is a compound statement, then all statements in
  pStmt are searched for labels defined in pStmt.
  If no label is defined by pStmt, no effect remains.

定義:
インタフェース Stmt 内の cutLabelLinkOfStmt
パラメータ:
pStmt - Statement to be searched for label definition to cut definition point relation.

deleteNextStmt

public Stmt deleteNextStmt()
deleteNextStmt Delete the statement next to this statement and return the statement next ot the next statement, which may be null. "this" should be a statement node. The next statement is not erazed but bypassed in the chain of statements.

戻り値:
the statement next to the next statement. If there is no next statement, return null without any deletion.

deletePreviousStmt

public Stmt deletePreviousStmt()
deletePreviousStmt Delete the statement that preceeds this statement and return a statement previous to the previous one. If there is no previous statement, do nothing. "this" should be a statement node. If the previous one is the first statement of a block, then this statement becomes the first statement of the block. The previous statement is not erazed but bypassed in the chain of statements.

戻り値:
the statement previous to the previous statement. If there is no previous statement or no previous to the previous statement, return null.

isolateThisStmt

public void isolateThisStmt()
インタフェース Stmt の記述:
isolateThisStmt Cut previous/next link and parent link of this statement.

定義:
インタフェース Stmt 内の isolateThisStmt

replaceThisStmtWith

public Stmt replaceThisStmtWith(Stmt pStmt)
インタフェース Stmt の記述:
replaceThisStmtWith
  Replace this statement with pStmt which is made
  to have the same linkage with other nodes as this statement
  and this statement is made isolated.
  pStmt should not be a statement contained in this statement
  as its subtree because this statement will be deleted in this
  method. If this statement is to be replaced with its subtree,
  then copy the subtree by copyWithOperandsChangingLabels(null)
  and replace by the copied subtree.

定義:
インタフェース Stmt 内の replaceThisStmtWith
パラメータ:
pStmt - statement used to replace this.
戻り値:
pStmt //##81

attachLabel

public LabeledStmt attachLabel(Label pLabel)
attachLabel Attach the definition of a label (pLabel) to this statement. (##2) A statement may have multiple labels (set of labels). (##2) If this statement has already a label different from pLabel, then pLabel is added as the last label attached to the statement. (##2) If pLabel is already attached to this statement, then pLabel is not attached to avoid duplication. "this" should be a statement node.

定義:
インタフェース Stmt 内の attachLabel
パラメータ:
pLabel - label to be attached to this statement. Note: (##2) Let attach label L1 to statement S and denote the resultant statement as S1, and let attach label L2 to S1 and denote the resultant statement as S2, then we say that S is attached with labels L1 and L2, or S has set of labels L1 and L2. In this case, L2 is the heading label of S and the label next to L2 is L1. (In C notation, if "L2: L1: S", S has set of labels L1 and L2, and the label next to L2 is L1.)
戻り値:
labeled statement to which the label is attached. (##5)

attachLabelAsFirstOne

public LabeledStmt attachLabelAsFirstOne(Label pLabel)
インタフェース Stmt の記述:
attachLabelAsFirstOne Attach pLabel as the first label of this statement.

定義:
インタフェース Stmt 内の attachLabelAsFirstOne

getLabelDefList

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

getLabel

public Label getLabel()
getLabel Get the label attached to this statement. "this" should be a statement node.

定義:
インタフェース Stmt 内の getLabel
戻り値:
the label attached to this statement, return null if no label is attached to this statement. If the statement has multiple labels, then the heading (##2) one of the labels is returned.

getStmtWithLabel

public Stmt getStmtWithLabel(Label pLabel)

getLabeledStmt

public LabeledStmt getLabeledStmt()
インタフェース Stmt の記述:
getLabeledStmt

定義:
インタフェース Stmt 内の getLabeledStmt
戻り値:
thes statement if this is a LabeledStmt else if the parent is LabeledStmt then return the parent else return null.

backTraceLabeledStmt

public LabeledStmt backTraceLabeledStmt()

getBlockStmt

public BlockStmt getBlockStmt()
getBlockStmt Get the block statement containing this statement.

定義:
インタフェース Stmt 内の getBlockStmt
戻り値:
BlockStmt containing this statement. If this statement is not contained in BlockStmt, return null.

isMultiBlock

public boolean isMultiBlock()
インタフェース Stmt の記述:
isMultiBlock true if this statement is composed of multiple basic blocks or a jump statement.

定義:
インタフェース Stmt 内の isMultiBlock

adjustMultiBlockFlag

public void adjustMultiBlockFlag()

adjustMultiBlockFlag

public void adjustMultiBlockFlag(Stmt pStmt)

isLoopStmt

public boolean isLoopStmt()

isBranchStmt

public boolean isBranchStmt()
インタフェース Stmt の記述:
isBranch Return true if this statement is either //##60 IfStmt, JumpStmt, SwitchStmt, CallStmt, ReturnStmt, JumpStmt, ReturnStmt, //##60 or LabeledStmt with one of above statement body.

定義:
インタフェース Stmt 内の isBranchStmt
戻り値:
true if this statement is a branch statement.

ancestorControlStmtOfConditionalExp

public Stmt ancestorControlStmtOfConditionalExp(HIR pHir)
Get the ancestor control statement (IfStmt, LoopStmt, SwitchStmt) containing pHir as conditional Exp or ExpStmt.

定義:
インタフェース Stmt 内の ancestorControlStmtOfConditionalExp
戻り値:
the ancestor control statement if found, or return null if pHir is not a conditional Exp of control Stmt.

combineWithConditionalExp

public void combineWithConditionalExp(Stmt pStmt,
                                      HIR pCond)
Combine pStmt with conditional expression part pCond of control statement so that pStmt should be executed before pCond. See IfStmt, LoopStmt, SwitchStmt where this method is actually defined.

定義:
インタフェース Stmt 内の combineWithConditionalExp
パラメータ:
pStmt - statement to be executed before pCond.
pCond - conditional expression to be combined with pStmt.

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

setFileName

public final void setFileName(java.lang.String pFileName)
インタフェース Stmt の記述:
 Set the absolute path of the source program file
 containing this statement.
 In C language, if this statement is included
 in a file specified by #include, then give the name
 of the file specified by #include (it may differ
 statement by statement within a subprogram).
 If setFileName is not called for this statement,
 then the name of compiler input file is taken as
 the default value by getFileName().

定義:
インタフェース Stmt 内の setFileName
パラメータ:
pFileName - name of the source program file containing this statement.

getFileName

public final java.lang.String getFileName()
インタフェース Stmt の記述:
Get the absolute path of the file containing this statement (see setFileName method). If setFileName is not called for this statement, then the name of compiler input file is returned as the default value.

定義:
インタフェース Stmt 内の getFileName
戻り値:
the absolute path of the file containing this statement.

setLineNumber

public final void setLineNumber(int pLineNumber)
インタフェース Stmt の記述:
Set the line number of this statement within the file specified by setFileName. The first line of the file is line number 1.

定義:
インタフェース Stmt 内の setLineNumber
パラメータ:
pLineNumber - the line number of this statement within the source file.

getLineNumber

public final int getLineNumber()
インタフェース Stmt の記述:
Get the line number of this statement. The line number is set by setLineNumber method.

定義:
インタフェース Stmt 内の getLineNumber
戻り値:
the line number of this statement.

copyPosition

public final void copyPosition(Stmt pStmt)
インタフェース Stmt の記述:
Copy the file name and line number of pStatement to this statement.

定義:
インタフェース Stmt 内の copyPosition
パラメータ:
pStmt - statement from which file name and line number are to be copied.

toStringDetail

public java.lang.String toStringDetail()
インタフェース HIR の記述:
toStringDetail Get text string of this node showing detail information.

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

printLinkage

public void printLinkage(java.lang.String pHeader)