|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object abc.weaving.aspectinfo.GlobalAspectInfo
public class GlobalAspectInfo
All aspect-specific information for an entire program.
Field Summary | |
---|---|
static int |
PRECEDENCE_CONFLICT
|
static int |
PRECEDENCE_FIRST
|
static int |
PRECEDENCE_NONE
|
static int |
PRECEDENCE_SECOND
|
Method Summary | |
---|---|
void |
addAdviceDecl(AbstractAdviceDecl ad)
|
void |
addAspect(Aspect aspct)
|
void |
addClassNotWeavableError(ErrorInfo ei)
|
void |
addClassToMakePublic(ClassType c)
|
void |
addDeclareMessage(DeclareMessage dm)
|
void |
addDeclareParents(DeclareParents dp)
|
void |
addDeclarePrecedence(DeclarePrecedence dpr)
|
void |
addDeclareSoft(DeclareSoft ds)
|
void |
addIntertypeConstructorDecl(IntertypeConstructorDecl imd)
|
void |
addIntertypeFieldDecl(IntertypeFieldDecl ifd)
|
void |
addIntertypeMethodDecl(IntertypeMethodDecl imd)
|
void |
addPointcutDecl(PointcutDecl pcd)
|
void |
addShadowMatch(SootMethod method,
ShadowMatch sm)
|
void |
addSJPInfo(SootMethod method,
SJPInfo sjpInfo)
|
void |
addWeavableClass(AbcClass cl)
|
void |
buildAspectHierarchy()
This method builds the aspect_visibility structure, which is a mapping from classes and abstract aspects to the concrete aspects that extend them. |
void |
computeAdviceLists()
Computes the lists of advice application points for all weavable classes |
java.util.List |
getAdviceDecls()
Returns the list of all advice declarations. |
MethodAdviceList |
getAdviceList(SootMethod m)
Returns the list of AdviceApplication structures for the given method |
Aspect |
getAspect(AbcClass cl)
|
java.util.List |
getAspects()
Returns the list of all aspects. |
java.util.List |
getClassesToMakePublic()
|
ClassInitializationShadowMatch |
getClassInitializationShadowMatch(SootMethod method)
|
java.util.List |
getDeclareParents()
Returns the list of all declare parents declarations. |
java.util.List |
getDeclarePrecedence()
Returns the list of all declare precedence declarations. |
ExecutionShadowMatch |
getExecutionShadowMatch(SootMethod method)
|
java.util.Collection |
getExtendedClasses()
|
FieldSig |
getField(MethodSig sig)
|
java.util.List |
getInterfaceInitializationShadowMatchList(SootMethod method)
|
java.util.List |
getIntertypeConstructorDecls()
Returns the list of all intertype constructor declarations. |
java.util.List |
getIntertypeFieldDecls()
Returns the list of all intertype field declarations. |
java.util.List |
getIntertypeMethodDecls()
Returns the list of all intertype method declarations. |
int |
getMethodCategory(MethodSig sig)
|
java.util.List |
getNonWeavableClassErrors()
Returns the list of errors about classes which are not currently being woven, but which we would really need to insert accessor methods into. |
PointcutDecl |
getPointcutDecl(java.lang.String name,
Aspect context)
|
java.util.List |
getPointcutDecls()
Returns the list of all pointcut declarations. |
int |
getPrecedence(Aspect a,
Aspect b)
Get the precedence relationship between two aspects, using both declare precedence relations and aspect inheritance |
int |
getPrecedence(java.lang.String a,
java.lang.String b)
Get the precedence relationship between two aspect names, just using declare precedence relations |
PreinitializationShadowMatch |
getPreinitializationShadowMatch(SootMethod method)
|
AbcClass |
getRealClass(FieldSig sig)
|
AbcClass |
getRealClass(MethodSig sig)
|
int |
getRealModifiers(FieldSig sig,
int defmods)
|
int |
getRealModifiers(MethodSig sig,
int defmods)
|
java.lang.String |
getRealName(FieldSig sig)
|
java.lang.String |
getRealName(MethodSig sig)
|
java.util.List |
getShadowMatchList(SootMethod method)
|
java.util.List |
getSJPInfoList(SootMethod method)
|
int |
getSkipFirst(MethodSig sig)
|
int |
getSkipLast(MethodSig sig)
|
java.util.List |
getStmtShadowMatchList(SootMethod method)
|
java.util.Set |
getWeavableClasses()
Returns the list of classes into which weaving can take place. |
java.util.Set |
getWovenClasses()
|
void |
initPrecedenceRelation(java.util.Map prec_rel)
|
void |
print(java.io.PrintStream p)
|
void |
registerFieldAccessor(FieldSig fs,
MethodSig ms)
|
void |
registerMethodCategory(MethodSig sig,
int cat)
|
void |
registerRealNameAndClass(FieldSig sig,
int mods,
java.lang.String real_name,
AbcClass real_class)
|
void |
registerRealNameAndClass(MethodSig sig,
int mods,
java.lang.String real_name,
AbcClass real_class,
int skip_first,
int skip_last)
|
void |
registerSourceClass(AbcClass cl)
|
void |
registerWeave(AbcClass cl)
|
static void |
reset()
|
void |
setExtendedClasses(java.util.Collection ecs)
|
void |
sinkAdviceDecls()
|
static GlobalAspectInfo |
v()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int PRECEDENCE_NONE
public static final int PRECEDENCE_FIRST
public static final int PRECEDENCE_SECOND
public static final int PRECEDENCE_CONFLICT
Method Detail |
---|
public static GlobalAspectInfo v()
public static void reset()
public void buildAspectHierarchy()
public java.util.Set getWeavableClasses()
AbcClass
objects.public java.util.List getAspects()
Aspect
objects.public java.util.List getIntertypeFieldDecls()
IntertypeFieldDecl
objects.public java.util.List getIntertypeMethodDecls()
IntertypeMethodDecl
objects.public java.util.List getIntertypeConstructorDecls()
IntertypeConstructorDecl
objects.public java.util.List getAdviceDecls()
AbstractAdviceDecl
objects.public java.util.List getNonWeavableClassErrors()
ErrorInfo
objectspublic java.util.List getPointcutDecls()
PointcutDecl
objects.public PointcutDecl getPointcutDecl(java.lang.String name, Aspect context)
public java.util.List getDeclareParents()
declare parents
declarations.
DeclareParents
objects.public java.util.List getDeclarePrecedence()
declare precedence
declarations.
DeclarePrecedence
objects.public void setExtendedClasses(java.util.Collection ecs)
public java.util.Collection getExtendedClasses()
public Aspect getAspect(AbcClass cl)
public java.util.List getClassesToMakePublic()
public void addWeavableClass(AbcClass cl)
public void addAspect(Aspect aspct)
public void addIntertypeFieldDecl(IntertypeFieldDecl ifd)
public void addIntertypeMethodDecl(IntertypeMethodDecl imd)
public void addIntertypeConstructorDecl(IntertypeConstructorDecl imd)
public void addAdviceDecl(AbstractAdviceDecl ad)
public void addPointcutDecl(PointcutDecl pcd)
public void addDeclareParents(DeclareParents dp)
public void addDeclarePrecedence(DeclarePrecedence dpr)
public void addDeclareMessage(DeclareMessage dm)
public void addDeclareSoft(DeclareSoft ds)
public void addClassToMakePublic(ClassType c)
public void addClassNotWeavableError(ErrorInfo ei)
public void print(java.io.PrintStream p)
public void initPrecedenceRelation(java.util.Map prec_rel)
public int getPrecedence(java.lang.String a, java.lang.String b)
a
- the name of the first aspect.b
- the name of the second aspect.
PRECEDENCE_NONE
if none of the aspects have precedence,
PRECEDENCE_FIRST
if the first aspect has precedence,
PRECEDENCE_SECOND
if the second aspect has precedence, or
PRECEDENCE_CONFLICT
if there is a precedence conflict between the two aspects.public int getPrecedence(Aspect a, Aspect b)
a
- the first aspect.b
- the second aspect.
PRECEDENCE_NONE
if none of the aspects have precedence,
PRECEDENCE_FIRST
if the first aspect has precedence,
PRECEDENCE_SECOND
if the second aspect has precedence, or
PRECEDENCE_CONFLICT
if there is a precedence conflict between the two aspects.public void sinkAdviceDecls()
public void computeAdviceLists() throws SemanticException
SemanticException
public MethodAdviceList getAdviceList(SootMethod m)
public void addSJPInfo(SootMethod method, SJPInfo sjpInfo)
public java.util.List getSJPInfoList(SootMethod method)
public java.util.List getShadowMatchList(SootMethod method)
public java.util.List getStmtShadowMatchList(SootMethod method)
public java.util.List getInterfaceInitializationShadowMatchList(SootMethod method)
public ExecutionShadowMatch getExecutionShadowMatch(SootMethod method)
public ClassInitializationShadowMatch getClassInitializationShadowMatch(SootMethod method)
public PreinitializationShadowMatch getPreinitializationShadowMatch(SootMethod method)
public void addShadowMatch(SootMethod method, ShadowMatch sm)
public void registerMethodCategory(MethodSig sig, int cat)
public int getMethodCategory(MethodSig sig)
public void registerRealNameAndClass(MethodSig sig, int mods, java.lang.String real_name, AbcClass real_class, int skip_first, int skip_last)
public int getRealModifiers(MethodSig sig, int defmods)
public java.lang.String getRealName(MethodSig sig)
public AbcClass getRealClass(MethodSig sig)
public int getSkipFirst(MethodSig sig)
public int getSkipLast(MethodSig sig)
public void registerRealNameAndClass(FieldSig sig, int mods, java.lang.String real_name, AbcClass real_class)
public int getRealModifiers(FieldSig sig, int defmods)
public java.lang.String getRealName(FieldSig sig)
public AbcClass getRealClass(FieldSig sig)
public FieldSig getField(MethodSig sig)
public void registerFieldAccessor(FieldSig fs, MethodSig ms)
public void registerWeave(AbcClass cl)
public java.util.Set getWovenClasses()
public void registerSourceClass(AbcClass cl)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |