Use the good old Coffi front end for parsing Java bytecode (instead of using ASM).
-
-jasmin-backend
Use the Jasmin back end for generating Java bytecode (instead of using ASM).
diff --git a/eclipse/ca.mcgill.sable.soot/src/ca/mcgill/sable/soot/ui/PhaseOptionsDialog.java b/eclipse/ca.mcgill.sable.soot/src/ca/mcgill/sable/soot/ui/PhaseOptionsDialog.java
index d146207fc71..bd0f04499be 100644
--- a/eclipse/ca.mcgill.sable.soot/src/ca/mcgill/sable/soot/ui/PhaseOptionsDialog.java
+++ b/eclipse/ca.mcgill.sable.soot/src/ca/mcgill/sable/soot/ui/PhaseOptionsDialog.java
@@ -996,12 +996,6 @@ private boolean createNewConfig() {
String nextListToken;
- boolRes = getGeneral_Optionscoffi_widget().getButton().getSelection();
- defBoolRes = false;
-
- if (boolRes != defBoolRes) {
- getConfig().put(getGeneral_Optionscoffi_widget().getAlias(), new Boolean(boolRes));
- }
boolRes = getGeneral_Optionsjasmin_backend_widget().getButton().getSelection();
defBoolRes = false;
@@ -4553,16 +4547,6 @@ protected SootOption getInitialInput() {
- private BooleanOptionWidget General_Optionscoffi_widget;
-
- private void setGeneral_Optionscoffi_widget(BooleanOptionWidget widget) {
- General_Optionscoffi_widget = widget;
- }
-
- public BooleanOptionWidget getGeneral_Optionscoffi_widget() {
- return General_Optionscoffi_widget;
- }
-
private BooleanOptionWidget General_Optionsjasmin_backend_widget;
private void setGeneral_Optionsjasmin_backend_widget(BooleanOptionWidget widget) {
@@ -8620,17 +8604,6 @@ private Composite General_OptionsCreate(Composite parent) {
- defKey = ""+" "+""+" "+"coffi";
- defKey = defKey.trim();
-
- if (isInDefList(defKey)) {
- defaultBool = getBoolDef(defKey);
- } else {
- defaultBool = false;
- }
-
- setGeneral_Optionscoffi_widget(new BooleanOptionWidget(editGroupGeneral_Options, SWT.NONE, new OptionData("Coffi Frontend", "", "","coffi", "\n", defaultBool)));
-
defKey = ""+" "+""+" "+"jasmin-backend";
defKey = defKey.trim();
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ASTNode$State.java b/src/main/generated/jastadd/soot/JastAddJ/ASTNode$State.java
index 359755c5fcb..57a906057e6 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ASTNode$State.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ASTNode$State.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @apilevel internal
* @ast class
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ASTNode.java b/src/main/generated/jastadd/soot/JastAddJ/ASTNode.java
index bf1aeb09347..c8b938e41e9 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ASTNode.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ASTNode.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ASTNode;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AbstractDot.java b/src/main/generated/jastadd/soot/JastAddJ/AbstractDot.java
index 82b37dafb3c..d1949897fdb 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AbstractDot.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AbstractDot.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AbstractDot : {@link Access} ::= Left:{@link Expr}Right:{@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AbstractWildcard.java b/src/main/generated/jastadd/soot/JastAddJ/AbstractWildcard.java
index 88c0cadd867..f823a41dfab 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AbstractWildcard.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AbstractWildcard.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AbstractWildcard : {@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AbstractWildcardType.java b/src/main/generated/jastadd/soot/JastAddJ/AbstractWildcardType.java
index 6876950e3f6..7822842d809 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AbstractWildcardType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AbstractWildcardType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AbstractWildcardType : {@link TypeDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Access.java b/src/main/generated/jastadd/soot/JastAddJ/Access.java
index c6d59da9e2e..b3de5f3252f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Access.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Access.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Access : {@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AddExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AddExpr.java
index ed30c598a1b..21aceea7a41 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AddExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AddExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AddExpr : {@link AdditiveExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AdditiveExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AdditiveExpr.java
index e0b597e6b07..fec0e478dab 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AdditiveExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AdditiveExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AdditiveExpr : {@link ArithmeticExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AmbiguousAccess.java b/src/main/generated/jastadd/soot/JastAddJ/AmbiguousAccess.java
index 01cf2c78b66..1cc70135ebe 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AmbiguousAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AmbiguousAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AmbiguousAccess : {@link Access} ::= <ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AndBitwiseExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AndBitwiseExpr.java
index 5f5049a6537..97b9ec78ce6 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AndBitwiseExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AndBitwiseExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AndBitwiseExpr : {@link BitwiseExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AndLogicalExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AndLogicalExpr.java
index 8977ca7eef9..aa77bef4fe8 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AndLogicalExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AndLogicalExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AndLogicalExpr : {@link LogicalExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AnnotatedCompilationUnit.java b/src/main/generated/jastadd/soot/JastAddJ/AnnotatedCompilationUnit.java
index 1b832984d06..06fc99a348c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AnnotatedCompilationUnit.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AnnotatedCompilationUnit.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AnnotatedCompilationUnit : {@link CompilationUnit} ::= {@link Modifiers};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Annotation.java b/src/main/generated/jastadd/soot/JastAddJ/Annotation.java
index e5c53b9767a..b32ecb973f1 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Annotation.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Annotation.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Annotation : {@link Modifier} ::= <ID:String>{@link Access}{@link ElementValuePair}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AnnotationDecl.java b/src/main/generated/jastadd/soot/JastAddJ/AnnotationDecl.java
index 062fcb22dc7..336099246fa 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AnnotationDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AnnotationDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AnnotationDecl : {@link InterfaceDecl} ::= SuperInterfaceId:{@link Access}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AnnotationMethodDecl.java b/src/main/generated/jastadd/soot/JastAddJ/AnnotationMethodDecl.java
index 56bf2fa0035..fa2071a3486 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AnnotationMethodDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AnnotationMethodDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AnnotationMethodDecl : {@link MethodDecl} ::= [DefaultValue:{@link ElementValue}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AnonymousDecl.java b/src/main/generated/jastadd/soot/JastAddJ/AnonymousDecl.java
index a93109ae2cf..56e38733e0b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AnonymousDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AnonymousDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AnonymousDecl : {@link ClassDecl} ::= {@link Modifiers}<ID:String>[SuperClassAccess:{@link Access}]Implements:{@link Access}*{@link BodyDecl}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ArithmeticExpr.java b/src/main/generated/jastadd/soot/JastAddJ/ArithmeticExpr.java
index 1751ed4bb9d..38dfd47dbab 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ArithmeticExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ArithmeticExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ArithmeticExpr : {@link Binary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ArrayAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ArrayAccess.java
index e00699a4dd8..e97814ff503 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ArrayAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ArrayAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ArrayAccess : {@link Access} ::= {@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ArrayCreationExpr.java b/src/main/generated/jastadd/soot/JastAddJ/ArrayCreationExpr.java
index dcb85b110e4..10f27a6e4c0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ArrayCreationExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ArrayCreationExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ArrayCreationExpr : {@link PrimaryExpr} ::= TypeAccess:{@link Access}[{@link ArrayInit}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ArrayDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ArrayDecl.java
index 0290362c1cd..c28d4e6554f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ArrayDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ArrayDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ArrayDecl : {@link ClassDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ArrayInit.java b/src/main/generated/jastadd/soot/JastAddJ/ArrayInit.java
index 010d0114abf..f7444ead535 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ArrayInit.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ArrayInit.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ArrayInit : {@link Expr} ::= Init:{@link Expr}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ArrayTypeAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ArrayTypeAccess.java
index 43a85f357ac..fc7aa6863b2 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ArrayTypeAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ArrayTypeAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ArrayTypeAccess : {@link TypeAccess} ::= <Package:String><ID:String>{@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ArrayTypeWithSizeAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ArrayTypeWithSizeAccess.java
index 1a8e6070301..39240613f7a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ArrayTypeWithSizeAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ArrayTypeWithSizeAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ArrayTypeWithSizeAccess : {@link ArrayTypeAccess} ::= {@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssertStmt.java b/src/main/generated/jastadd/soot/JastAddJ/AssertStmt.java
index 135ddba3476..91ab919df0c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssertStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssertStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssertStmt : {@link Stmt} ::= first:{@link Expr}[{@link Expr}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignAdditiveExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignAdditiveExpr.java
index c455d24dca6..44cc705565d 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignAdditiveExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignAdditiveExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignAdditiveExpr : {@link AssignExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignAndExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignAndExpr.java
index fcaa20786e6..2899155c821 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignAndExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignAndExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignAndExpr : {@link AssignBitwiseExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignBitwiseExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignBitwiseExpr.java
index 3adff9e3ec3..d967e75174c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignBitwiseExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignBitwiseExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignBitwiseExpr : {@link AssignExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignDivExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignDivExpr.java
index 3b5750082f9..6a216a55ce3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignDivExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignDivExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignDivExpr : {@link AssignMultiplicativeExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignExpr.java
index 710c43e91e4..af815b7b6f3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignExpr : {@link Expr} ::= Dest:{@link Expr}Source:{@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignLShiftExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignLShiftExpr.java
index 2443e4f678a..e80f7ac36b2 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignLShiftExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignLShiftExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignLShiftExpr : {@link AssignShiftExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignMinusExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignMinusExpr.java
index ac824815d7e..d841c2036e5 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignMinusExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignMinusExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignMinusExpr : {@link AssignAdditiveExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignModExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignModExpr.java
index daf6ff63ffd..f6275b1cc46 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignModExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignModExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignModExpr : {@link AssignMultiplicativeExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignMulExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignMulExpr.java
index 80987ac61aa..f28a47896ee 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignMulExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignMulExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignMulExpr : {@link AssignMultiplicativeExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignMultiplicativeExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignMultiplicativeExpr.java
index a65a83a4579..7389b8dd990 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignMultiplicativeExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignMultiplicativeExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignMultiplicativeExpr : {@link AssignExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignOrExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignOrExpr.java
index 3dcfb7273c2..fe85bc1ffd3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignOrExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignOrExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignOrExpr : {@link AssignBitwiseExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignPlusExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignPlusExpr.java
index 19dd62efb63..f5a8582b31f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignPlusExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignPlusExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignPlusExpr : {@link AssignAdditiveExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignRShiftExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignRShiftExpr.java
index 45a699093f2..f5cb2d75930 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignRShiftExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignRShiftExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignRShiftExpr : {@link AssignShiftExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignShiftExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignShiftExpr.java
index 0552271873f..905409e2f8f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignShiftExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignShiftExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignShiftExpr : {@link AssignExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignSimpleExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignSimpleExpr.java
index a21d73dea3e..89dc539d9db 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignSimpleExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignSimpleExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignSimpleExpr : {@link AssignExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignURShiftExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignURShiftExpr.java
index 2039e6a4f6e..6af9146a976 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignURShiftExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignURShiftExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignURShiftExpr : {@link AssignShiftExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/AssignXorExpr.java b/src/main/generated/jastadd/soot/JastAddJ/AssignXorExpr.java
index a7acc59374b..4e0de9e1713 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/AssignXorExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/AssignXorExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production AssignXorExpr : {@link AssignBitwiseExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Attributes.java b/src/main/generated/jastadd/soot/JastAddJ/Attributes.java
index b464fb79a84..de844e07144 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Attributes.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Attributes.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BasicCatch.java b/src/main/generated/jastadd/soot/JastAddJ/BasicCatch.java
index a8ff8c5be01..f4bff6217dd 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BasicCatch.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BasicCatch.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* A catch clause that can catch a single exception type.
* @production BasicCatch : {@link CatchClause} ::= Parameter:{@link ParameterDeclaration}{@link Block};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Binary.java b/src/main/generated/jastadd/soot/JastAddJ/Binary.java
index c3915f4326f..abcb6cba5a5 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Binary.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Binary.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Binary : {@link Expr} ::= LeftOperand:{@link Expr}RightOperand:{@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BitNotExpr.java b/src/main/generated/jastadd/soot/JastAddJ/BitNotExpr.java
index 0ca20a54f6f..6200e017ed7 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BitNotExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BitNotExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BitNotExpr : {@link Unary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BitwiseExpr.java b/src/main/generated/jastadd/soot/JastAddJ/BitwiseExpr.java
index 3131ce03535..d4e7da31ee8 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BitwiseExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BitwiseExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BitwiseExpr : {@link Binary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Block.java b/src/main/generated/jastadd/soot/JastAddJ/Block.java
index 45d17c84504..e23e0c19363 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Block.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Block.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Block : {@link Stmt} ::= {@link Stmt}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Body.java b/src/main/generated/jastadd/soot/JastAddJ/Body.java
index 06231207e71..0633b025280 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Body.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Body.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BodyDecl.java b/src/main/generated/jastadd/soot/JastAddJ/BodyDecl.java
index 2637d679a07..1e9f1dba9f2 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BodyDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BodyDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BodyDecl : {@link ASTNode};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BodyDeclList.java b/src/main/generated/jastadd/soot/JastAddJ/BodyDeclList.java
index 979fb1cefda..bb6e0f42f3a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BodyDeclList.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BodyDeclList.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BodyDeclList : {@link List};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BooleanLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/BooleanLiteral.java
index de4c98402d3..dfc0040fecc 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BooleanLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BooleanLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Represents a Java boolean; either "true" or "false".
* @production BooleanLiteral : {@link Literal};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BooleanType.java b/src/main/generated/jastadd/soot/JastAddJ/BooleanType.java
index ee785f7d26e..fd85a7c79df 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BooleanType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BooleanType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BooleanType : {@link PrimitiveType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BoundFieldAccess.java b/src/main/generated/jastadd/soot/JastAddJ/BoundFieldAccess.java
index 4c81520f84f..159efc94743 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BoundFieldAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BoundFieldAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BoundFieldAccess : {@link VarAccess} ::= <FieldDeclaration:FieldDeclaration>;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BoundMethodAccess.java b/src/main/generated/jastadd/soot/JastAddJ/BoundMethodAccess.java
index 32adde3ee37..e91685045e5 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BoundMethodAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BoundMethodAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BoundMethodAccess : {@link MethodAccess};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BoundTypeAccess.java b/src/main/generated/jastadd/soot/JastAddJ/BoundTypeAccess.java
index c8bd02f9211..a8e717c1920 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BoundTypeAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BoundTypeAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BoundTypeAccess : {@link TypeAccess} ::= <TypeDecl:TypeDecl>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BranchPropagation.java b/src/main/generated/jastadd/soot/JastAddJ/BranchPropagation.java
index 4254f98cbdf..9d8f3b90813 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BranchPropagation.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BranchPropagation.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BranchTargetStmt.java b/src/main/generated/jastadd/soot/JastAddJ/BranchTargetStmt.java
index 002af545468..cae252c2a4b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BranchTargetStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BranchTargetStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BranchTargetStmt : {@link Stmt};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BreakStmt.java b/src/main/generated/jastadd/soot/JastAddJ/BreakStmt.java
index d085ebf4c02..cf6109a2844 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BreakStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BreakStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BreakStmt : {@link Stmt} ::= <Label:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BridgeMethodDecl.java b/src/main/generated/jastadd/soot/JastAddJ/BridgeMethodDecl.java
index 7415482f238..6a97f2d59dd 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BridgeMethodDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BridgeMethodDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BridgeMethodDecl : {@link MethodDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ByteType.java b/src/main/generated/jastadd/soot/JastAddJ/ByteType.java
index 6bffacd18b5..8bd5998a56d 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ByteType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ByteType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ByteType : {@link IntegralType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BytecodeParser.java b/src/main/generated/jastadd/soot/JastAddJ/BytecodeParser.java
index e33967a5498..fa0c9db6daf 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BytecodeParser.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BytecodeParser.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BytecodeReader.java b/src/main/generated/jastadd/soot/JastAddJ/BytecodeReader.java
index 91310aa3cd3..36deffcfe0b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BytecodeReader.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BytecodeReader.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/BytecodeTypeAccess.java b/src/main/generated/jastadd/soot/JastAddJ/BytecodeTypeAccess.java
index f4f677a5410..95131a48b92 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/BytecodeTypeAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/BytecodeTypeAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production BytecodeTypeAccess : {@link TypeAccess};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Class_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Class_Info.java
index 5a0df8633e4..fe35a240457 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Class_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Class_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Double_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Double_Info.java
index a4321e3a2a9..9f4e599dd4c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Double_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Double_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Fieldref_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Fieldref_Info.java
index 2e31dff860d..70a7460282e 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Fieldref_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Fieldref_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Float_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Float_Info.java
index ce99a7ec711..20e31be44b5 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Float_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Float_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Info.java
index 727b7b9e817..a00e0576c22 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Integer_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Integer_Info.java
index a39a26988d5..57c43c271cd 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Integer_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Integer_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_InterfaceMethodref_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_InterfaceMethodref_Info.java
index 5daa063ea99..37fe5f5caf0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_InterfaceMethodref_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_InterfaceMethodref_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Long_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Long_Info.java
index 9dcf70b3768..a4f92c66f05 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Long_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Long_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Methodref_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Methodref_Info.java
index 1c1d76e3c55..8874cc4b11d 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Methodref_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Methodref_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_NameAndType_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_NameAndType_Info.java
index fa43a8b7bbf..73892055586 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_NameAndType_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_NameAndType_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_String_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_String_Info.java
index e4df85ac50d..ff61545cb99 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_String_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_String_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Utf8_Info.java b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Utf8_Info.java
index 48113a279f9..6a72a205b5e 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Utf8_Info.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CONSTANT_Utf8_Info.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Case.java b/src/main/generated/jastadd/soot/JastAddJ/Case.java
index dc7efdd9c04..61f4fe555c8 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Case.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Case.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Case : {@link Stmt};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CastExpr.java b/src/main/generated/jastadd/soot/JastAddJ/CastExpr.java
index 284d44d5a8f..c43fabca806 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CastExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CastExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production CastExpr : {@link Expr} ::= TypeAccess:{@link Access}{@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CatchClause.java b/src/main/generated/jastadd/soot/JastAddJ/CatchClause.java
index 67ffdc35796..e6572b18515 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CatchClause.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CatchClause.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Abstract superclass for catch clauses.
* @production CatchClause : {@link ASTNode} ::= {@link Block};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CatchParameterDeclaration.java b/src/main/generated/jastadd/soot/JastAddJ/CatchParameterDeclaration.java
index ed0f9c5b029..5530113670f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CatchParameterDeclaration.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CatchParameterDeclaration.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* A catch parameter with disjunct exception type.
* @production CatchParameterDeclaration : {@link ASTNode} ::= {@link Modifiers}TypeAccess:{@link Access}*<ID:String>;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CharType.java b/src/main/generated/jastadd/soot/JastAddJ/CharType.java
index c0be2418388..8dd54f4054c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CharType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CharType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production CharType : {@link IntegralType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CharacterLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/CharacterLiteral.java
index b9a6163c83d..e7b87339207 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CharacterLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CharacterLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Represents a single character.
* May not contain a Unicode escape sequence (Unicode escapes
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ClassAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ClassAccess.java
index 9821a808fa0..3fd87560957 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ClassAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ClassAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ClassAccess : {@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ClassDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ClassDecl.java
index d0f82d91444..797d2f0d5f4 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ClassDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ClassDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ClassDecl : {@link ReferenceType} ::= {@link Modifiers}<ID:String>[SuperClassAccess:{@link Access}]Implements:{@link Access}*{@link BodyDecl}*;
@@ -907,17 +903,6 @@ private SootClass refined_EmitJimpleRefinements_ClassDecl_sootClass()
SootClass sc = null;
if(Scene.v().containsClass(jvmName())) {
SootClass cl = Scene.v().getSootClass(jvmName());
- //fix for test case 653: if there's a class java.lang.Object etc. on the command line
- //prefer that class over the Coffi class that may already have been loaded from bytecode
- try {
- MethodSource source = cl.getMethodByName("").getSource();
- if(source instanceof CoffiMethodSource) {
- Scene.v().removeClass(cl);
- needAddclass = true;
- }
- } catch(RuntimeException e) {
- //method not found
- }
sc = cl;
}
else {
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ClassDeclSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/ClassDeclSubstituted.java
index 89d66b24d67..a671a493a9f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ClassDeclSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ClassDeclSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ClassDeclSubstituted : {@link ClassDecl} ::= <Original:TypeDecl>{@link BodyDecl}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ClassInstanceExpr.java b/src/main/generated/jastadd/soot/JastAddJ/ClassInstanceExpr.java
index bdfc54b284c..65e2a3ec487 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ClassInstanceExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ClassInstanceExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ClassInstanceExpr : {@link Access} ::= {@link Access}Arg:{@link Expr}*[{@link TypeDecl}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/CompilationUnit.java b/src/main/generated/jastadd/soot/JastAddJ/CompilationUnit.java
index d6323625df5..cd141338ad7 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/CompilationUnit.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/CompilationUnit.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production CompilationUnit : {@link ASTNode} ::= <PackageDecl:java.lang.String>{@link ImportDecl}*{@link TypeDecl}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ConditionalExpr.java b/src/main/generated/jastadd/soot/JastAddJ/ConditionalExpr.java
index e62bf1d6eb6..15b63760720 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ConditionalExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ConditionalExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ConditionalExpr : {@link Expr} ::= Condition:{@link Expr}TrueExpr:{@link Expr}FalseExpr:{@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ConstCase.java b/src/main/generated/jastadd/soot/JastAddJ/ConstCase.java
index 769a523204e..e44a0e6bdaf 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ConstCase.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ConstCase.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ConstCase : {@link Case} ::= Value:{@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Constant.java b/src/main/generated/jastadd/soot/JastAddJ/Constant.java
index ca8ec14205e..467e82a6e0e 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Constant.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Constant.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Constraints.java b/src/main/generated/jastadd/soot/JastAddJ/Constraints.java
index 05dbd2c54a0..42a54a907b4 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Constraints.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Constraints.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ConstructorAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ConstructorAccess.java
index 2486f30aade..a2aa328202a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ConstructorAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ConstructorAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ConstructorAccess : {@link Access} ::= <ID:String>Arg:{@link Expr}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ConstructorDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ConstructorDecl.java
index 36f66486471..2d3bd784b80 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ConstructorDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ConstructorDecl.java
@@ -1153,8 +1153,7 @@ public Block getBlockNoTransform() {
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/EmitJimpleRefinements.jrag:121
*/
public void jimplify2() {
- if (!generate() || sootMethod().hasActiveBody() || (sootMethod().getSource() != null
- && (sootMethod().getSource() instanceof soot.coffi.CoffiMethodSource)))
+ if (!generate() || sootMethod().hasActiveBody())
return;
JimpleBody body = Jimple.v().newBody(sootMethod());
sootMethod().setActiveBody(body);
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ConstructorDeclSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/ConstructorDeclSubstituted.java
index b5ca901e990..bd6e51ddc77 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ConstructorDeclSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ConstructorDeclSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ConstructorDeclSubstituted : {@link ConstructorDecl} ::= <Original:ConstructorDecl>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ContinueStmt.java b/src/main/generated/jastadd/soot/JastAddJ/ContinueStmt.java
index 6d814951048..f36ccccf76f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ContinueStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ContinueStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ContinueStmt : {@link Stmt} ::= <Label:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/DefaultCase.java b/src/main/generated/jastadd/soot/JastAddJ/DefaultCase.java
index 2282645bc99..8d4ff70eaec 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/DefaultCase.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/DefaultCase.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production DefaultCase : {@link Case};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/DiamondAccess.java b/src/main/generated/jastadd/soot/JastAddJ/DiamondAccess.java
index 4acffe22390..1f596faf92a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/DiamondAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/DiamondAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Type access for a generic class with an empty type parameter list.
* @production DiamondAccess : {@link Access} ::= TypeAccess:{@link Access};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Dims.java b/src/main/generated/jastadd/soot/JastAddJ/Dims.java
index cf46bf54415..6d10bf006bc 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Dims.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Dims.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Dims : {@link ASTNode} ::= [{@link Expr}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/DivExpr.java b/src/main/generated/jastadd/soot/JastAddJ/DivExpr.java
index 06b589b8171..5396b65b262 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/DivExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/DivExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production DivExpr : {@link MultiplicativeExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/DoStmt.java b/src/main/generated/jastadd/soot/JastAddJ/DoStmt.java
index da38b7d174d..38d293a2c0d 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/DoStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/DoStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production DoStmt : {@link BranchTargetStmt} ::= {@link Stmt}Condition:{@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Dot.java b/src/main/generated/jastadd/soot/JastAddJ/Dot.java
index 07b91250af7..94d29d83975 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Dot.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Dot.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Dot : {@link AbstractDot};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/DoubleLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/DoubleLiteral.java
index 52f26d1e59c..7f0977ea945 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/DoubleLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/DoubleLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Java double-precision floating point literal.
* Can store any value representable as an
diff --git a/src/main/generated/jastadd/soot/JastAddJ/DoubleType.java b/src/main/generated/jastadd/soot/JastAddJ/DoubleType.java
index ec2e5502ba8..dccd2869800 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/DoubleType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/DoubleType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production DoubleType : {@link FloatingPointType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/EQExpr.java b/src/main/generated/jastadd/soot/JastAddJ/EQExpr.java
index 65ab3897260..6c9da4acf5e 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/EQExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/EQExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production EQExpr : {@link EqualityExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ElementAnnotationValue.java b/src/main/generated/jastadd/soot/JastAddJ/ElementAnnotationValue.java
index 18b0158ba9b..1420d23e44c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ElementAnnotationValue.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ElementAnnotationValue.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ElementAnnotationValue : {@link ElementValue} ::= {@link Annotation};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ElementArrayValue.java b/src/main/generated/jastadd/soot/JastAddJ/ElementArrayValue.java
index 001abce3b94..ec18aecb6d7 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ElementArrayValue.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ElementArrayValue.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ElementArrayValue : {@link ElementValue} ::= {@link ElementValue}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ElementConstantValue.java b/src/main/generated/jastadd/soot/JastAddJ/ElementConstantValue.java
index 21ee475cbbc..1123dd15c11 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ElementConstantValue.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ElementConstantValue.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ElementConstantValue : {@link ElementValue} ::= {@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ElementValue.java b/src/main/generated/jastadd/soot/JastAddJ/ElementValue.java
index a3578c79565..e3bd227e068 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ElementValue.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ElementValue.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ElementValue : {@link ASTNode};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ElementValuePair.java b/src/main/generated/jastadd/soot/JastAddJ/ElementValuePair.java
index f2169771673..5bd30df5f4a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ElementValuePair.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ElementValuePair.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ElementValuePair : {@link ASTNode} ::= <Name:String>{@link ElementValue};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/EmptyStmt.java b/src/main/generated/jastadd/soot/JastAddJ/EmptyStmt.java
index e202f760327..9581716736b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/EmptyStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/EmptyStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production EmptyStmt : {@link Stmt};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/EmptyType.java b/src/main/generated/jastadd/soot/JastAddJ/EmptyType.java
index 34c5f395c5a..58e7f757f86 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/EmptyType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/EmptyType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production EmptyType : {@link PrimitiveType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/EnhancedForStmt.java b/src/main/generated/jastadd/soot/JastAddJ/EnhancedForStmt.java
index 545a38b040e..5fd069e08ca 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/EnhancedForStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/EnhancedForStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production EnhancedForStmt : {@link BranchTargetStmt} ::= {@link VariableDeclaration}{@link Expr}{@link Stmt};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/EnumConstant.java b/src/main/generated/jastadd/soot/JastAddJ/EnumConstant.java
index 6db18204a09..65f80e9fcdb 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/EnumConstant.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/EnumConstant.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production EnumConstant : {@link FieldDeclaration} ::= {@link Modifiers}<ID:String>Arg:{@link Expr}*[Init:{@link Expr}]TypeAccess:{@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/EnumDecl.java b/src/main/generated/jastadd/soot/JastAddJ/EnumDecl.java
index 0a1b170fa31..c09e417a348 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/EnumDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/EnumDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production EnumDecl : {@link ClassDecl} ::= {@link Modifiers}<ID:String>[SuperClassAccess:{@link Access}]Implements:{@link Access}*{@link BodyDecl}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/EnumInstanceExpr.java b/src/main/generated/jastadd/soot/JastAddJ/EnumInstanceExpr.java
index 7d3012be033..c8b79910801 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/EnumInstanceExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/EnumInstanceExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production EnumInstanceExpr : {@link ClassInstanceExpr} ::= {@link Access}Arg:{@link Expr}*[{@link TypeDecl}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/EqualityExpr.java b/src/main/generated/jastadd/soot/JastAddJ/EqualityExpr.java
index 51c77cc4d91..861d8d8b6c0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/EqualityExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/EqualityExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production EqualityExpr : {@link RelationalExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Expr.java b/src/main/generated/jastadd/soot/JastAddJ/Expr.java
index fb34930de67..6bcd064402f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Expr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Expr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Expr : {@link ASTNode};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ExprStmt.java b/src/main/generated/jastadd/soot/JastAddJ/ExprStmt.java
index e27387bbb68..3e1e31a33ce 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ExprStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ExprStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ExprStmt : {@link Stmt} ::= {@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FieldDecl.java b/src/main/generated/jastadd/soot/JastAddJ/FieldDecl.java
index d504cd88d1f..7d1d881f028 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FieldDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FieldDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production FieldDecl : {@link MemberDecl} ::= {@link Modifiers}TypeAccess:{@link Access}{@link VariableDecl}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FieldDeclarationSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/FieldDeclarationSubstituted.java
index c629b3bd635..ce026e1a0ca 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FieldDeclarationSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FieldDeclarationSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production FieldDeclarationSubstituted : {@link FieldDeclaration} ::= <Original:FieldDeclaration>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FieldDescriptor.java b/src/main/generated/jastadd/soot/JastAddJ/FieldDescriptor.java
index 67b803ce544..8872f85faa9 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FieldDescriptor.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FieldDescriptor.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FieldInfo.java b/src/main/generated/jastadd/soot/JastAddJ/FieldInfo.java
index 43edc6c46ed..352d05c3871 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FieldInfo.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FieldInfo.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FileNamesPart.java b/src/main/generated/jastadd/soot/JastAddJ/FileNamesPart.java
index 1a177682727..905ce627b03 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FileNamesPart.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FileNamesPart.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FinallyHost.java b/src/main/generated/jastadd/soot/JastAddJ/FinallyHost.java
index b4276600d00..c02eb0f810a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FinallyHost.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FinallyHost.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Flags.java b/src/main/generated/jastadd/soot/JastAddJ/Flags.java
index 0ddb0b5ab23..9573ba2db0e 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Flags.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Flags.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FloatType.java b/src/main/generated/jastadd/soot/JastAddJ/FloatType.java
index ce13dc8a11e..e2885da5053 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FloatType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FloatType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production FloatType : {@link FloatingPointType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FloatingPointLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/FloatingPointLiteral.java
index aca1ac14379..a576af82c32 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FloatingPointLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FloatingPointLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Java floating point literal. Can store any value representable as an
* IEEE 754 32-bit single-precision floating point number.
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FloatingPointType.java b/src/main/generated/jastadd/soot/JastAddJ/FloatingPointType.java
index 7b4433d4945..f58e7332b39 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FloatingPointType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FloatingPointType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production FloatingPointType : {@link NumericType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/FolderPart.java b/src/main/generated/jastadd/soot/JastAddJ/FolderPart.java
index dfba4f8fc24..b12bd4e158c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/FolderPart.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/FolderPart.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ForStmt.java b/src/main/generated/jastadd/soot/JastAddJ/ForStmt.java
index 405d51a988b..be0a562a893 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ForStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ForStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ForStmt : {@link BranchTargetStmt} ::= InitStmt:{@link Stmt}*[Condition:{@link Expr}]UpdateStmt:{@link Stmt}*{@link Stmt};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Frontend.java b/src/main/generated/jastadd/soot/JastAddJ/Frontend.java
index 49099cb95bf..8d7724efe53 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Frontend.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Frontend.java
@@ -14,11 +14,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GEExpr.java b/src/main/generated/jastadd/soot/JastAddJ/GEExpr.java
index 8a3aef143c9..a6712fc2bf5 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GEExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GEExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GEExpr : {@link RelationalExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GLBType.java b/src/main/generated/jastadd/soot/JastAddJ/GLBType.java
index 13e3c4881d5..61e8ae032dc 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GLBType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GLBType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GLBType : {@link ReferenceType} ::= {@link Modifiers}<ID:String>{@link BodyDecl}*TypeBound:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GLBTypeFactory.java b/src/main/generated/jastadd/soot/JastAddJ/GLBTypeFactory.java
index 361d8214338..71adbdc8900 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GLBTypeFactory.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GLBTypeFactory.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GTExpr.java b/src/main/generated/jastadd/soot/JastAddJ/GTExpr.java
index 3fd8b580f72..20473db4605 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GTExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GTExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GTExpr : {@link RelationalExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GenericClassDecl.java b/src/main/generated/jastadd/soot/JastAddJ/GenericClassDecl.java
index 6e2f34460af..9cc1d21b644 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GenericClassDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GenericClassDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GenericClassDecl : {@link ClassDecl} ::= {@link Modifiers}<ID:String>[SuperClassAccess:{@link Access}]Implements:{@link Access}*{@link BodyDecl}*TypeParameter:{@link TypeVariable}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GenericClassDeclSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/GenericClassDeclSubstituted.java
index bce0e1bcae9..3db497e308b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GenericClassDeclSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GenericClassDeclSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GenericClassDeclSubstituted : {@link GenericClassDecl} ::= <Original:TypeDecl>{@link BodyDecl}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GenericConstructorDecl.java b/src/main/generated/jastadd/soot/JastAddJ/GenericConstructorDecl.java
index 33129db1bb8..af3d005e589 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GenericConstructorDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GenericConstructorDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GenericConstructorDecl : {@link ConstructorDecl} ::= TypeParameter:{@link TypeVariable}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GenericInterfaceDecl.java b/src/main/generated/jastadd/soot/JastAddJ/GenericInterfaceDecl.java
index 154723f1607..1b8162123fa 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GenericInterfaceDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GenericInterfaceDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GenericInterfaceDecl : {@link InterfaceDecl} ::= {@link Modifiers}<ID:String>SuperInterfaceId:{@link Access}*{@link BodyDecl}*TypeParameter:{@link TypeVariable}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GenericInterfaceDeclSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/GenericInterfaceDeclSubstituted.java
index 71e4e445b7b..26ed8e0a851 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GenericInterfaceDeclSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GenericInterfaceDeclSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GenericInterfaceDeclSubstituted : {@link GenericInterfaceDecl} ::= <Original:TypeDecl>{@link BodyDecl}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GenericMethodDecl.java b/src/main/generated/jastadd/soot/JastAddJ/GenericMethodDecl.java
index e0eef89979b..bd19bdd4a75 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GenericMethodDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GenericMethodDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production GenericMethodDecl : {@link MethodDecl} ::= TypeParameter:{@link TypeVariable}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/GenericTypeDecl.java b/src/main/generated/jastadd/soot/JastAddJ/GenericTypeDecl.java
index 00461f8c82a..95f7bb3513a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/GenericTypeDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/GenericTypeDecl.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/IdUse.java b/src/main/generated/jastadd/soot/JastAddJ/IdUse.java
index 8fcd6453b0a..1e53c270ffe 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/IdUse.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/IdUse.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production IdUse : {@link ASTNode} ::= <ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/IfStmt.java b/src/main/generated/jastadd/soot/JastAddJ/IfStmt.java
index 3d6ae4a0adb..a93ef435c43 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/IfStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/IfStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production IfStmt : {@link Stmt} ::= Condition:{@link Expr}Then:{@link Stmt}[Else:{@link Stmt}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/IllegalLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/IllegalLiteral.java
index 9a2c88a5035..6e99a1b1f5c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/IllegalLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/IllegalLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Literal produced when the compiler tries to parse
* a malformatted NumericLiteral.
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ImportDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ImportDecl.java
index 06237d1be00..209e2cd4274 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ImportDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ImportDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ImportDecl : {@link ASTNode} ::= {@link Access};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/InstanceInitializer.java b/src/main/generated/jastadd/soot/JastAddJ/InstanceInitializer.java
index 5b137f4904d..fa352f70892 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/InstanceInitializer.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/InstanceInitializer.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production InstanceInitializer : {@link BodyDecl} ::= {@link Block};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/InstanceOfExpr.java b/src/main/generated/jastadd/soot/JastAddJ/InstanceOfExpr.java
index 1adca2a3bc8..7d0ca201bec 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/InstanceOfExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/InstanceOfExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production InstanceOfExpr : {@link Expr} ::= {@link Expr}TypeAccess:{@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/IntType.java b/src/main/generated/jastadd/soot/JastAddJ/IntType.java
index 22241bcfad1..035e847acbd 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/IntType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/IntType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production IntType : {@link IntegralType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/IntegerLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/IntegerLiteral.java
index ccff8457695..1abf44c3924 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/IntegerLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/IntegerLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Default Java integer literal. Should only be used for numbers
* that can be stored in 32 bits binary.
diff --git a/src/main/generated/jastadd/soot/JastAddJ/IntegralType.java b/src/main/generated/jastadd/soot/JastAddJ/IntegralType.java
index 02c1ed512f3..72ef6b5102a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/IntegralType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/IntegralType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production IntegralType : {@link NumericType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/InterfaceDecl.java b/src/main/generated/jastadd/soot/JastAddJ/InterfaceDecl.java
index f1b4cbbfc2e..5273108adfb 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/InterfaceDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/InterfaceDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production InterfaceDecl : {@link ReferenceType} ::= {@link Modifiers}<ID:String>SuperInterfaceId:{@link Access}*{@link BodyDecl}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/InterfaceDeclSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/InterfaceDeclSubstituted.java
index 9aec1d43cba..1db4c0f8b80 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/InterfaceDeclSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/InterfaceDeclSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production InterfaceDeclSubstituted : {@link InterfaceDecl} ::= <Original:TypeDecl>{@link BodyDecl}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/JavaParser.java b/src/main/generated/jastadd/soot/JastAddJ/JavaParser.java
index f944bd81e75..c129dc9f760 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/JavaParser.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/JavaParser.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LEExpr.java b/src/main/generated/jastadd/soot/JastAddJ/LEExpr.java
index fd9ab235a5c..23e650d7ca8 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LEExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LEExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LEExpr : {@link RelationalExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LShiftExpr.java b/src/main/generated/jastadd/soot/JastAddJ/LShiftExpr.java
index 648434f740b..274cd8d2aa7 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LShiftExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LShiftExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LShiftExpr : {@link ShiftExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LTExpr.java b/src/main/generated/jastadd/soot/JastAddJ/LTExpr.java
index c9a01e86eb6..e8734fc4c24 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LTExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LTExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LTExpr : {@link RelationalExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LUBType.java b/src/main/generated/jastadd/soot/JastAddJ/LUBType.java
index 3fa9105aa0a..5708912c183 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LUBType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LUBType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LUBType : {@link ReferenceType} ::= {@link Modifiers}<ID:String>{@link BodyDecl}*TypeBound:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LabeledStmt.java b/src/main/generated/jastadd/soot/JastAddJ/LabeledStmt.java
index 23c0b37f46d..cea5b0451d2 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LabeledStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LabeledStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LabeledStmt : {@link BranchTargetStmt} ::= <Label:String>{@link Stmt};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/List.java b/src/main/generated/jastadd/soot/JastAddJ/List.java
index f46d10fbb44..327ac9cd690 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/List.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/List.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production List : {@link ASTNode};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Literal.java b/src/main/generated/jastadd/soot/JastAddJ/Literal.java
index 3302e0866d3..338cbfa91ec 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Literal.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Literal.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* The abstract base class for all literals.
* @production Literal : {@link PrimaryExpr} ::= <LITERAL:String>;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LocalClassDeclStmt.java b/src/main/generated/jastadd/soot/JastAddJ/LocalClassDeclStmt.java
index e199b7c1b77..33842d9b4b4 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LocalClassDeclStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LocalClassDeclStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LocalClassDeclStmt : {@link Stmt} ::= {@link ClassDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LogNotExpr.java b/src/main/generated/jastadd/soot/JastAddJ/LogNotExpr.java
index ed46e894a9a..1477bd6dbff 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LogNotExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LogNotExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LogNotExpr : {@link Unary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LogicalExpr.java b/src/main/generated/jastadd/soot/JastAddJ/LogicalExpr.java
index 7f90cf6f933..7b4c95ab8f9 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LogicalExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LogicalExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LogicalExpr : {@link Binary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LongLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/LongLiteral.java
index 35aa39a814c..cc3a8b90ab7 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LongLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LongLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Java long integer literal. Can store any number that fits in 64 bits
* of data, or less.
diff --git a/src/main/generated/jastadd/soot/JastAddJ/LongType.java b/src/main/generated/jastadd/soot/JastAddJ/LongType.java
index 5f56092c8a5..b57db419480 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/LongType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/LongType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production LongType : {@link IntegralType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MemberClassDecl.java b/src/main/generated/jastadd/soot/JastAddJ/MemberClassDecl.java
index d8cc98e5df9..82c93e25bf2 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MemberClassDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MemberClassDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MemberClassDecl : {@link MemberTypeDecl} ::= {@link ClassDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MemberDecl.java b/src/main/generated/jastadd/soot/JastAddJ/MemberDecl.java
index 8062d0c6630..e8cf9ebc786 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MemberDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MemberDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MemberDecl : {@link BodyDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MemberInterfaceDecl.java b/src/main/generated/jastadd/soot/JastAddJ/MemberInterfaceDecl.java
index 45722f7246d..0142b15dc61 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MemberInterfaceDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MemberInterfaceDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MemberInterfaceDecl : {@link MemberTypeDecl} ::= {@link InterfaceDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MemberSubstitutor.java b/src/main/generated/jastadd/soot/JastAddJ/MemberSubstitutor.java
index 6895841fb18..edd721fb642 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MemberSubstitutor.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MemberSubstitutor.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MemberTypeDecl.java b/src/main/generated/jastadd/soot/JastAddJ/MemberTypeDecl.java
index fcf361de1ac..cf35f9672e7 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MemberTypeDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MemberTypeDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MemberTypeDecl : {@link MemberDecl};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MethodAccess.java b/src/main/generated/jastadd/soot/JastAddJ/MethodAccess.java
index daeda572cca..dbc6412a6db 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MethodAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MethodAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MethodAccess : {@link Access} ::= <ID:String>Arg:{@link Expr}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MethodDecl.java b/src/main/generated/jastadd/soot/JastAddJ/MethodDecl.java
index 7b191f2a8ef..a4d9f181f60 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MethodDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MethodDecl.java
@@ -1258,8 +1258,7 @@ else if (isFinal())
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/EmitJimpleRefinements.jrag:100
*/
public void jimplify2() {
- if (!generate() || sootMethod().hasActiveBody() || (sootMethod().getSource() != null
- && (sootMethod().getSource() instanceof soot.coffi.CoffiMethodSource)))
+ if (!generate() || sootMethod().hasActiveBody())
return;
try {
if (hasBlock() && !(hostType().isInterfaceDecl())) {
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MethodDeclSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/MethodDeclSubstituted.java
index 65907c0877e..ad6e534010e 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MethodDeclSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MethodDeclSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MethodDeclSubstituted : {@link MethodDecl} ::= <Original:MethodDecl>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MethodDescriptor.java b/src/main/generated/jastadd/soot/JastAddJ/MethodDescriptor.java
index 22448c30602..b71a25876f3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MethodDescriptor.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MethodDescriptor.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MethodInfo.java b/src/main/generated/jastadd/soot/JastAddJ/MethodInfo.java
index b6ad17d13aa..01e7fdfc17b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MethodInfo.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MethodInfo.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MinusExpr.java b/src/main/generated/jastadd/soot/JastAddJ/MinusExpr.java
index 64b4535f57d..fe293226959 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MinusExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MinusExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MinusExpr : {@link Unary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ModExpr.java b/src/main/generated/jastadd/soot/JastAddJ/ModExpr.java
index 0ea83f23146..3d4c6382c68 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ModExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ModExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ModExpr : {@link MultiplicativeExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Modifier.java b/src/main/generated/jastadd/soot/JastAddJ/Modifier.java
index ec92c3d3a2e..316632c4f94 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Modifier.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Modifier.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Modifier : {@link ASTNode} ::= <ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Modifiers.java b/src/main/generated/jastadd/soot/JastAddJ/Modifiers.java
index 6219dce8833..cb45317c90d 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Modifiers.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Modifiers.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Modifiers : {@link ASTNode} ::= {@link Modifier}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MulExpr.java b/src/main/generated/jastadd/soot/JastAddJ/MulExpr.java
index f3616b11e97..35070633f43 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MulExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MulExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MulExpr : {@link MultiplicativeExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MultiCatch.java b/src/main/generated/jastadd/soot/JastAddJ/MultiCatch.java
index d5bcd777311..21062057289 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MultiCatch.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MultiCatch.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* A catch clause that can catch a multiple exception types.
* @production MultiCatch : {@link CatchClause} ::= Parameter:{@link CatchParameterDeclaration}{@link Block};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/MultiplicativeExpr.java b/src/main/generated/jastadd/soot/JastAddJ/MultiplicativeExpr.java
index 91227a8eb28..354cdc88b9f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/MultiplicativeExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/MultiplicativeExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production MultiplicativeExpr : {@link ArithmeticExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/NEExpr.java b/src/main/generated/jastadd/soot/JastAddJ/NEExpr.java
index 7d1a1a30c99..a9fd742b120 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/NEExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/NEExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production NEExpr : {@link EqualityExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/NameType.java b/src/main/generated/jastadd/soot/JastAddJ/NameType.java
index d481cb26065..b2d27cb7d35 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/NameType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/NameType.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
diff --git a/src/main/generated/jastadd/soot/JastAddJ/NullLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/NullLiteral.java
index 9398acc5960..6d4ec800260 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/NullLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/NullLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Java null literal.
* @production NullLiteral : {@link Literal};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/NullType.java b/src/main/generated/jastadd/soot/JastAddJ/NullType.java
index c3dd55d8e66..17d8e335289 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/NullType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/NullType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production NullType : {@link TypeDecl};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/NumericLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/NumericLiteral.java
index 6477b620eb5..06bf67768f0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/NumericLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/NumericLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* A NumericLiteral is a raw literal, produced by the parser.
* NumericLiterals are rewritten to the best matching concrete
diff --git a/src/main/generated/jastadd/soot/JastAddJ/NumericType.java b/src/main/generated/jastadd/soot/JastAddJ/NumericType.java
index 7e652d80f15..e7600a46d86 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/NumericType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/NumericType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production NumericType : {@link PrimitiveType};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Opt.java b/src/main/generated/jastadd/soot/JastAddJ/Opt.java
index 6e3c3e5eb25..71c051b3115 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Opt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Opt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Opt : {@link ASTNode};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Options.java b/src/main/generated/jastadd/soot/JastAddJ/Options.java
index 067ac3cad96..914853b1da5 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Options.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Options.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/OrBitwiseExpr.java b/src/main/generated/jastadd/soot/JastAddJ/OrBitwiseExpr.java
index 7cc43912bdd..a8a992845f3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/OrBitwiseExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/OrBitwiseExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production OrBitwiseExpr : {@link BitwiseExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/OrLogicalExpr.java b/src/main/generated/jastadd/soot/JastAddJ/OrLogicalExpr.java
index caa94a6a0a0..cb0a7b0a1c3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/OrLogicalExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/OrLogicalExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production OrLogicalExpr : {@link LogicalExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PackageAccess.java b/src/main/generated/jastadd/soot/JastAddJ/PackageAccess.java
index 1f85f6d9221..1f7df002231 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PackageAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PackageAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PackageAccess : {@link Access} ::= <Package:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PackageOrTypeAccess.java b/src/main/generated/jastadd/soot/JastAddJ/PackageOrTypeAccess.java
index 9ebe2924bb2..c531ffbd2b8 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PackageOrTypeAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PackageOrTypeAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PackageOrTypeAccess : {@link Access} ::= <ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParClassDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ParClassDecl.java
index e1342190ee0..8e8e6fa4bbc 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParClassDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParClassDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParClassDecl : {@link ClassDecl} ::= Argument:{@link Access}*[SuperClassAccess:{@link Access}]Implements:{@link Access}*{@link BodyDecl}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParClassInstanceExpr.java b/src/main/generated/jastadd/soot/JastAddJ/ParClassInstanceExpr.java
index 0f18ed57b11..94f26199a41 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParClassInstanceExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParClassInstanceExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParClassInstanceExpr : {@link ClassInstanceExpr} ::= TypeArgument:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParConstructorAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ParConstructorAccess.java
index d0a0ae9f8e1..617e5d030d2 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParConstructorAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParConstructorAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParConstructorAccess : {@link ConstructorAccess} ::= TypeArgument:{@link Access}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParConstructorDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ParConstructorDecl.java
index 6f995d8b229..3d6841de8e4 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParConstructorDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParConstructorDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParConstructorDecl : {@link ConstructorDecl} ::= TypeArgument:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParExpr.java b/src/main/generated/jastadd/soot/JastAddJ/ParExpr.java
index 10eb77bdedd..d32c7bad3c3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParExpr : {@link PrimaryExpr} ::= {@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParInterfaceDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ParInterfaceDecl.java
index 6ce422b2d4a..7031b16c368 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParInterfaceDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParInterfaceDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParInterfaceDecl : {@link InterfaceDecl} ::= Argument:{@link Access}*SuperInterfaceId:{@link Access}*{@link BodyDecl}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParMethodAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ParMethodAccess.java
index 5246232ef59..b23db4b9b3a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParMethodAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParMethodAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParMethodAccess : {@link MethodAccess} ::= TypeArgument:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParMethodDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ParMethodDecl.java
index 44e17d18d9c..70ff251073a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParMethodDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParMethodDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParMethodDecl : {@link MethodDecl} ::= TypeArgument:{@link Access}*<GenericMethodDecl:GenericMethodDecl>;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParSuperConstructorAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ParSuperConstructorAccess.java
index fb301757871..a667801b902 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParSuperConstructorAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParSuperConstructorAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParSuperConstructorAccess : {@link SuperConstructorAccess} ::= TypeArgument:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParTypeAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ParTypeAccess.java
index 924ed9fc6fb..856644bd02e 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParTypeAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParTypeAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParTypeAccess : {@link Access} ::= TypeAccess:{@link Access}TypeArgument:{@link Access}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParTypeDecl.java b/src/main/generated/jastadd/soot/JastAddJ/ParTypeDecl.java
index 4e9437cf327..d88a7212fbf 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParTypeDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParTypeDecl.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParameterDeclaration.java b/src/main/generated/jastadd/soot/JastAddJ/ParameterDeclaration.java
index c8ffedc5e45..703938b06d2 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParameterDeclaration.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParameterDeclaration.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* A parameter declaration as used in either method parameter lists
* or as a catch clause parameter.
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParameterDeclarationSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/ParameterDeclarationSubstituted.java
index b26639aad6e..3adfa888c4c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParameterDeclarationSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParameterDeclarationSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParameterDeclarationSubstituted : {@link ParameterDeclaration} ::= <Original:ParameterDeclaration>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Parameterization.java b/src/main/generated/jastadd/soot/JastAddJ/Parameterization.java
index 21d66dd9a4b..25d5403a2f5 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Parameterization.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Parameterization.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ParseName.java b/src/main/generated/jastadd/soot/JastAddJ/ParseName.java
index 2b2baac951e..dfbe349684b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ParseName.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ParseName.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ParseName : {@link Access} ::= <ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PlaceholderMethodDecl.java b/src/main/generated/jastadd/soot/JastAddJ/PlaceholderMethodDecl.java
index ecfc05a917d..e474ac21c0b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PlaceholderMethodDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PlaceholderMethodDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Placeholder method for type inference on generic instance creation.
* @production PlaceholderMethodDecl : {@link GenericMethodDecl};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PlusExpr.java b/src/main/generated/jastadd/soot/JastAddJ/PlusExpr.java
index 2bdce33e071..7f8f8a51d9d 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PlusExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PlusExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PlusExpr : {@link Unary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PostDecExpr.java b/src/main/generated/jastadd/soot/JastAddJ/PostDecExpr.java
index c18dbc14e16..accd1f37595 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PostDecExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PostDecExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PostDecExpr : {@link PostfixExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PostIncExpr.java b/src/main/generated/jastadd/soot/JastAddJ/PostIncExpr.java
index 9dd84459892..7a41bb93aab 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PostIncExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PostIncExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PostIncExpr : {@link PostfixExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PostfixExpr.java b/src/main/generated/jastadd/soot/JastAddJ/PostfixExpr.java
index 562fb749c1f..3985f7e414a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PostfixExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PostfixExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PostfixExpr : {@link Unary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PreDecExpr.java b/src/main/generated/jastadd/soot/JastAddJ/PreDecExpr.java
index 9e07606b91f..1674762370b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PreDecExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PreDecExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PreDecExpr : {@link Unary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PreIncExpr.java b/src/main/generated/jastadd/soot/JastAddJ/PreIncExpr.java
index 7e77b40c911..f232cb37e23 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PreIncExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PreIncExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PreIncExpr : {@link Unary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PrimaryExpr.java b/src/main/generated/jastadd/soot/JastAddJ/PrimaryExpr.java
index 3274d640de4..6ad50971263 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PrimaryExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PrimaryExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PrimaryExpr : {@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PrimitiveCompilationUnit.java b/src/main/generated/jastadd/soot/JastAddJ/PrimitiveCompilationUnit.java
index 991d80809fa..d1bfa92cd4c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PrimitiveCompilationUnit.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PrimitiveCompilationUnit.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PrimitiveCompilationUnit : {@link CompilationUnit};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PrimitiveType.java b/src/main/generated/jastadd/soot/JastAddJ/PrimitiveType.java
index 9b7420c7e26..3bfebe64443 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PrimitiveType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PrimitiveType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PrimitiveType : {@link TypeDecl} ::= {@link Modifiers}<ID:String>[SuperClassAccess:{@link Access}]{@link BodyDecl}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/PrimitiveTypeAccess.java b/src/main/generated/jastadd/soot/JastAddJ/PrimitiveTypeAccess.java
index 1aa0a55e1c6..8a915b06f21 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/PrimitiveTypeAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/PrimitiveTypeAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production PrimitiveTypeAccess : {@link TypeAccess} ::= <Package:String><ID:String><Name:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Problem.java b/src/main/generated/jastadd/soot/JastAddJ/Problem.java
index 22ce5b5e609..e95c076ec20 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Problem.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Problem.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/RShiftExpr.java b/src/main/generated/jastadd/soot/JastAddJ/RShiftExpr.java
index 1d0b0afe6a8..68dcf13dd30 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/RShiftExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/RShiftExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production RShiftExpr : {@link ShiftExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/RawClassDecl.java b/src/main/generated/jastadd/soot/JastAddJ/RawClassDecl.java
index bec121f8646..f2fb3f5013b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/RawClassDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/RawClassDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production RawClassDecl : {@link ParClassDecl} ::= Argument:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/RawConstructorDecl.java b/src/main/generated/jastadd/soot/JastAddJ/RawConstructorDecl.java
index dbc9afbeb20..974f9239113 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/RawConstructorDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/RawConstructorDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production RawConstructorDecl : {@link ParConstructorDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/RawInterfaceDecl.java b/src/main/generated/jastadd/soot/JastAddJ/RawInterfaceDecl.java
index 25ef1281827..9dd6a27c0c0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/RawInterfaceDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/RawInterfaceDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production RawInterfaceDecl : {@link ParInterfaceDecl} ::= Argument:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/RawMethodDecl.java b/src/main/generated/jastadd/soot/JastAddJ/RawMethodDecl.java
index 14f42b86ee6..25692e2b010 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/RawMethodDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/RawMethodDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production RawMethodDecl : {@link ParMethodDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ReferenceType.java b/src/main/generated/jastadd/soot/JastAddJ/ReferenceType.java
index da35d95970a..1218c564612 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ReferenceType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ReferenceType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ReferenceType : {@link TypeDecl};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/RelationalExpr.java b/src/main/generated/jastadd/soot/JastAddJ/RelationalExpr.java
index 62fc15cce3d..152187a1396 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/RelationalExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/RelationalExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production RelationalExpr : {@link Binary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ResourceDeclaration.java b/src/main/generated/jastadd/soot/JastAddJ/ResourceDeclaration.java
index b4e438fa370..2602089cb55 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ResourceDeclaration.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ResourceDeclaration.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* A resource declaration in a try with resources statement.
* @production ResourceDeclaration : {@link VariableDeclaration};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ResourceModifiers.java b/src/main/generated/jastadd/soot/JastAddJ/ResourceModifiers.java
index 621f8be7601..a5853152935 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ResourceModifiers.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ResourceModifiers.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* Subclass of Modifiers for resource declarations.
* This subclass is added as a convenient method of making resource
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ReturnStmt.java b/src/main/generated/jastadd/soot/JastAddJ/ReturnStmt.java
index 4574c9faebc..f6e844b3559 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ReturnStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ReturnStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ReturnStmt : {@link Stmt} ::= [Result:{@link Expr}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ShiftExpr.java b/src/main/generated/jastadd/soot/JastAddJ/ShiftExpr.java
index d1918fdb1c3..0b0ab29a0c6 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ShiftExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ShiftExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ShiftExpr : {@link Binary};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ShortType.java b/src/main/generated/jastadd/soot/JastAddJ/ShortType.java
index 6208cdfed46..c1be806eaba 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ShortType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ShortType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ShortType : {@link IntegralType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Signatures.java b/src/main/generated/jastadd/soot/JastAddJ/Signatures.java
index 78745df0fc9..bcde0b98870 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Signatures.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Signatures.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/SimpleSet.java b/src/main/generated/jastadd/soot/JastAddJ/SimpleSet.java
index 76d965dc4aa..7075dfd8cab 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/SimpleSet.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/SimpleSet.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
diff --git a/src/main/generated/jastadd/soot/JastAddJ/SingleStaticImportDecl.java b/src/main/generated/jastadd/soot/JastAddJ/SingleStaticImportDecl.java
index 3c80be10a6c..d5e60ccbaaf 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/SingleStaticImportDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/SingleStaticImportDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* 7.5.3 A single-static-import declaration imports all accessible (\ufffd\ufffd6.6) static members
* with a given simple name from a type. This makes these static members available
diff --git a/src/main/generated/jastadd/soot/JastAddJ/SingleTypeImportDecl.java b/src/main/generated/jastadd/soot/JastAddJ/SingleTypeImportDecl.java
index 408823427b7..5531eeca6b8 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/SingleTypeImportDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/SingleTypeImportDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production SingleTypeImportDecl : {@link ImportDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/StaticImportDecl.java b/src/main/generated/jastadd/soot/JastAddJ/StaticImportDecl.java
index 60a7ee5432c..27819a67202 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/StaticImportDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/StaticImportDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* 7.5 Import Declarations
* @production StaticImportDecl : {@link ImportDecl};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/StaticImportOnDemandDecl.java b/src/main/generated/jastadd/soot/JastAddJ/StaticImportOnDemandDecl.java
index c635ea3266c..84131d9f76f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/StaticImportOnDemandDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/StaticImportOnDemandDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* 7.5.4 A static-import-on-demand declaration allows all accessible (\ufffd\ufffd6.6) static
* members declared in the type named by a canonical name to be imported as
diff --git a/src/main/generated/jastadd/soot/JastAddJ/StaticInitializer.java b/src/main/generated/jastadd/soot/JastAddJ/StaticInitializer.java
index 5c9ca96f2c7..48c931f75fa 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/StaticInitializer.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/StaticInitializer.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production StaticInitializer : {@link BodyDecl} ::= {@link Block};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Stmt.java b/src/main/generated/jastadd/soot/JastAddJ/Stmt.java
index 7caecc4ab19..e21901453d0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Stmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Stmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Stmt : {@link ASTNode};
diff --git a/src/main/generated/jastadd/soot/JastAddJ/StringLiteral.java b/src/main/generated/jastadd/soot/JastAddJ/StringLiteral.java
index 9a9baa01675..770288894e8 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/StringLiteral.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/StringLiteral.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* String literal.
* May not contain Unicode escape sequences (Unicode escapes
diff --git a/src/main/generated/jastadd/soot/JastAddJ/SubExpr.java b/src/main/generated/jastadd/soot/JastAddJ/SubExpr.java
index 50b96c7ee3d..857676083af 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/SubExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/SubExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production SubExpr : {@link AdditiveExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/SuperAccess.java b/src/main/generated/jastadd/soot/JastAddJ/SuperAccess.java
index 62d83ef6766..bed468a71b3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/SuperAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/SuperAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production SuperAccess : {@link Access} ::= <ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/SuperConstructorAccess.java b/src/main/generated/jastadd/soot/JastAddJ/SuperConstructorAccess.java
index 317017959e5..5cea6f837e7 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/SuperConstructorAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/SuperConstructorAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production SuperConstructorAccess : {@link ConstructorAccess};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/SwitchStmt.java b/src/main/generated/jastadd/soot/JastAddJ/SwitchStmt.java
index ea45b8988a3..8a7c315f8d9 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/SwitchStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/SwitchStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production SwitchStmt : {@link BranchTargetStmt} ::= {@link Expr}{@link Block};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/SynchronizedStmt.java b/src/main/generated/jastadd/soot/JastAddJ/SynchronizedStmt.java
index e311b9336e4..46f83735f9e 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/SynchronizedStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/SynchronizedStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production SynchronizedStmt : {@link Stmt} ::= {@link Expr}{@link Block};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ThisAccess.java b/src/main/generated/jastadd/soot/JastAddJ/ThisAccess.java
index 543a0d4091d..c5da46c04a0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ThisAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ThisAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ThisAccess : {@link Access} ::= <ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/ThrowStmt.java b/src/main/generated/jastadd/soot/JastAddJ/ThrowStmt.java
index 11dcd04413d..e2be543306f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/ThrowStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/ThrowStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production ThrowStmt : {@link Stmt} ::= {@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/TryStmt.java b/src/main/generated/jastadd/soot/JastAddJ/TryStmt.java
index 79253024cc3..8038479e5b2 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/TryStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/TryStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production TryStmt : {@link Stmt} ::= {@link Block}{@link CatchClause}*[Finally:{@link Block}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/TryWithResources.java b/src/main/generated/jastadd/soot/JastAddJ/TryWithResources.java
index 61072361325..a838811b814 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/TryWithResources.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/TryWithResources.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* The JSR 334 try with resources statement.
* @production TryWithResources : {@link TryStmt} ::= Resource:{@link ResourceDeclaration}*{@link Block}{@link CatchClause}*[Finally:{@link Block}];
diff --git a/src/main/generated/jastadd/soot/JastAddJ/TypeAccess.java b/src/main/generated/jastadd/soot/JastAddJ/TypeAccess.java
index 9c22dca51f6..9585cd40800 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/TypeAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/TypeAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production TypeAccess : {@link Access} ::= <Package:String><ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/TypeDescriptor.java b/src/main/generated/jastadd/soot/JastAddJ/TypeDescriptor.java
index e32e0dd7f14..253531d7922 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/TypeDescriptor.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/TypeDescriptor.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast class
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/TypeImportOnDemandDecl.java b/src/main/generated/jastadd/soot/JastAddJ/TypeImportOnDemandDecl.java
index c8b0bfc1718..405fcbdfc3b 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/TypeImportOnDemandDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/TypeImportOnDemandDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production TypeImportOnDemandDecl : {@link ImportDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/TypeVariable.java b/src/main/generated/jastadd/soot/JastAddJ/TypeVariable.java
index 052853bdff3..6ca673e9688 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/TypeVariable.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/TypeVariable.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production TypeVariable : {@link ReferenceType} ::= {@link Modifiers}<ID:String>{@link BodyDecl}*TypeBound:{@link Access}*;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/URShiftExpr.java b/src/main/generated/jastadd/soot/JastAddJ/URShiftExpr.java
index 0261d2bcccd..08b7ed4cad6 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/URShiftExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/URShiftExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production URShiftExpr : {@link ShiftExpr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Unary.java b/src/main/generated/jastadd/soot/JastAddJ/Unary.java
index 2bbc00b122f..c2501450d6f 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Unary.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Unary.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Unary : {@link Expr} ::= Operand:{@link Expr};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/UnknownType.java b/src/main/generated/jastadd/soot/JastAddJ/UnknownType.java
index 8236676bbc3..ca649dd27c4 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/UnknownType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/UnknownType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production UnknownType : {@link ClassDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/VarAccess.java b/src/main/generated/jastadd/soot/JastAddJ/VarAccess.java
index b8092f911ec..848009a63c7 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/VarAccess.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/VarAccess.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production VarAccess : {@link Access} ::= <ID:String>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/VarDeclStmt.java b/src/main/generated/jastadd/soot/JastAddJ/VarDeclStmt.java
index 01a8ac369f5..8fe12e06130 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/VarDeclStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/VarDeclStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production VarDeclStmt : {@link Stmt} ::= {@link Modifiers}TypeAccess:{@link Access}{@link VariableDecl}*;
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Variable.java b/src/main/generated/jastadd/soot/JastAddJ/Variable.java
index fa7ecb3ea02..e180a0fcaa0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Variable.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Variable.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/VariableArityParameterDeclaration.java b/src/main/generated/jastadd/soot/JastAddJ/VariableArityParameterDeclaration.java
index d04418f5182..4b934b9e741 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/VariableArityParameterDeclaration.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/VariableArityParameterDeclaration.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production VariableArityParameterDeclaration : {@link ParameterDeclaration};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/VariableArityParameterDeclarationSubstituted.java b/src/main/generated/jastadd/soot/JastAddJ/VariableArityParameterDeclarationSubstituted.java
index 199cdb5e9fa..6c2a3226ba5 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/VariableArityParameterDeclarationSubstituted.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/VariableArityParameterDeclarationSubstituted.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production VariableArityParameterDeclarationSubstituted : {@link VariableArityParameterDeclaration} ::= <Original:VariableArityParameterDeclaration>;
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/VariableDecl.java b/src/main/generated/jastadd/soot/JastAddJ/VariableDecl.java
index d9a1adec207..de266e9b195 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/VariableDecl.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/VariableDecl.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production VariableDecl : {@link ASTNode} ::= <ID:String>{@link Dims}*[Init:{@link Expr}];
diff --git a/src/main/generated/jastadd/soot/JastAddJ/VariableDeclaration.java b/src/main/generated/jastadd/soot/JastAddJ/VariableDeclaration.java
index 184cf8a2bcd..71bd8d74aa3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/VariableDeclaration.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/VariableDeclaration.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production VariableDeclaration : {@link Stmt} ::= {@link Modifiers}TypeAccess:{@link Access}<ID:String>[Init:{@link Expr}];
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/VariableScope.java b/src/main/generated/jastadd/soot/JastAddJ/VariableScope.java
index a71030d5fef..b08fd116528 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/VariableScope.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/VariableScope.java
@@ -12,11 +12,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @ast interface
*
diff --git a/src/main/generated/jastadd/soot/JastAddJ/VoidType.java b/src/main/generated/jastadd/soot/JastAddJ/VoidType.java
index 13ffcc41996..2cd5fc2d80a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/VoidType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/VoidType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production VoidType : {@link TypeDecl};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/WhileStmt.java b/src/main/generated/jastadd/soot/JastAddJ/WhileStmt.java
index 29facbdedfe..0182f614ee3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/WhileStmt.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/WhileStmt.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production WhileStmt : {@link BranchTargetStmt} ::= Condition:{@link Expr}{@link Stmt};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/Wildcard.java b/src/main/generated/jastadd/soot/JastAddJ/Wildcard.java
index 5a559b3bc92..f303172000c 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/Wildcard.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/Wildcard.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production Wildcard : {@link AbstractWildcard};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/WildcardExtends.java b/src/main/generated/jastadd/soot/JastAddJ/WildcardExtends.java
index 946a86889a7..1a3291f1675 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/WildcardExtends.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/WildcardExtends.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production WildcardExtends : {@link AbstractWildcard} ::= {@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/WildcardExtendsType.java b/src/main/generated/jastadd/soot/JastAddJ/WildcardExtendsType.java
index 1053eb01b60..6b8d110d831 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/WildcardExtendsType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/WildcardExtendsType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production WildcardExtendsType : {@link AbstractWildcardType} ::= {@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/WildcardSuper.java b/src/main/generated/jastadd/soot/JastAddJ/WildcardSuper.java
index a301443cf73..5987c1e25c4 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/WildcardSuper.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/WildcardSuper.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production WildcardSuper : {@link AbstractWildcard} ::= {@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/WildcardSuperType.java b/src/main/generated/jastadd/soot/JastAddJ/WildcardSuperType.java
index d00f09fbac2..7b6c6f0935a 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/WildcardSuperType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/WildcardSuperType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production WildcardSuperType : {@link AbstractWildcardType} ::= {@link Access};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/WildcardType.java b/src/main/generated/jastadd/soot/JastAddJ/WildcardType.java
index a17e7436d83..6c8a730d3c8 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/WildcardType.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/WildcardType.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production WildcardType : {@link AbstractWildcardType};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/WildcardsCompilationUnit.java b/src/main/generated/jastadd/soot/JastAddJ/WildcardsCompilationUnit.java
index 2f24cb0a767..780a9198ff3 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/WildcardsCompilationUnit.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/WildcardsCompilationUnit.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production WildcardsCompilationUnit : {@link CompilationUnit};
* @ast node
diff --git a/src/main/generated/jastadd/soot/JastAddJ/XorBitwiseExpr.java b/src/main/generated/jastadd/soot/JastAddJ/XorBitwiseExpr.java
index e8418addade..e473273dfc0 100644
--- a/src/main/generated/jastadd/soot/JastAddJ/XorBitwiseExpr.java
+++ b/src/main/generated/jastadd/soot/JastAddJ/XorBitwiseExpr.java
@@ -13,11 +13,7 @@
import soot.*;
import soot.util.*;
import soot.jimple.*;
-import soot.coffi.ClassFile;
-import soot.coffi.method_info;
-import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
-import soot.coffi.CoffiMethodSource;
/**
* @production XorBitwiseExpr : {@link BitwiseExpr};
* @ast node
diff --git a/src/main/generated/options/soot/AntTask.java b/src/main/generated/options/soot/AntTask.java
index 936a8c3e24b..04d2f359f65 100644
--- a/src/main/generated/options/soot/AntTask.java
+++ b/src/main/generated/options/soot/AntTask.java
@@ -114,10 +114,6 @@ public void execute() throws BuildException {
- public void setcoffi(boolean arg) {
- if(arg) addArg("-coffi");
- }
-
public void setjasmin_backend(boolean arg) {
if(arg) addArg("-jasmin-backend");
}
diff --git a/src/main/generated/options/soot/options/ABCOptions.java b/src/main/generated/options/soot/options/ABCOptions.java
index bc51142725e..68226aa5626 100644
--- a/src/main/generated/options/soot/options/ABCOptions.java
+++ b/src/main/generated/options/soot/options/ABCOptions.java
@@ -23,98 +23,123 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Array Bound Checker. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class ABCOptions {
- private Map options;
-
- public ABCOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * With All Setting the With All option to true is equivalent to setting each of With CSE, With Array Ref, With Field Ref,
- * With Class Field, and With Rectangular Array to true.
- */
- public boolean with_all() {
- return soot.PhaseOptions.getBoolean(options, "with-all");
- }
-
- /**
- * With Common Sub-expressions The analysis will consider common subexpressions. For example, consider the situation where
- * r1 is assigned a*b; later, r2 is assigned a*b, where neither a nor b have changed between the two statements. The
- * analysis can conclude that r2 has the same value as r1. Experiments show that this option can improve the result
- * slightly.
- */
- public boolean with_cse() {
- return soot.PhaseOptions.getBoolean(options, "with-cse");
- }
-
- /**
- * With Array References With this option enabled, array references can be considered as common subexpressions; however, we
- * are more conservative when writing into an array, because array objects may be aliased. We also assume that the
- * application is single-threaded or that the array references occur in a synchronized block. That is, we assume that an
- * array element may not be changed by other threads between two array references.
- */
- public boolean with_arrayref() {
- return soot.PhaseOptions.getBoolean(options, "with-arrayref");
- }
-
- /**
- * With Field References The analysis treats field references (static and instance) as common subexpressions; however, we
- * are more conservative when writing to a field, because the base of the field reference may be aliased. We also assume
- * that the application is single-threaded or that the field references occur in a synchronized block. That is, we assume
- * that a field may not be changed by other threads between two field references.
- */
- public boolean with_fieldref() {
- return soot.PhaseOptions.getBoolean(options, "with-fieldref");
- }
-
- /**
- * With Class Field This option makes the analysis work on the class level. The algorithm analyzes final or private class
- * fields first. It can recognize the fields that hold array objects of constant length. In an application using lots of
- * array fields, this option can improve the analysis results dramatically.
- */
- public boolean with_classfield() {
- return soot.PhaseOptions.getBoolean(options, "with-classfield");
- }
-
- /**
- * With Rectangular Array This option is used together with wjap.ra to make Soot run the whole-program analysis for
- * rectangular array objects. This analysis is based on the call graph, and it usually takes a long time. If the
- * application uses rectangular arrays, these options can improve the analysis result.
- */
- public boolean with_rectarray() {
- return soot.PhaseOptions.getBoolean(options, "with-rectarray");
- }
-
- /**
- * Profiling -- Profile the results of array bounds check analysis.
- *
- * Profile the results of array bounds check analysis. The inserted profiling code assumes the existence of a MultiCounter
- * class implementing the methods invoked. For details, see the ArrayBoundsChecker source code.
- */
- public boolean profiling() {
- return soot.PhaseOptions.getBoolean(options, "profiling");
- }
-
- /**
- * Add Color Tags -- Add color tags to results of array bound check analysis.
- *
- * Add color tags to the results of the array bounds check analysis.
- */
- public boolean add_color_tags() {
- return soot.PhaseOptions.getBoolean(options, "add-color-tags");
- }
+ private Map options;
+
+ public ABCOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * With All
+ * Setting the With All option to true is equivalent to setting
+ * each of With CSE, With Array Ref, With Field Ref, With Class
+ * Field, and With Rectangular Array to true.
+ */
+ public boolean with_all() {
+ return soot.PhaseOptions.getBoolean(options, "with-all");
+ }
+
+ /**
+ * With Common Sub-expressions
+ * The analysis will consider common subexpressions. For example,
+ * consider the situation where r1 is assigned a*b; later, r2 is
+ * assigned a*b, where neither a nor b have changed between the two
+ * statements. The analysis can conclude that r2 has the same value
+ * as r1. Experiments show that this option can improve the result
+ * slightly.
+ */
+ public boolean with_cse() {
+ return soot.PhaseOptions.getBoolean(options, "with-cse");
+ }
+
+ /**
+ * With Array References
+ * With this option enabled, array references can be considered as
+ * common subexpressions; however, we are more conservative when
+ * writing into an array, because array objects may be aliased. We
+ * also assume that the application is single-threaded or that the
+ * array references occur in a synchronized block. That is, we
+ * assume that an array element may not be changed by other threads
+ * between two array references.
+ */
+ public boolean with_arrayref() {
+ return soot.PhaseOptions.getBoolean(options, "with-arrayref");
+ }
+
+ /**
+ * With Field References
+ * The analysis treats field references (static and instance) as
+ * common subexpressions; however, we are more conservative when
+ * writing to a field, because the base of the field reference may
+ * be aliased. We also assume that the application is
+ * single-threaded or that the field references occur in a
+ * synchronized block. That is, we assume that a field may not be
+ * changed by other threads between two field references.
+ */
+ public boolean with_fieldref() {
+ return soot.PhaseOptions.getBoolean(options, "with-fieldref");
+ }
+
+ /**
+ * With Class Field
+ * This option makes the analysis work on the class level. The
+ * algorithm analyzes final or private class fields first. It can
+ * recognize the fields that hold array objects of constant length.
+ * In an application using lots of array fields, this option can
+ * improve the analysis results dramatically.
+ */
+ public boolean with_classfield() {
+ return soot.PhaseOptions.getBoolean(options, "with-classfield");
+ }
+
+ /**
+ * With Rectangular Array
+ * This option is used together with wjap.ra to make Soot run the
+ * whole-program analysis for rectangular array objects. This
+ * analysis is based on the call graph, and it usually takes a long
+ * time. If the application uses rectangular arrays, these options
+ * can improve the analysis result.
+ */
+ public boolean with_rectarray() {
+ return soot.PhaseOptions.getBoolean(options, "with-rectarray");
+ }
+
+ /**
+ * Profiling --
+ * Profile the results of array bounds check analysis.
+ *
+ * Profile the results of array bounds check analysis. The inserted
+ * profiling code assumes the existence of a MultiCounter class
+ * implementing the methods invoked. For details, see the
+ * ArrayBoundsChecker source code.
+ */
+ public boolean profiling() {
+ return soot.PhaseOptions.getBoolean(options, "profiling");
+ }
+
+ /**
+ * Add Color Tags --
+ * Add color tags to results of array bound check analysis.
+ *
+ * Add color tags to the results of the array bounds check
+ * analysis.
+ */
+ public boolean add_color_tags() {
+ return soot.PhaseOptions.getBoolean(options, "add-color-tags");
+ }
}
diff --git a/src/main/generated/options/soot/options/AETOptions.java b/src/main/generated/options/soot/options/AETOptions.java
index cf7c59fc668..439080c6b94 100644
--- a/src/main/generated/options/soot/options/AETOptions.java
+++ b/src/main/generated/options/soot/options/AETOptions.java
@@ -23,42 +23,43 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Available Expressions Tagger. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class AETOptions {
- private Map options;
-
- public AETOptions(Map options) {
- this.options = options;
- }
+ private Map options;
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ public AETOptions(Map options) {
+ this.options = options;
+ }
- public static final int kind_optimistic = 1;
- public static final int kind_pessimistic = 2;
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Kind
- */
- public int kind() {
- String s = soot.PhaseOptions.getString(options, "kind");
- if (s == null || s.isEmpty())
- return kind_optimistic;
+ public static final int kind_optimistic = 1;
+ public static final int kind_pessimistic = 2;
- if (s.equalsIgnoreCase("optimistic"))
- return kind_optimistic;
- if (s.equalsIgnoreCase("pessimistic"))
- return kind_pessimistic;
+ /**
+ * Kind
+ */
+ public int kind() {
+ String s = soot.PhaseOptions.getString(options, "kind");
+ if (s == null || s.isEmpty())
+ return kind_optimistic;
+
+ if (s.equalsIgnoreCase("optimistic"))
+ return kind_optimistic;
+ if (s.equalsIgnoreCase("pessimistic"))
+ return kind_pessimistic;
- throw new RuntimeException(String.format("Invalid value %s of phase option kind", s));
- }
+ throw new RuntimeException(String.format("Invalid value %s of phase option kind", s));
+ }
}
diff --git a/src/main/generated/options/soot/options/BCMOptions.java b/src/main/generated/options/soot/options/BCMOptions.java
index 0430d6e14d9..f6246de0528 100644
--- a/src/main/generated/options/soot/options/BCMOptions.java
+++ b/src/main/generated/options/soot/options/BCMOptions.java
@@ -23,39 +23,49 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Busy Code Motion. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class BCMOptions {
- private Map options;
-
- public BCMOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Naive Side Effect Tester -- Use a naive side effect analysis even if interprocedural information is available.
- *
- * If Naive Side Effect Tester is set to true, Busy Code Motion uses the conservative side effect information provided by
- * the NaiveSideEffectTester class, even if interprocedural information about side effects is available. The naive side
- * effect analysis is based solely on the information available locally about a statement. It assumes, for example, that
- * any method call has the potential to write and read all instance and static fields in the program. If Naive Side Effect
- * Tester is set to false and Soot is in whole program mode, then Busy Code Motion uses the side effect information
- * provided by the PASideEffectTester class. PASideEffectTester uses a points-to analysis to determine which fields and
- * statics may be written or read by a given statement. If whole program analysis is not performed, naive side effect
- * information is used regardless of the setting of Naive Side Effect Tester.
- */
- public boolean naive_side_effect() {
- return soot.PhaseOptions.getBoolean(options, "naive-side-effect");
- }
+ private Map options;
+
+ public BCMOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Naive Side Effect Tester --
+ * Use a naive side effect analysis even if interprocedural
+ * information is available.
+ *
+ * If Naive Side Effect Tester is set to true, Busy Code Motion
+ * uses the conservative side effect information provided by the
+ * NaiveSideEffectTester class, even if interprocedural information
+ * about side effects is available. The naive side effect analysis
+ * is based solely on the information available locally about a
+ * statement. It assumes, for example, that any method call has the
+ * potential to write and read all instance and static fields in
+ * the program. If Naive Side Effect Tester is set to false and
+ * Soot is in whole program mode, then Busy Code Motion uses the
+ * side effect information provided by the PASideEffectTester
+ * class. PASideEffectTester uses a points-to analysis to determine
+ * which fields and statics may be written or read by a given
+ * statement. If whole program analysis is not performed, naive
+ * side effect information is used regardless of the setting of
+ * Naive Side Effect Tester.
+ */
+ public boolean naive_side_effect() {
+ return soot.PhaseOptions.getBoolean(options, "naive-side-effect");
+ }
}
diff --git a/src/main/generated/options/soot/options/CGGOptions.java b/src/main/generated/options/soot/options/CGGOptions.java
index 2c9af317f5d..c9eb8d2f4bf 100644
--- a/src/main/generated/options/soot/options/CGGOptions.java
+++ b/src/main/generated/options/soot/options/CGGOptions.java
@@ -23,30 +23,31 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Call Graph Grapher. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class CGGOptions {
- private Map options;
-
- public CGGOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Show Library Methods
- */
- public boolean show_lib_meths() {
- return soot.PhaseOptions.getBoolean(options, "show-lib-meths");
- }
+ private Map options;
+
+ public CGGOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Show Library Methods
+ */
+ public boolean show_lib_meths() {
+ return soot.PhaseOptions.getBoolean(options, "show-lib-meths");
+ }
}
diff --git a/src/main/generated/options/soot/options/CGOptions.java b/src/main/generated/options/soot/options/CGOptions.java
index 2eb09b229fb..9aaaebd9e08 100644
--- a/src/main/generated/options/soot/options/CGOptions.java
+++ b/src/main/generated/options/soot/options/CGOptions.java
@@ -23,186 +23,247 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Call Graph Constructor. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class CGOptions {
- private Map options;
-
- public CGOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Safe forName -- Handle Class.forName() calls conservatively.
- *
- * When a program calls Class.forName(), the named class is resolved, and its static initializer executed. In many cases,
- * it cannot be determined statically which class will be loaded, and which static initializer executed. When this option
- * is set to true, Soot will conservatively assume that any static initializer could be executed. This may make the call
- * graph very large. When this option is set to false, any calls to Class.forName() for which the class cannot be
- * determined statically are assumed to call no static initializers.
- */
- public boolean safe_forname() {
- return soot.PhaseOptions.getBoolean(options, "safe-forname");
- }
-
- /**
- * Safe newInstance -- Handle Class.newInstance() calls conservatively.
- *
- * When a program calls Class.newInstance(), a new object is created and its constructor executed. Soot does not determine
- * statically which type of object will be created, and which constructor executed. When this option is set to true, Soot
- * will conservatively assume that any constructor could be executed. This may make the call graph very large. When this
- * option is set to false, any calls to Class.newInstance() are assumed not to call the constructor of the created object.
- */
- public boolean safe_newinstance() {
- return soot.PhaseOptions.getBoolean(options, "safe-newinstance");
- }
-
- /**
- * Verbose -- Print warnings about where the call graph may be incomplete.
- *
- * Due to the effects of native methods and reflection, it may not always be possible to construct a fully conservative
- * call graph. Setting this option to true causes Soot to point out the parts of the call graph that may be incomplete, so
- * that they can be checked by hand.
- */
- public boolean verbose() {
- return soot.PhaseOptions.getBoolean(options, "verbose");
- }
-
- /**
- * All Application Class Methods Reachable -- Assume all methods of application classes are reachable.
- *
- * When this option is false, the call graph is built starting at a set of entry points, and only methods reachable from
- * those entry points are processed. Unreachable methods will not have any call graph edges generated out of them. Setting
- * this option to true makes Soot consider all methods of application classes to be reachable, so call edges are generated
- * for all of them. This leads to a larger call graph. For program visualization purposes, it is sometimes desirable to
- * include edges from unreachable methods; although these methods are unreachable in the version being analyzed, they may
- * become reachable if the program is modified.
- */
- public boolean all_reachable() {
- return soot.PhaseOptions.getBoolean(options, "all-reachable");
- }
-
- /**
- * Implicit Entry Points -- Include methods called implicitly by the VM as entry points.
- *
- * When this option is true, methods that are called implicitly by the VM are considered entry points of the call graph.
- * When it is false, these methods are not considered entry points, leading to a possibly incomplete call graph.
- */
- public boolean implicit_entry() {
- return soot.PhaseOptions.getBoolean(options, "implicit-entry");
- }
-
- /**
- * Trim Static Initializer Edges -- Removes redundant static initializer calls.
- *
- * The call graph contains an edge from each statement that could trigger execution of a static initializer to that static
- * initializer. However, each static initializer is triggered only once. When this option is enabled, after the call graph
- * is built, an intra-procedural analysis is performed to detect static initializer edges leading to methods that must have
- * already been executed. Since these static initializers cannot be executed again, the corresponding call graph edges are
- * removed from the call graph.
- */
- public boolean trim_clinit() {
- return soot.PhaseOptions.getBoolean(options, "trim-clinit");
- }
-
- /**
- * Types for invoke -- Uses reaching types inferred by the pointer analysis to resolve reflective calls..
- *
- * For each call to Method.invoke(), use the possible types of the first receiver argument and the possible types stored in
- * the second argument array to resolve calls to Method.invoke(). This strategy makes no attempt to resolve reflectively
- * invoked static methods. Currently only works for context insensitive pointer analyses.
- */
- public boolean types_for_invoke() {
- return soot.PhaseOptions.getBoolean(options, "types-for-invoke");
- }
-
- /**
- * Resolve Abstract Classes with No Children -- Causes methods invoked on abstract classes to be resolved even if there are
- * no non-abstract children of the classes in the Scene..
- *
- * Normally, if a method is invoked on a class that is abstract and said class does not have any children in the Scene, the
- * method invoke will not be resolved to any concrete methods even if the abstract class or its parent classes contain a
- * concrete declaration of the method. This is because without any non-abstract children it is impossible to tell if the
- * resolution is correct (since any child may override any non-private method in any of its parent classes). However,
- * sometimes it is necessary to resolve methods in such situations (e.g. when analyzing libraries or incomplete code). This
- * forces all methods invoked on abstract classes to be resolved if there exists a parent class with a concrete definition
- * of the method even if there are no non-abstract children of the abstract class.
- */
- public boolean resolve_all_abstract_invokes() {
- return soot.PhaseOptions.getBoolean(options, "resolve-all-abstract-invokes");
- }
-
- /**
- * JDK version -- JDK version for native methods.
- *
- * This option sets the JDK version of the standard library being analyzed so that Soot can simulate the native methods in
- * the specific version of the library. The default, 3, refers to Java 1.3.x.
- */
- public int jdkver() {
- return soot.PhaseOptions.getInt(options, "jdkver");
- }
-
- /**
- * Reflection Log -- Uses a reflection log to resolve reflective calls.
- *
- * Load a reflection log from the given file and use this log to resolve reflective call sites. Note that when a log is
- * given, the following other options have no effect: safe-forname, safe-newinstance.
- */
- public String reflection_log() {
- return soot.PhaseOptions.getString(options, "reflection-log");
- }
-
- /**
- * Guarding strategy -- Describes how to guard the program from unsound assumptions.
- *
- * Using a reflection log is only sound for method executions that were logged. Executing the program differently may be
- * unsound. Soot can insert guards at program points for which the reflection log contains no information. When these
- * points are reached (because the program is executed differently) then the follwing will happen, depending on the value
- * of this flag. ignore: no guard is inserted, the program executes normally but under unsound assumptions. print: the
- * program prints a stack trace when reaching a porgram location that was not traced but continues to run. throw (default):
- * the program throws an Error instead.
- */
- public String guards() {
- return soot.PhaseOptions.getString(options, "guards");
- }
-
- public static final int library_disabled = 1;
- public static final int library_any_subtype = 2;
- public static final int library_signature_resolution = 3;
-
- /**
- * Library mode -- Specifies whether the target classes should be treated as an application or a library..
- *
- * Specifies whether the target classes should be treated as an application or a library. If library mode is disabled
- * (default), the call graph construction assumes that the target is an application and starts the construction from the
- * specified entry points (main method by default). Under the assumption that the target is a library, possible call edges
- * might be missing in the call graph. The two different library modes add theses missing calls to the call graph and
- * differ only in the view of the class hierachy (hierachy of target library or possible extended hierachy). If
- * simulate-natives is also set, the results of native methods are also set to any sub type of the declared return type.
- */
- public int library() {
- String s = soot.PhaseOptions.getString(options, "library");
- if (s == null || s.isEmpty())
- return library_disabled;
-
- if (s.equalsIgnoreCase("disabled"))
- return library_disabled;
- if (s.equalsIgnoreCase("any-subtype"))
- return library_any_subtype;
- if (s.equalsIgnoreCase("signature-resolution"))
- return library_signature_resolution;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option library", s));
- }
+ private Map options;
+
+ public CGOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Safe forName --
+ * Handle Class.forName() calls conservatively.
+ *
+ * When a program calls Class.forName(), the named class is
+ * resolved, and its static initializer executed. In many cases, it
+ * cannot be determined statically which class will be loaded, and
+ * which static initializer executed. When this option is set to
+ * true, Soot will conservatively assume that any static
+ * initializer could be executed. This may make the call graph very
+ * large. When this option is set to false, any calls to
+ * Class.forName() for which the class cannot be determined
+ * statically are assumed to call no static initializers.
+ */
+ public boolean safe_forname() {
+ return soot.PhaseOptions.getBoolean(options, "safe-forname");
+ }
+
+ /**
+ * Safe newInstance --
+ * Handle Class.newInstance() calls conservatively.
+ *
+ * When a program calls Class.newInstance(), a new object is
+ * created and its constructor executed. Soot does not determine
+ * statically which type of object will be created, and which
+ * constructor executed. When this option is set to true, Soot will
+ * conservatively assume that any constructor could be executed.
+ * This may make the call graph very large. When this option is set
+ * to false, any calls to Class.newInstance() are assumed not to
+ * call the constructor of the created object.
+ */
+ public boolean safe_newinstance() {
+ return soot.PhaseOptions.getBoolean(options, "safe-newinstance");
+ }
+
+ /**
+ * Verbose --
+ * Print warnings about where the call graph may be incomplete.
+ *
+ * Due to the effects of native methods and reflection, it may not
+ * always be possible to construct a fully conservative call graph.
+ * Setting this option to true causes Soot to point out the parts
+ * of the call graph that may be incomplete, so that they can be
+ * checked by hand.
+ */
+ public boolean verbose() {
+ return soot.PhaseOptions.getBoolean(options, "verbose");
+ }
+
+ /**
+ * All Application Class Methods Reachable --
+ * Assume all methods of application classes are reachable.
+ *
+ * When this option is false, the call graph is built starting at a
+ * set of entry points, and only methods reachable from those entry
+ * points are processed. Unreachable methods will not have any call
+ * graph edges generated out of them. Setting this option to true
+ * makes Soot consider all methods of application classes to be
+ * reachable, so call edges are generated for all of them. This
+ * leads to a larger call graph. For program visualization
+ * purposes, it is sometimes desirable to include edges from
+ * unreachable methods; although these methods are unreachable in
+ * the version being analyzed, they may become reachable if the
+ * program is modified.
+ */
+ public boolean all_reachable() {
+ return soot.PhaseOptions.getBoolean(options, "all-reachable");
+ }
+
+ /**
+ * Implicit Entry Points --
+ * Include methods called implicitly by the VM as entry points.
+ *
+ * When this option is true, methods that are called implicitly by
+ * the VM are considered entry points of the call graph. When it is
+ * false, these methods are not considered entry points, leading to
+ * a possibly incomplete call graph.
+ */
+ public boolean implicit_entry() {
+ return soot.PhaseOptions.getBoolean(options, "implicit-entry");
+ }
+
+ /**
+ * Trim Static Initializer Edges --
+ * Removes redundant static initializer calls.
+ *
+ * The call graph contains an edge from each statement that could
+ * trigger execution of a static initializer to that static
+ * initializer. However, each static initializer is triggered only
+ * once. When this option is enabled, after the call graph is
+ * built, an intra-procedural analysis is performed to detect
+ * static initializer edges leading to methods that must have
+ * already been executed. Since these static initializers cannot be
+ * executed again, the corresponding call graph edges are removed
+ * from the call graph.
+ */
+ public boolean trim_clinit() {
+ return soot.PhaseOptions.getBoolean(options, "trim-clinit");
+ }
+
+ /**
+ * Types for invoke --
+ * Uses reaching types inferred by the pointer analysis to resolve
+ * reflective calls..
+ *
+ * For each call to Method.invoke(), use the possible types of the
+ * first receiver argument and the possible types stored in the
+ * second argument array to resolve calls to Method.invoke(). This
+ * strategy makes no attempt to resolve reflectively invoked static
+ * methods. Currently only works for context insensitive pointer
+ * analyses.
+ */
+ public boolean types_for_invoke() {
+ return soot.PhaseOptions.getBoolean(options, "types-for-invoke");
+ }
+
+ /**
+ * Resolve Abstract Classes with No Children --
+ * Causes methods invoked on abstract classes to be resolved even
+ * if there are no non-abstract children of the classes in the
+ * Scene..
+ *
+ * Normally, if a method is invoked on a class that is abstract and
+ * said class does not have any children in the Scene, the method
+ * invoke will not be resolved to any concrete methods even if the
+ * abstract class or its parent classes contain a concrete
+ * declaration of the method. This is because without any
+ * non-abstract children it is impossible to tell if the resolution
+ * is correct (since any child may override any non-private method
+ * in any of its parent classes). However, sometimes it is
+ * necessary to resolve methods in such situations (e.g. when
+ * analyzing libraries or incomplete code). This forces all methods
+ * invoked on abstract classes to be resolved if there exists a
+ * parent class with a concrete definition of the method even if
+ * there are no non-abstract children of the abstract class.
+ */
+ public boolean resolve_all_abstract_invokes() {
+ return soot.PhaseOptions.getBoolean(options, "resolve-all-abstract-invokes");
+ }
+
+ /**
+ * JDK version --
+ * JDK version for native methods.
+ *
+ * This option sets the JDK version of the standard library being
+ * analyzed so that Soot can simulate the native methods in the
+ * specific version of the library. The default, 3, refers to Java
+ * 1.3.x.
+ */
+ public int jdkver() {
+ return soot.PhaseOptions.getInt(options, "jdkver");
+ }
+
+ /**
+ * Reflection Log --
+ * Uses a reflection log to resolve reflective calls.
+ *
+ * Load a reflection log from the given file and use this log to
+ * resolve reflective call sites. Note that when a log is given,
+ * the following other options have no effect: safe-forname,
+ * safe-newinstance.
+ */
+ public String reflection_log() {
+ return soot.PhaseOptions.getString(options, "reflection-log");
+ }
+
+ /**
+ * Guarding strategy --
+ * Describes how to guard the program from unsound assumptions.
+ *
+ * Using a reflection log is only sound for method executions that
+ * were logged. Executing the program differently may be unsound.
+ * Soot can insert guards at program points for which the
+ * reflection log contains no information. When these points are
+ * reached (because the program is executed differently) then the
+ * follwing will happen, depending on the value of this flag.
+ * ignore: no guard is inserted, the program executes normally but
+ * under unsound assumptions. print: the program prints a stack
+ * trace when reaching a porgram location that was not traced but
+ * continues to run. throw (default): the program throws an Error
+ * instead.
+ */
+ public String guards() {
+ return soot.PhaseOptions.getString(options, "guards");
+ }
+
+ public static final int library_disabled = 1;
+ public static final int library_any_subtype = 2;
+ public static final int library_signature_resolution = 3;
+
+ /**
+ * Library mode --
+ * Specifies whether the target classes should be treated as an
+ * application or a library..
+ *
+ * Specifies whether the target classes should be treated as an
+ * application or a library. If library mode is disabled (default),
+ * the call graph construction assumes that the target is an
+ * application and starts the construction from the specified entry
+ * points (main method by default). Under the assumption that the
+ * target is a library, possible call edges might be missing in the
+ * call graph. The two different library modes add theses missing
+ * calls to the call graph and differ only in the view of the class
+ * hierachy (hierachy of target library or possible extended
+ * hierachy). If simulate-natives is also set, the results of
+ * native methods are also set to any sub type of the declared
+ * return type.
+ */
+ public int library() {
+ String s = soot.PhaseOptions.getString(options, "library");
+ if (s == null || s.isEmpty())
+ return library_disabled;
+
+ if (s.equalsIgnoreCase("disabled"))
+ return library_disabled;
+ if (s.equalsIgnoreCase("any-subtype"))
+ return library_any_subtype;
+ if (s.equalsIgnoreCase("signature-resolution"))
+ return library_signature_resolution;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option library", s));
+ }
}
diff --git a/src/main/generated/options/soot/options/CHAOptions.java b/src/main/generated/options/soot/options/CHAOptions.java
index dc6b0e50dbe..3a643e4aed5 100644
--- a/src/main/generated/options/soot/options/CHAOptions.java
+++ b/src/main/generated/options/soot/options/CHAOptions.java
@@ -23,44 +23,50 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Class Hierarchy Analysis. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class CHAOptions {
- private Map options;
+ private Map options;
- public CHAOptions(Map options) {
- this.options = options;
- }
+ public CHAOptions(Map options) {
+ this.options = options;
+ }
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Verbose -- Print statistics about the resulting call graph.
- *
- * Setting this option to true causes Soot to print out statistics about the call graph computed by this phase, such as the
- * number of methods determined to be reachable.
- */
- public boolean verbose() {
- return soot.PhaseOptions.getBoolean(options, "verbose");
- }
+ /**
+ * Verbose --
+ * Print statistics about the resulting call graph.
+ *
+ * Setting this option to true causes Soot to print out statistics
+ * about the call graph computed by this phase, such as the number
+ * of methods determined to be reachable.
+ */
+ public boolean verbose() {
+ return soot.PhaseOptions.getBoolean(options, "verbose");
+ }
- /**
- * AppOnly -- Consider only application classes.
- *
- * Setting this option to true causes Soot to only consider application classes when building the callgraph. The resulting
- * callgraph will be inherently unsound. Still, this option can make sense if performance optimization and memory reduction
- * are your primary goal.
- */
- public boolean apponly() {
- return soot.PhaseOptions.getBoolean(options, "apponly");
- }
+ /**
+ * AppOnly --
+ * Consider only application classes.
+ *
+ * Setting this option to true causes Soot to only consider
+ * application classes when building the callgraph. The resulting
+ * callgraph will be inherently unsound. Still, this option can
+ * make sense if performance optimization and memory reduction are
+ * your primary goal.
+ */
+ public boolean apponly() {
+ return soot.PhaseOptions.getBoolean(options, "apponly");
+ }
}
diff --git a/src/main/generated/options/soot/options/CPOptions.java b/src/main/generated/options/soot/options/CPOptions.java
index 548da92af47..068a83282fc 100644
--- a/src/main/generated/options/soot/options/CPOptions.java
+++ b/src/main/generated/options/soot/options/CPOptions.java
@@ -23,37 +23,42 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Copy Propagator. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class CPOptions {
- private Map options;
-
- public CPOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Only Regular Locals Only propagate copies through ``regular'' locals, that is, those declared in the source bytecode.
- */
- public boolean only_regular_locals() {
- return soot.PhaseOptions.getBoolean(options, "only-regular-locals");
- }
-
- /**
- * Only Stack Locals Only propagate copies through locals that represent stack locations in the original bytecode.
- */
- public boolean only_stack_locals() {
- return soot.PhaseOptions.getBoolean(options, "only-stack-locals");
- }
+ private Map options;
+
+ public CPOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Only Regular Locals
+ * Only propagate copies through ``regular'' locals, that is, those
+ * declared in the source bytecode.
+ */
+ public boolean only_regular_locals() {
+ return soot.PhaseOptions.getBoolean(options, "only-regular-locals");
+ }
+
+ /**
+ * Only Stack Locals
+ * Only propagate copies through locals that represent stack
+ * locations in the original bytecode.
+ */
+ public boolean only_stack_locals() {
+ return soot.PhaseOptions.getBoolean(options, "only-stack-locals");
+ }
}
diff --git a/src/main/generated/options/soot/options/FRWOptions.java b/src/main/generated/options/soot/options/FRWOptions.java
index 4c6a8167074..3af70f0d08a 100644
--- a/src/main/generated/options/soot/options/FRWOptions.java
+++ b/src/main/generated/options/soot/options/FRWOptions.java
@@ -23,31 +23,34 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Field Read/Write Tagger. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class FRWOptions {
- private Map options;
-
- public FRWOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Maximum number of fields If a statement reads/writes more than this number of fields, no tag will be produced for it, in
- * order to keep the size of the tags reasonable.
- */
- public int threshold() {
- return soot.PhaseOptions.getInt(options, "threshold");
- }
+ private Map options;
+
+ public FRWOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Maximum number of fields
+ * If a statement reads/writes more than this number of fields, no
+ * tag will be produced for it, in order to keep the size of the
+ * tags reasonable.
+ */
+ public int threshold() {
+ return soot.PhaseOptions.getInt(options, "threshold");
+ }
}
diff --git a/src/main/generated/options/soot/options/JBOptions.java b/src/main/generated/options/soot/options/JBOptions.java
index 75352ac24be..712b503a2d1 100644
--- a/src/main/generated/options/soot/options/JBOptions.java
+++ b/src/main/generated/options/soot/options/JBOptions.java
@@ -23,64 +23,78 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Jimple Body Creation. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class JBOptions {
- private Map options;
+ private Map options;
- public JBOptions(Map options) {
- this.options = options;
- }
+ public JBOptions(Map options) {
+ this.options = options;
+ }
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Use Original Names Retain the original names for local variables when the source includes those names. Otherwise, Soot
- * gives variables generic names based on their types.
- */
- public boolean use_original_names() {
- return soot.PhaseOptions.getBoolean(options, "use-original-names");
- }
+ /**
+ * Use Original Names
+ * Retain the original names for local variables when the source
+ * includes those names. Otherwise, Soot gives variables generic
+ * names based on their types.
+ */
+ public boolean use_original_names() {
+ return soot.PhaseOptions.getBoolean(options, "use-original-names");
+ }
- /**
- * Preserve source-level annotations Preserves annotations of retention type SOURCE. (for everything but package and local
- * variable annotations)
- */
- public boolean preserve_source_annotations() {
- return soot.PhaseOptions.getBoolean(options, "preserve-source-annotations");
- }
+ /**
+ * Preserve source-level annotations
+ * Preserves annotations of retention type SOURCE. (for everything
+ * but package and local variable annotations)
+ */
+ public boolean preserve_source_annotations() {
+ return soot.PhaseOptions.getBoolean(options, "preserve-source-annotations");
+ }
- /**
- * Stabilize local names Make sure that local names are stable between runs. This requires re-normalizing all local names
- * after the standard transformations, sorting them, and padding all local names with leading zeros up to the maximum
- * number of digits in the local with the highest integer value. This can negatively impact performance. This option
- * automatically sets "sort-locals" in "jb.lns" during the second re-normalization pass.
- */
- public boolean stabilize_local_names() {
- return soot.PhaseOptions.getBoolean(options, "stabilize-local-names");
- }
+ /**
+ * Stabilize local names
+ * Make sure that local names are stable between runs. This
+ * requires re-normalizing all local names after the standard
+ * transformations, sorting them, and padding all local names with
+ * leading zeros up to the maximum number of digits in the local
+ * with the highest integer value. This can negatively impact
+ * performance. This option automatically sets "sort-locals" in
+ * "jb.lns" during the second re-normalization pass.
+ */
+ public boolean stabilize_local_names() {
+ return soot.PhaseOptions.getBoolean(options, "stabilize-local-names");
+ }
- /**
- * Model LambdaMetafactory -- Replace dynamic invoke instructions to the LambdaMetafactory by static invokes to a synthetic
- * LambdaMetafactory implementation..
- *
- * When the asm bytecode frontend is used and this option is set to true, Soot creates an implementation of the
- * LambdaMetafactory for each dynamic invoke and replaces the original dynamic invoke by a static invocation of the
- * factory's bootstrap method. This allows the call-graph generation to find the lambda body reachable, i.e., call-graphs
- * contain paths from the invocation of a functional interface to the lambda body implementing this interface. Note that
- * this procedure is not reversed when writing-out. Therefore, written-out code will contain the created
- * LambdaMetafactories and instrumented calls to the corresponding bootstrap methods.
- */
- public boolean model_lambdametafactory() {
- return soot.PhaseOptions.getBoolean(options, "model-lambdametafactory");
- }
+ /**
+ * Model LambdaMetafactory --
+ * Replace dynamic invoke instructions to the LambdaMetafactory by
+ * static invokes to a synthetic LambdaMetafactory implementation..
+ *
+ * When the asm bytecode frontend is used and this option is set to
+ * true, Soot creates an implementation of the LambdaMetafactory
+ * for each dynamic invoke and replaces the original dynamic invoke
+ * by a static invocation of the factory's bootstrap method. This
+ * allows the call-graph generation to find the lambda body
+ * reachable, i.e., call-graphs contain paths from the invocation
+ * of a functional interface to the lambda body implementing this
+ * interface. Note that this procedure is not reversed when
+ * writing-out. Therefore, written-out code will contain the
+ * created LambdaMetafactories and instrumented calls to the
+ * corresponding bootstrap methods.
+ */
+ public boolean model_lambdametafactory() {
+ return soot.PhaseOptions.getBoolean(options, "model-lambdametafactory");
+ }
}
diff --git a/src/main/generated/options/soot/options/JBTROptions.java b/src/main/generated/options/soot/options/JBTROptions.java
index da9c155f99d..4196212acb5 100644
--- a/src/main/generated/options/soot/options/JBTROptions.java
+++ b/src/main/generated/options/soot/options/JBTROptions.java
@@ -23,55 +23,64 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Type Assigner. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class JBTROptions {
- private Map options;
+ private Map options;
- public JBTROptions(Map options) {
- this.options = options;
- }
+ public JBTROptions(Map options) {
+ this.options = options;
+ }
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Use older type assigner -- Enables the older type assigner.
- *
- * This enables the older type assigner that was in use until May 2008. The current type assigner is a reimplementation by
- * Ben Bellamy that uses an entirely new and faster algorithm which always assigns the most narrow type possible. If
- * compare-type-assigners is on, this option causes the older type assigner to execute first. (Otherwise the newer one is
- * executed first.)
- */
- public boolean use_older_type_assigner() {
- return soot.PhaseOptions.getBoolean(options, "use-older-type-assigner");
- }
+ /**
+ * Use older type assigner --
+ * Enables the older type assigner.
+ *
+ * This enables the older type assigner that was in use until May
+ * 2008. The current type assigner is a reimplementation by Ben
+ * Bellamy that uses an entirely new and faster algorithm which
+ * always assigns the most narrow type possible. If
+ * compare-type-assigners is on, this option causes the older type
+ * assigner to execute first. (Otherwise the newer one is executed
+ * first.)
+ */
+ public boolean use_older_type_assigner() {
+ return soot.PhaseOptions.getBoolean(options, "use-older-type-assigner");
+ }
- /**
- * Compare type assigners -- Compares Ben Bellamy's and the older type assigner.
- *
- * Enables comparison (both runtime and results) of Ben Bellamy's type assigner with the older type assigner that was in
- * Soot.
- */
- public boolean compare_type_assigners() {
- return soot.PhaseOptions.getBoolean(options, "compare-type-assigners");
- }
+ /**
+ * Compare type assigners --
+ * Compares Ben Bellamy's and the older type assigner.
+ *
+ * Enables comparison (both runtime and results) of Ben Bellamy's
+ * type assigner with the older type assigner that was in Soot.
+ */
+ public boolean compare_type_assigners() {
+ return soot.PhaseOptions.getBoolean(options, "compare-type-assigners");
+ }
- /**
- * Ignore Nullpointer Dereferences -- Ignores virtual method calls on base objects that may only be null.
- *
- * If this option is enabled, Soot wiil not check whether the base object of a virtual method call can only be null. This
- * will lead to the null_type pseudo type being used in your Jimple code.
- */
- public boolean ignore_nullpointer_dereferences() {
- return soot.PhaseOptions.getBoolean(options, "ignore-nullpointer-dereferences");
- }
+ /**
+ * Ignore Nullpointer Dereferences --
+ * Ignores virtual method calls on base objects that may only be
+ * null.
+ *
+ * If this option is enabled, Soot wiil not check whether the base
+ * object of a virtual method call can only be null. This will lead
+ * to the null_type pseudo type being used in your Jimple code.
+ */
+ public boolean ignore_nullpointer_dereferences() {
+ return soot.PhaseOptions.getBoolean(options, "ignore-nullpointer-dereferences");
+ }
}
diff --git a/src/main/generated/options/soot/options/JJOptions.java b/src/main/generated/options/soot/options/JJOptions.java
index 9699500b26a..55e6d8eb928 100644
--- a/src/main/generated/options/soot/options/JJOptions.java
+++ b/src/main/generated/options/soot/options/JJOptions.java
@@ -23,31 +23,34 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Java To Jimple Body Creation. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class JJOptions {
- private Map options;
-
- public JJOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Use Original Names Retain the original names for local variables when the source includes those names. Otherwise, Soot
- * gives variables generic names based on their types.
- */
- public boolean use_original_names() {
- return soot.PhaseOptions.getBoolean(options, "use-original-names");
- }
+ private Map options;
+
+ public JJOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Use Original Names
+ * Retain the original names for local variables when the source
+ * includes those names. Otherwise, Soot gives variables generic
+ * names based on their types.
+ */
+ public boolean use_original_names() {
+ return soot.PhaseOptions.getBoolean(options, "use-original-names");
+ }
}
diff --git a/src/main/generated/options/soot/options/LCMOptions.java b/src/main/generated/options/soot/options/LCMOptions.java
index 7ffac3bc832..96838237a6e 100644
--- a/src/main/generated/options/soot/options/LCMOptions.java
+++ b/src/main/generated/options/soot/options/LCMOptions.java
@@ -23,68 +23,81 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Lazy Code Motion. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class LCMOptions {
- private Map options;
-
- public LCMOptions(Map options) {
- this.options = options;
- }
+ private Map options;
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ public LCMOptions(Map options) {
+ this.options = options;
+ }
- /**
- * Unroll If true, perform loop inversion before doing the transformation.
- */
- public boolean unroll() {
- return soot.PhaseOptions.getBoolean(options, "unroll");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Naive Side Effect Tester -- Use a naive side effect analysis even if interprocedural information is available.
- *
- * If Naive Side Effect Tester is set to true, Lazy Code Motion uses the conservative side effect information provided by
- * the NaiveSideEffectTester class, even if interprocedural information about side effects is available. The naive side
- * effect analysis is based solely on the information available locally about a statement. It assumes, for example, that
- * any method call has the potential to write and read all instance and static fields in the program. If Naive Side Effect
- * Tester is set to false and Soot is in whole program mode, then Lazy Code Motion uses the side effect information
- * provided by the PASideEffectTester class. PASideEffectTester uses a points-to analysis to determine which fields and
- * statics may be written or read by a given statement. If whole program analysis is not performed, naive side effect
- * information is used regardless of the setting of Naive Side Effect Tester.
- */
- public boolean naive_side_effect() {
- return soot.PhaseOptions.getBoolean(options, "naive-side-effect");
- }
+ /**
+ * Unroll
+ * If true, perform loop inversion before doing the transformation.
+ */
+ public boolean unroll() {
+ return soot.PhaseOptions.getBoolean(options, "unroll");
+ }
- public static final int safety_safe = 1;
- public static final int safety_medium = 2;
- public static final int safety_unsafe = 3;
+ /**
+ * Naive Side Effect Tester --
+ * Use a naive side effect analysis even if interprocedural
+ * information is available.
+ *
+ * If Naive Side Effect Tester is set to true, Lazy Code Motion
+ * uses the conservative side effect information provided by the
+ * NaiveSideEffectTester class, even if interprocedural information
+ * about side effects is available. The naive side effect analysis
+ * is based solely on the information available locally about a
+ * statement. It assumes, for example, that any method call has the
+ * potential to write and read all instance and static fields in
+ * the program. If Naive Side Effect Tester is set to false and
+ * Soot is in whole program mode, then Lazy Code Motion uses the
+ * side effect information provided by the PASideEffectTester
+ * class. PASideEffectTester uses a points-to analysis to determine
+ * which fields and statics may be written or read by a given
+ * statement. If whole program analysis is not performed, naive
+ * side effect information is used regardless of the setting of
+ * Naive Side Effect Tester.
+ */
+ public boolean naive_side_effect() {
+ return soot.PhaseOptions.getBoolean(options, "naive-side-effect");
+ }
- /**
- * Safety This option controls which fields and statements are candidates for code motion.
- */
- public int safety() {
- String s = soot.PhaseOptions.getString(options, "safety");
- if (s == null || s.isEmpty())
- return safety_safe;
+ public static final int safety_safe = 1;
+ public static final int safety_medium = 2;
+ public static final int safety_unsafe = 3;
- if (s.equalsIgnoreCase("safe"))
- return safety_safe;
- if (s.equalsIgnoreCase("medium"))
- return safety_medium;
- if (s.equalsIgnoreCase("unsafe"))
- return safety_unsafe;
+ /**
+ * Safety
+ * This option controls which fields and statements are candidates
+ * for code motion.
+ */
+ public int safety() {
+ String s = soot.PhaseOptions.getString(options, "safety");
+ if (s == null || s.isEmpty())
+ return safety_safe;
+
+ if (s.equalsIgnoreCase("safe"))
+ return safety_safe;
+ if (s.equalsIgnoreCase("medium"))
+ return safety_medium;
+ if (s.equalsIgnoreCase("unsafe"))
+ return safety_unsafe;
- throw new RuntimeException(String.format("Invalid value %s of phase option safety", s));
- }
+ throw new RuntimeException(String.format("Invalid value %s of phase option safety", s));
+ }
}
diff --git a/src/main/generated/options/soot/options/LockAllocator.java b/src/main/generated/options/soot/options/LockAllocator.java
index dedc490681b..2092645af08 100644
--- a/src/main/generated/options/soot/options/LockAllocator.java
+++ b/src/main/generated/options/soot/options/LockAllocator.java
@@ -23,113 +23,126 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Lock Allocator. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class LockAllocator {
- private Map options;
-
- public LockAllocator(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Perform Deadlock Avoidance -- Perform Deadlock Avoidance.
- *
- * Perform Deadlock Avoidance by enforcing a lock ordering where necessary.
- */
- public boolean avoid_deadlock() {
- return soot.PhaseOptions.getBoolean(options, "avoid-deadlock");
- }
-
- /**
- * Use Open Nesting -- Use an open nesting model.
- *
- * Use an open nesting model, where inner transactions are allowed to commit independently of any outer transaction.
- */
- public boolean open_nesting() {
- return soot.PhaseOptions.getBoolean(options, "open-nesting");
- }
-
- /**
- * Perform May-Happen-in-Parallel Analysis -- Perform a May-Happen-in-Parallel analysis.
- *
- * Perform a May-Happen-in-Parallel analysis to assist in allocating locks.
- */
- public boolean do_mhp() {
- return soot.PhaseOptions.getBoolean(options, "do-mhp");
- }
-
- /**
- * Perform Local Objects Analysis -- Perform a Local-Objects analysis.
- *
- * Perform a Local-Objects analysis to assist in allocating locks.
- */
- public boolean do_tlo() {
- return soot.PhaseOptions.getBoolean(options, "do-tlo");
- }
-
- /**
- * Print Topological Graph -- Print topological graph of transactions.
- *
- * Print a topological graph of the program's transactions in the format used by the graphviz package.
- */
- public boolean print_graph() {
- return soot.PhaseOptions.getBoolean(options, "print-graph");
- }
-
- /**
- * Print Table -- Print table of transactions.
- *
- * Print a table of information about the program's transactions.
- */
- public boolean print_table() {
- return soot.PhaseOptions.getBoolean(options, "print-table");
- }
-
- /**
- * Print Debugging Info -- Print debugging info.
- *
- * Print debugging info, including every statement visited.
- */
- public boolean print_debug() {
- return soot.PhaseOptions.getBoolean(options, "print-debug");
- }
-
- public static final int locking_scheme_medium_grained = 1;
- public static final int locking_scheme_coarse_grained = 2;
- public static final int locking_scheme_single_static = 3;
- public static final int locking_scheme_leave_original = 4;
-
- /**
- * Locking Scheme -- Selects the granularity of the generated lock allocation.
- *
- * Selects the granularity of the generated lock allocation
- */
- public int locking_scheme() {
- String s = soot.PhaseOptions.getString(options, "locking-scheme");
- if (s == null || s.isEmpty())
- return locking_scheme_medium_grained;
-
- if (s.equalsIgnoreCase("medium-grained"))
- return locking_scheme_medium_grained;
- if (s.equalsIgnoreCase("coarse-grained"))
- return locking_scheme_coarse_grained;
- if (s.equalsIgnoreCase("single-static"))
- return locking_scheme_single_static;
- if (s.equalsIgnoreCase("leave-original"))
- return locking_scheme_leave_original;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option locking-scheme", s));
- }
+ private Map options;
+
+ public LockAllocator(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Perform Deadlock Avoidance --
+ * Perform Deadlock Avoidance.
+ *
+ * Perform Deadlock Avoidance by enforcing a lock ordering where
+ * necessary.
+ */
+ public boolean avoid_deadlock() {
+ return soot.PhaseOptions.getBoolean(options, "avoid-deadlock");
+ }
+
+ /**
+ * Use Open Nesting --
+ * Use an open nesting model.
+ *
+ * Use an open nesting model, where inner transactions are allowed
+ * to commit independently of any outer transaction.
+ */
+ public boolean open_nesting() {
+ return soot.PhaseOptions.getBoolean(options, "open-nesting");
+ }
+
+ /**
+ * Perform May-Happen-in-Parallel Analysis --
+ * Perform a May-Happen-in-Parallel analysis.
+ *
+ * Perform a May-Happen-in-Parallel analysis to assist in
+ * allocating locks.
+ */
+ public boolean do_mhp() {
+ return soot.PhaseOptions.getBoolean(options, "do-mhp");
+ }
+
+ /**
+ * Perform Local Objects Analysis --
+ * Perform a Local-Objects analysis.
+ *
+ * Perform a Local-Objects analysis to assist in allocating locks.
+ */
+ public boolean do_tlo() {
+ return soot.PhaseOptions.getBoolean(options, "do-tlo");
+ }
+
+ /**
+ * Print Topological Graph --
+ * Print topological graph of transactions.
+ *
+ * Print a topological graph of the program's transactions in the
+ * format used by the graphviz package.
+ */
+ public boolean print_graph() {
+ return soot.PhaseOptions.getBoolean(options, "print-graph");
+ }
+
+ /**
+ * Print Table --
+ * Print table of transactions.
+ *
+ * Print a table of information about the program's transactions.
+ */
+ public boolean print_table() {
+ return soot.PhaseOptions.getBoolean(options, "print-table");
+ }
+
+ /**
+ * Print Debugging Info --
+ * Print debugging info.
+ *
+ * Print debugging info, including every statement visited.
+ */
+ public boolean print_debug() {
+ return soot.PhaseOptions.getBoolean(options, "print-debug");
+ }
+
+ public static final int locking_scheme_medium_grained = 1;
+ public static final int locking_scheme_coarse_grained = 2;
+ public static final int locking_scheme_single_static = 3;
+ public static final int locking_scheme_leave_original = 4;
+
+ /**
+ * Locking Scheme --
+ * Selects the granularity of the generated lock allocation.
+ *
+ * Selects the granularity of the generated lock allocation
+ */
+ public int locking_scheme() {
+ String s = soot.PhaseOptions.getString(options, "locking-scheme");
+ if (s == null || s.isEmpty())
+ return locking_scheme_medium_grained;
+
+ if (s.equalsIgnoreCase("medium-grained"))
+ return locking_scheme_medium_grained;
+ if (s.equalsIgnoreCase("coarse-grained"))
+ return locking_scheme_coarse_grained;
+ if (s.equalsIgnoreCase("single-static"))
+ return locking_scheme_single_static;
+ if (s.equalsIgnoreCase("leave-original"))
+ return locking_scheme_leave_original;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option locking-scheme", s));
+ }
}
diff --git a/src/main/generated/options/soot/options/MhpTransformer.java b/src/main/generated/options/soot/options/MhpTransformer.java
index d7f150d9d62..037da58ccfa 100644
--- a/src/main/generated/options/soot/options/MhpTransformer.java
+++ b/src/main/generated/options/soot/options/MhpTransformer.java
@@ -23,23 +23,24 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for May Happen in Parallel Analyses. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class MhpTransformer {
- private Map options;
+ private Map options;
- public MhpTransformer(Map options) {
- this.options = options;
- }
+ public MhpTransformer(Map options) {
+ this.options = options;
+ }
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
}
diff --git a/src/main/generated/options/soot/options/NPCOptions.java b/src/main/generated/options/soot/options/NPCOptions.java
index 401a89aeaf5..13e9c92e7c1 100644
--- a/src/main/generated/options/soot/options/NPCOptions.java
+++ b/src/main/generated/options/soot/options/NPCOptions.java
@@ -23,43 +23,49 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Null Pointer Checker. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class NPCOptions {
- private Map options;
+ private Map options;
- public NPCOptions(Map options) {
- this.options = options;
- }
+ public NPCOptions(Map options) {
+ this.options = options;
+ }
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Only Array Ref -- Annotate only array references.
- *
- * Annotate only array-referencing instructions, instead of all instructions that need null pointer checks.
- */
- public boolean only_array_ref() {
- return soot.PhaseOptions.getBoolean(options, "only-array-ref");
- }
+ /**
+ * Only Array Ref --
+ * Annotate only array references.
+ *
+ * Annotate only array-referencing instructions, instead of all
+ * instructions that need null pointer checks.
+ */
+ public boolean only_array_ref() {
+ return soot.PhaseOptions.getBoolean(options, "only-array-ref");
+ }
- /**
- * Profiling -- Insert instructions to count safe pointer accesses.
- *
- * Insert profiling instructions that at runtime count the number of eliminated safe null pointer checks. The inserted
- * profiling code assumes the existence of a MultiCounter class implementing the methods invoked. For details, see the
- * NullPointerChecker source code.
- */
- public boolean profiling() {
- return soot.PhaseOptions.getBoolean(options, "profiling");
- }
+ /**
+ * Profiling --
+ * Insert instructions to count safe pointer accesses.
+ *
+ * Insert profiling instructions that at runtime count the number
+ * of eliminated safe null pointer checks. The inserted profiling
+ * code assumes the existence of a MultiCounter class implementing
+ * the methods invoked. For details, see the NullPointerChecker
+ * source code.
+ */
+ public boolean profiling() {
+ return soot.PhaseOptions.getBoolean(options, "profiling");
+ }
}
diff --git a/src/main/generated/options/soot/options/Options.java b/src/main/generated/options/soot/options/Options.java
index 9a5d5c2e99f..f46fb026593 100644
--- a/src/main/generated/options/soot/options/Options.java
+++ b/src/main/generated/options/soot/options/Options.java
@@ -146,10 +146,6 @@ public boolean parse(String[] argv) {
}
if (false);
- else if (false
- || option.equals("coffi")
- )
- coffi = true;
else if (false
|| option.equals("jasmin-backend")
)
@@ -1467,10 +1463,6 @@ else if (false
return true;
}
- public boolean coffi() { return coffi; }
- private boolean coffi = false;
- public void set_coffi(boolean setting) { coffi = setting; }
-
public boolean jasmin_backend() { return jasmin_backend; }
private boolean jasmin_backend = false;
public void set_jasmin_backend(boolean setting) { jasmin_backend = setting; }
@@ -1844,7 +1836,6 @@ public List dynamic_package() {
public String getUsage() {
return ""
+ "\nGeneral Options:\n"
- + padOpt("-coffi", "Use the good old Coffi front end for parsing Java bytecode (instead of using ASM).")
+ padOpt("-jasmin-backend", "Use the Jasmin back end for generating Java bytecode (instead of using ASM).")
+ padOpt("-h, -help", "Display help and exit")
+ padOpt("-pl, -phase-list", "Print list of available phases")
diff --git a/src/main/generated/options/soot/options/PaddleOptions.java b/src/main/generated/options/soot/options/PaddleOptions.java
index c333607c7d6..5f3f251f1a6 100644
--- a/src/main/generated/options/soot/options/PaddleOptions.java
+++ b/src/main/generated/options/soot/options/PaddleOptions.java
@@ -23,544 +23,622 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Paddle. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class PaddleOptions {
- private Map options;
-
- public PaddleOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Verbose -- Print detailed information about the execution of Paddle.
- *
- * When this option is set to true, Paddle prints detailed information about its execution.
- */
- public boolean verbose() {
- return soot.PhaseOptions.getBoolean(options, "verbose");
- }
-
- /**
- * Use BDDs -- Use BDD version of Paddle.
- *
- * Causes Paddle to use BDD versions of its components
- */
- public boolean bdd() {
- return soot.PhaseOptions.getBoolean(options, "bdd");
- }
-
- /**
- * Dynamic reordering Allows the BDD package to perform dynamic variable ordering.
- */
- public boolean dynamic_order() {
- return soot.PhaseOptions.getBoolean(options, "dynamic-order");
- }
-
- /**
- * Profile -- Profile BDDs using JeddProfiler.
- *
- * Turns on JeddProfiler for profiling BDD operations.
- */
- public boolean profile() {
- return soot.PhaseOptions.getBoolean(options, "profile");
- }
-
- /**
- * Verbose GC -- Print memory usage at each BDD garbage collection.
- *
- * Print memory usage at each BDD garbage collection.
- */
- public boolean verbosegc() {
- return soot.PhaseOptions.getBoolean(options, "verbosegc");
- }
-
- /**
- * Ignore Types Entirely -- Make Paddle completely ignore declared types of variables.
- *
- * When this option is set to true, all parts of Paddle completely ignore declared types of variables and casts.
- */
- public boolean ignore_types() {
- return soot.PhaseOptions.getBoolean(options, "ignore-types");
- }
-
- /**
- * Pre Jimplify -- Jimplify all methods before starting Paddle.
- *
- * When this option is set to true, Paddle converts all available methods to Jimple before starting the points-to analysis.
- * This allows the Jimplification time to be separated from the points-to time. However, it increases the total time and
- * memory requirement, because all methods are Jimplified, rather than only those deemed reachable by the points-to
- * analysis.
- */
- public boolean pre_jimplify() {
- return soot.PhaseOptions.getBoolean(options, "pre-jimplify");
- }
-
- /**
- * Context-sensitive Heap Locations -- Treat allocation sites context-sensitively.
- *
- * When this option is set to true, the context-sensitivity level that is set for the context-sensitive call graph and for
- * pointer variables is also used to model heap locations context-sensitively. When this option is false, heap locations
- * are modelled context-insensitively regardless of the context-sensitivity level.
- */
- public boolean context_heap() {
- return soot.PhaseOptions.getBoolean(options, "context-heap");
- }
-
- /**
- * RTA -- Emulate Rapid Type Analysis.
- *
- * Setting RTA to true sets types-for-sites to true, and causes Paddle to use a single points-to set for all variables,
- * giving Rapid Type Analysis.
- */
- public boolean rta() {
- return soot.PhaseOptions.getBoolean(options, "rta");
- }
-
- /**
- * Field Based -- Use a field-based rather than field-sensitive representation.
- *
- * When this option is set to true, fields are represented by variable (Green) nodes, and the object that the field belongs
- * to is ignored (all objects are lumped together), giving a field-based analysis. Otherwise, fields are represented by
- * field reference (Red) nodes, and the objects that they belong to are distinguished, giving a field-sensitive analysis.
- */
- public boolean field_based() {
- return soot.PhaseOptions.getBoolean(options, "field-based");
- }
-
- /**
- * Types For Sites -- Represent objects by their actual type rather than allocation site.
- *
- * When this option is set to true, types rather than allocation sites are used as the elements of the points-to sets.
- */
- public boolean types_for_sites() {
- return soot.PhaseOptions.getBoolean(options, "types-for-sites");
- }
-
- /**
- * Merge String Buffer -- Represent all StringBuffers as one object.
- *
- * When this option is set to true, all allocation sites creating java.lang.StringBuffer objects are grouped together as a
- * single allocation site. Allocation sites creating a java.lang.StringBuilder object are also grouped together as a single
- * allocation site.
- */
- public boolean merge_stringbuffer() {
- return soot.PhaseOptions.getBoolean(options, "merge-stringbuffer");
- }
-
- /**
- * Propagate All String Constants -- Propagate all string constants, not just class names.
- *
- * When this option is set to false, Paddle only distinguishes string constants that may be the name of a class loaded
- * dynamically using reflection, and all other string constants are lumped together into a single string constant node.
- * Setting this option to true causes all string constants to be propagated individually.
- */
- public boolean string_constants() {
- return soot.PhaseOptions.getBoolean(options, "string-constants");
- }
-
- /**
- * Simulate Natives -- Simulate effects of native methods in standard class library.
- *
- * When this option is set to true, the effects of native methods in the standard Java class library are simulated.
- */
- public boolean simulate_natives() {
- return soot.PhaseOptions.getBoolean(options, "simulate-natives");
- }
-
- /**
- * Global Nodes in Simulated Natives -- Use global node to model variables in simulations of native methods.
- *
- * The simulations of native methods such as System.arraycopy() use temporary local variable nodes. Setting this switch to
- * true causes them to use global variable nodes instead, reducing precision. The switch exists only to make it possible to
- * measure this effect on precision; there is no other practical reason to set it to true.
- */
- public boolean global_nodes_in_natives() {
- return soot.PhaseOptions.getBoolean(options, "global-nodes-in-natives");
- }
-
- /**
- * Simple Edges Bidirectional -- Equality-based analysis between variable nodes.
- *
- * When this option is set to true, all edges connecting variable (Green) nodes are made bidirectional, as in Steensgaard's
- * analysis.
- */
- public boolean simple_edges_bidirectional() {
- return soot.PhaseOptions.getBoolean(options, "simple-edges-bidirectional");
- }
-
- /**
- * this Pointer Assignment Edge -- Use pointer assignment edges to model this parameters.
- *
- * When constructing a call graph on-the-fly during points-to analysis, Paddle normally propagates only those receivers
- * that cause a method to be invoked to the this pointer of the method. When this option is set to true, however, Paddle
- * instead models flow of receivers as an assignnment edge from the receiver at the call site to the this pointer of the
- * method, reducing precision.
- */
- public boolean this_edges() {
- return soot.PhaseOptions.getBoolean(options, "this-edges");
- }
-
- /**
- * Precise newInstance -- Make newInstance only allocate objects of dynamic classes.
- *
- * Normally, newInstance() calls are treated as if they may return an object of any type. Setting this option to true
- * causes them to be treated as if they return only objects of the type of some dynamic class.
- */
- public boolean precise_newinstance() {
- return soot.PhaseOptions.getBoolean(options, "precise-newinstance");
- }
-
- /**
- * Print Context Counts -- Print number of contexts for each method.
- *
- * Causes Paddle to print the number of contexts for each method and call edge, and the number of equivalence classes of
- * contexts for each variable node.
- */
- public boolean context_counts() {
- return soot.PhaseOptions.getBoolean(options, "context-counts");
- }
-
- /**
- * Print Context Counts (Totals only) -- Print total number of contexts.
- *
- * Causes Paddle to print the number of contexts and number of context equivalence classes.
- */
- public boolean total_context_counts() {
- return soot.PhaseOptions.getBoolean(options, "total-context-counts");
- }
-
- /**
- * Method Context Counts (Totals only) -- Print number of contexts for each method.
- *
- * Causes Paddle to print the number of contexts and number of context equivalence classes split out by method. Requires
- * total-context-counts to also be turned on.
- */
- public boolean method_context_counts() {
- return soot.PhaseOptions.getBoolean(options, "method-context-counts");
- }
-
- /**
- * Calculate Set Mass -- Calculate statistics about points-to set sizes.
- *
- * When this option is set to true, Paddle computes and prints various cryptic statistics about the size of the points-to
- * sets computed.
- */
- public boolean set_mass() {
- return soot.PhaseOptions.getBoolean(options, "set-mass");
- }
-
- /**
- * Number nodes -- Print node numbers in dumps.
- *
- * When printing debug information about nodes, this option causes the node number of each node to be printed.
- */
- public boolean number_nodes() {
- return soot.PhaseOptions.getBoolean(options, "number-nodes");
- }
-
- /**
- * Variable ordering Selects one of the BDD variable orderings hard-coded in Paddle.
- */
- public int order() {
- return soot.PhaseOptions.getInt(options, "order");
- }
-
- /**
- * BDD Nodes -- Number of BDD nodes to allocate (0=unlimited).
- *
- * This option specifies the number of BDD nodes to be used by the BDD backend. A value of 0 causes the backend to start
- * with one million nodes, and allocate more as required. A value other than zero causes the backend to start with the
- * specified size, and prevents it from ever allocating any more nodes.
- */
- public int bdd_nodes() {
- return soot.PhaseOptions.getInt(options, "bdd-nodes");
- }
-
- /**
- * Context length (k) The maximum length of call string or receiver object string used as context.
- */
- public int k() {
- return soot.PhaseOptions.getInt(options, "k");
- }
-
- public static final int conf_ofcg = 1;
- public static final int conf_cha = 2;
- public static final int conf_cha_aot = 3;
- public static final int conf_ofcg_aot = 4;
- public static final int conf_cha_context_aot = 5;
- public static final int conf_ofcg_context_aot = 6;
- public static final int conf_cha_context = 7;
- public static final int conf_ofcg_context = 8;
-
- /**
- * Configuration -- Select Paddle configuration.
- *
- * Selects the configuration of points-to analysis and call graph construction to be used in Paddle.
- */
- public int conf() {
- String s = soot.PhaseOptions.getString(options, "conf");
- if (s == null || s.isEmpty())
- return conf_ofcg;
-
- if (s.equalsIgnoreCase("ofcg"))
- return conf_ofcg;
- if (s.equalsIgnoreCase("cha"))
- return conf_cha;
- if (s.equalsIgnoreCase("cha-aot"))
- return conf_cha_aot;
- if (s.equalsIgnoreCase("ofcg-aot"))
- return conf_ofcg_aot;
- if (s.equalsIgnoreCase("cha-context-aot"))
- return conf_cha_context_aot;
- if (s.equalsIgnoreCase("ofcg-context-aot"))
- return conf_ofcg_context_aot;
- if (s.equalsIgnoreCase("cha-context"))
- return conf_cha_context;
- if (s.equalsIgnoreCase("ofcg-context"))
- return conf_ofcg_context;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option conf", s));
- }
-
- public static final int q_auto = 1;
- public static final int q_trad = 2;
- public static final int q_bdd = 3;
- public static final int q_debug = 4;
- public static final int q_trace = 5;
- public static final int q_numtrace = 6;
-
- /**
- * Worklist Implementation -- Select queue implementation.
- *
- * Select the implementation of worklists to be used in Paddle.
- */
- public int q() {
- String s = soot.PhaseOptions.getString(options, "q");
- if (s == null || s.isEmpty())
- return q_auto;
-
- if (s.equalsIgnoreCase("auto"))
- return q_auto;
- if (s.equalsIgnoreCase("trad"))
- return q_trad;
- if (s.equalsIgnoreCase("bdd"))
- return q_bdd;
- if (s.equalsIgnoreCase("debug"))
- return q_debug;
- if (s.equalsIgnoreCase("trace"))
- return q_trace;
- if (s.equalsIgnoreCase("numtrace"))
- return q_numtrace;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option q", s));
- }
-
- public static final int backend_auto = 1;
- public static final int backend_buddy = 2;
- public static final int backend_cudd = 3;
- public static final int backend_sable = 4;
- public static final int backend_javabdd = 5;
- public static final int backend_none = 6;
-
- /**
- * Backend -- Select BDD backend.
- *
- * This option tells Paddle which implementation of BDDs to use.
- */
- public int backend() {
- String s = soot.PhaseOptions.getString(options, "backend");
- if (s == null || s.isEmpty())
- return backend_auto;
-
- if (s.equalsIgnoreCase("auto"))
- return backend_auto;
- if (s.equalsIgnoreCase("buddy"))
- return backend_buddy;
- if (s.equalsIgnoreCase("cudd"))
- return backend_cudd;
- if (s.equalsIgnoreCase("sable"))
- return backend_sable;
- if (s.equalsIgnoreCase("javabdd"))
- return backend_javabdd;
- if (s.equalsIgnoreCase("none"))
- return backend_none;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option backend", s));
- }
-
- public static final int context_insens = 1;
- public static final int context_1cfa = 2;
- public static final int context_kcfa = 3;
- public static final int context_objsens = 4;
- public static final int context_kobjsens = 5;
- public static final int context_uniqkobjsens = 6;
- public static final int context_threadkobjsens = 7;
-
- /**
- * Context abstraction -- Select context-sensitivity level.
- *
- * This option tells Paddle which level of context-sensitivity to use in constructing the call graph.
- */
- public int context() {
- String s = soot.PhaseOptions.getString(options, "context");
- if (s == null || s.isEmpty())
- return context_insens;
-
- if (s.equalsIgnoreCase("insens"))
- return context_insens;
- if (s.equalsIgnoreCase("1cfa"))
- return context_1cfa;
- if (s.equalsIgnoreCase("kcfa"))
- return context_kcfa;
- if (s.equalsIgnoreCase("objsens"))
- return context_objsens;
- if (s.equalsIgnoreCase("kobjsens"))
- return context_kobjsens;
- if (s.equalsIgnoreCase("uniqkobjsens"))
- return context_uniqkobjsens;
- if (s.equalsIgnoreCase("threadkobjsens"))
- return context_threadkobjsens;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option context", s));
- }
-
- public static final int propagator_auto = 1;
- public static final int propagator_iter = 2;
- public static final int propagator_worklist = 3;
- public static final int propagator_alias = 4;
- public static final int propagator_bdd = 5;
- public static final int propagator_incbdd = 6;
-
- /**
- * Propagator -- Select propagation algorithm.
- *
- * This option tells Paddle which propagation algorithm to use.
- */
- public int propagator() {
- String s = soot.PhaseOptions.getString(options, "propagator");
- if (s == null || s.isEmpty())
- return propagator_auto;
-
- if (s.equalsIgnoreCase("auto"))
- return propagator_auto;
- if (s.equalsIgnoreCase("iter"))
- return propagator_iter;
- if (s.equalsIgnoreCase("worklist"))
- return propagator_worklist;
- if (s.equalsIgnoreCase("alias"))
- return propagator_alias;
- if (s.equalsIgnoreCase("bdd"))
- return propagator_bdd;
- if (s.equalsIgnoreCase("incbdd"))
- return propagator_incbdd;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option propagator", s));
- }
-
- public static final int set_impl_hash = 1;
- public static final int set_impl_bit = 2;
- public static final int set_impl_hybrid = 3;
- public static final int set_impl_array = 4;
- public static final int set_impl_heintze = 5;
- public static final int set_impl_double = 6;
-
- /**
- * Set Implementation -- Select points-to set implementation.
- *
- * Select an implementation of points-to sets for Paddle to use.
- */
- public int set_impl() {
- String s = soot.PhaseOptions.getString(options, "set-impl");
- if (s == null || s.isEmpty())
- return set_impl_double;
-
- if (s.equalsIgnoreCase("hash"))
- return set_impl_hash;
- if (s.equalsIgnoreCase("bit"))
- return set_impl_bit;
- if (s.equalsIgnoreCase("hybrid"))
- return set_impl_hybrid;
- if (s.equalsIgnoreCase("array"))
- return set_impl_array;
- if (s.equalsIgnoreCase("heintze"))
- return set_impl_heintze;
- if (s.equalsIgnoreCase("double"))
- return set_impl_double;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option set-impl", s));
- }
-
- public static final int double_set_old_hash = 1;
- public static final int double_set_old_bit = 2;
- public static final int double_set_old_hybrid = 3;
- public static final int double_set_old_array = 4;
- public static final int double_set_old_heintze = 5;
-
- /**
- * Double Set Old -- Select implementation of points-to set for old part of double set.
- *
- * Select an implementation for sets of old objects in the double points-to set implementation. This option has no effect
- * unless Set Implementation is set to double.
- */
- public int double_set_old() {
- String s = soot.PhaseOptions.getString(options, "double-set-old");
- if (s == null || s.isEmpty())
- return double_set_old_hybrid;
-
- if (s.equalsIgnoreCase("hash"))
- return double_set_old_hash;
- if (s.equalsIgnoreCase("bit"))
- return double_set_old_bit;
- if (s.equalsIgnoreCase("hybrid"))
- return double_set_old_hybrid;
- if (s.equalsIgnoreCase("array"))
- return double_set_old_array;
- if (s.equalsIgnoreCase("heintze"))
- return double_set_old_heintze;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option double-set-old", s));
- }
-
- public static final int double_set_new_hash = 1;
- public static final int double_set_new_bit = 2;
- public static final int double_set_new_hybrid = 3;
- public static final int double_set_new_array = 4;
- public static final int double_set_new_heintze = 5;
-
- /**
- * Double Set New -- Select implementation of points-to set for new part of double set.
- *
- * Select an implementation for sets of new objects in the double points-to set implementation. This option has no effect
- * unless Set Implementation is set to double.
- */
- public int double_set_new() {
- String s = soot.PhaseOptions.getString(options, "double-set-new");
- if (s == null || s.isEmpty())
- return double_set_new_hybrid;
-
- if (s.equalsIgnoreCase("hash"))
- return double_set_new_hash;
- if (s.equalsIgnoreCase("bit"))
- return double_set_new_bit;
- if (s.equalsIgnoreCase("hybrid"))
- return double_set_new_hybrid;
- if (s.equalsIgnoreCase("array"))
- return double_set_new_array;
- if (s.equalsIgnoreCase("heintze"))
- return double_set_new_heintze;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option double-set-new", s));
- }
+ private Map options;
+
+ public PaddleOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Verbose --
+ * Print detailed information about the execution of Paddle.
+ *
+ * When this option is set to true, Paddle prints detailed
+ * information about its execution.
+ */
+ public boolean verbose() {
+ return soot.PhaseOptions.getBoolean(options, "verbose");
+ }
+
+ /**
+ * Use BDDs --
+ * Use BDD version of Paddle.
+ *
+ * Causes Paddle to use BDD versions of its components
+ */
+ public boolean bdd() {
+ return soot.PhaseOptions.getBoolean(options, "bdd");
+ }
+
+ /**
+ * Dynamic reordering
+ * Allows the BDD package to perform dynamic variable ordering.
+ */
+ public boolean dynamic_order() {
+ return soot.PhaseOptions.getBoolean(options, "dynamic-order");
+ }
+
+ /**
+ * Profile --
+ * Profile BDDs using JeddProfiler.
+ *
+ * Turns on JeddProfiler for profiling BDD operations.
+ */
+ public boolean profile() {
+ return soot.PhaseOptions.getBoolean(options, "profile");
+ }
+
+ /**
+ * Verbose GC --
+ * Print memory usage at each BDD garbage collection.
+ *
+ * Print memory usage at each BDD garbage collection.
+ */
+ public boolean verbosegc() {
+ return soot.PhaseOptions.getBoolean(options, "verbosegc");
+ }
+
+ /**
+ * Ignore Types Entirely --
+ * Make Paddle completely ignore declared types of variables.
+ *
+ * When this option is set to true, all parts of Paddle completely
+ * ignore declared types of variables and casts.
+ */
+ public boolean ignore_types() {
+ return soot.PhaseOptions.getBoolean(options, "ignore-types");
+ }
+
+ /**
+ * Pre Jimplify --
+ * Jimplify all methods before starting Paddle.
+ *
+ * When this option is set to true, Paddle converts all available
+ * methods to Jimple before starting the points-to analysis. This
+ * allows the Jimplification time to be separated from the
+ * points-to time. However, it increases the total time and memory
+ * requirement, because all methods are Jimplified, rather than
+ * only those deemed reachable by the points-to analysis.
+ */
+ public boolean pre_jimplify() {
+ return soot.PhaseOptions.getBoolean(options, "pre-jimplify");
+ }
+
+ /**
+ * Context-sensitive Heap Locations --
+ * Treat allocation sites context-sensitively.
+ *
+ * When this option is set to true, the context-sensitivity level
+ * that is set for the context-sensitive call graph and for pointer
+ * variables is also used to model heap locations
+ * context-sensitively. When this option is false, heap locations
+ * are modelled context-insensitively regardless of the
+ * context-sensitivity level.
+ */
+ public boolean context_heap() {
+ return soot.PhaseOptions.getBoolean(options, "context-heap");
+ }
+
+ /**
+ * RTA --
+ * Emulate Rapid Type Analysis.
+ *
+ * Setting RTA to true sets types-for-sites to true, and causes
+ * Paddle to use a single points-to set for all variables, giving
+ * Rapid Type Analysis.
+ */
+ public boolean rta() {
+ return soot.PhaseOptions.getBoolean(options, "rta");
+ }
+
+ /**
+ * Field Based --
+ * Use a field-based rather than field-sensitive representation.
+ *
+ * When this option is set to true, fields are represented by
+ * variable (Green) nodes, and the object that the field belongs to
+ * is ignored (all objects are lumped together), giving a
+ * field-based analysis. Otherwise, fields are represented by field
+ * reference (Red) nodes, and the objects that they belong to are
+ * distinguished, giving a field-sensitive analysis.
+ */
+ public boolean field_based() {
+ return soot.PhaseOptions.getBoolean(options, "field-based");
+ }
+
+ /**
+ * Types For Sites --
+ * Represent objects by their actual type rather than allocation
+ * site.
+ *
+ * When this option is set to true, types rather than allocation
+ * sites are used as the elements of the points-to sets.
+ */
+ public boolean types_for_sites() {
+ return soot.PhaseOptions.getBoolean(options, "types-for-sites");
+ }
+
+ /**
+ * Merge String Buffer --
+ * Represent all StringBuffers as one object.
+ *
+ * When this option is set to true, all allocation sites creating
+ * java.lang.StringBuffer objects are grouped together as a single
+ * allocation site. Allocation sites creating a
+ * java.lang.StringBuilder object are also grouped together as a
+ * single allocation site.
+ */
+ public boolean merge_stringbuffer() {
+ return soot.PhaseOptions.getBoolean(options, "merge-stringbuffer");
+ }
+
+ /**
+ * Propagate All String Constants --
+ * Propagate all string constants, not just class names.
+ *
+ * When this option is set to false, Paddle only distinguishes
+ * string constants that may be the name of a class loaded
+ * dynamically using reflection, and all other string constants are
+ * lumped together into a single string constant node. Setting this
+ * option to true causes all string constants to be propagated
+ * individually.
+ */
+ public boolean string_constants() {
+ return soot.PhaseOptions.getBoolean(options, "string-constants");
+ }
+
+ /**
+ * Simulate Natives --
+ * Simulate effects of native methods in standard class library.
+ *
+ * When this option is set to true, the effects of native methods
+ * in the standard Java class library are simulated.
+ */
+ public boolean simulate_natives() {
+ return soot.PhaseOptions.getBoolean(options, "simulate-natives");
+ }
+
+ /**
+ * Global Nodes in Simulated Natives --
+ * Use global node to model variables in simulations of native
+ * methods.
+ *
+ * The simulations of native methods such as System.arraycopy() use
+ * temporary local variable nodes. Setting this switch to true
+ * causes them to use global variable nodes instead, reducing
+ * precision. The switch exists only to make it possible to measure
+ * this effect on precision; there is no other practical reason to
+ * set it to true.
+ */
+ public boolean global_nodes_in_natives() {
+ return soot.PhaseOptions.getBoolean(options, "global-nodes-in-natives");
+ }
+
+ /**
+ * Simple Edges Bidirectional --
+ * Equality-based analysis between variable nodes.
+ *
+ * When this option is set to true, all edges connecting variable
+ * (Green) nodes are made bidirectional, as in Steensgaard's
+ * analysis.
+ */
+ public boolean simple_edges_bidirectional() {
+ return soot.PhaseOptions.getBoolean(options, "simple-edges-bidirectional");
+ }
+
+ /**
+ * this Pointer Assignment Edge --
+ * Use pointer assignment edges to model this parameters.
+ *
+ * When constructing a call graph on-the-fly during points-to
+ * analysis, Paddle normally propagates only those receivers that
+ * cause a method to be invoked to the this pointer of the method.
+ * When this option is set to true, however, Paddle instead models
+ * flow of receivers as an assignnment edge from the receiver at
+ * the call site to the this pointer of the method, reducing
+ * precision.
+ */
+ public boolean this_edges() {
+ return soot.PhaseOptions.getBoolean(options, "this-edges");
+ }
+
+ /**
+ * Precise newInstance --
+ * Make newInstance only allocate objects of dynamic classes.
+ *
+ * Normally, newInstance() calls are treated as if they may return
+ * an object of any type. Setting this option to true causes them
+ * to be treated as if they return only objects of the type of some
+ * dynamic class.
+ */
+ public boolean precise_newinstance() {
+ return soot.PhaseOptions.getBoolean(options, "precise-newinstance");
+ }
+
+ /**
+ * Print Context Counts --
+ * Print number of contexts for each method.
+ *
+ * Causes Paddle to print the number of contexts for each method
+ * and call edge, and the number of equivalence classes of contexts
+ * for each variable node.
+ */
+ public boolean context_counts() {
+ return soot.PhaseOptions.getBoolean(options, "context-counts");
+ }
+
+ /**
+ * Print Context Counts (Totals only) --
+ * Print total number of contexts.
+ *
+ * Causes Paddle to print the number of contexts and number of
+ * context equivalence classes.
+ */
+ public boolean total_context_counts() {
+ return soot.PhaseOptions.getBoolean(options, "total-context-counts");
+ }
+
+ /**
+ * Method Context Counts (Totals only) --
+ * Print number of contexts for each method.
+ *
+ * Causes Paddle to print the number of contexts and number of
+ * context equivalence classes split out by method. Requires
+ * total-context-counts to also be turned on.
+ */
+ public boolean method_context_counts() {
+ return soot.PhaseOptions.getBoolean(options, "method-context-counts");
+ }
+
+ /**
+ * Calculate Set Mass --
+ * Calculate statistics about points-to set sizes.
+ *
+ * When this option is set to true, Paddle computes and prints
+ * various cryptic statistics about the size of the points-to sets
+ * computed.
+ */
+ public boolean set_mass() {
+ return soot.PhaseOptions.getBoolean(options, "set-mass");
+ }
+
+ /**
+ * Number nodes --
+ * Print node numbers in dumps.
+ *
+ * When printing debug information about nodes, this option causes
+ * the node number of each node to be printed.
+ */
+ public boolean number_nodes() {
+ return soot.PhaseOptions.getBoolean(options, "number-nodes");
+ }
+
+ /**
+ * Variable ordering
+ * Selects one of the BDD variable orderings hard-coded in Paddle.
+ */
+ public int order() {
+ return soot.PhaseOptions.getInt(options, "order");
+ }
+
+ /**
+ * BDD Nodes --
+ * Number of BDD nodes to allocate (0=unlimited).
+ *
+ * This option specifies the number of BDD nodes to be used by the
+ * BDD backend. A value of 0 causes the backend to start with one
+ * million nodes, and allocate more as required. A value other than
+ * zero causes the backend to start with the specified size, and
+ * prevents it from ever allocating any more nodes.
+ */
+ public int bdd_nodes() {
+ return soot.PhaseOptions.getInt(options, "bdd-nodes");
+ }
+
+ /**
+ * Context length (k)
+ * The maximum length of call string or receiver object string used
+ * as context.
+ */
+ public int k() {
+ return soot.PhaseOptions.getInt(options, "k");
+ }
+
+ public static final int conf_ofcg = 1;
+ public static final int conf_cha = 2;
+ public static final int conf_cha_aot = 3;
+ public static final int conf_ofcg_aot = 4;
+ public static final int conf_cha_context_aot = 5;
+ public static final int conf_ofcg_context_aot = 6;
+ public static final int conf_cha_context = 7;
+ public static final int conf_ofcg_context = 8;
+
+ /**
+ * Configuration --
+ * Select Paddle configuration.
+ *
+ * Selects the configuration of points-to analysis and call graph
+ * construction to be used in Paddle.
+ */
+ public int conf() {
+ String s = soot.PhaseOptions.getString(options, "conf");
+ if (s == null || s.isEmpty())
+ return conf_ofcg;
+
+ if (s.equalsIgnoreCase("ofcg"))
+ return conf_ofcg;
+ if (s.equalsIgnoreCase("cha"))
+ return conf_cha;
+ if (s.equalsIgnoreCase("cha-aot"))
+ return conf_cha_aot;
+ if (s.equalsIgnoreCase("ofcg-aot"))
+ return conf_ofcg_aot;
+ if (s.equalsIgnoreCase("cha-context-aot"))
+ return conf_cha_context_aot;
+ if (s.equalsIgnoreCase("ofcg-context-aot"))
+ return conf_ofcg_context_aot;
+ if (s.equalsIgnoreCase("cha-context"))
+ return conf_cha_context;
+ if (s.equalsIgnoreCase("ofcg-context"))
+ return conf_ofcg_context;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option conf", s));
+ }
+
+ public static final int q_auto = 1;
+ public static final int q_trad = 2;
+ public static final int q_bdd = 3;
+ public static final int q_debug = 4;
+ public static final int q_trace = 5;
+ public static final int q_numtrace = 6;
+
+ /**
+ * Worklist Implementation --
+ * Select queue implementation.
+ *
+ * Select the implementation of worklists to be used in Paddle.
+ */
+ public int q() {
+ String s = soot.PhaseOptions.getString(options, "q");
+ if (s == null || s.isEmpty())
+ return q_auto;
+
+ if (s.equalsIgnoreCase("auto"))
+ return q_auto;
+ if (s.equalsIgnoreCase("trad"))
+ return q_trad;
+ if (s.equalsIgnoreCase("bdd"))
+ return q_bdd;
+ if (s.equalsIgnoreCase("debug"))
+ return q_debug;
+ if (s.equalsIgnoreCase("trace"))
+ return q_trace;
+ if (s.equalsIgnoreCase("numtrace"))
+ return q_numtrace;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option q", s));
+ }
+
+ public static final int backend_auto = 1;
+ public static final int backend_buddy = 2;
+ public static final int backend_cudd = 3;
+ public static final int backend_sable = 4;
+ public static final int backend_javabdd = 5;
+ public static final int backend_none = 6;
+
+ /**
+ * Backend --
+ * Select BDD backend.
+ *
+ * This option tells Paddle which implementation of BDDs to use.
+ */
+ public int backend() {
+ String s = soot.PhaseOptions.getString(options, "backend");
+ if (s == null || s.isEmpty())
+ return backend_auto;
+
+ if (s.equalsIgnoreCase("auto"))
+ return backend_auto;
+ if (s.equalsIgnoreCase("buddy"))
+ return backend_buddy;
+ if (s.equalsIgnoreCase("cudd"))
+ return backend_cudd;
+ if (s.equalsIgnoreCase("sable"))
+ return backend_sable;
+ if (s.equalsIgnoreCase("javabdd"))
+ return backend_javabdd;
+ if (s.equalsIgnoreCase("none"))
+ return backend_none;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option backend", s));
+ }
+
+ public static final int context_insens = 1;
+ public static final int context_1cfa = 2;
+ public static final int context_kcfa = 3;
+ public static final int context_objsens = 4;
+ public static final int context_kobjsens = 5;
+ public static final int context_uniqkobjsens = 6;
+ public static final int context_threadkobjsens = 7;
+
+ /**
+ * Context abstraction --
+ * Select context-sensitivity level.
+ *
+ * This option tells Paddle which level of context-sensitivity to
+ * use in constructing the call graph.
+ */
+ public int context() {
+ String s = soot.PhaseOptions.getString(options, "context");
+ if (s == null || s.isEmpty())
+ return context_insens;
+
+ if (s.equalsIgnoreCase("insens"))
+ return context_insens;
+ if (s.equalsIgnoreCase("1cfa"))
+ return context_1cfa;
+ if (s.equalsIgnoreCase("kcfa"))
+ return context_kcfa;
+ if (s.equalsIgnoreCase("objsens"))
+ return context_objsens;
+ if (s.equalsIgnoreCase("kobjsens"))
+ return context_kobjsens;
+ if (s.equalsIgnoreCase("uniqkobjsens"))
+ return context_uniqkobjsens;
+ if (s.equalsIgnoreCase("threadkobjsens"))
+ return context_threadkobjsens;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option context", s));
+ }
+
+ public static final int propagator_auto = 1;
+ public static final int propagator_iter = 2;
+ public static final int propagator_worklist = 3;
+ public static final int propagator_alias = 4;
+ public static final int propagator_bdd = 5;
+ public static final int propagator_incbdd = 6;
+
+ /**
+ * Propagator --
+ * Select propagation algorithm.
+ *
+ * This option tells Paddle which propagation algorithm to use.
+ */
+ public int propagator() {
+ String s = soot.PhaseOptions.getString(options, "propagator");
+ if (s == null || s.isEmpty())
+ return propagator_auto;
+
+ if (s.equalsIgnoreCase("auto"))
+ return propagator_auto;
+ if (s.equalsIgnoreCase("iter"))
+ return propagator_iter;
+ if (s.equalsIgnoreCase("worklist"))
+ return propagator_worklist;
+ if (s.equalsIgnoreCase("alias"))
+ return propagator_alias;
+ if (s.equalsIgnoreCase("bdd"))
+ return propagator_bdd;
+ if (s.equalsIgnoreCase("incbdd"))
+ return propagator_incbdd;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option propagator", s));
+ }
+
+ public static final int set_impl_hash = 1;
+ public static final int set_impl_bit = 2;
+ public static final int set_impl_hybrid = 3;
+ public static final int set_impl_array = 4;
+ public static final int set_impl_heintze = 5;
+ public static final int set_impl_double = 6;
+
+ /**
+ * Set Implementation --
+ * Select points-to set implementation.
+ *
+ * Select an implementation of points-to sets for Paddle to use.
+ */
+ public int set_impl() {
+ String s = soot.PhaseOptions.getString(options, "set-impl");
+ if (s == null || s.isEmpty())
+ return set_impl_double;
+
+ if (s.equalsIgnoreCase("hash"))
+ return set_impl_hash;
+ if (s.equalsIgnoreCase("bit"))
+ return set_impl_bit;
+ if (s.equalsIgnoreCase("hybrid"))
+ return set_impl_hybrid;
+ if (s.equalsIgnoreCase("array"))
+ return set_impl_array;
+ if (s.equalsIgnoreCase("heintze"))
+ return set_impl_heintze;
+ if (s.equalsIgnoreCase("double"))
+ return set_impl_double;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option set-impl", s));
+ }
+
+ public static final int double_set_old_hash = 1;
+ public static final int double_set_old_bit = 2;
+ public static final int double_set_old_hybrid = 3;
+ public static final int double_set_old_array = 4;
+ public static final int double_set_old_heintze = 5;
+
+ /**
+ * Double Set Old --
+ * Select implementation of points-to set for old part of double
+ * set.
+ *
+ * Select an implementation for sets of old objects in the double
+ * points-to set implementation. This option has no effect unless
+ * Set Implementation is set to double.
+ */
+ public int double_set_old() {
+ String s = soot.PhaseOptions.getString(options, "double-set-old");
+ if (s == null || s.isEmpty())
+ return double_set_old_hybrid;
+
+ if (s.equalsIgnoreCase("hash"))
+ return double_set_old_hash;
+ if (s.equalsIgnoreCase("bit"))
+ return double_set_old_bit;
+ if (s.equalsIgnoreCase("hybrid"))
+ return double_set_old_hybrid;
+ if (s.equalsIgnoreCase("array"))
+ return double_set_old_array;
+ if (s.equalsIgnoreCase("heintze"))
+ return double_set_old_heintze;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option double-set-old", s));
+ }
+
+ public static final int double_set_new_hash = 1;
+ public static final int double_set_new_bit = 2;
+ public static final int double_set_new_hybrid = 3;
+ public static final int double_set_new_array = 4;
+ public static final int double_set_new_heintze = 5;
+
+ /**
+ * Double Set New --
+ * Select implementation of points-to set for new part of double
+ * set.
+ *
+ * Select an implementation for sets of new objects in the double
+ * points-to set implementation. This option has no effect unless
+ * Set Implementation is set to double.
+ */
+ public int double_set_new() {
+ String s = soot.PhaseOptions.getString(options, "double-set-new");
+ if (s == null || s.isEmpty())
+ return double_set_new_hybrid;
+
+ if (s.equalsIgnoreCase("hash"))
+ return double_set_new_hash;
+ if (s.equalsIgnoreCase("bit"))
+ return double_set_new_bit;
+ if (s.equalsIgnoreCase("hybrid"))
+ return double_set_new_hybrid;
+ if (s.equalsIgnoreCase("array"))
+ return double_set_new_array;
+ if (s.equalsIgnoreCase("heintze"))
+ return double_set_new_heintze;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option double-set-new", s));
+ }
}
diff --git a/src/main/generated/options/soot/options/ProfilingOptions.java b/src/main/generated/options/soot/options/ProfilingOptions.java
index 20adae1856d..5080616f5e8 100644
--- a/src/main/generated/options/soot/options/ProfilingOptions.java
+++ b/src/main/generated/options/soot/options/ProfilingOptions.java
@@ -23,33 +23,36 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Profiling Generator. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class ProfilingOptions {
- private Map options;
-
- public ProfilingOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Not Main Entry -- Instrument runBenchmark() instead of main().
- *
- * Insert the calls to the MultiCounter at the beginning and end of methods with the signature long
- * runBenchmark(java.lang.String[]) instead of the signature void main(java.lang.String[]).
- */
- public boolean notmainentry() {
- return soot.PhaseOptions.getBoolean(options, "notmainentry");
- }
+ private Map options;
+
+ public ProfilingOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Not Main Entry --
+ * Instrument runBenchmark() instead of main().
+ *
+ * Insert the calls to the MultiCounter at the beginning and end of
+ * methods with the signature long runBenchmark(java.lang.String[])
+ * instead of the signature void main(java.lang.String[]).
+ */
+ public boolean notmainentry() {
+ return soot.PhaseOptions.getBoolean(options, "notmainentry");
+ }
}
diff --git a/src/main/generated/options/soot/options/PurityOptions.java b/src/main/generated/options/soot/options/PurityOptions.java
index 8fe67aa565b..715b1b0683e 100644
--- a/src/main/generated/options/soot/options/PurityOptions.java
+++ b/src/main/generated/options/soot/options/PurityOptions.java
@@ -23,66 +23,68 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Purity Analysis [AM]. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class PurityOptions {
- private Map options;
+ private Map options;
- public PurityOptions(Map options) {
- this.options = options;
- }
+ public PurityOptions(Map options) {
+ this.options = options;
+ }
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Dump one .dot files for each method summary
- */
- public boolean dump_summaries() {
- return soot.PhaseOptions.getBoolean(options, "dump-summaries");
- }
+ /**
+ * Dump one .dot files for each method summary
+ */
+ public boolean dump_summaries() {
+ return soot.PhaseOptions.getBoolean(options, "dump-summaries");
+ }
- /**
- * Dump .dot call-graph annotated with method summaries (huge)
- */
- public boolean dump_cg() {
- return soot.PhaseOptions.getBoolean(options, "dump-cg");
- }
+ /**
+ * Dump .dot call-graph annotated with method summaries (huge)
+ */
+ public boolean dump_cg() {
+ return soot.PhaseOptions.getBoolean(options, "dump-cg");
+ }
- /**
- * Dump one .dot for each intra-procedural method analysis (long)
- */
- public boolean dump_intra() {
- return soot.PhaseOptions.getBoolean(options, "dump-intra");
- }
+ /**
+ * Dump one .dot for each intra-procedural method analysis (long)
+ */
+ public boolean dump_intra() {
+ return soot.PhaseOptions.getBoolean(options, "dump-intra");
+ }
- /**
- * Print analysis results
- */
- public boolean print() {
- return soot.PhaseOptions.getBoolean(options, "print");
- }
+ /**
+ * Print analysis results
+ */
+ public boolean print() {
+ return soot.PhaseOptions.getBoolean(options, "print");
+ }
- /**
- * Annotate class files -- Marks pure methods with a purity bytecode attribute.
- *
- */
- public boolean annotate() {
- return soot.PhaseOptions.getBoolean(options, "annotate");
- }
+ /**
+ * Annotate class files --
+ * Marks pure methods with a purity bytecode attribute.
+ *
+ */
+ public boolean annotate() {
+ return soot.PhaseOptions.getBoolean(options, "annotate");
+ }
- /**
- * Be (quite) verbose
- */
- public boolean verbose() {
- return soot.PhaseOptions.getBoolean(options, "verbose");
- }
+ /**
+ * Be (quite) verbose
+ */
+ public boolean verbose() {
+ return soot.PhaseOptions.getBoolean(options, "verbose");
+ }
}
diff --git a/src/main/generated/options/soot/options/RenameDuplicatedClasses.java b/src/main/generated/options/soot/options/RenameDuplicatedClasses.java
index 8609004ab08..12e3fd02b03 100644
--- a/src/main/generated/options/soot/options/RenameDuplicatedClasses.java
+++ b/src/main/generated/options/soot/options/RenameDuplicatedClasses.java
@@ -23,33 +23,37 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Rename duplicated classes. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class RenameDuplicatedClasses {
- private Map options;
-
- public RenameDuplicatedClasses(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * FixedClassNames -- Set for the fixed class names..
- *
- * Use this parameter to set some class names unchangable even they are duplicated. The fixed class name list cannot
- * contain duplicated class names. Using '-' to split multiple class names (e.g., fcn:a.b.c-a.b.d).
- */
- public String fixed_class_names() {
- return soot.PhaseOptions.getString(options, "fcn fixed-class-names");
- }
+ private Map options;
+
+ public RenameDuplicatedClasses(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * FixedClassNames --
+ * Set for the fixed class names..
+ *
+ * Use this parameter to set some class names unchangable even they
+ * are duplicated. The fixed class name list cannot contain
+ * duplicated class names. Using '-' to split multiple class names
+ * (e.g., fcn:a.b.c-a.b.d).
+ */
+ public String fixed_class_names() {
+ return soot.PhaseOptions.getString(options, "fcn fixed-class-names");
+ }
}
diff --git a/src/main/generated/options/soot/options/SETOptions.java b/src/main/generated/options/soot/options/SETOptions.java
index a3feb166667..ebe95edb0fb 100644
--- a/src/main/generated/options/soot/options/SETOptions.java
+++ b/src/main/generated/options/soot/options/SETOptions.java
@@ -23,32 +23,36 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Side Effect tagger. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class SETOptions {
- private Map options;
-
- public SETOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Build naive dependence graph When set to true, the dependence graph is built with a node for each statement, without
- * merging the nodes for equivalent statements. This makes it possible to measure the effect of merging nodes for
- * equivalent statements on the size of the dependence graph.
- */
- public boolean naive() {
- return soot.PhaseOptions.getBoolean(options, "naive");
- }
+ private Map options;
+
+ public SETOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Build naive dependence graph
+ * When set to true, the dependence graph is built with a node for
+ * each statement, without merging the nodes for equivalent
+ * statements. This makes it possible to measure the effect of
+ * merging nodes for equivalent statements on the size of the
+ * dependence graph.
+ */
+ public boolean naive() {
+ return soot.PhaseOptions.getBoolean(options, "naive");
+ }
}
diff --git a/src/main/generated/options/soot/options/SIOptions.java b/src/main/generated/options/soot/options/SIOptions.java
index 885a4f3c7a9..c7c70e0dbcb 100644
--- a/src/main/generated/options/soot/options/SIOptions.java
+++ b/src/main/generated/options/soot/options/SIOptions.java
@@ -23,102 +23,122 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Static Inliner. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class SIOptions {
- private Map options;
-
- public SIOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Reconstruct Jimple body after inlining When a method with array parameters is inlined, its variables may need to be
- * assigned different types than they had in the original method to produce compilable code. When this option is set, Soot
- * re-runs the Jimple Body pack on each method body which has had another method inlined into it so that the typing
- * algorithm can reassign the types.
- */
- public boolean rerun_jb() {
- return soot.PhaseOptions.getBoolean(options, "rerun-jb");
- }
-
- /**
- * Insert Null Checks Insert, before the inlined body of the target method, a check that throws a NullPointerException if
- * the receiver object is null. This ensures that inlining will not eliminate exceptions which would have occurred in its
- * absence.
- */
- public boolean insert_null_checks() {
- return soot.PhaseOptions.getBoolean(options, "insert-null-checks");
- }
-
- /**
- * Insert Redundant Casts Insert extra casts for the Java bytecode verifier. The verifier may complain if the inlined
- * method uses this and the declared type of the receiver of the call being inlined is different from the type implementing
- * the target method being inlined. Say, for example, that Singer is an interface declaring the sing() method and that the
- * call graph shows that all receiver objects at a particular call site, singer.sing() (with singer declared as a Singer)
- * are in fact Bird objects ( Bird being a class that implements Singer). The implementation of Bird.sing() may perform
- * operations on this which are only allowed on Birds, rather than Singers. The Insert Redundant Casts option ensures that
- * this cannot lead to verification errors, by inserting a cast of bird to the Bird type before inlining the body of
- * Bird.sing().
- */
- public boolean insert_redundant_casts() {
- return soot.PhaseOptions.getBoolean(options, "insert-redundant-casts");
- }
-
- /**
- * Max Container Size Determines the maximum number of Jimple statements for a container method. If a method has more than
- * this number of Jimple statements, then no methods will be inlined into it.
- */
- public int max_container_size() {
- return soot.PhaseOptions.getInt(options, "max-container-size");
- }
-
- /**
- * Max Inlinee Size Determines the maximum number of Jimple statements for an inlinee method. If a method has more than
- * this number of Jimple statements, then it will not be inlined into other methods.
- */
- public int max_inlinee_size() {
- return soot.PhaseOptions.getInt(options, "max-inlinee-size");
- }
-
- /**
- * Expansion Factor Determines the maximum allowed expansion of a method. Inlining will cause the method to grow by a
- * factor of no more than the Expansion Factor.
- */
- public float expansion_factor() {
- return soot.PhaseOptions.getFloat(options, "expansion-factor");
- }
-
- public static final int allowed_modifier_changes_unsafe = 1;
- public static final int allowed_modifier_changes_safe = 2;
- public static final int allowed_modifier_changes_none = 3;
-
- /**
- * Allowed Modifier Changes Specify which changes in visibility modifiers are allowed.
- */
- public int allowed_modifier_changes() {
- String s = soot.PhaseOptions.getString(options, "allowed-modifier-changes");
- if (s == null || s.isEmpty())
- return allowed_modifier_changes_unsafe;
-
- if (s.equalsIgnoreCase("unsafe"))
- return allowed_modifier_changes_unsafe;
- if (s.equalsIgnoreCase("safe"))
- return allowed_modifier_changes_safe;
- if (s.equalsIgnoreCase("none"))
- return allowed_modifier_changes_none;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option allowed-modifier-changes", s));
- }
+ private Map options;
+
+ public SIOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Reconstruct Jimple body after inlining
+ * When a method with array parameters is inlined, its variables
+ * may need to be assigned different types than they had in the
+ * original method to produce compilable code. When this option is
+ * set, Soot re-runs the Jimple Body pack on each method body which
+ * has had another method inlined into it so that the typing
+ * algorithm can reassign the types.
+ */
+ public boolean rerun_jb() {
+ return soot.PhaseOptions.getBoolean(options, "rerun-jb");
+ }
+
+ /**
+ * Insert Null Checks
+ * Insert, before the inlined body of the target method, a check
+ * that throws a NullPointerException if the receiver object is
+ * null. This ensures that inlining will not eliminate exceptions
+ * which would have occurred in its absence.
+ */
+ public boolean insert_null_checks() {
+ return soot.PhaseOptions.getBoolean(options, "insert-null-checks");
+ }
+
+ /**
+ * Insert Redundant Casts
+ * Insert extra casts for the Java bytecode verifier. The verifier
+ * may complain if the inlined method uses this and the declared
+ * type of the receiver of the call being inlined is different from
+ * the type implementing the target method being inlined. Say, for
+ * example, that Singer is an interface declaring the sing() method
+ * and that the call graph shows that all receiver objects at a
+ * particular call site, singer.sing() (with singer declared as a
+ * Singer) are in fact Bird objects ( Bird being a class that
+ * implements Singer). The implementation of Bird.sing() may
+ * perform operations on this which are only allowed on Birds,
+ * rather than Singers. The Insert Redundant Casts option ensures
+ * that this cannot lead to verification errors, by inserting a
+ * cast of bird to the Bird type before inlining the body of
+ * Bird.sing().
+ */
+ public boolean insert_redundant_casts() {
+ return soot.PhaseOptions.getBoolean(options, "insert-redundant-casts");
+ }
+
+ /**
+ * Max Container Size
+ * Determines the maximum number of Jimple statements for a
+ * container method. If a method has more than this number of
+ * Jimple statements, then no methods will be inlined into it.
+ */
+ public int max_container_size() {
+ return soot.PhaseOptions.getInt(options, "max-container-size");
+ }
+
+ /**
+ * Max Inlinee Size
+ * Determines the maximum number of Jimple statements for an
+ * inlinee method. If a method has more than this number of Jimple
+ * statements, then it will not be inlined into other methods.
+ */
+ public int max_inlinee_size() {
+ return soot.PhaseOptions.getInt(options, "max-inlinee-size");
+ }
+
+ /**
+ * Expansion Factor
+ * Determines the maximum allowed expansion of a method. Inlining
+ * will cause the method to grow by a factor of no more than the
+ * Expansion Factor.
+ */
+ public float expansion_factor() {
+ return soot.PhaseOptions.getFloat(options, "expansion-factor");
+ }
+
+ public static final int allowed_modifier_changes_unsafe = 1;
+ public static final int allowed_modifier_changes_safe = 2;
+ public static final int allowed_modifier_changes_none = 3;
+
+ /**
+ * Allowed Modifier Changes
+ * Specify which changes in visibility modifiers are allowed.
+ */
+ public int allowed_modifier_changes() {
+ String s = soot.PhaseOptions.getString(options, "allowed-modifier-changes");
+ if (s == null || s.isEmpty())
+ return allowed_modifier_changes_unsafe;
+
+ if (s.equalsIgnoreCase("unsafe"))
+ return allowed_modifier_changes_unsafe;
+ if (s.equalsIgnoreCase("safe"))
+ return allowed_modifier_changes_safe;
+ if (s.equalsIgnoreCase("none"))
+ return allowed_modifier_changes_none;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option allowed-modifier-changes", s));
+ }
}
diff --git a/src/main/generated/options/soot/options/SMBOptions.java b/src/main/generated/options/soot/options/SMBOptions.java
index 67ceee98d9c..a1ca534b756 100644
--- a/src/main/generated/options/soot/options/SMBOptions.java
+++ b/src/main/generated/options/soot/options/SMBOptions.java
@@ -23,69 +23,81 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Static Method Binder. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class SMBOptions {
- private Map options;
-
- public SMBOptions(Map options) {
- this.options = options;
- }
+ private Map options;
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ public SMBOptions(Map options) {
+ this.options = options;
+ }
- /**
- * Insert Null Checks Insert a check that, before invoking the static copy of the target method, throws a
- * NullPointerException if the receiver object is null. This ensures that static method binding does not eliminate
- * exceptions which would have occurred in its absence.
- */
- public boolean insert_null_checks() {
- return soot.PhaseOptions.getBoolean(options, "insert-null-checks");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Insert Redundant Casts Insert extra casts for the Java bytecode verifier. If the target method uses its this parameter,
- * a reference to the receiver object must be passed to the static copy of the target method. The verifier may complain if
- * the declared type of the receiver parameter does not match the type implementing the target method. Say, for example,
- * that Singer is an interface declaring the sing() method and that the call graph shows all receiver objects at a
- * particular call site, singer.sing() (with singer declared as a Singer) are in fact Bird objects ( Bird being a class
- * that implements Singer). The virtual call singer.sing() is effectively replaced with the static call
- * Bird.staticsing(singer). Bird.staticsing() may perform operations on its parameter which are only allowed on Birds,
- * rather than Singers. The Insert Redundant Casts option inserts a cast of singer to the Bird type, to prevent complaints
- * from the verifier.
- */
- public boolean insert_redundant_casts() {
- return soot.PhaseOptions.getBoolean(options, "insert-redundant-casts");
- }
+ /**
+ * Insert Null Checks
+ * Insert a check that, before invoking the static copy of the
+ * target method, throws a NullPointerException if the receiver
+ * object is null. This ensures that static method binding does not
+ * eliminate exceptions which would have occurred in its absence.
+ */
+ public boolean insert_null_checks() {
+ return soot.PhaseOptions.getBoolean(options, "insert-null-checks");
+ }
- public static final int allowed_modifier_changes_unsafe = 1;
- public static final int allowed_modifier_changes_safe = 2;
- public static final int allowed_modifier_changes_none = 3;
+ /**
+ * Insert Redundant Casts
+ * Insert extra casts for the Java bytecode verifier. If the target
+ * method uses its this parameter, a reference to the receiver
+ * object must be passed to the static copy of the target method.
+ * The verifier may complain if the declared type of the receiver
+ * parameter does not match the type implementing the target
+ * method. Say, for example, that Singer is an interface declaring
+ * the sing() method and that the call graph shows all receiver
+ * objects at a particular call site, singer.sing() (with singer
+ * declared as a Singer) are in fact Bird objects ( Bird being a
+ * class that implements Singer). The virtual call singer.sing() is
+ * effectively replaced with the static call
+ * Bird.staticsing(singer). Bird.staticsing() may perform
+ * operations on its parameter which are only allowed on Birds,
+ * rather than Singers. The Insert Redundant Casts option inserts a
+ * cast of singer to the Bird type, to prevent complaints from the
+ * verifier.
+ */
+ public boolean insert_redundant_casts() {
+ return soot.PhaseOptions.getBoolean(options, "insert-redundant-casts");
+ }
- /**
- * Allowed Modifier Changes Specify which changes in visibility modifiers are allowed.
- */
- public int allowed_modifier_changes() {
- String s = soot.PhaseOptions.getString(options, "allowed-modifier-changes");
- if (s == null || s.isEmpty())
- return allowed_modifier_changes_unsafe;
+ public static final int allowed_modifier_changes_unsafe = 1;
+ public static final int allowed_modifier_changes_safe = 2;
+ public static final int allowed_modifier_changes_none = 3;
- if (s.equalsIgnoreCase("unsafe"))
- return allowed_modifier_changes_unsafe;
- if (s.equalsIgnoreCase("safe"))
- return allowed_modifier_changes_safe;
- if (s.equalsIgnoreCase("none"))
- return allowed_modifier_changes_none;
+ /**
+ * Allowed Modifier Changes
+ * Specify which changes in visibility modifiers are allowed.
+ */
+ public int allowed_modifier_changes() {
+ String s = soot.PhaseOptions.getString(options, "allowed-modifier-changes");
+ if (s == null || s.isEmpty())
+ return allowed_modifier_changes_unsafe;
+
+ if (s.equalsIgnoreCase("unsafe"))
+ return allowed_modifier_changes_unsafe;
+ if (s.equalsIgnoreCase("safe"))
+ return allowed_modifier_changes_safe;
+ if (s.equalsIgnoreCase("none"))
+ return allowed_modifier_changes_none;
- throw new RuntimeException(String.format("Invalid value %s of phase option allowed-modifier-changes", s));
- }
+ throw new RuntimeException(String.format("Invalid value %s of phase option allowed-modifier-changes", s));
+ }
}
diff --git a/src/main/generated/options/soot/options/ShimpleOptions.java b/src/main/generated/options/soot/options/ShimpleOptions.java
index f40c3071638..0350c216a76 100644
--- a/src/main/generated/options/soot/options/ShimpleOptions.java
+++ b/src/main/generated/options/soot/options/ShimpleOptions.java
@@ -23,62 +23,71 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Shimple Control. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class ShimpleOptions {
- private Map options;
+ private Map options;
- public ShimpleOptions(Map options) {
- this.options = options;
- }
+ public ShimpleOptions(Map options) {
+ this.options = options;
+ }
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
- /**
- * Shimple Node Elimination Optimizations -- Node elimination optimizations.
- *
- * Perform some optimizations, such as dead code elimination and local aggregation, before/after eliminating nodes.
- */
- public boolean node_elim_opt() {
- return soot.PhaseOptions.getBoolean(options, "node-elim-opt");
- }
+ /**
+ * Shimple Node Elimination Optimizations --
+ * Node elimination optimizations.
+ *
+ * Perform some optimizations, such as dead code elimination and
+ * local aggregation, before/after eliminating nodes.
+ */
+ public boolean node_elim_opt() {
+ return soot.PhaseOptions.getBoolean(options, "node-elim-opt");
+ }
- /**
- * Local Name Standardization -- Uses naming scheme of the Local Name Standardizer..
- *
- * If enabled, the Local Name Standardizer is applied whenever Shimple creates new locals. Normally, Shimple will retain
- * the original local names as far as possible and use an underscore notation to denote SSA subscripts. This transformation
- * does not otherwise affect Shimple behaviour.
- */
- public boolean standard_local_names() {
- return soot.PhaseOptions.getBoolean(options, "standard-local-names");
- }
+ /**
+ * Local Name Standardization --
+ * Uses naming scheme of the Local Name Standardizer..
+ *
+ * If enabled, the Local Name Standardizer is applied whenever
+ * Shimple creates new locals. Normally, Shimple will retain the
+ * original local names as far as possible and use an underscore
+ * notation to denote SSA subscripts. This transformation does not
+ * otherwise affect Shimple behaviour.
+ */
+ public boolean standard_local_names() {
+ return soot.PhaseOptions.getBoolean(options, "standard-local-names");
+ }
- /**
- * Extended SSA (SSI) -- Compute extended SSA (SSI) form.
- *
- * If enabled, Shimple will create extended SSA (SSI) form.
- */
- public boolean extended() {
- return soot.PhaseOptions.getBoolean(options, "extended");
- }
+ /**
+ * Extended SSA (SSI) --
+ * Compute extended SSA (SSI) form.
+ *
+ * If enabled, Shimple will create extended SSA (SSI) form.
+ */
+ public boolean extended() {
+ return soot.PhaseOptions.getBoolean(options, "extended");
+ }
- /**
- * Debugging Output -- Enables debugging output, if any.
- *
- * If enabled, Soot may print out warnings and messages useful for debugging the Shimple module. Automatically enabled by
- * the global debug switch.
- */
- public boolean debug() {
- return soot.PhaseOptions.getBoolean(options, "debug");
- }
+ /**
+ * Debugging Output --
+ * Enables debugging output, if any.
+ *
+ * If enabled, Soot may print out warnings and messages useful for
+ * debugging the Shimple module. Automatically enabled by the
+ * global debug switch.
+ */
+ public boolean debug() {
+ return soot.PhaseOptions.getBoolean(options, "debug");
+ }
}
diff --git a/src/main/generated/options/soot/options/SparkOptions.java b/src/main/generated/options/soot/options/SparkOptions.java
index 80d34b0f7f0..bedc0a5c9c6 100644
--- a/src/main/generated/options/soot/options/SparkOptions.java
+++ b/src/main/generated/options/soot/options/SparkOptions.java
@@ -23,616 +23,737 @@
*/
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */
-import java.util.Map;
+
+import java.util.*;
/** Option parser for Spark. */
@jakarta.annotation.Generated(value = "Saxonica v3.0", comments = "from soot_options.xml")
public class SparkOptions {
- private Map options;
-
- public SparkOptions(Map options) {
- this.options = options;
- }
-
- /**
- * Enabled
- */
- public boolean enabled() {
- return soot.PhaseOptions.getBoolean(options, "enabled");
- }
-
- /**
- * Verbose -- Print detailed information about the execution of Spark.
- *
- * When this option is set to true, Spark prints detailed information about its execution.
- */
- public boolean verbose() {
- return soot.PhaseOptions.getBoolean(options, "verbose");
- }
-
- /**
- * Ignore Types Entirely -- Make Spark completely ignore declared types of variables.
- *
- * When this option is set to true, all parts of Spark completely ignore declared types of variables and casts.
- */
- public boolean ignore_types() {
- return soot.PhaseOptions.getBoolean(options, "ignore-types");
- }
-
- /**
- * Force Garbage Collections -- Force garbage collection for measuring memory usage.
- *
- * When this option is set to true, calls to System.gc() will be made at various points to allow memory usage to be
- * measured.
- */
- public boolean force_gc() {
- return soot.PhaseOptions.getBoolean(options, "force-gc");
- }
-
- /**
- * Pre Jimplify -- Jimplify all methods before starting Spark.
- *
- * When this option is set to true, Spark converts all available methods to Jimple before starting the points-to analysis.
- * This allows the Jimplification time to be separated from the points-to time. However, it increases the total time and
- * memory requirement, because all methods are Jimplified, rather than only those deemed reachable by the points-to
- * analysis.
- */
- public boolean pre_jimplify() {
- return soot.PhaseOptions.getBoolean(options, "pre-jimplify");
- }
-
- /**
- * AppOnly -- Consider only application classes.
- *
- * Setting this option to true causes Soot to only consider application classes when building the callgraph. The resulting
- * callgraph will be inherently unsound. Still, this option can make sense if performance optimization and memory reduction
- * are your primary goal.
- */
- public boolean apponly() {
- return soot.PhaseOptions.getBoolean(options, "apponly");
- }
-
- /**
- * VTA -- Emulate Variable Type Analysis.
- *
- * Setting VTA to true has the effect of setting field-based, types-for-sites, and simplify-sccs to true, and on-fly-cg to
- * false, to simulate Variable Type Analysis, described in our OOPSLA 2000 paper. Note that the algorithm differs from the
- * original VTA in that it handles array elements more precisely.
- */
- public boolean vta() {
- return soot.PhaseOptions.getBoolean(options, "vta");
- }
-
- /**
- * RTA -- Emulate Rapid Type Analysis.
- *
- * Setting RTA to true sets types-for-sites to true, and causes Spark to use a single points-to set for all variables,
- * giving Rapid Type Analysis.
- */
- public boolean rta() {
- return soot.PhaseOptions.getBoolean(options, "rta");
- }
-
- /**
- * Field Based -- Use a field-based rather than field-sensitive representation.
- *
- * When this option is set to true, fields are represented by variable (Green) nodes, and the object that the field belongs
- * to is ignored (all objects are lumped together), giving a field-based analysis. Otherwise, fields are represented by
- * field reference (Red) nodes, and the objects that they belong to are distinguished, giving a field-sensitive analysis.
- */
- public boolean field_based() {
- return soot.PhaseOptions.getBoolean(options, "field-based");
- }
-
- /**
- * Types For Sites -- Represent objects by their actual type rather than allocation site.
- *
- * When this option is set to true, types rather than allocation sites are used as the elements of the points-to sets.
- */
- public boolean types_for_sites() {
- return soot.PhaseOptions.getBoolean(options, "types-for-sites");
- }
-
- /**
- * Merge String Buffer -- Represent all StringBuffers as one object.
- *
- * When this option is set to true, all allocation sites creating java.lang.StringBuffer objects are grouped together as a
- * single allocation site.
- */
- public boolean merge_stringbuffer() {
- return soot.PhaseOptions.getBoolean(options, "merge-stringbuffer");
- }
-
- /**
- * Propagate All String Constants -- Propagate all string constants, not just class names.
- *
- * When this option is set to false, Spark only distinguishes string constants that may be the name of a class loaded
- * dynamically using reflection, and all other string constants are lumped together into a single string constant node.
- * Setting this option to true causes all string constants to be propagated individually.
- */
- public boolean string_constants() {
- return soot.PhaseOptions.getBoolean(options, "string-constants");
- }
-
- /**
- * Simulate Natives -- Simulate effects of native methods in standard class library.
- *
- * When this option is set to true, the effects of native methods in the standard Java class library are simulated.
- */
- public boolean simulate_natives() {
- return soot.PhaseOptions.getBoolean(options, "simulate-natives");
- }
-
- /**
- * Treat EMPTY as Alloc -- Treat singletons for empty sets etc. as allocation sites.
- *
- * When this option is set to true, Spark treats references to EMPTYSET, EMPTYMAP, and EMPTYLIST as allocation sites for
- * HashSet, HashMap and LinkedList objects respectively, and references to Hashtable.emptyIterator as allocation sites for
- * Hashtable.EmptyIterator. This enables subsequent analyses to differentiate different uses of Java's immutable empty
- * collections.
- */
- public boolean empties_as_allocs() {
- return soot.PhaseOptions.getBoolean(options, "empties-as-allocs");
- }
-
- /**
- * Simple Edges Bidirectional -- Equality-based analysis between variable nodes.
- *
- * When this option is set to true, all edges connecting variable (Green) nodes are made bidirectional, as in Steensgaard's
- * analysis.
- */
- public boolean simple_edges_bidirectional() {
- return soot.PhaseOptions.getBoolean(options, "simple-edges-bidirectional");
- }
-
- /**
- * On Fly Call Graph -- Build call graph as receiver types become known.
- *
- * When this option is set to true, the call graph is computed on-the-fly as points-to information is computed. Otherwise,
- * an initial CHA approximation to the call graph is used.
- */
- public boolean on_fly_cg() {
- return soot.PhaseOptions.getBoolean(options, "on-fly-cg");
- }
-
- /**
- * Simplify Offline -- Collapse single-entry subgraphs of the PAG.
- *
- * When this option is set to true, variable (Green) nodes which form single-entry subgraphs (so they must have the same
- * points-to set) are merged before propagation begins.
- */
- public boolean simplify_offline() {
- return soot.PhaseOptions.getBoolean(options, "simplify-offline");
- }
-
- /**
- * Simplify SCCs -- Collapse strongly-connected components of the PAG.
- *
- * When this option is set to true, variable (Green) nodes which form strongly-connected components (so they must have the
- * same points-to set) are merged before propagation begins.
- */
- public boolean simplify_sccs() {
- return soot.PhaseOptions.getBoolean(options, "simplify-sccs");
- }
-
- /**
- * Ignore Types For SCCs -- Ignore declared types when determining node equivalence for SCCs.
- *
- * When this option is set to true, when collapsing strongly-connected components, nodes forming SCCs are collapsed
- * regardless of their declared type. The collapsed SCC is given the most general type of all the nodes in the component.
- * When this option is set to false, only edges connecting nodes of the same type are considered when detecting SCCs. This
- * option has no effect unless simplify-sccs is true.
- */
- public boolean ignore_types_for_sccs() {
- return soot.PhaseOptions.getBoolean(options, "ignore-types-for-sccs");
- }
-
- /**
- * Dump HTML -- Dump pointer assignment graph to HTML for debugging.
- *
- * When this option is set to true, a browseable HTML representation of the pointer assignment graph is output to a file
- * called pag.jar after the analysis completes. Note that this representation is typically very large.
- */
- public boolean dump_html() {
- return soot.PhaseOptions.getBoolean(options, "dump-html");
- }
-
- /**
- * Dump PAG -- Dump pointer assignment graph for other solvers.
- *
- * When this option is set to true, a representation of the pointer assignment graph suitable for processing with other
- * solvers (such as the BDD-based solver) is output before the analysis begins.
- */
- public boolean dump_pag() {
- return soot.PhaseOptions.getBoolean(options, "dump-pag");
- }
-
- /**
- * Dump Solution -- Dump final solution for comparison with other solvers.
- *
- * When this option is set to true, a representation of the resulting points-to sets is dumped. The format is similar to
- * that of the Dump PAG option, and is therefore suitable for comparison with the results of other solvers.
- */
- public boolean dump_solution() {
- return soot.PhaseOptions.getBoolean(options, "dump-solution");
- }
-
- /**
- * Topological Sort -- Sort variable nodes in dump.
- *
- * When this option is set to true, the representation dumped by the Dump PAG option is dumped with the variable (green)
- * nodes in (pseudo-)topological order. This option has no effect unless Dump PAG is true.
- */
- public boolean topo_sort() {
- return soot.PhaseOptions.getBoolean(options, "topo-sort");
- }
-
- /**
- * Dump Types -- Include declared types in dump.
- *
- * When this option is set to true, the representation dumped by the Dump PAG option includes type information for all
- * nodes. This option has no effect unless Dump PAG is true.
- */
- public boolean dump_types() {
- return soot.PhaseOptions.getBoolean(options, "dump-types");
- }
-
- /**
- * Class Method Var -- In dump, label variables by class and method.
- *
- * When this option is set to true, the representation dumped by the Dump PAG option represents nodes by numbering each
- * class, method, and variable within the method separately, rather than assigning a single integer to each node. This
- * option has no effect unless Dump PAG is true. Setting Class Method Var to true has the effect of setting Topological
- * Sort to false.
- */
- public boolean class_method_var() {
- return soot.PhaseOptions.getBoolean(options, "class-method-var");
- }
-
- /**
- * Dump Answer -- Dump computed reaching types for comparison with other solvers.
- *
- * When this option is set to true, the computed reaching types for each variable are dumped to a file, so that they can be
- * compared with the results of other analyses (such as the old VTA).
- */
- public boolean dump_answer() {
- return soot.PhaseOptions.getBoolean(options, "dump-answer");
- }
-
- /**
- * Add Tags -- Output points-to results in tags for viewing with the Jimple.
- *
- * When this option is set to true, the results of the analysis are encoded within tags and printed with the resulting
- * Jimple code.
- */
- public boolean add_tags() {
- return soot.PhaseOptions.getBoolean(options, "add-tags");
- }
-
- /**
- * Calculate Set Mass -- Calculate statistics about points-to set sizes.
- *
- * When this option is set to true, Spark computes and prints various cryptic statistics about the size of the points-to
- * sets computed.
- */
- public boolean set_mass() {
- return soot.PhaseOptions.getBoolean(options, "set-mass");
- }
-
- /**
- * Demand-driven refinement-based context-sensitive points-to analysis -- After running Spark, refine points-to sets on
- * demand with context information.
- *
- * When this option is set to true, Manu Sridharan's demand-driven, refinement-based points-to analysis (PLDI 06) is
- * applied after Spark was run.
- */
- public boolean cs_demand() {
- return soot.PhaseOptions.getBoolean(options, "cs-demand");
- }
-
- /**
- * Create lazy points-to sets -- Create lazy points-to sets that create context information only when needed..
- *
- * When this option is disabled, context information is computed for every query to the reachingObjects method. When it is
- * enabled, a call to reachingObjects returns a lazy wrapper object that contains a context-insensitive points-to set. This
- * set is then automatically refined with context information when necessary, i.e. when we try to determine the
- * intersection with another points-to set and this intersection seems to be non-empty.
- */
- public boolean lazy_pts() {
- return soot.PhaseOptions.getBoolean(options, "lazy-pts");
- }
-
- /**
- * Geometric, context-sensitive points-to analysis -- This switch enables/disables the geometric analysis.
- *
- * This switch enables/disables the geometric analysis.
- */
- public boolean geom_pta() {
- return soot.PhaseOptions.getBoolean(options, "geom-pta");
- }
-
- /**
- * Transform to context-insensitive result -- Transform to context-insensitive result.
- *
- * If you stick to working with SPARK, you can use this option to transform the context sensitive result to insensitive
- * result. After the transformation, the context sensitive points-to quries cannot be answered.
- */
- public boolean geom_trans() {
- return soot.PhaseOptions.getBoolean(options, "geom-trans");
- }
-
- /**
- * Blocking strategy for recursive calls -- Enable blocking strategy for recursive calls.
- *
- * Blocking strategy is a 1CFA model for recursive calls. This model significantly improves the precision.
- */
- public boolean geom_blocking() {
- return soot.PhaseOptions.getBoolean(options, "geom-blocking");
- }
-
- /**
- * Pointers processed by geomPTA -- Processing pointers that impact pointers in application code only.
- *
- * When this option is true, geomPTA only processes the pointers in library functions ( java.*, sun.*, and etc.) that
- * potentially impact the points-to information of pointers in application code, the pointers in application code, and the
- * base pointers at virtual callsites.
- */
- public boolean geom_app_only() {
- return soot.PhaseOptions.getBoolean(options, "geom-app-only");
- }
-
- /**
- * Maximal traversal -- Make the analysis traverse at most this number of nodes per query.
- *
- * Make the analysis traverse at most this number of nodes per query. This quota is evenly shared between multiple passes
- * (see next option).
- */
- public int traversal() {
- return soot.PhaseOptions.getInt(options, "traversal");
- }
-
- /**
- * Maximal number of passes -- Perform at most this number of refinement iterations.
- *
- * Perform at most this number of refinement iterations. Each iteration traverses at most ( traverse / passes ) nodes.
- */
- public int passes() {
- return soot.PhaseOptions.getInt(options, "passes");
- }
-
- /**
- * Precision evaluation methodologies -- Precision evaluation methodologies.
- *
- * We internally provide some precision evaluation methodologies and classify the evaluation strength into three levels. If
- * level is 0, we do nothing. If level is 1, we report the statistical information about the points-to result. If level is
- * 2, we perform the virtual callsite resolution, static cast safety and all-pairs alias evaluations.
- */
- public int geom_eval() {
- return soot.PhaseOptions.getInt(options, "geom-eval");
- }
-
- /**
- * Fractional parameter -- Fractional parameter for precision/performance trade-off.
- *
- * This option specifies the fractional parameter, which manually balances the precision and the performance. Smaller value
- * means better performance and worse precision.
- */
- public int geom_frac_base() {
- return soot.PhaseOptions.getInt(options, "geom-frac-base");
- }
-
- /**
- * Iterations -- Iterations of analysis.
- *
- * We can run multiple times of the geometric analysis to continuously improve the analysis precision.
- */
- public int geom_runs() {
- return soot.PhaseOptions.getInt(options, "geom-runs");
- }
-
- /**
- * Verbose dump file -- Filename for detailed execution log.
- *
- * If you want to save the geomPTA analysis information for future analysis, please provide a file name.
- */
- public String geom_dump_verbose() {
- return soot.PhaseOptions.getString(options, "geom-dump-verbose");
- }
-
- /**
- * Verification file -- Filename for verification file.
- *
- * If you want to compare the precision of the points-to results with other solvers (e.g. Paddle), you can use the
- * 'verify-file' to specify the list of methods (soot method signature format) that are reachable by that solver. During
- * the internal evaluations (see the option geom-eval), we only consider the methods that are common to both solvers.
- */
- public String geom_verify_name() {
- return soot.PhaseOptions.getString(options, "geom-verify-name");
- }
-
- public static final int propagator_iter = 1;
- public static final int propagator_worklist = 2;
- public static final int propagator_cycle = 3;
- public static final int propagator_merge = 4;
- public static final int propagator_alias = 5;
- public static final int propagator_none = 6;
-
- /**
- * Propagator -- Select propagation algorithm.
- *
- * This option tells Spark which propagation algorithm to use.
- */
- public int propagator() {
- String s = soot.PhaseOptions.getString(options, "propagator");
- if (s == null || s.isEmpty())
- return propagator_worklist;
-
- if (s.equalsIgnoreCase("iter"))
- return propagator_iter;
- if (s.equalsIgnoreCase("worklist"))
- return propagator_worklist;
- if (s.equalsIgnoreCase("cycle"))
- return propagator_cycle;
- if (s.equalsIgnoreCase("merge"))
- return propagator_merge;
- if (s.equalsIgnoreCase("alias"))
- return propagator_alias;
- if (s.equalsIgnoreCase("none"))
- return propagator_none;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option propagator", s));
- }
-
- public static final int set_impl_hash = 1;
- public static final int set_impl_bit = 2;
- public static final int set_impl_hybrid = 3;
- public static final int set_impl_array = 4;
- public static final int set_impl_heintze = 5;
- public static final int set_impl_sharedlist = 6;
- public static final int set_impl_double = 7;
-
- /**
- * Set Implementation -- Select points-to set implementation.
- *
- * Select an implementation of points-to sets for Spark to use.
- */
- public int set_impl() {
- String s = soot.PhaseOptions.getString(options, "set-impl");
- if (s == null || s.isEmpty())
- return set_impl_double;
-
- if (s.equalsIgnoreCase("hash"))
- return set_impl_hash;
- if (s.equalsIgnoreCase("bit"))
- return set_impl_bit;
- if (s.equalsIgnoreCase("hybrid"))
- return set_impl_hybrid;
- if (s.equalsIgnoreCase("array"))
- return set_impl_array;
- if (s.equalsIgnoreCase("heintze"))
- return set_impl_heintze;
- if (s.equalsIgnoreCase("sharedlist"))
- return set_impl_sharedlist;
- if (s.equalsIgnoreCase("double"))
- return set_impl_double;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option set-impl", s));
- }
-
- public static final int double_set_old_hash = 1;
- public static final int double_set_old_bit = 2;
- public static final int double_set_old_hybrid = 3;
- public static final int double_set_old_array = 4;
- public static final int double_set_old_heintze = 5;
- public static final int double_set_old_sharedlist = 6;
-
- /**
- * Double Set Old -- Select implementation of points-to set for old part of double set.
- *
- * Select an implementation for sets of old objects in the double points-to set implementation. This option has no effect
- * unless Set Implementation is set to double.
- */
- public int double_set_old() {
- String s = soot.PhaseOptions.getString(options, "double-set-old");
- if (s == null || s.isEmpty())
- return double_set_old_hybrid;
-
- if (s.equalsIgnoreCase("hash"))
- return double_set_old_hash;
- if (s.equalsIgnoreCase("bit"))
- return double_set_old_bit;
- if (s.equalsIgnoreCase("hybrid"))
- return double_set_old_hybrid;
- if (s.equalsIgnoreCase("array"))
- return double_set_old_array;
- if (s.equalsIgnoreCase("heintze"))
- return double_set_old_heintze;
- if (s.equalsIgnoreCase("sharedlist"))
- return double_set_old_sharedlist;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option double-set-old", s));
- }
-
- public static final int double_set_new_hash = 1;
- public static final int double_set_new_bit = 2;
- public static final int double_set_new_hybrid = 3;
- public static final int double_set_new_array = 4;
- public static final int double_set_new_heintze = 5;
- public static final int double_set_new_sharedlist = 6;
-
- /**
- * Double Set New -- Select implementation of points-to set for new part of double set.
- *
- * Select an implementation for sets of new objects in the double points-to set implementation. This option has no effect
- * unless Set Implementation is set to double.
- */
- public int double_set_new() {
- String s = soot.PhaseOptions.getString(options, "double-set-new");
- if (s == null || s.isEmpty())
- return double_set_new_hybrid;
-
- if (s.equalsIgnoreCase("hash"))
- return double_set_new_hash;
- if (s.equalsIgnoreCase("bit"))
- return double_set_new_bit;
- if (s.equalsIgnoreCase("hybrid"))
- return double_set_new_hybrid;
- if (s.equalsIgnoreCase("array"))
- return double_set_new_array;
- if (s.equalsIgnoreCase("heintze"))
- return double_set_new_heintze;
- if (s.equalsIgnoreCase("sharedlist"))
- return double_set_new_sharedlist;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option double-set-new", s));
- }
-
- public static final int geom_encoding_Geom = 1;
- public static final int geom_encoding_HeapIns = 2;
- public static final int geom_encoding_PtIns = 3;
-
- /**
- * Encoding methodology used -- Encoding methodology.
- *
- * This switch specifies the encoding methodology used in the analysis. All possible options are: Geom, HeapIns, PtIns. The
- * efficiency order is (from slow to fast) Geom - HeapIns - PtIns, but the precision order is the reverse.
- */
- public int geom_encoding() {
- String s = soot.PhaseOptions.getString(options, "geom-encoding");
- if (s == null || s.isEmpty())
- return geom_encoding_Geom;
-
- if (s.equalsIgnoreCase("Geom"))
- return geom_encoding_Geom;
- if (s.equalsIgnoreCase("HeapIns"))
- return geom_encoding_HeapIns;
- if (s.equalsIgnoreCase("PtIns"))
- return geom_encoding_PtIns;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option geom-encoding", s));
- }
-
- public static final int geom_worklist_PQ = 1;
- public static final int geom_worklist_FIFO = 2;
-
- /**
- * Worklist type -- Worklist type.
- *
- * Specifies the worklist used for selecting the next propagation pointer. All possible options are: PQ, FIFO. They stand
- * for the priority queue (sorted by the last fire time and topology order) and FIFO queue.
- */
- public int geom_worklist() {
- String s = soot.PhaseOptions.getString(options, "geom-worklist");
- if (s == null || s.isEmpty())
- return geom_worklist_PQ;
-
- if (s.equalsIgnoreCase("PQ"))
- return geom_worklist_PQ;
- if (s.equalsIgnoreCase("FIFO"))
- return geom_worklist_FIFO;
-
- throw new RuntimeException(String.format("Invalid value %s of phase option geom-worklist", s));
- }
+ private Map options;
+
+ public SparkOptions(Map options) {
+ this.options = options;
+ }
+
+ /**
+ * Enabled
+ */
+ public boolean enabled() {
+ return soot.PhaseOptions.getBoolean(options, "enabled");
+ }
+
+ /**
+ * Verbose --
+ * Print detailed information about the execution of Spark.
+ *
+ * When this option is set to true, Spark prints detailed
+ * information about its execution.
+ */
+ public boolean verbose() {
+ return soot.PhaseOptions.getBoolean(options, "verbose");
+ }
+
+ /**
+ * Ignore Types Entirely --
+ * Make Spark completely ignore declared types of variables.
+ *
+ * When this option is set to true, all parts of Spark completely
+ * ignore declared types of variables and casts.
+ */
+ public boolean ignore_types() {
+ return soot.PhaseOptions.getBoolean(options, "ignore-types");
+ }
+
+ /**
+ * Force Garbage Collections --
+ * Force garbage collection for measuring memory usage.
+ *
+ * When this option is set to true, calls to System.gc() will be
+ * made at various points to allow memory usage to be measured.
+ */
+ public boolean force_gc() {
+ return soot.PhaseOptions.getBoolean(options, "force-gc");
+ }
+
+ /**
+ * Pre Jimplify --
+ * Jimplify all methods before starting Spark.
+ *
+ * When this option is set to true, Spark converts all available
+ * methods to Jimple before starting the points-to analysis. This
+ * allows the Jimplification time to be separated from the
+ * points-to time. However, it increases the total time and memory
+ * requirement, because all methods are Jimplified, rather than
+ * only those deemed reachable by the points-to analysis.
+ */
+ public boolean pre_jimplify() {
+ return soot.PhaseOptions.getBoolean(options, "pre-jimplify");
+ }
+
+ /**
+ * AppOnly --
+ * Consider only application classes.
+ *
+ * Setting this option to true causes Soot to only consider
+ * application classes when building the callgraph. The resulting
+ * callgraph will be inherently unsound. Still, this option can
+ * make sense if performance optimization and memory reduction are
+ * your primary goal.
+ */
+ public boolean apponly() {
+ return soot.PhaseOptions.getBoolean(options, "apponly");
+ }
+
+ /**
+ * VTA --
+ * Emulate Variable Type Analysis.
+ *
+ * Setting VTA to true has the effect of setting field-based,
+ * types-for-sites, and simplify-sccs to true, and on-fly-cg to
+ * false, to simulate Variable Type Analysis, described in our
+ * OOPSLA 2000 paper. Note that the algorithm differs from the
+ * original VTA in that it handles array elements more precisely.
+ */
+ public boolean vta() {
+ return soot.PhaseOptions.getBoolean(options, "vta");
+ }
+
+ /**
+ * RTA --
+ * Emulate Rapid Type Analysis.
+ *
+ * Setting RTA to true sets types-for-sites to true, and causes
+ * Spark to use a single points-to set for all variables, giving
+ * Rapid Type Analysis.
+ */
+ public boolean rta() {
+ return soot.PhaseOptions.getBoolean(options, "rta");
+ }
+
+ /**
+ * Field Based --
+ * Use a field-based rather than field-sensitive representation.
+ *
+ * When this option is set to true, fields are represented by
+ * variable (Green) nodes, and the object that the field belongs to
+ * is ignored (all objects are lumped together), giving a
+ * field-based analysis. Otherwise, fields are represented by field
+ * reference (Red) nodes, and the objects that they belong to are
+ * distinguished, giving a field-sensitive analysis.
+ */
+ public boolean field_based() {
+ return soot.PhaseOptions.getBoolean(options, "field-based");
+ }
+
+ /**
+ * Types For Sites --
+ * Represent objects by their actual type rather than allocation
+ * site.
+ *
+ * When this option is set to true, types rather than allocation
+ * sites are used as the elements of the points-to sets.
+ */
+ public boolean types_for_sites() {
+ return soot.PhaseOptions.getBoolean(options, "types-for-sites");
+ }
+
+ /**
+ * Merge String Buffer --
+ * Represent all StringBuffers as one object.
+ *
+ * When this option is set to true, all allocation sites creating
+ * java.lang.StringBuffer objects are grouped together as a single
+ * allocation site.
+ */
+ public boolean merge_stringbuffer() {
+ return soot.PhaseOptions.getBoolean(options, "merge-stringbuffer");
+ }
+
+ /**
+ * Propagate All String Constants --
+ * Propagate all string constants, not just class names.
+ *
+ * When this option is set to false, Spark only distinguishes
+ * string constants that may be the name of a class loaded
+ * dynamically using reflection, and all other string constants are
+ * lumped together into a single string constant node. Setting this
+ * option to true causes all string constants to be propagated
+ * individually.
+ */
+ public boolean string_constants() {
+ return soot.PhaseOptions.getBoolean(options, "string-constants");
+ }
+
+ /**
+ * Simulate Natives --
+ * Simulate effects of native methods in standard class library.
+ *
+ * When this option is set to true, the effects of native methods
+ * in the standard Java class library are simulated.
+ */
+ public boolean simulate_natives() {
+ return soot.PhaseOptions.getBoolean(options, "simulate-natives");
+ }
+
+ /**
+ * Treat EMPTY as Alloc --
+ * Treat singletons for empty sets etc. as allocation sites.
+ *
+ * When this option is set to true, Spark treats references to
+ * EMPTYSET, EMPTYMAP, and EMPTYLIST as allocation sites for
+ * HashSet, HashMap and LinkedList objects respectively, and
+ * references to Hashtable.emptyIterator as allocation sites for
+ * Hashtable.EmptyIterator. This enables subsequent analyses to
+ * differentiate different uses of Java's immutable empty
+ * collections.
+ */
+ public boolean empties_as_allocs() {
+ return soot.PhaseOptions.getBoolean(options, "empties-as-allocs");
+ }
+
+ /**
+ * Simple Edges Bidirectional --
+ * Equality-based analysis between variable nodes.
+ *
+ * When this option is set to true, all edges connecting variable
+ * (Green) nodes are made bidirectional, as in Steensgaard's
+ * analysis.
+ */
+ public boolean simple_edges_bidirectional() {
+ return soot.PhaseOptions.getBoolean(options, "simple-edges-bidirectional");
+ }
+
+ /**
+ * On Fly Call Graph --
+ * Build call graph as receiver types become known.
+ *
+ * When this option is set to true, the call graph is computed
+ * on-the-fly as points-to information is computed. Otherwise, an
+ * initial CHA approximation to the call graph is used.
+ */
+ public boolean on_fly_cg() {
+ return soot.PhaseOptions.getBoolean(options, "on-fly-cg");
+ }
+
+ /**
+ * Simplify Offline --
+ * Collapse single-entry subgraphs of the PAG.
+ *
+ * When this option is set to true, variable (Green) nodes which
+ * form single-entry subgraphs (so they must have the same
+ * points-to set) are merged before propagation begins.
+ */
+ public boolean simplify_offline() {
+ return soot.PhaseOptions.getBoolean(options, "simplify-offline");
+ }
+
+ /**
+ * Simplify SCCs --
+ * Collapse strongly-connected components of the PAG.
+ *
+ * When this option is set to true, variable (Green) nodes which
+ * form strongly-connected components (so they must have the same
+ * points-to set) are merged before propagation begins.
+ */
+ public boolean simplify_sccs() {
+ return soot.PhaseOptions.getBoolean(options, "simplify-sccs");
+ }
+
+ /**
+ * Ignore Types For SCCs --
+ * Ignore declared types when determining node equivalence for SCCs.
+ *
+ * When this option is set to true, when collapsing
+ * strongly-connected components, nodes forming SCCs are collapsed
+ * regardless of their declared type. The collapsed SCC is given
+ * the most general type of all the nodes in the component. When
+ * this option is set to false, only edges connecting nodes of the
+ * same type are considered when detecting SCCs. This option has no
+ * effect unless simplify-sccs is true.
+ */
+ public boolean ignore_types_for_sccs() {
+ return soot.PhaseOptions.getBoolean(options, "ignore-types-for-sccs");
+ }
+
+ /**
+ * Dump HTML --
+ * Dump pointer assignment graph to HTML for debugging.
+ *
+ * When this option is set to true, a browseable HTML
+ * representation of the pointer assignment graph is output to a
+ * file called pag.jar after the analysis completes. Note that this
+ * representation is typically very large.
+ */
+ public boolean dump_html() {
+ return soot.PhaseOptions.getBoolean(options, "dump-html");
+ }
+
+ /**
+ * Dump PAG --
+ * Dump pointer assignment graph for other solvers.
+ *
+ * When this option is set to true, a representation of the pointer
+ * assignment graph suitable for processing with other solvers
+ * (such as the BDD-based solver) is output before the analysis
+ * begins.
+ */
+ public boolean dump_pag() {
+ return soot.PhaseOptions.getBoolean(options, "dump-pag");
+ }
+
+ /**
+ * Dump Solution --
+ * Dump final solution for comparison with other solvers.
+ *
+ * When this option is set to true, a representation of the
+ * resulting points-to sets is dumped. The format is similar to
+ * that of the Dump PAG option, and is therefore suitable for
+ * comparison with the results of other solvers.
+ */
+ public boolean dump_solution() {
+ return soot.PhaseOptions.getBoolean(options, "dump-solution");
+ }
+
+ /**
+ * Topological Sort --
+ * Sort variable nodes in dump.
+ *
+ * When this option is set to true, the representation dumped by
+ * the Dump PAG option is dumped with the variable (green) nodes in
+ * (pseudo-)topological order. This option has no effect unless
+ * Dump PAG is true.
+ */
+ public boolean topo_sort() {
+ return soot.PhaseOptions.getBoolean(options, "topo-sort");
+ }
+
+ /**
+ * Dump Types --
+ * Include declared types in dump.
+ *
+ * When this option is set to true, the representation dumped by
+ * the Dump PAG option includes type information for all nodes.
+ * This option has no effect unless Dump PAG is true.
+ */
+ public boolean dump_types() {
+ return soot.PhaseOptions.getBoolean(options, "dump-types");
+ }
+
+ /**
+ * Class Method Var --
+ * In dump, label variables by class and method.
+ *
+ * When this option is set to true, the representation dumped by
+ * the Dump PAG option represents nodes by numbering each class,
+ * method, and variable within the method separately, rather than
+ * assigning a single integer to each node. This option has no
+ * effect unless Dump PAG is true. Setting Class Method Var to true
+ * has the effect of setting Topological Sort to false.
+ */
+ public boolean class_method_var() {
+ return soot.PhaseOptions.getBoolean(options, "class-method-var");
+ }
+
+ /**
+ * Dump Answer --
+ * Dump computed reaching types for comparison with other solvers.
+ *
+ * When this option is set to true, the computed reaching types for
+ * each variable are dumped to a file, so that they can be compared
+ * with the results of other analyses (such as the old VTA).
+ */
+ public boolean dump_answer() {
+ return soot.PhaseOptions.getBoolean(options, "dump-answer");
+ }
+
+ /**
+ * Add Tags --
+ * Output points-to results in tags for viewing with the Jimple.
+ *
+ * When this option is set to true, the results of the analysis are
+ * encoded within tags and printed with the resulting Jimple code.
+ */
+ public boolean add_tags() {
+ return soot.PhaseOptions.getBoolean(options, "add-tags");
+ }
+
+ /**
+ * Calculate Set Mass --
+ * Calculate statistics about points-to set sizes.
+ *
+ * When this option is set to true, Spark computes and prints
+ * various cryptic statistics about the size of the points-to sets
+ * computed.
+ */
+ public boolean set_mass() {
+ return soot.PhaseOptions.getBoolean(options, "set-mass");
+ }
+
+ /**
+ * Demand-driven refinement-based context-sensitive points-to analysis --
+ * After running Spark, refine points-to sets on demand with
+ * context information.
+ *
+ * When this option is set to true, Manu Sridharan's demand-driven,
+ * refinement-based points-to analysis (PLDI 06) is applied after
+ * Spark was run.
+ */
+ public boolean cs_demand() {
+ return soot.PhaseOptions.getBoolean(options, "cs-demand");
+ }
+
+ /**
+ * Create lazy points-to sets --
+ * Create lazy points-to sets that create context information only
+ * when needed..
+ *
+ * When this option is disabled, context information is computed
+ * for every query to the reachingObjects method. When it is
+ * enabled, a call to reachingObjects returns a lazy wrapper object
+ * that contains a context-insensitive points-to set. This set is
+ * then automatically refined with context information when
+ * necessary, i.e. when we try to determine the intersection with
+ * another points-to set and this intersection seems to be
+ * non-empty.
+ */
+ public boolean lazy_pts() {
+ return soot.PhaseOptions.getBoolean(options, "lazy-pts");
+ }
+
+ /**
+ * Geometric, context-sensitive points-to analysis --
+ * This switch enables/disables the geometric analysis.
+ *
+ * This switch enables/disables the geometric analysis.
+ */
+ public boolean geom_pta() {
+ return soot.PhaseOptions.getBoolean(options, "geom-pta");
+ }
+
+ /**
+ * Transform to context-insensitive result --
+ * Transform to context-insensitive result.
+ *
+ * If you stick to working with SPARK, you can use this option to
+ * transform the context sensitive result to insensitive result.
+ * After the transformation, the context sensitive points-to quries
+ * cannot be answered.
+ */
+ public boolean geom_trans() {
+ return soot.PhaseOptions.getBoolean(options, "geom-trans");
+ }
+
+ /**
+ * Blocking strategy for recursive calls --
+ * Enable blocking strategy for recursive calls.
+ *
+ * Blocking strategy is a 1CFA model for recursive calls. This
+ * model significantly improves the precision.
+ */
+ public boolean geom_blocking() {
+ return soot.PhaseOptions.getBoolean(options, "geom-blocking");
+ }
+
+ /**
+ * Pointers processed by geomPTA --
+ * Processing pointers that impact pointers in application code
+ * only.
+ *
+ * When this option is true, geomPTA only processes the pointers in
+ * library functions ( java.*, sun.*, and etc.) that potentially
+ * impact the points-to information of pointers in application
+ * code, the pointers in application code, and the base pointers at
+ * virtual callsites.
+ */
+ public boolean geom_app_only() {
+ return soot.PhaseOptions.getBoolean(options, "geom-app-only");
+ }
+
+ /**
+ * Maximal traversal --
+ * Make the analysis traverse at most this number of nodes per
+ * query.
+ *
+ * Make the analysis traverse at most this number of nodes per
+ * query. This quota is evenly shared between multiple passes (see
+ * next option).
+ */
+ public int traversal() {
+ return soot.PhaseOptions.getInt(options, "traversal");
+ }
+
+ /**
+ * Maximal number of passes --
+ * Perform at most this number of refinement iterations.
+ *
+ * Perform at most this number of refinement iterations. Each
+ * iteration traverses at most ( traverse / passes ) nodes.
+ */
+ public int passes() {
+ return soot.PhaseOptions.getInt(options, "passes");
+ }
+
+ /**
+ * Precision evaluation methodologies --
+ * Precision evaluation methodologies.
+ *
+ * We internally provide some precision evaluation methodologies
+ * and classify the evaluation strength into three levels. If level
+ * is 0, we do nothing. If level is 1, we report the statistical
+ * information about the points-to result. If level is 2, we
+ * perform the virtual callsite resolution, static cast safety and
+ * all-pairs alias evaluations.
+ */
+ public int geom_eval() {
+ return soot.PhaseOptions.getInt(options, "geom-eval");
+ }
+
+ /**
+ * Fractional parameter --
+ * Fractional parameter for precision/performance trade-off.
+ *
+ * This option specifies the fractional parameter, which manually
+ * balances the precision and the performance. Smaller value means
+ * better performance and worse precision.
+ */
+ public int geom_frac_base() {
+ return soot.PhaseOptions.getInt(options, "geom-frac-base");
+ }
+
+ /**
+ * Iterations --
+ * Iterations of analysis.
+ *
+ * We can run multiple times of the geometric analysis to
+ * continuously improve the analysis precision.
+ */
+ public int geom_runs() {
+ return soot.PhaseOptions.getInt(options, "geom-runs");
+ }
+
+ /**
+ * Verbose dump file --
+ * Filename for detailed execution log.
+ *
+ * If you want to save the geomPTA analysis information for future
+ * analysis, please provide a file name.
+ */
+ public String geom_dump_verbose() {
+ return soot.PhaseOptions.getString(options, "geom-dump-verbose");
+ }
+
+ /**
+ * Verification file --
+ * Filename for verification file.
+ *
+ * If you want to compare the precision of the points-to results
+ * with other solvers (e.g. Paddle), you can use the 'verify-file'
+ * to specify the list of methods (soot method signature format)
+ * that are reachable by that solver. During the internal
+ * evaluations (see the option geom-eval), we only consider the
+ * methods that are common to both solvers.
+ */
+ public String geom_verify_name() {
+ return soot.PhaseOptions.getString(options, "geom-verify-name");
+ }
+
+ public static final int propagator_iter = 1;
+ public static final int propagator_worklist = 2;
+ public static final int propagator_cycle = 3;
+ public static final int propagator_merge = 4;
+ public static final int propagator_alias = 5;
+ public static final int propagator_none = 6;
+
+ /**
+ * Propagator --
+ * Select propagation algorithm.
+ *
+ * This option tells Spark which propagation algorithm to use.
+ */
+ public int propagator() {
+ String s = soot.PhaseOptions.getString(options, "propagator");
+ if (s == null || s.isEmpty())
+ return propagator_worklist;
+
+ if (s.equalsIgnoreCase("iter"))
+ return propagator_iter;
+ if (s.equalsIgnoreCase("worklist"))
+ return propagator_worklist;
+ if (s.equalsIgnoreCase("cycle"))
+ return propagator_cycle;
+ if (s.equalsIgnoreCase("merge"))
+ return propagator_merge;
+ if (s.equalsIgnoreCase("alias"))
+ return propagator_alias;
+ if (s.equalsIgnoreCase("none"))
+ return propagator_none;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option propagator", s));
+ }
+
+ public static final int set_impl_hash = 1;
+ public static final int set_impl_bit = 2;
+ public static final int set_impl_hybrid = 3;
+ public static final int set_impl_array = 4;
+ public static final int set_impl_heintze = 5;
+ public static final int set_impl_sharedlist = 6;
+ public static final int set_impl_double = 7;
+
+ /**
+ * Set Implementation --
+ * Select points-to set implementation.
+ *
+ * Select an implementation of points-to sets for Spark to use.
+ */
+ public int set_impl() {
+ String s = soot.PhaseOptions.getString(options, "set-impl");
+ if (s == null || s.isEmpty())
+ return set_impl_double;
+
+ if (s.equalsIgnoreCase("hash"))
+ return set_impl_hash;
+ if (s.equalsIgnoreCase("bit"))
+ return set_impl_bit;
+ if (s.equalsIgnoreCase("hybrid"))
+ return set_impl_hybrid;
+ if (s.equalsIgnoreCase("array"))
+ return set_impl_array;
+ if (s.equalsIgnoreCase("heintze"))
+ return set_impl_heintze;
+ if (s.equalsIgnoreCase("sharedlist"))
+ return set_impl_sharedlist;
+ if (s.equalsIgnoreCase("double"))
+ return set_impl_double;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option set-impl", s));
+ }
+
+ public static final int double_set_old_hash = 1;
+ public static final int double_set_old_bit = 2;
+ public static final int double_set_old_hybrid = 3;
+ public static final int double_set_old_array = 4;
+ public static final int double_set_old_heintze = 5;
+ public static final int double_set_old_sharedlist = 6;
+
+ /**
+ * Double Set Old --
+ * Select implementation of points-to set for old part of double
+ * set.
+ *
+ * Select an implementation for sets of old objects in the double
+ * points-to set implementation. This option has no effect unless
+ * Set Implementation is set to double.
+ */
+ public int double_set_old() {
+ String s = soot.PhaseOptions.getString(options, "double-set-old");
+ if (s == null || s.isEmpty())
+ return double_set_old_hybrid;
+
+ if (s.equalsIgnoreCase("hash"))
+ return double_set_old_hash;
+ if (s.equalsIgnoreCase("bit"))
+ return double_set_old_bit;
+ if (s.equalsIgnoreCase("hybrid"))
+ return double_set_old_hybrid;
+ if (s.equalsIgnoreCase("array"))
+ return double_set_old_array;
+ if (s.equalsIgnoreCase("heintze"))
+ return double_set_old_heintze;
+ if (s.equalsIgnoreCase("sharedlist"))
+ return double_set_old_sharedlist;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option double-set-old", s));
+ }
+
+ public static final int double_set_new_hash = 1;
+ public static final int double_set_new_bit = 2;
+ public static final int double_set_new_hybrid = 3;
+ public static final int double_set_new_array = 4;
+ public static final int double_set_new_heintze = 5;
+ public static final int double_set_new_sharedlist = 6;
+
+ /**
+ * Double Set New --
+ * Select implementation of points-to set for new part of double
+ * set.
+ *
+ * Select an implementation for sets of new objects in the double
+ * points-to set implementation. This option has no effect unless
+ * Set Implementation is set to double.
+ */
+ public int double_set_new() {
+ String s = soot.PhaseOptions.getString(options, "double-set-new");
+ if (s == null || s.isEmpty())
+ return double_set_new_hybrid;
+
+ if (s.equalsIgnoreCase("hash"))
+ return double_set_new_hash;
+ if (s.equalsIgnoreCase("bit"))
+ return double_set_new_bit;
+ if (s.equalsIgnoreCase("hybrid"))
+ return double_set_new_hybrid;
+ if (s.equalsIgnoreCase("array"))
+ return double_set_new_array;
+ if (s.equalsIgnoreCase("heintze"))
+ return double_set_new_heintze;
+ if (s.equalsIgnoreCase("sharedlist"))
+ return double_set_new_sharedlist;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option double-set-new", s));
+ }
+
+ public static final int geom_encoding_Geom = 1;
+ public static final int geom_encoding_HeapIns = 2;
+ public static final int geom_encoding_PtIns = 3;
+
+ /**
+ * Encoding methodology used --
+ * Encoding methodology.
+ *
+ * This switch specifies the encoding methodology used in the
+ * analysis. All possible options are: Geom, HeapIns, PtIns. The
+ * efficiency order is (from slow to fast) Geom - HeapIns - PtIns,
+ * but the precision order is the reverse.
+ */
+ public int geom_encoding() {
+ String s = soot.PhaseOptions.getString(options, "geom-encoding");
+ if (s == null || s.isEmpty())
+ return geom_encoding_Geom;
+
+ if (s.equalsIgnoreCase("Geom"))
+ return geom_encoding_Geom;
+ if (s.equalsIgnoreCase("HeapIns"))
+ return geom_encoding_HeapIns;
+ if (s.equalsIgnoreCase("PtIns"))
+ return geom_encoding_PtIns;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option geom-encoding", s));
+ }
+
+ public static final int geom_worklist_PQ = 1;
+ public static final int geom_worklist_FIFO = 2;
+
+ /**
+ * Worklist type --
+ * Worklist type.
+ *
+ * Specifies the worklist used for selecting the next propagation
+ * pointer. All possible options are: PQ, FIFO. They stand for the
+ * priority queue (sorted by the last fire time and topology order)
+ * and FIFO queue.
+ */
+ public int geom_worklist() {
+ String s = soot.PhaseOptions.getString(options, "geom-worklist");
+ if (s == null || s.isEmpty())
+ return geom_worklist_PQ;
+
+ if (s.equalsIgnoreCase("PQ"))
+ return geom_worklist_PQ;
+ if (s.equalsIgnoreCase("FIFO"))
+ return geom_worklist_FIFO;
+
+ throw new RuntimeException(String.format("Invalid value %s of phase option geom-worklist", s));
+ }
}
diff --git a/src/main/generated/sablecc/soot/jimple/parser/parser/Parser.java b/src/main/generated/sablecc/soot/jimple/parser/parser/Parser.java
index 1e14ebd1293..5c0ab02628a 100644
--- a/src/main/generated/sablecc/soot/jimple/parser/parser/Parser.java
+++ b/src/main/generated/sablecc/soot/jimple/parser/parser/Parser.java
@@ -2,7590 +2,7614 @@
package soot.jimple.parser.parser;
-import soot.jimple.parser.lexer.*;
-import soot.jimple.parser.node.*;
-import soot.jimple.parser.analysis.*;
-import java.util.*;
-
-import java.io.DataInputStream;
import java.io.BufferedInputStream;
+import java.io.DataInputStream;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
+import soot.jimple.parser.analysis.Analysis;
+import soot.jimple.parser.analysis.AnalysisAdapter;
+import soot.jimple.parser.lexer.Lexer;
+import soot.jimple.parser.lexer.LexerException;
+import soot.jimple.parser.node.*;
@SuppressWarnings("nls")
-public class Parser
-{
- public final Analysis ignoredTokens = new AnalysisAdapter();
-
- protected ArrayList