abc.aspectj
Class ExtensionInfo

java.lang.Object
  extended by soot.javaToJimple.jj.ExtensionInfo
      extended by abc.aspectj.ExtensionInfo
Direct Known Subclasses:
ExtensionInfo, ExtensionInfo

public class ExtensionInfo
extends soot.javaToJimple.jj.ExtensionInfo

Extension information for aspectj extension.

Author:
Oege de Moor, Aske Simon Christensen, Julian Tibble

Field Summary
static polyglot.frontend.Pass.ID ANON_ITDS
           
static polyglot.frontend.Pass.ID ASPECT_METHODS
           
 java.util.Collection aspect_names
           
static polyglot.frontend.Pass.ID ASPECT_PREPARE
           
static polyglot.frontend.Pass.ID ASPECT_REFLECTION_INSPECT
           
static polyglot.frontend.Pass.ID ASPECT_REFLECTION_REWRITE
           
static polyglot.frontend.Pass.ID BUILD_HIERARCHY
           
static polyglot.frontend.Pass.ID CAST_INSERTION
           
static polyglot.frontend.Pass.ID CHECK_DEPENDS
           
static polyglot.frontend.Pass.ID CHECK_PACKAGE_NAMES
           
static polyglot.frontend.Pass.ID CHECKING_DONE
           
 java.util.Map class_to_ast
           
static polyglot.frontend.Pass.ID CLEAN_CLASSES
           
static polyglot.frontend.Pass.ID CLEAN_DECLARE
           
static polyglot.frontend.Pass.ID CLEAN_MEMBERS
           
static polyglot.frontend.Pass.ID COLLECT_ASPECT_NAMES
           
static polyglot.frontend.Pass.ID COLLECT_JIMPLIFY_CLASSES
           
static polyglot.frontend.Pass.ID COLLECT_SOURCE_FILES
           
static polyglot.frontend.Pass.ID COMPUTE_PRECEDENCE_RELATION
           
static polyglot.frontend.Pass.ID DECLARE_PARENTS
           
static polyglot.frontend.Pass.ID EVALUATE_PATTERNS
           
static polyglot.frontend.Pass.ID EVALUATE_PATTERNS_AGAIN
           
static polyglot.frontend.Pass.ID EVALUATE_PATTERNS_FINALLY
           
static polyglot.frontend.Pass.ID GOING_TO_JIMPLIFY
           
static polyglot.frontend.Pass.ID HARVEST_ASPECT_INFO
           
 PCStructure hierarchy
           
static polyglot.frontend.Pass.ID HIERARCHY_BUILT
           
static polyglot.frontend.Pass.ID INIT_CLASSES
           
static polyglot.frontend.Pass.ID INSPECT_AST
           
static polyglot.frontend.Pass.ID INTERFACE_ITDS
           
static polyglot.frontend.Pass.ID INTERFACE_ITDS_ALL
           
static polyglot.frontend.Pass.ID JAR_CHECK
           
 java.util.Collection jar_classes
          The JVM names for all classes loaded from jar files
static polyglot.frontend.Pass.ID JIMPLIFY
           
static polyglot.frontend.Pass.ID JIMPLIFY_DONE
           
static polyglot.frontend.Pass.ID MANGLE_NAME_COMPONENTS
           
static polyglot.frontend.Pass.ID MANGLE_NAMES
           
static polyglot.frontend.Pass.ID NAME_COMPONENTS
           
static polyglot.frontend.Pass.ID NAMES_MANGLED
           
static polyglot.frontend.Pass.ID PARENTS_DECLARED
           
 PatternMatcher pattern_matcher
           
static polyglot.frontend.Pass.ID PATTERNS_EVALUATED
           
static polyglot.frontend.Pass.ID PATTERNS_EVALUATED_AGAIN
           
 java.util.Map prec_rel
           
static polyglot.frontend.Pass.ID PRECEDENCE_COMPUTED
           
static polyglot.frontend.Pass.ID SAVE_AST
           
static polyglot.frontend.Pass.ID SET_DEPENDS
           
static polyglot.frontend.Pass.ID SOURCE_CLASSES
           
 java.util.Collection source_files
           
static polyglot.frontend.Pass.ID STRICTFP_PROP
           
