public static class AstTranslator.AstLexicalInformation extends Object implements AstMethod.LexicalInformation
Constructor and Description |
---|
AstLexicalInformation(AstTranslator.AstLexicalInformation original) |
Modifier and Type | Method and Description |
---|---|
IntSet |
getAllExposedUses()
return all value numbers appearing as entries in either
AstMethod.LexicalInformation.getExposedUses(int) or AstMethod.LexicalInformation.getExitExposedUses() |
int[] |
getExitExposedUses()
maps each exposed name (via its index in
AstMethod.LexicalInformation.getExposedNames() ) to
its value number at method exit. |
Pair<String,String>[] |
getExposedNames()
names possibly accessed in a nested lexical scope, represented as pairs
(name,nameOfDefiningEntity)
|
int[] |
getExposedUses(int instructionOffset)
get a map from exposed name (via its index in
AstMethod.LexicalInformation.getExposedNames() )
to its value number at the instruction at offset instructionOffset. |
String |
getScopingName()
get the name of this entity, as it appears in the definer portion of a
lexical name
|
String[] |
getScopingParents()
return the names of the enclosing methods declaring names that are
lexically accessed by the entity
|
static boolean |
hasExposedUses(CGNode caller,
CallSiteReference site) |
boolean |
isReadOnly(String name)
returns true if name may be read in nested lexical scopes but cannot be
written
|
public AstLexicalInformation(AstTranslator.AstLexicalInformation original)
public int[] getExitExposedUses()
AstMethod.LexicalInformation
AstMethod.LexicalInformation.getExposedNames()
) to
its value number at method exit.getExitExposedUses
in interface AstMethod.LexicalInformation
public int[] getExposedUses(int instructionOffset)
AstMethod.LexicalInformation
AstMethod.LexicalInformation.getExposedNames()
)
to its value number at the instruction at offset instructionOffset.getExposedUses
in interface AstMethod.LexicalInformation
public IntSet getAllExposedUses()
AstMethod.LexicalInformation
AstMethod.LexicalInformation.getExposedUses(int)
or AstMethod.LexicalInformation.getExitExposedUses()
getAllExposedUses
in interface AstMethod.LexicalInformation
public Pair<String,String>[] getExposedNames()
AstMethod.LexicalInformation
getExposedNames
in interface AstMethod.LexicalInformation
public String[] getScopingParents()
AstMethod.LexicalInformation
getScopingParents
in interface AstMethod.LexicalInformation
public boolean isReadOnly(String name)
AstMethod.LexicalInformation
isReadOnly
in interface AstMethod.LexicalInformation
public String getScopingName()
AstMethod.LexicalInformation
getScopingName
in interface AstMethod.LexicalInformation
public static boolean hasExposedUses(CGNode caller, CallSiteReference site)