package soot.JastAddJ; import java.util.HashSet; import java.util.LinkedHashSet; import java.io.File; import java.util.*; import beaver.*; import java.util.ArrayList; import java.util.zip.*; import java.io.*; import java.io.FileNotFoundException; import java.util.Collection; import soot.*; import soot.util.*; import soot.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 node * @declaredat java.ast:1 */ public class Program extends ASTNode<ASTNode> implements Cloneable { /** * @apilevel low-level */ public void flushCache() { super.flushCache(); typeObject_computed = false; typeObject_value = null; typeCloneable_computed = false; typeCloneable_value = null; typeSerializable_computed = false; typeSerializable_value = null; typeBoolean_computed = false; typeBoolean_value = null; typeByte_computed = false; typeByte_value = null; typeShort_computed = false; typeShort_value = null; typeChar_computed = false; typeChar_value = null; typeInt_computed = false; typeInt_value = null; typeLong_computed = false; typeLong_value = null; typeFloat_computed = false; typeFloat_value = null; typeDouble_computed = false; typeDouble_value = null; typeString_computed = false; typeString_value = null; typeVoid_computed = false; typeVoid_value = null; typeNull_computed = false; typeNull_value = null; unknownType_computed = false; unknownType_value = null; hasPackage_String_values = null; lookupType_String_String_values = null; unknownConstructor_computed = false; unknownConstructor_value = null; wildcards_computed = false; wildcards_value = null; } /** * @apilevel internal */ public void flushCollectionCache() { super.flushCollectionCache(); } /** * @apilevel internal */ @SuppressWarnings({"unchecked", "cast"}) public Program clone() throws CloneNotSupportedException { Program node = (Program)super.clone(); node.typeObject_computed = false; node.typeObject_value = null; node.typeCloneable_computed = false; node.typeCloneable_value = null; node.typeSerializable_computed = false; node.typeSerializable_value = null; node.typeBoolean_computed = false; node.typeBoolean_value = null; node.typeByte_computed = false; node.typeByte_value = null; node.typeShort_computed = false; node.typeShort_value = null; node.typeChar_computed = false; node.typeChar_value = null; node.typeInt_computed = false; node.typeInt_value = null; node.typeLong_computed = false; node.typeLong_value = null; node.typeFloat_computed = false; node.typeFloat_value = null; node.typeDouble_computed = false; node.typeDouble_value = null; node.typeString_computed = false; node.typeString_value = null; node.typeVoid_computed = false; node.typeVoid_value = null; node.typeNull_computed = false; node.typeNull_value = null; node.unknownType_computed = false; node.unknownType_value = null; node.hasPackage_String_values = null; node.lookupType_String_String_values = null; node.unknownConstructor_computed = false; node.unknownConstructor_value = null; node.wildcards_computed = false; node.wildcards_value = null; node.in$Circle(false); node.is$Final(false); return node; } /** * @apilevel internal */ @SuppressWarnings({"unchecked", "cast"}) public Program copy() { try { Program node = (Program)clone(); if(children != null) node.children = (ASTNode[])children.clone(); return node; } catch (CloneNotSupportedException e) { } System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); return null; } /** * @apilevel low-level */ @SuppressWarnings({"unchecked", "cast"}) public Program fullCopy() { Program res = (Program)copy(); for(int i = 0; i < getNumChildNoTransform(); i++) { ASTNode node = getChildNoTransform(i); if(node != null) node = node.fullCopy(); res.setChild(node, i); } return res; } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:22 */ protected BytecodeReader bytecodeReader; /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:23 */ public void initBytecodeReader(BytecodeReader r) { bytecodeReader = r; } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:24 */ protected JavaParser javaParser; /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:25 */ public void initJavaParser(JavaParser p) { javaParser = p; } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:35 */ public void addSourceFile(String name) { sourceFiles.addSourceFile(name); } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:41 */ public Iterator compilationUnitIterator() { initPaths(); return new Iterator() { int index = 0; public boolean hasNext() { return index < getNumCompilationUnit() || !sourceFiles.isEmpty(); } public Object next() { if(getNumCompilationUnit() == index) { String typename = (String)sourceFiles.keySet().iterator().next(); CompilationUnit u = getCompilationUnit(typename); if(u != null) { addCompilationUnit(u); getCompilationUnit(getNumCompilationUnit()-1); } else throw new Error("File " + typename + " not found"); } return getCompilationUnit(index++); } public void remove() { throw new UnsupportedOperationException(); } }; } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:70 */ public InputStream getInputStream(String name) { initPaths(); try { for(Iterator iter = classPath.iterator(); iter.hasNext(); ) { PathPart part = (PathPart)iter.next(); if(part.selectCompilationUnit(name)) return part.is; } } catch(IOException e) { } throw new Error("Could not find nested type " + name); } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:137 */ public boolean isPackage(String name) { if(sourceFiles.hasPackage(name)) return true; for(Iterator iter = classPath.iterator(); iter.hasNext(); ) { PathPart part = (PathPart)iter.next(); if(part.hasPackage(name)) return true; } for(Iterator iter = sourcePath.iterator(); iter.hasNext(); ) { PathPart part = (PathPart)iter.next(); if(part.hasPackage(name)) return true; } return false; } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:167 */ private boolean pathsInitialized = false; /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:168 */ private java.util.ArrayList classPath; /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:169 */ private java.util.ArrayList sourcePath; /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:170 */ private FileNamesPart sourceFiles = new FileNamesPart(this); /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:172 */ public void pushClassPath(String name) { PathPart part = PathPart.createSourcePath(name, this); if(part != null) { sourcePath.add(part); System.out.println("Pushing source path " + name); } else throw new Error("Could not push source path " + name); part = PathPart.createClassPath(name, this); if(part != null) { classPath.add(part); System.out.println("Pushing class path " + name); } } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:186 */ public void popClassPath() { if(sourcePath.size() > 0) sourcePath.remove(sourcePath.size()-1); if(classPath.size() > 0) classPath.remove(classPath.size()-1); } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:193 */ public void initPaths() { if(!pathsInitialized) { pathsInitialized = true; //System.err.println("Initializing class paths"); ArrayList classPaths = new ArrayList(); ArrayList sourcePaths = new ArrayList(); String[] bootclasspaths; if(options().hasValueForOption("-bootclasspath")) bootclasspaths = options().getValueForOption("-bootclasspath").split(File.pathSeparator); else bootclasspaths = System.getProperty("sun.boot.class.path").split(File.pathSeparator); for(int i = 0; i < bootclasspaths.length; i++) { classPaths.add(bootclasspaths[i]); //System.err.println("Adding classpath " + bootclasspaths[i]); } String[] extdirs; if(options().hasValueForOption("-extdirs")) extdirs = options().getValueForOption("-extdirs").split(File.pathSeparator); else extdirs = System.getProperty("java.ext.dirs").split(File.pathSeparator); for(int i = 0; i < extdirs.length; i++) { classPaths.add(extdirs[i]); //System.err.println("Adding classpath " + extdirs[i]); } String[] userClasses = null; if(options().hasValueForOption("-classpath")) userClasses = options().getValueForOption("-classpath").split(File.pathSeparator); else if(options().hasValueForOption("-cp")) userClasses = options().getValueForOption("-cp").split(File.pathSeparator); else { String s = System.getProperty("java.class.path"); if(s != null && s.length() > 0) { s = s + File.pathSeparator + "."; // TODO; This should not be necessary userClasses = s.split(File.pathSeparator); } else userClasses = ".".split(File.pathSeparator); } if(!options().hasValueForOption("-sourcepath")) { for(int i = 0; i < userClasses.length; i++) { classPaths.add(userClasses[i]); sourcePaths.add(userClasses[i]); //System.err.println("Adding classpath/sourcepath " + userClasses[i]); } } else { for(int i = 0; i < userClasses.length; i++) { classPaths.add(userClasses[i]); //System.err.println("Adding classpath " + userClasses[i]); } userClasses = options().getValueForOption("-sourcepath").split(File.pathSeparator); for(int i = 0; i < userClasses.length; i++) { sourcePaths.add(userClasses[i]); //System.err.println("Adding sourcepath " + userClasses[i]); } } classPath = new ArrayList(); sourcePath = new ArrayList(); for(Iterator iter = classPaths.iterator(); iter.hasNext(); ) { String s = (String)iter.next(); PathPart part = PathPart.createClassPath(s, this); if(part != null) { classPath.add(part); //System.out.println("Adding classpath " + s); } else if(options().verbose()) System.out.println("Warning: Could not use " + s + " as class path"); } for(Iterator iter = sourcePaths.iterator(); iter.hasNext(); ) { String s = (String)iter.next(); PathPart part = PathPart.createSourcePath(s, this); if(part != null) { sourcePath.add(part); //System.out.println("Adding sourcepath " + s); } else if(options().verbose()) System.out.println("Warning: Could not use " + s + " as source path"); } } } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:548 */ public void simpleReset() { lookupType_String_String_values = new HashMap(); hasPackage_String_values = new HashMap(); List list = new List(); for(int i = 0; i < getNumCompilationUnit(); i++) { CompilationUnit unit = getCompilationUnit(i); if(!unit.fromSource()) { list.add(unit); } } setCompilationUnitList(list); } /** * @ast method * @aspect ErrorCheck * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ErrorCheck.jrag:208 */ public void errorCheck(Collection collection) { for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { CompilationUnit cu = (CompilationUnit)iter.next(); if(cu.fromSource()) { cu.collectErrors(); collection.addAll(cu.errors); } } } /** * @ast method * @aspect ErrorCheck * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ErrorCheck.jrag:217 */ public void errorCheck(Collection collection, Collection warn) { for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { CompilationUnit cu = (CompilationUnit)iter.next(); if(cu.fromSource()) { cu.collectErrors(); collection.addAll(cu.errors); warn.addAll(cu.warnings); } } } /** * @ast method * @aspect ErrorCheck * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ErrorCheck.jrag:238 */ public boolean errorCheck() { Collection collection = new LinkedList(); errorCheck(collection); if(collection.isEmpty()) return false; System.out.println("Errors:"); for(Iterator iter = collection.iterator(); iter.hasNext(); ) { String s = (String)iter.next(); System.out.println(s); } return true; } /** * @ast method * @aspect LookupFullyQualifiedTypes * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:103 */ public int classFileReadTime; /** * @ast method * @aspect PrettyPrint * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:23 */ public void toString(StringBuffer s) { for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { CompilationUnit cu = (CompilationUnit)iter.next(); if(cu.fromSource()) { cu.toString(s); } } } /** * @ast method * @aspect PrettyPrint * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:820 */ public String dumpTree() { StringBuffer s = new StringBuffer(); for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { CompilationUnit cu = (CompilationUnit)iter.next(); if(cu.fromSource()) { s.append(cu.dumpTree()); } } return s.toString(); } /** * @ast method * @aspect PrimitiveTypes * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/PrimitiveTypes.jrag:13 */ private boolean initPrimTypes = false; /** * @ast method * @aspect PrimitiveTypes * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/PrimitiveTypes.jrag:15 */ public void addPrimitiveTypes() { if(!initPrimTypes) { initPrimTypes = true; CompilationUnit u = new CompilationUnit(); u.setPackageDecl(PRIMITIVE_PACKAGE_NAME); addCompilationUnit(u); TypeDecl classDecl = generateUnknownType(); u.addTypeDecl(classDecl); TypeDecl unknown = classDecl; classDecl = generatePrimitiveType(new BooleanType(), "boolean", unknown); u.addTypeDecl(classDecl); classDecl = generatePrimitiveType(new DoubleType(), "double", unknown); u.addTypeDecl(classDecl); classDecl = generatePrimitiveType(new FloatType(), "float", classDecl); u.addTypeDecl(classDecl); classDecl = generatePrimitiveType(new LongType(), "long", classDecl); u.addTypeDecl(classDecl); classDecl = generatePrimitiveType(new IntType(), "int", classDecl); u.addTypeDecl(classDecl); TypeDecl intDecl = classDecl; classDecl = generatePrimitiveType(new ShortType(), "short", classDecl); u.addTypeDecl(classDecl); classDecl = generatePrimitiveType(new ByteType(), "byte", classDecl); u.addTypeDecl(classDecl); classDecl = generatePrimitiveType(new CharType(), "char", intDecl); u.addTypeDecl(classDecl); classDecl = new NullType(); classDecl.setModifiers(new Modifiers(new List().add(new Modifier("public")))); classDecl.setID("null"); u.addTypeDecl(classDecl); classDecl = new VoidType(); classDecl.setModifiers(new Modifiers(new List().add(new Modifier("public")))); classDecl.setID("void"); u.addTypeDecl(classDecl); } } /** * @ast method * @aspect PrimitiveTypes * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/PrimitiveTypes.jrag:65 */ public TypeDecl generatePrimitiveType(PrimitiveType type, String name, TypeDecl superType) { type.setModifiers(new Modifiers(new List().add(new Modifier("public")))); type.setID(name); if(superType != null) type.setSuperClassAccess(superType.createQualifiedAccess()); return type; } /** * @ast method * @aspect PrimitiveTypes * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/PrimitiveTypes.jrag:73 */ private TypeDecl generateUnknownType() { ClassDecl classDecl = new UnknownType(); classDecl.setModifiers(new Modifiers(new List().add(new Modifier("public")))); classDecl.setID("Unknown"); MethodDecl methodDecl = new MethodDecl( new Modifiers(new List().add( new Modifier("public") )), new PrimitiveTypeAccess("Unknown"), "unknown", new List(), new List(), new Opt() ); classDecl.addBodyDecl(methodDecl); FieldDeclaration fieldDecl = new FieldDeclaration( new Modifiers(new List().add( new Modifier("public") )), new PrimitiveTypeAccess("Unknown"), "unknown", new Opt() ); classDecl.addBodyDecl(fieldDecl); ConstructorDecl constrDecl = new ConstructorDecl( new Modifiers(new List().add(new Modifier("public"))), "Unknown", new List(), new List(), new Opt(), new Block() ); classDecl.addBodyDecl(constrDecl); return classDecl; } /** * @ast method * @aspect EmitJimple * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/EmitJimple.jrag:19 */ public void jimplify1() { for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { CompilationUnit u = (CompilationUnit)iter.next(); if(u.fromSource()) u.jimplify1phase1(); } for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { CompilationUnit u = (CompilationUnit)iter.next(); if(u.fromSource()) u.jimplify1phase2(); } } /** * @ast method * @aspect EmitJimple * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/EmitJimple.jrag:359 */ public void jimplify2() { for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { CompilationUnit u = (CompilationUnit)iter.next(); if(u.fromSource()) u.jimplify2(); } } /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:3 */ public static final int SRC_PREC_JAVA = 1; /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:4 */ public static final int SRC_PREC_CLASS = 2; /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:5 */ public static final int SRC_PREC_ONLY_CLASS = 3; /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:7 */ private int srcPrec = 0; /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:8 */ public void setSrcPrec(int i) { srcPrec = i; } /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:14 */ private HashMap loadedCompilationUnit = new HashMap(); /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:15 */ public boolean hasLoadedCompilationUnit(String fileName) { return loadedCompilationUnit.containsKey(fileName); } /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:18 */ public CompilationUnit getCachedOrLoadCompilationUnit(String fileName) { if(loadedCompilationUnit.containsKey(fileName)) return (CompilationUnit)loadedCompilationUnit.get(fileName); addSourceFile(fileName); return (CompilationUnit)loadedCompilationUnit.get(fileName); } /** * @ast method * @aspect IncrementalJimple * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/IncrementalJimple.jrag:12 */ public void releaseCompilationUnitForFile(String fileName) { //clear caches lookupType_String_String_values = new HashMap(); hasPackage_String_values = new HashMap(); loadedCompilationUnit.remove(fileName); List<CompilationUnit> newList = new List<CompilationUnit>(); for (soot.JastAddJ.CompilationUnit cu : getCompilationUnits()) { boolean dontAdd = false; if(cu.fromSource()) { String pathName = cu.pathName(); if (pathName.equals(fileName)) { dontAdd = true; } } if(!dontAdd) { newList.add(cu); } } setCompilationUnitList(newList); } /** * @ast method * @declaredat java.ast:1 */ public Program() { super(); setChild(new List(), 0); is$Final(true); } /** * @ast method * @declaredat java.ast:9 */ public Program(List<CompilationUnit> p0) { setChild(p0, 0); is$Final(true); } /** * @apilevel low-level * @ast method * @declaredat java.ast:16 */ protected int numChildren() { return 1; } /** * @apilevel internal * @ast method * @declaredat java.ast:22 */ public boolean mayHaveRewrite() { return false; } /** * Setter for CompilationUnitList * @apilevel high-level * @ast method * @declaredat java.ast:5 */ public void setCompilationUnitList(List<CompilationUnit> list) { setChild(list, 0); } /** * @return number of children in CompilationUnitList * @apilevel high-level * @ast method * @declaredat java.ast:12 */ public int getNumCompilationUnit() { return getCompilationUnitList().getNumChild(); } /** * Getter for child in list CompilationUnitList * @apilevel high-level * @ast method * @declaredat java.ast:19 */ @SuppressWarnings({"unchecked", "cast"}) public CompilationUnit getCompilationUnit(int i) { return (CompilationUnit)getCompilationUnitList().getChild(i); } /** * Add element to list CompilationUnitList * @apilevel high-level * @ast method * @declaredat java.ast:27 */ public void refined__Program_addCompilationUnit(CompilationUnit node) { List<CompilationUnit> list = (parent == null || state == null) ? getCompilationUnitListNoTransform() : getCompilationUnitList(); list.addChild(node); } /** * @apilevel low-level * @ast method * @declaredat java.ast:34 */ public void addCompilationUnitNoTransform(CompilationUnit node) { List<CompilationUnit> list = getCompilationUnitListNoTransform(); list.addChild(node); } /** * Setter for child in list CompilationUnitList * @apilevel high-level * @ast method * @declaredat java.ast:42 */ public void setCompilationUnit(CompilationUnit node, int i) { List<CompilationUnit> list = getCompilationUnitList(); list.setChild(node, i); } /** * Getter for CompilationUnit list. * @apilevel high-level * @ast method * @declaredat java.ast:50 */ public List<CompilationUnit> getCompilationUnits() { return getCompilationUnitList(); } /** * @apilevel low-level * @ast method * @declaredat java.ast:56 */ public List<CompilationUnit> getCompilationUnitsNoTransform() { return getCompilationUnitListNoTransform(); } /** * Getter for list CompilationUnitList * @apilevel high-level * @ast method * @declaredat java.ast:63 */ @SuppressWarnings({"unchecked", "cast"}) public List<CompilationUnit> refined__Program_getCompilationUnitList() { List<CompilationUnit> list = (List<CompilationUnit>)getChild(0); list.getNumChild(); return list; } /** * @apilevel low-level * @ast method * @declaredat java.ast:72 */ @SuppressWarnings({"unchecked", "cast"}) public List<CompilationUnit> getCompilationUnitListNoTransform() { return (List<CompilationUnit>)getChildNoTransform(0); } /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:36 */ public CompilationUnit getCompilationUnit(String name) { initPaths(); try { if(sourceFiles.selectCompilationUnit(name)) return sourceFiles.getCompilationUnit(); PathPart sourcePart = null; PathPart classPart = null; for(Iterator iter = sourcePath.iterator(); iter.hasNext() && sourcePart == null; ) { PathPart part = (PathPart)iter.next(); if(part.selectCompilationUnit(name)) sourcePart = part; } for(Iterator iter = classPath.iterator(); iter.hasNext() && classPart == null; ) { PathPart part = (PathPart)iter.next(); if(part.selectCompilationUnit(name)) classPart = part; } if(sourcePart != null && srcPrec == SRC_PREC_JAVA) { CompilationUnit unit = sourcePart.getCompilationUnit(); int index = name.lastIndexOf('.'); if(index == -1) return unit; String pkgName = name.substring(0, index); if(pkgName.equals(unit.getPackageDecl())) return unit; } if(classPart != null && srcPrec == SRC_PREC_CLASS) { CompilationUnit unit = classPart.getCompilationUnit(); int index = name.lastIndexOf('.'); if(index == -1) return unit; String pkgName = name.substring(0, index); if(pkgName.equals(unit.getPackageDecl())) return unit; } if(srcPrec == SRC_PREC_ONLY_CLASS) { if(classPart != null) { CompilationUnit unit = classPart.getCompilationUnit(); int index = name.lastIndexOf('.'); if(index == -1) return unit; String pkgName = name.substring(0, index); if(pkgName.equals(unit.getPackageDecl())) return unit; } } else if(sourcePart != null && (classPart == null || classPart.age <= sourcePart.age)) { CompilationUnit unit = sourcePart.getCompilationUnit(); int index = name.lastIndexOf('.'); if(index == -1) return unit; String pkgName = name.substring(0, index); if(pkgName.equals(unit.getPackageDecl())) return unit; } else if(classPart != null) { CompilationUnit unit = classPart.getCompilationUnit(); int index = name.lastIndexOf('.'); if(index == -1) return unit; String pkgName = name.substring(0, index); if(pkgName.equals(unit.getPackageDecl())) return unit; } return null; } catch(IOException e) { } return null; } /** * @ast method * @aspect ClassLoading * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/ClassLoading.jrag:25 */ void addCompilationUnit(CompilationUnit unit) { try { if(unit.pathName() != null) { String fileName = new File(unit.pathName()).getCanonicalPath(); loadedCompilationUnit.put(fileName, unit); } } catch (IOException e) { } refined__Program_addCompilationUnit(unit); } /** * @ast method * @aspect ClassPath * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ClassPath.jrag:84 */ public List getCompilationUnitList() { initPaths(); return refined__Program_getCompilationUnitList(); } /** * @apilevel internal */ protected boolean typeObject_computed = false; /** * @apilevel internal */ protected TypeDecl typeObject_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:15 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeObject() { if(typeObject_computed) { return typeObject_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeObject_value = typeObject_compute(); if(isFinal && num == state().boundariesCrossed) typeObject_computed = true; return typeObject_value; } /** * @apilevel internal */ private TypeDecl typeObject_compute() { return lookupType("java.lang", "Object"); } /** * @apilevel internal */ protected boolean typeCloneable_computed = false; /** * @apilevel internal */ protected TypeDecl typeCloneable_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:16 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeCloneable() { if(typeCloneable_computed) { return typeCloneable_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeCloneable_value = typeCloneable_compute(); if(isFinal && num == state().boundariesCrossed) typeCloneable_computed = true; return typeCloneable_value; } /** * @apilevel internal */ private TypeDecl typeCloneable_compute() { return lookupType("java.lang", "Cloneable"); } /** * @apilevel internal */ protected boolean typeSerializable_computed = false; /** * @apilevel internal */ protected TypeDecl typeSerializable_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:17 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeSerializable() { if(typeSerializable_computed) { return typeSerializable_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeSerializable_value = typeSerializable_compute(); if(isFinal && num == state().boundariesCrossed) typeSerializable_computed = true; return typeSerializable_value; } /** * @apilevel internal */ private TypeDecl typeSerializable_compute() { return lookupType("java.io", "Serializable"); } /** * @apilevel internal */ protected boolean typeBoolean_computed = false; /** * @apilevel internal */ protected TypeDecl typeBoolean_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:22 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeBoolean() { if(typeBoolean_computed) { return typeBoolean_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeBoolean_value = typeBoolean_compute(); if(isFinal && num == state().boundariesCrossed) typeBoolean_computed = true; return typeBoolean_value; } /** * @apilevel internal */ private TypeDecl typeBoolean_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME, "boolean"); } /** * @apilevel internal */ protected boolean typeByte_computed = false; /** * @apilevel internal */ protected TypeDecl typeByte_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:23 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeByte() { if(typeByte_computed) { return typeByte_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeByte_value = typeByte_compute(); if(isFinal && num == state().boundariesCrossed) typeByte_computed = true; return typeByte_value; } /** * @apilevel internal */ private TypeDecl typeByte_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "byte"); } /** * @apilevel internal */ protected boolean typeShort_computed = false; /** * @apilevel internal */ protected TypeDecl typeShort_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:24 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeShort() { if(typeShort_computed) { return typeShort_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeShort_value = typeShort_compute(); if(isFinal && num == state().boundariesCrossed) typeShort_computed = true; return typeShort_value; } /** * @apilevel internal */ private TypeDecl typeShort_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "short"); } /** * @apilevel internal */ protected boolean typeChar_computed = false; /** * @apilevel internal */ protected TypeDecl typeChar_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:25 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeChar() { if(typeChar_computed) { return typeChar_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeChar_value = typeChar_compute(); if(isFinal && num == state().boundariesCrossed) typeChar_computed = true; return typeChar_value; } /** * @apilevel internal */ private TypeDecl typeChar_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "char"); } /** * @apilevel internal */ protected boolean typeInt_computed = false; /** * @apilevel internal */ protected TypeDecl typeInt_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:26 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeInt() { if(typeInt_computed) { return typeInt_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeInt_value = typeInt_compute(); if(isFinal && num == state().boundariesCrossed) typeInt_computed = true; return typeInt_value; } /** * @apilevel internal */ private TypeDecl typeInt_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "int"); } /** * @apilevel internal */ protected boolean typeLong_computed = false; /** * @apilevel internal */ protected TypeDecl typeLong_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:27 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeLong() { if(typeLong_computed) { return typeLong_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeLong_value = typeLong_compute(); if(isFinal && num == state().boundariesCrossed) typeLong_computed = true; return typeLong_value; } /** * @apilevel internal */ private TypeDecl typeLong_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "long"); } /** * @apilevel internal */ protected boolean typeFloat_computed = false; /** * @apilevel internal */ protected TypeDecl typeFloat_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:28 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeFloat() { if(typeFloat_computed) { return typeFloat_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeFloat_value = typeFloat_compute(); if(isFinal && num == state().boundariesCrossed) typeFloat_computed = true; return typeFloat_value; } /** * @apilevel internal */ private TypeDecl typeFloat_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "float"); } /** * @apilevel internal */ protected boolean typeDouble_computed = false; /** * @apilevel internal */ protected TypeDecl typeDouble_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:29 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeDouble() { if(typeDouble_computed) { return typeDouble_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeDouble_value = typeDouble_compute(); if(isFinal && num == state().boundariesCrossed) typeDouble_computed = true; return typeDouble_value; } /** * @apilevel internal */ private TypeDecl typeDouble_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "double"); } /** * @apilevel internal */ protected boolean typeString_computed = false; /** * @apilevel internal */ protected TypeDecl typeString_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:30 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeString() { if(typeString_computed) { return typeString_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeString_value = typeString_compute(); if(isFinal && num == state().boundariesCrossed) typeString_computed = true; return typeString_value; } /** * @apilevel internal */ private TypeDecl typeString_compute() { return lookupType("java.lang", "String"); } /** * @apilevel internal */ protected boolean typeVoid_computed = false; /** * @apilevel internal */ protected TypeDecl typeVoid_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:41 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeVoid() { if(typeVoid_computed) { return typeVoid_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeVoid_value = typeVoid_compute(); if(isFinal && num == state().boundariesCrossed) typeVoid_computed = true; return typeVoid_value; } /** * @apilevel internal */ private TypeDecl typeVoid_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME, "void"); } /** * @apilevel internal */ protected boolean typeNull_computed = false; /** * @apilevel internal */ protected TypeDecl typeNull_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:43 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl typeNull() { if(typeNull_computed) { return typeNull_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); typeNull_value = typeNull_compute(); if(isFinal && num == state().boundariesCrossed) typeNull_computed = true; return typeNull_value; } /** * @apilevel internal */ private TypeDecl typeNull_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME, "null"); } /** * @apilevel internal */ protected boolean unknownType_computed = false; /** * @apilevel internal */ protected TypeDecl unknownType_value; /** * @attribute syn * @aspect SpecialClasses * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:46 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl unknownType() { if(unknownType_computed) { return unknownType_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); unknownType_value = unknownType_compute(); if(isFinal && num == state().boundariesCrossed) unknownType_computed = true; return unknownType_value; } /** * @apilevel internal */ private TypeDecl unknownType_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME, "Unknown"); } protected java.util.Map hasPackage_String_values; /** * @attribute syn * @aspect LookupFullyQualifiedTypes * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:77 */ @SuppressWarnings({"unchecked", "cast"}) public boolean hasPackage(String packageName) { Object _parameters = packageName; if(hasPackage_String_values == null) hasPackage_String_values = new java.util.HashMap(4); if(hasPackage_String_values.containsKey(_parameters)) { return ((Boolean)hasPackage_String_values.get(_parameters)).booleanValue(); } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); boolean hasPackage_String_value = hasPackage_compute(packageName); if(isFinal && num == state().boundariesCrossed) hasPackage_String_values.put(_parameters, Boolean.valueOf(hasPackage_String_value)); return hasPackage_String_value; } /** * @apilevel internal */ private boolean hasPackage_compute(String packageName) { return isPackage(packageName); } protected java.util.Map lookupType_String_String_values; /** * @attribute syn * @aspect LookupFullyQualifiedTypes * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:105 */ @SuppressWarnings({"unchecked", "cast"}) public TypeDecl lookupType(String packageName, String typeName) { java.util.List _parameters = new java.util.ArrayList(2); _parameters.add(packageName); _parameters.add(typeName); if(lookupType_String_String_values == null) lookupType_String_String_values = new java.util.HashMap(4); if(lookupType_String_String_values.containsKey(_parameters)) { return (TypeDecl)lookupType_String_String_values.get(_parameters); } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); TypeDecl lookupType_String_String_value = lookupType_compute(packageName, typeName); if(isFinal && num == state().boundariesCrossed) lookupType_String_String_values.put(_parameters, lookupType_String_String_value); return lookupType_String_String_value; } /** * @apilevel internal */ private TypeDecl lookupType_compute(String packageName, String typeName) { addPrimitiveTypes(); String fullName = packageName.equals("") ? typeName : packageName + "." + typeName; for(int i = 0; i < getNumCompilationUnit(); i++) { for(int j = 0; j < getCompilationUnit(i).getNumTypeDecl(); j++) { TypeDecl type = getCompilationUnit(i).getTypeDecl(j); if(type.fullName().equals(fullName)) { return type; } } } CompilationUnit u = getCompilationUnit(fullName); if(u != null) { addCompilationUnit(u); getCompilationUnit(getNumCompilationUnit()-1); for(int j = 0; j < u.getNumTypeDecl(); j++) { if(u.getTypeDecl(j).name().equals(typeName)) { return u.getTypeDecl(j); } } //throw new Error("No type named " + typeName + " in file " + fullName + ", " + u.pathName() + ", " + u.relativeName()); } return null; } /** * @apilevel internal */ protected boolean unknownConstructor_computed = false; /** * @apilevel internal */ protected ConstructorDecl unknownConstructor_value; /** * @attribute syn * @aspect TypeAnalysis * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:245 */ @SuppressWarnings({"unchecked", "cast"}) public ConstructorDecl unknownConstructor() { if(unknownConstructor_computed) { return unknownConstructor_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); unknownConstructor_value = unknownConstructor_compute(); if(isFinal && num == state().boundariesCrossed) unknownConstructor_computed = true; return unknownConstructor_value; } /** * @apilevel internal */ private ConstructorDecl unknownConstructor_compute() { return (ConstructorDecl)unknownType().constructors().iterator().next(); } /** * @apilevel internal */ protected boolean wildcards_computed = false; /** * @apilevel internal */ protected WildcardsCompilationUnit wildcards_value; /** * @attribute syn * @aspect LookupParTypeDecl * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Generics.jrag:1252 */ @SuppressWarnings({"unchecked", "cast"}) public WildcardsCompilationUnit wildcards() { if(wildcards_computed) { return wildcards_value; } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); wildcards_value = wildcards_compute(); wildcards_value.setParent(this); wildcards_value.is$Final = true; if(true) wildcards_computed = true; return wildcards_value; } /** * @apilevel internal */ private WildcardsCompilationUnit wildcards_compute() { return new WildcardsCompilationUnit( "wildcards", new List(), new List() ); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/AnonymousClasses.jrag:16 * @apilevel internal */ public TypeDecl Define_TypeDecl_superType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_TypeDecl_superType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/AnonymousClasses.jrag:26 * @apilevel internal */ public ConstructorDecl Define_ConstructorDecl_constructorDecl(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_ConstructorDecl_constructorDecl(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Arrays.jrag:19 * @apilevel internal */ public TypeDecl Define_TypeDecl_componentType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return unknownType(); } return getParent().Define_TypeDecl_componentType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/BranchTarget.jrag:173 * @apilevel internal */ public LabeledStmt Define_LabeledStmt_lookupLabel(ASTNode caller, ASTNode child, String name) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_LabeledStmt_lookupLabel(this, caller, name); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:16 * @apilevel internal */ public boolean Define_boolean_isDest(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_isDest(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:26 * @apilevel internal */ public boolean Define_boolean_isSource(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return true; } return getParent().Define_boolean_isSource(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:50 * @apilevel internal */ public boolean Define_boolean_isIncOrDec(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_isIncOrDec(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:324 * @apilevel internal */ public boolean Define_boolean_isDAbefore(ASTNode caller, ASTNode child, Variable v) { if(true) { int childIndex = this.getIndexOfChild(caller); return true; } return getParent().Define_boolean_isDAbefore(this, caller, v); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:709 * @apilevel internal */ public boolean Define_boolean_isDUbefore(ASTNode caller, ASTNode child, Variable v) { if(true) { int childIndex = this.getIndexOfChild(caller); return true; } return getParent().Define_boolean_isDUbefore(this, caller, v); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:13 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeException(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return lookupType("java.lang", "Exception"); } return getParent().Define_TypeDecl_typeException(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:15 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeRuntimeException(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return lookupType("java.lang", "RuntimeException"); } return getParent().Define_TypeDecl_typeRuntimeException(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:17 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeError(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return lookupType("java.lang", "Error"); } return getParent().Define_TypeDecl_typeError(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:19 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeNullPointerException(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return lookupType("java.lang", "NullPointerException"); } return getParent().Define_TypeDecl_typeNullPointerException(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:21 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeThrowable(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return lookupType("java.lang", "Throwable"); } return getParent().Define_TypeDecl_typeThrowable(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:123 * @apilevel internal */ public boolean Define_boolean_handlesException(ASTNode caller, ASTNode child, TypeDecl exceptionType) { if(true) { int childIndex = this.getIndexOfChild(caller); { throw new Error("Operation handlesException not supported"); } } return getParent().Define_boolean_handlesException(this, caller, exceptionType); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:15 * @apilevel internal */ public Collection Define_Collection_lookupConstructor(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return Collections.EMPTY_LIST; } return getParent().Define_Collection_lookupConstructor(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:24 * @apilevel internal */ public Collection Define_Collection_lookupSuperConstructor(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return Collections.EMPTY_LIST; } return getParent().Define_Collection_lookupSuperConstructor(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupMethod.jrag:21 * @apilevel internal */ public Expr Define_Expr_nestedScope(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); { throw new UnsupportedOperationException(); } } return getParent().Define_Expr_nestedScope(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupMethod.jrag:33 * @apilevel internal */ public Collection Define_Collection_lookupMethod(ASTNode caller, ASTNode child, String name) { if(true) { int childIndex = this.getIndexOfChild(caller); return Collections.EMPTY_LIST; } return getParent().Define_Collection_lookupMethod(this, caller, name); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:18 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeObject(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeObject(); } return getParent().Define_TypeDecl_typeObject(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:19 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeCloneable(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeCloneable(); } return getParent().Define_TypeDecl_typeCloneable(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:20 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeSerializable(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeSerializable(); } return getParent().Define_TypeDecl_typeSerializable(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:31 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeBoolean(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeBoolean(); } return getParent().Define_TypeDecl_typeBoolean(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:32 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeByte(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeByte(); } return getParent().Define_TypeDecl_typeByte(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:33 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeShort(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeShort(); } return getParent().Define_TypeDecl_typeShort(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:34 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeChar(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeChar(); } return getParent().Define_TypeDecl_typeChar(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:35 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeInt(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeInt(); } return getParent().Define_TypeDecl_typeInt(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:36 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeLong(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeLong(); } return getParent().Define_TypeDecl_typeLong(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:37 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeFloat(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeFloat(); } return getParent().Define_TypeDecl_typeFloat(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:38 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeDouble(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeDouble(); } return getParent().Define_TypeDecl_typeDouble(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:39 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeString(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeString(); } return getParent().Define_TypeDecl_typeString(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:42 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeVoid(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeVoid(); } return getParent().Define_TypeDecl_typeVoid(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:44 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeNull(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeNull(); } return getParent().Define_TypeDecl_typeNull(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:47 * @apilevel internal */ public TypeDecl Define_TypeDecl_unknownType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return unknownType(); } return getParent().Define_TypeDecl_unknownType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:81 * @apilevel internal */ public boolean Define_boolean_hasPackage(ASTNode caller, ASTNode child, String packageName) { if(true) { int childIndex = this.getIndexOfChild(caller); return hasPackage(packageName); } return getParent().Define_boolean_hasPackage(this, caller, packageName); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:101 * @apilevel internal */ public TypeDecl Define_TypeDecl_lookupType(ASTNode caller, ASTNode child, String packageName, String typeName) { if(true) { int childIndex = this.getIndexOfChild(caller); return lookupType(packageName, typeName); } return getParent().Define_TypeDecl_lookupType(this, caller, packageName, typeName); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:178 * @apilevel internal */ public SimpleSet Define_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name) { if(true) { int childIndex = this.getIndexOfChild(caller); return SimpleSet.emptySet; } return getParent().Define_SimpleSet_lookupType(this, caller, name); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupVariable.jrag:24 * @apilevel internal */ public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name) { if(true) { int childIndex = this.getIndexOfChild(caller); return SimpleSet.emptySet; } return getParent().Define_SimpleSet_lookupVariable(this, caller, name); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:290 * @apilevel internal */ public boolean Define_boolean_mayBePublic(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBePublic(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:291 * @apilevel internal */ public boolean Define_boolean_mayBeProtected(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeProtected(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:292 * @apilevel internal */ public boolean Define_boolean_mayBePrivate(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBePrivate(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:293 * @apilevel internal */ public boolean Define_boolean_mayBeStatic(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeStatic(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:294 * @apilevel internal */ public boolean Define_boolean_mayBeFinal(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeFinal(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:295 * @apilevel internal */ public boolean Define_boolean_mayBeAbstract(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeAbstract(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:296 * @apilevel internal */ public boolean Define_boolean_mayBeVolatile(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeVolatile(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:297 * @apilevel internal */ public boolean Define_boolean_mayBeTransient(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeTransient(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:298 * @apilevel internal */ public boolean Define_boolean_mayBeStrictfp(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeStrictfp(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:299 * @apilevel internal */ public boolean Define_boolean_mayBeSynchronized(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeSynchronized(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/Modifiers.jrag:300 * @apilevel internal */ public boolean Define_boolean_mayBeNative(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayBeNative(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/NameCheck.jrag:249 * @apilevel internal */ public ASTNode Define_ASTNode_enclosingBlock(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_ASTNode_enclosingBlock(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/NameCheck.jrag:300 * @apilevel internal */ public VariableScope Define_VariableScope_outerScope(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); { throw new UnsupportedOperationException("outerScope() not defined"); } } return getParent().Define_VariableScope_outerScope(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/NameCheck.jrag:368 * @apilevel internal */ public boolean Define_boolean_insideLoop(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_insideLoop(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/NameCheck.jrag:375 * @apilevel internal */ public boolean Define_boolean_insideSwitch(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_insideSwitch(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/NameCheck.jrag:425 * @apilevel internal */ public Case Define_Case_bind(ASTNode caller, ASTNode child, Case c) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_Case_bind(this, caller, c); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:354 * @apilevel internal */ public String Define_String_typeDeclIndent(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return ""; } return getParent().Define_String_typeDeclIndent(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/SyntacticClassification.jrag:64 * @apilevel internal */ public NameType Define_NameType_nameType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return NameType.NO_NAME; } return getParent().Define_NameType_nameType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:219 * @apilevel internal */ public boolean Define_boolean_isAnonymous(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_isAnonymous(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:233 * @apilevel internal */ public Variable Define_Variable_unknownField(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return unknownType().findSingleVariable("unknown"); } return getParent().Define_Variable_unknownField(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:237 * @apilevel internal */ public MethodDecl Define_MethodDecl_unknownMethod(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); { for(Iterator iter = unknownType().memberMethods("unknown").iterator(); iter.hasNext(); ) { MethodDecl m = (MethodDecl)iter.next(); return m; } throw new Error("Could not find method unknown in type Unknown"); } } return getParent().Define_MethodDecl_unknownMethod(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:244 * @apilevel internal */ public ConstructorDecl Define_ConstructorDecl_unknownConstructor(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return unknownConstructor(); } return getParent().Define_ConstructorDecl_unknownConstructor(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:256 * @apilevel internal */ public TypeDecl Define_TypeDecl_declType(ASTNode caller, ASTNode child) { if(true) { int i = this.getIndexOfChild(caller); return null; } return getParent().Define_TypeDecl_declType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:514 * @apilevel internal */ public BodyDecl Define_BodyDecl_enclosingBodyDecl(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_BodyDecl_enclosingBodyDecl(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:532 * @apilevel internal */ public boolean Define_boolean_isMemberType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_isMemberType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:579 * @apilevel internal */ public TypeDecl Define_TypeDecl_hostType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_TypeDecl_hostType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeCheck.jrag:360 * @apilevel internal */ public TypeDecl Define_TypeDecl_switchType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return unknownType(); } return getParent().Define_TypeDecl_switchType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeCheck.jrag:406 * @apilevel internal */ public TypeDecl Define_TypeDecl_returnType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeVoid(); } return getParent().Define_TypeDecl_returnType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeCheck.jrag:506 * @apilevel internal */ public TypeDecl Define_TypeDecl_enclosingInstance(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_TypeDecl_enclosingInstance(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:14 * @apilevel internal */ public String Define_String_methodHost(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); { throw new Error("Needs extra equation for methodHost()"); } } return getParent().Define_String_methodHost(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:128 * @apilevel internal */ public boolean Define_boolean_inExplicitConstructorInvocation(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_inExplicitConstructorInvocation(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:137 * @apilevel internal */ public boolean Define_boolean_inStaticContext(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_inStaticContext(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/UnreachableStatements.jrag:160 * @apilevel internal */ public boolean Define_boolean_reportUnreachable(ASTNode caller, ASTNode child) { if(caller == getCompilationUnitListNoTransform()) { int childIndex = caller.getIndexOfChild(child); return true; } return getParent().Define_boolean_reportUnreachable(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/VariableDeclaration.jrag:68 * @apilevel internal */ public boolean Define_boolean_isMethodParameter(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_isMethodParameter(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/VariableDeclaration.jrag:69 * @apilevel internal */ public boolean Define_boolean_isConstructorParameter(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_isConstructorParameter(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/VariableDeclaration.jrag:70 * @apilevel internal */ public boolean Define_boolean_isExceptionHandlerParameter(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_isExceptionHandlerParameter(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Annotations.jrag:94 * @apilevel internal */ public boolean Define_boolean_mayUseAnnotationTarget(ASTNode caller, ASTNode child, String name) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_mayUseAnnotationTarget(this, caller, name); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Annotations.jrag:180 * @apilevel internal */ public ElementValue Define_ElementValue_lookupElementTypeValue(ASTNode caller, ASTNode child, String name) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_ElementValue_lookupElementTypeValue(this, caller, name); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Annotations.jrag:269 * @apilevel internal */ public boolean Define_boolean_withinSuppressWarnings(ASTNode caller, ASTNode child, String s) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_withinSuppressWarnings(this, caller, s); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Annotations.jrag:371 * @apilevel internal */ public boolean Define_boolean_withinDeprecatedAnnotation(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_withinDeprecatedAnnotation(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Annotations.jrag:430 * @apilevel internal */ public Annotation Define_Annotation_lookupAnnotation(ASTNode caller, ASTNode child, TypeDecl typeDecl) { if(true) { int i = this.getIndexOfChild(caller); return null; } return getParent().Define_Annotation_lookupAnnotation(this, caller, typeDecl); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Annotations.jrag:463 * @apilevel internal */ public TypeDecl Define_TypeDecl_enclosingAnnotationDecl(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return unknownType(); } return getParent().Define_TypeDecl_enclosingAnnotationDecl(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/GenericMethodsInference.jrag:39 * @apilevel internal */ public TypeDecl Define_TypeDecl_assignConvertedType(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return typeNull(); } return getParent().Define_TypeDecl_assignConvertedType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Generics.jrag:1279 * @apilevel internal */ public TypeDecl Define_TypeDecl_typeWildcard(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return wildcards().typeWildcard(); } return getParent().Define_TypeDecl_typeWildcard(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Generics.jrag:1290 * @apilevel internal */ public TypeDecl Define_TypeDecl_lookupWildcardExtends(ASTNode caller, ASTNode child, TypeDecl typeDecl) { if(true) { int childIndex = this.getIndexOfChild(caller); return wildcards().lookupWildcardExtends(typeDecl); } return getParent().Define_TypeDecl_lookupWildcardExtends(this, caller, typeDecl); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Generics.jrag:1303 * @apilevel internal */ public TypeDecl Define_TypeDecl_lookupWildcardSuper(ASTNode caller, ASTNode child, TypeDecl typeDecl) { if(true) { int childIndex = this.getIndexOfChild(caller); return wildcards().lookupWildcardSuper(typeDecl); } return getParent().Define_TypeDecl_lookupWildcardSuper(this, caller, typeDecl); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Generics.jrag:1325 * @apilevel internal */ public LUBType Define_LUBType_lookupLUBType(ASTNode caller, ASTNode child, Collection bounds) { if(true) { int childIndex = this.getIndexOfChild(caller); return wildcards().lookupLUBType(bounds); } return getParent().Define_LUBType_lookupLUBType(this, caller, bounds); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Generics.jrag:1363 * @apilevel internal */ public GLBType Define_GLBType_lookupGLBType(ASTNode caller, ASTNode child, ArrayList bounds) { if(true) { int childIndex = this.getIndexOfChild(caller); return wildcards().lookupGLBType(bounds); } return getParent().Define_GLBType_lookupGLBType(this, caller, bounds); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/GenericsParTypeDecl.jrag:46 * @apilevel internal */ public TypeDecl Define_TypeDecl_genericDecl(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_TypeDecl_genericDecl(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/VariableArityParameters.jrag:24 * @apilevel internal */ public boolean Define_boolean_variableArityValid(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_variableArityValid(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Backend/InnerClasses.jrag:62 * @apilevel internal */ public TypeDecl Define_TypeDecl_expectedType(ASTNode caller, ASTNode child) { if(caller == getCompilationUnitListNoTransform()) { int i = caller.getIndexOfChild(child); return null; } return getParent().Define_TypeDecl_expectedType(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:49 * @apilevel internal */ public soot.jimple.Stmt Define_soot_jimple_Stmt_condition_false_label(ASTNode caller, ASTNode child) { if(caller == getCompilationUnitListNoTransform()) { int i = caller.getIndexOfChild(child); { throw new Error("condition_false_label not implemented"); } } return getParent().Define_soot_jimple_Stmt_condition_false_label(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:53 * @apilevel internal */ public soot.jimple.Stmt Define_soot_jimple_Stmt_condition_true_label(ASTNode caller, ASTNode child) { if(caller == getCompilationUnitListNoTransform()) { int i = caller.getIndexOfChild(child); { throw new Error("condition_true_label not implemented"); } } return getParent().Define_soot_jimple_Stmt_condition_true_label(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/LocalNum.jrag:15 * @apilevel internal */ public int Define_int_localNum(ASTNode caller, ASTNode child) { if(caller == getCompilationUnitListNoTransform()) { int index = caller.getIndexOfChild(child); return 0; } return getParent().Define_int_localNum(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/Statements.jrag:349 * @apilevel internal */ public boolean Define_boolean_enclosedByExceptionHandler(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return false; } return getParent().Define_boolean_enclosedByExceptionHandler(this, caller); } /** * @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/Statements.jrag:465 * @apilevel internal */ public ArrayList Define_ArrayList_exceptionRanges(ASTNode caller, ASTNode child) { if(true) { int childIndex = this.getIndexOfChild(caller); return null; } return getParent().Define_ArrayList_exceptionRanges(this, caller); } /** * @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); } }