static polyglot.frontend.Pass.ID TEST_PATTERNS
           
 
Constructor Summary
ExtensionInfo(java.util.Collection jar_classes, java.util.Collection source_files)
           
 
Method Summary
 void addDependencyToCurrentJob(Source s)
           
 java.lang.String compilerName()
           
protected  NodeFactory createNodeFactory()
           
protected  TypeSystem createTypeSystem()
           
 java.lang.String defaultFileExtension()
           
 java.lang.String[] defaultFileExtensions()
           
 Parser parser(java.io.Reader reader, FileSource source, ErrorQueue eq)
           
protected  void passes_add_members(java.util.List l, Job job)
           
protected  void passes_aspectj_transforms(java.util.List l, Job job)
           
protected  void passes_disambiguate_all(java.util.List l, Job job)
           
protected  void passes_disambiguate_signatures(java.util.List l, Job job)
           
protected  void passes_fold_and_checkcode(java.util.List l, Job job)
           
protected  void passes_interface_ITDs(java.util.List l, Job job)
           
protected  void passes_jimple(java.util.List l, Job job)
           
protected  void passes_mangle_names(java.util.List l, Job job)
           
protected  void passes_parse_and_clean(java.util.List l, Job job)
           
protected  void passes_patterns_and_parents(java.util.List l, Job job)
           
protected  void passes_precedence_relation(java.util.List l, Job job)
           
protected  void passes_saveAST(java.util.List l, Job job)
           
 java.util.List passes(Job job)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COLLECT_SOURCE_FILES

public static final polyglot.frontend.Pass.ID COLLECT_SOURCE_FILES

CHECK_PACKAGE_NAMES

public static final polyglot.frontend.Pass.ID CHECK_PACKAGE_NAMES

INIT_CLASSES

public static final polyglot.frontend.Pass.ID INIT_CLASSES

CHECKING_DONE

public static final polyglot.frontend.Pass.ID CHECKING_DONE

ASPECT_METHODS

public static final polyglot.frontend.Pass.ID ASPECT_METHODS

INSPECT_AST

public static final polyglot.frontend.Pass.ID INSPECT_AST

CLEAN_CLASSES

public static final polyglot.frontend.Pass.ID CLEAN_CLASSES

COLLECT_ASPECT_NAMES

public static final polyglot.frontend.Pass.ID COLLECT_ASPECT_NAMES

BUILD_HIERARCHY

public static final polyglot.frontend.Pass.ID BUILD_HIERARCHY

HIERARCHY_BUILT

public static final polyglot.frontend.Pass.ID HIERARCHY_BUILT

EVALUATE_PATTERNS

public static final polyglot.frontend.Pass.ID EVALUATE_PATTERNS

PATTERNS_EVALUATED

public static final polyglot.frontend.Pass.ID PATTERNS_EVALUATED

TEST_PATTERNS

public static final polyglot.frontend.Pass.ID TEST_PATTERNS

DECLARE_PARENTS

public static final polyglot.frontend.Pass.ID DECLARE_PARENTS

PARENTS_DECLARED

public static final polyglot.frontend.Pass.ID PARENTS_DECLARED

EVALUATE_PATTERNS_AGAIN

public static final polyglot.frontend.Pass.ID EVALUATE_PATTERNS_AGAIN

PATTERNS_EVALUATED_AGAIN

public static final polyglot.frontend.Pass.ID PATTERNS_EVALUATED_AGAIN

COMPUTE_PRECEDENCE_RELATION

public static final polyglot.frontend.Pass.ID COMPUTE_PRECEDENCE_RELATION

PRECEDENCE_COMPUTED

public static final polyglot.frontend.Pass.ID PRECEDENCE_COMPUTED

INTERFACE_ITDS

public static final polyglot.frontend.Pass.ID INTERFACE_ITDS

ANON_ITDS

public static final polyglot.frontend.Pass.ID ANON_ITDS

SOURCE_CLASSES

public static final polyglot.frontend.Pass.ID SOURCE_CLASSES

INTERFACE_ITDS_ALL

public static final polyglot.frontend.Pass.ID INTERFACE_ITDS_ALL

JAR_CHECK

public static final polyglot.frontend.Pass.ID JAR_CHECK

SET_DEPENDS

public static final polyglot.frontend.Pass.ID SET_DEPENDS

CHECK_DEPENDS

public static final polyglot.frontend.Pass.ID CHECK_DEPENDS

MANGLE_NAME_COMPONENTS

