abc.eaj
Class AbcExtension

java.lang.Object
  extended by abc.main.AbcExtension
      extended by abc.eaj.AbcExtension

public class AbcExtension
extends AbcExtension


Constructor Summary
AbcExtension()
           
 
Method Summary
 void addBasicClassesToSoot()
          Call Scene.v().addBasicClass for each runtime class that the backend might generate code for.
protected  void collectVersions(java.lang.StringBuffer versions)
           
 SJPInfo createSJPInfo(java.lang.String kind, java.lang.String signatureTypeClass, java.lang.String signatureType, java.lang.String signature, Host host)
          Create a (compile-time) static join point information object that generates code to initialize static join point fields with reflective information about a join point.
 void initLexerKeywords(AbcLexer lexer)
          Initialise the HashMaps that define how keywords are handled in the different lexer states.
protected  java.util.List listShadowTypes()
          Override this method to add new joinpoints to the abc.
 ExtensionInfo makeExtensionInfo(java.util.Collection jar_classes, java.util.Collection aspect_sources)
           
 java.lang.String runtimeSJPFactoryClass()
          Specify the class that will be used at runtime to generate StaticJoinPoint objects.
 
Methods inherited from class abc.main.AbcExtension
addJimplePacks, findMethodShadows, shadowTypes, versions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbcExtension

public AbcExtension()
Method Detail

collectVersions

protected void collectVersions(java.lang.StringBuffer versions)
Overrides:
collectVersions in class AbcExtension

makeExtensionInfo

public ExtensionInfo makeExtensionInfo(java.util.Collection jar_classes,
                                       java.util.Collection aspect_sources)
Overrides:
makeExtensionInfo in class AbcExtension

listShadowTypes

protected java.util.List listShadowTypes()
Description copied from class: AbcExtension
Override this method to add new joinpoints to the abc. Call the same method in the super-class to ensure the standard joinpoints needed are loaded too.

Overrides:
listShadowTypes in class AbcExtension

addBasicClassesToSoot

public void addBasicClassesToSoot()
Description copied from class: AbcExtension
Call Scene.v().addBasicClass for each runtime class that the backend might generate code for. Derived implementations should normally make sure to call the superclass implementation.

Overrides:
addBasicClassesToSoot in class AbcExtension

runtimeSJPFactoryClass

public java.lang.String runtimeSJPFactoryClass()
Description copied from class: AbcExtension
Specify the class that will be used at runtime to generate StaticJoinPoint objects.

Overrides:
runtimeSJPFactoryClass in class AbcExtension

createSJPInfo

public SJPInfo createSJPInfo(java.lang.String kind,
                             java.lang.String signatureTypeClass,
                             java.lang.String signatureType,
                             java.lang.String signature,
                             Host host)
Create a (compile-time) static join point information object that generates code to initialize static join point fields with reflective information about a join point.

Overrides:
createSJPInfo in class AbcExtension

initLexerKeywords

public void initLexerKeywords(AbcLexer lexer)
Description copied from class: AbcExtension
Initialise the HashMaps that define how keywords are handled in the different lexer states. Keywords are added by calling the methods addJavaKeyword(), addAspectJKeyword(), lexer.addPointcutKeyword() and addPointcutIfExprKeyword(), which are defined in the Lexer_c class. There are the utility methods lexer.addGlobalKeyword() (which adds its parameters to all four states) and lexer.addAspectJContextKeyword() (which adds its parameters to the AspectJ and PointcutIfExpr states). Each of these methods takes two arguments - a String (the keyword to be added) and a class implementing abc.aspectj.parse.LexerAction defining what to do when this keyword is encountered.

Overrides:
initLexerKeywords in class AbcExtension