abc.main
Class Main

java.lang.Object
  extended by abc.main.Main

public class Main
extends java.lang.Object

The main class of abc. Responsible for parsing command-line arguments, initialising Polyglot and Soot, and driving the compilation process.

Author:
Aske Simon Christensen, Laurie Hendren, Ganesh Sittampalam, Sascha Kuzins, Ondrej Lhotak, Jennifer Lhotak, Julian Tibble, Pavel Avgustinov, Oege de Moor, Damien Sereni

Field Summary
 java.util.Collection aspect_sources
           
 java.lang.String classes_destdir
           
 ErrorQueue error_queue
           
 java.util.Collection jar_classes
           
 java.util.List polyglot_args
           
 java.util.List soot_args
           
 
Constructor Summary
Main(java.lang.String[] args)
           
 
Method Summary
 void abcPrintVersion()
           
 void addJarsToClasspath()
           
 void checkExceptions()
           
 void compile()
           
static void compilerOptionIgnored(java.lang.String option, java.lang.String message)
           
protected  java.lang.Compiler createCompiler(ExtensionInfo ext)
           
 AbcExtension getAbcExtension()
           
 void initSoot()
           
 void loadJars()
           
 void loadSourceRoots()
           
static void main(java.lang.String[] args)
           
 void optimize()
           
 void output()
           
 void parseArgs(java.lang.String[] argArray)
           
static void phaseDebug(java.lang.String s)
           
static void reset()
          reset all static information so main can be called again
 void run()
           
static Main v()
           
 void validate()
           
 void weave()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

aspect_sources

public java.util.Collection aspect_sources

jar_classes

public java.util.Collection jar_classes

soot_args

public java.util.List soot_args

polyglot_args

public java.util.List polyglot_args

classes_destdir

public java.lang.String classes_destdir

error_queue

public ErrorQueue error_queue
Constructor Detail

Main

public Main(java.lang.String[] args)
     throws java.lang.IllegalArgumentException,
            CompilerAbortedException
Throws:
java.lang.IllegalArgumentException
CompilerAbortedException
Method Detail

v

public static Main v()

getAbcExtension

public AbcExtension getAbcExtension()

reset

public static void reset()
reset all static information so main can be called again


compilerOptionIgnored

public static void compilerOptionIgnored(java.lang.String option,
                                         java.lang.String message)

abcPrintVersion

public void abcPrintVersion()

main

public static void main(java.lang.String[] args)

parseArgs

public void parseArgs(java.lang.String[] argArray)
               throws java.lang.IllegalArgumentException,
                      CompilerAbortedException
Throws:
java.lang.IllegalArgumentException
CompilerAbortedException

run

public void run()
         throws CompilerFailedException
Throws:
CompilerFailedException

addJarsToClasspath

public void addJarsToClasspath()

initSoot

public void initSoot()
              throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

loadSourceRoots

public void loadSourceRoots()
                     throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

loadJars

public void loadJars()
              throws CompilerFailedException
Throws:
CompilerFailedException

compile

public void compile()
             throws CompilerFailedException,
                    java.lang.IllegalArgumentException
Throws:
CompilerFailedException
java.lang.IllegalArgumentException

createCompiler

protected java.lang.Compiler createCompiler(ExtensionInfo ext)

weave

public void weave()
           throws CompilerFailedException
Throws:
CompilerFailedException

checkExceptions

public void checkExceptions()

validate

public void validate()

optimize

public void optimize()

output

public void output()

phaseDebug

public static void phaseDebug(java.lang.String s)