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
| クラス coins.ir.hir.HIR_Impl から継承したフィールド |
fAdditionalChild, fChildCount, fChildNode1, fChildNode2, fDbgLevel, fHirAnnex, fOperator, fParentNode, fType, hirRoot, inversionTable, machineParam, sourceLanguage |
| インタフェース 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 |
|
メソッドの概要 |
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()
getNextStmt
Get the statement next to "this" one. |
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 |
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.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 の記述:
- getNextStmt
Get the statement next to "this" one.
- 定義:
- インタフェース
Stmt 内の getUpperStmt
- 戻り値:
- the statement next to "this" one.
Return null if there is no next statement
(if this is the last statement of a block).
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)
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 list 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 list
of labels L1 and L2, and the label next to L2 is L1.)
The first label attached to the statement represents
a relation between other statement such that then-part,
else-part, loop-back point, etc. (see Label interface).
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
- 定義:
- インタフェース
Stmt 内の isBranchStmt
- 戻り値:
- true if this statement is either
//##60 IfStmt, JumpStmt, SwitchStmt, CallStmt, ReturnStmt,
JumpStmt, ReturnStmt, //##60
or LabeledStmt with one of above statement body.
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)