scale.score.chords
Class BranchChord
java.lang.Object
scale.common.Root
scale.score.Note
scale.score.chords.Chord
scale.score.chords.SequentialChord
scale.score.chords.BranchChord
- All Implemented Interfaces:
- AnnotationInterface, DisplayNode
- Direct Known Subclasses:
- GotoChord
public abstract class BranchChord
- extends SequentialChord
This class is a parent class for branching statements.
$Id: BranchChord.java,v 1.17 2005-02-07 21:28:34 burrill Exp $
Copyright 2005 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
Branching statements have a single outgoing control edge.
Method Summary |
int |
executionCostEstimate()
Return a relative cost estimate for executing the expression. |
void |
linkTo(Chord child)
Link child to parent if it's a SequentialChord and not a BranchChord or EndChord. |
Methods inherited from class scale.score.chords.SequentialChord |
changeOutCfgEdge, clearEdge, clearEdgeMarkers, deleteInDataEdges, deleteOutCfgEdges, edgeMarked, getDeclList, getExprList, getLoadExprList, getNextChord, getOutCfgEdge, getOutCfgEdgeArray, getTarget, indexOfOutCfgEdge, isLastInBasicBlock, isSequential, linkSubgraph, markEdge, numOutCfgEdges, pushAllOutCfgEdges, pushOutCfgEdges, pushOutCfgEdges, pushSortedOutCfgEdges, pushSortedOutCfgEdges, removeUseDef, replaceDecl, replaceOutCfgEdge, setTarget, setTargetUnsafe |
Methods inherited from class scale.score.chords.Chord |
addInCfgEdge, changeInDataEdge, changeParentOutCfgEdge, copy, copySourceLine, deadCFGNodes, deletedCFGNodes, deleteInCfgEdge, executionOrder, expungeFromCfg, extractFromCfg, findLoopExit, findPhiChords, firstInBasicBlock, getCall, getDefExpr, getDisplayColorHint, getDisplayLabel, getDisplayShapeHint, getFirstInCfgEdge, getInCfgEdge, getInCfgEdge, getInCfgEdgeArray, getInDataEdge, getInDataEdgeArray, getLabel, getLoopHeader, getLoopHeader, getLoopNumber, getSourceLineNumber, gotoCFGNodes, inBasicBlock, indexOfInCfgEdge, insertAfterOutCfg, insertBeforeInCfg, isAssignChord, isBranch, isExprChord, isFirstInBasicBlock, isLoopExit, isLoopHeader, isLoopPreHeader, isLoopTail, isMarker, isPhiExpr, isSpecial, lastInBasicBlock, loopClean, nextVisit, nthIndexOfInCfgEdge, nullCFGNodes, numInCfgEdges, numInDataEdges, numOfInCfgEdge, parentsFinished, parentsVisited, pushAllInCfgEdges, pushChordWhenReady, pushChordWhenReady, pushInCfgEdges, pushInCfgEdges, pushInDataEdges, recordRefs, removeDeadCode, removeDualExprs, removeFromCfg, removeRefs, reorderInCfgEdgesOfCopy, replaceInCfgEdge, setLabel, setSourceLineNumber, setVisited, toStringSpecial, unlinkChord, visited |
Methods inherited from class scale.common.Root |
addAnnotation, allAnnotations, allMatchingAnnotations, getAnnotation, getDisplayName, getDisplayString, getNodeCount, getNodeID, hasAnnotation, hasEqualAnnotation, hashCode, removeAnnotation, removeAnnotations, toStringAnnotations, toStringClass, trace, trace, trace |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
BranchChord
public BranchChord(Chord target)
linkTo
public void linkTo(Chord child)
- Link child to parent if it's a SequentialChord and not a BranchChord or EndChord.
- Overrides:
linkTo
in class SequentialChord
executionCostEstimate
public int executionCostEstimate()
- Return a relative cost estimate for executing the expression.
- Overrides:
executionCostEstimate
in class SequentialChord