public static final polyglot.frontend.Pass.ID MANGLE_NAME_COMPONENTS

NAME_COMPONENTS

public static final polyglot.frontend.Pass.ID NAME_COMPONENTS

MANGLE_NAMES

public static final polyglot.frontend.Pass.ID MANGLE_NAMES

NAMES_MANGLED

public static final polyglot.frontend.Pass.ID NAMES_MANGLED

CLEAN_DECLARE

public static final polyglot.frontend.Pass.ID CLEAN_DECLARE

CAST_INSERTION

public static final polyglot.frontend.Pass.ID CAST_INSERTION

STRICTFP_PROP

public static final polyglot.frontend.Pass.ID STRICTFP_PROP

SAVE_AST

public static final polyglot.frontend.Pass.ID SAVE_AST

ASPECT_PREPARE

public static final polyglot.frontend.Pass.ID ASPECT_PREPARE

HARVEST_ASPECT_INFO

public static final polyglot.frontend.Pass.ID HARVEST_ASPECT_INFO

CLEAN_MEMBERS

public static final polyglot.frontend.Pass.ID CLEAN_MEMBERS

COLLECT_JIMPLIFY_CLASSES

public static final polyglot.frontend.Pass.ID COLLECT_JIMPLIFY_CLASSES

GOING_TO_JIMPLIFY

public static final polyglot.frontend.Pass.ID GOING_TO_JIMPLIFY

JIMPLIFY

public static final polyglot.frontend.Pass.ID JIMPLIFY

JIMPLIFY_DONE

public static final polyglot.frontend.Pass.ID JIMPLIFY_DONE

EVALUATE_PATTERNS_FINALLY

public static final polyglot.frontend.Pass.ID EVALUATE_PATTERNS_FINALLY

ASPECT_REFLECTION_INSPECT

public static final polyglot.frontend.Pass.ID ASPECT_REFLECTION_INSPECT

ASPECT_REFLECTION_REWRITE

public static final polyglot.frontend.Pass.ID ASPECT_REFLECTION_REWRITE

jar_classes

public java.util.Collection jar_classes
The JVM names for all classes loaded from jar files


source_files

public java.util.Collection source_files

class_to_ast

public java.util.Map class_to_ast

hierarchy

public PCStructure hierarchy

pattern_matcher

public PatternMatcher pattern_matcher

aspect_names

public java.util.Collection aspect_names

prec_rel

public java.util.Map prec_rel
Constructor Detail

ExtensionInfo

public ExtensionInfo(java.util.Collection jar_classes,
                     java.util.Collection source_files)
Method Detail

defaultFileExtension

public java.lang.String defaultFileExtension()

defaultFileExtensions

public java.lang.String[] defaultFileExtensions()

compilerName

public java.lang.String compilerName()

parser

public Parser parser(java.io.Reader reader,
                     FileSource source,
                     ErrorQueue eq)

createNodeFactory

protected NodeFactory createNodeFactory()

createTypeSystem

protected TypeSystem createTypeSystem()

addDependencyToCurrentJob

public void addDependencyToCurrentJob(Source s)

passes

public java.util.List passes(Job job)

passes_parse_and_clean

protected void passes_parse_and_clean(java.util.List l,
                                      Job job)

passes_patterns_and_parents

protected void passes_patterns_and_parents(java.util.List l,
                                           Job job)

passes_precedence_relation

protected void passes_precedence_relation(java.util.List l,
                                          Job job)

passes_fold_and_checkcode

protected void passes_fold_and_checkcode(java.util.List l,
                                         Job job)

passes_saveAST

protected void passes_saveAST(java.util.List l,
                              Job job)

passes_mangle_names

protected void passes_mangle_names(java.util.List l,
                                   Job job)

passes_aspectj_transforms

protected void passes_aspectj_transforms(java.util.List l,
                                         Job job)

passes_jimple

protected void passes_jimple(java.util.List l,
                             Job job)

passes_disambiguate_signatures

protected void passes_disambiguate_signatures(java.util.List l,
                                              Job job)

passes_add_members

protected void passes_add_members(java.util.List l,
                                  Job job)

passes_interface_ITDs

protected void passes_interface_ITDs(java.util.List l,
                                     Job job)

passes_disambiguate_all

protected void passes_disambiguate_all(java.util.List l,
                                       Job job)