|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.common.Root scale.clef.Node scale.clef.decl.Declaration scale.clef.decl.ValueDecl scale.clef.decl.VariableDecl scale.score.analyses.VirtualVar
public class VirtualVar
A class that represents a virtual variable which is used to handle aliasing and indirect operations in SSA form.
$Id: VirtualVar.java,v 1.28 2006-02-28 16:37:08 burrill Exp $
Copyright 2005 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
A virtual variable is a pseudo-declaration. We don't actually generate code for the declaration, but we treat it like a declaration in the representation.
Field Summary | |
---|---|
protected ECR |
var
A virtual variable represents a group of variables with similar alias characteristics. |
Fields inherited from class scale.clef.decl.VariableDecl |
---|
ignoreAddressTaken |
Constructor Summary | |
---|---|
VirtualVar(java.lang.String name,
ECR v)
Create a new virtual variable with a given name and associated ECR. |
Method Summary | |
---|---|
Declaration |
copy(java.lang.String name)
Make a copy of this declaration using a new name. |
static int |
created()
Return the number of instances of this class created. |
java.lang.String |
getDisplayLabel()
Return a String suitable for labeling this node in a graphical display. |
ECR |
getECR()
|
VirtualVar |
getSubset(int i)
Return the specified subset variable. |
VirtualVar |
getSuperset()
Return the superset virtual variable. |
boolean |
inSubsets(VirtualVar vv)
Return true if vv is in the subset. |
boolean |
isSuper()
Return true if this is a superset virtual variable. |
boolean |
isVirtual()
Return true if the declaration is a virtual variable. |
int |
numSubsets()
Return the number of subsets of the super virtual variable. |
boolean |
subsetEquiv(VirtualVar vv)
Return true if virtual variable param is equal to this, or this is a superset. |
Methods inherited from class scale.clef.decl.ValueDecl |
---|
getChild, getValue, isValueDecl, numChildren, returnValueDecl |
Methods inherited from class scale.clef.Node |
---|
getSourceLineNumber, setAnnotationLevel, setReportLevel, setSourceLineNumber, toString, toString, toStringChildren |
Methods inherited from class scale.common.Root |
---|
addAnnotation, allAnnotations, allMatchingAnnotations, getAnnotation, getDisplayName, getDisplayString, getNodeCount, getNodeID, hasAnnotation, hasEqualAnnotation, removeAnnotation, removeAnnotations, toStringAnnotations, toStringClass, trace, trace, trace |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected ECR var
Constructor Detail |
---|
public VirtualVar(java.lang.String name, ECR v)
Method Detail |
---|
public static int created()
public java.lang.String getDisplayLabel()
Declaration
getDisplayLabel
in interface DisplayNode
getDisplayLabel
in class Declaration
public VirtualVar getSuperset()
public boolean isSuper()
public boolean isVirtual()
isVirtual
in class Declaration
public boolean inSubsets(VirtualVar vv)
public int numSubsets()
public VirtualVar getSubset(int i)
public boolean subsetEquiv(VirtualVar vv)
public Declaration copy(java.lang.String name)
copy
in class VariableDecl
public ECR getECR()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |