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; public class ASTNode$State extends java.lang.Object { // Declared in ASTNode at line 2 public boolean IN_CIRCLE = false; // Declared in ASTNode at line 3 public int CIRCLE_INDEX = 1; // Declared in ASTNode at line 4 public boolean CHANGE = false; // Declared in ASTNode at line 5 public boolean RESET_CYCLE = false; // Declared in ASTNode at line 6 static public class CircularValue { Object value; int visited = -1; } // Declared in ASTNode at line 10 public static final int REWRITE_CHANGE = 1; // Declared in ASTNode at line 11 public static final int REWRITE_NOCHANGE = 2; // Declared in ASTNode at line 12 public static final int REWRITE_INTERRUPT = 3; // Declared in ASTNode at line 13 public int boundariesCrossed = 0; // Declared in ASTNode at line 15 private int[] stack; // Declared in ASTNode at line 16 private int pos; // Declared in ASTNode at line 17 public ASTNode$State() { stack = new int[64]; pos = 0; } // Declared in ASTNode at line 21 private void ensureSize(int size) { if(size < stack.length) return; int[] newStack = new int[stack.length * 2]; System.arraycopy(stack, 0, newStack, 0, stack.length); stack = newStack; } // Declared in ASTNode at line 28 public void push(int i) { ensureSize(pos+1); stack[pos++] = i; } // Declared in ASTNode at line 32 public int pop() { return stack[--pos]; } // Declared in ASTNode at line 35 public int peek() { return stack[pos-1]; } // Declared in ASTNode at line 38 static class IdentityHashSet extends java.util.AbstractSet implements java.util.Set { public IdentityHashSet(int initialCapacity) { map = new java.util.IdentityHashMap(initialCapacity); } private java.util.IdentityHashMap map; private static final Object PRESENT = new Object(); public java.util.Iterator iterator() { return map.keySet().iterator(); } public int size() { return map.size(); } public boolean isEmpty() { return map.isEmpty(); } public boolean contains(Object o) { return map.containsKey(o); } public boolean add(Object o) { return map.put(o, PRESENT)==null; } public boolean remove(Object o) { return map.remove(o)==PRESENT; } public void clear() { map.clear(); } } // Declared in Options.jadd at line 13 public Options options = new Options(); // Declared in Transformations.jrag at line 219 public int replacePos = 0; // Declared in ASTNode.ast at line 128 protected int duringLookupConstructor = 0; // Declared in ASTNode.ast at line 139 protected int duringBoundNames = 0; // Declared in ASTNode.ast at line 150 protected int duringResolveAmbiguousNames = 0; // Declared in ASTNode.ast at line 161 protected int duringSyntacticClassification = 0; // Declared in ASTNode.ast at line 172 protected int duringAnonymousClasses = 0; // Declared in ASTNode.ast at line 183 protected int duringVariableDeclaration = 0; // Declared in ASTNode.ast at line 194 protected int duringConstantExpression = 0; // Declared in ASTNode.ast at line 205 protected int duringDefiniteAssignment = 0; // Declared in ASTNode.ast at line 216 protected int duringAnnotations = 0; // Declared in ASTNode.ast at line 227 protected int duringEnums = 0; // Declared in ASTNode.ast at line 238 protected int duringGenericTypeVariables = 0; // Declared in ASTNode.ast at line 249 public void reset() { IN_CIRCLE = false; CIRCLE_INDEX = 1; CHANGE = false; boundariesCrossed = 0; if(duringLookupConstructor != 0) { System.out.println("Warning: resetting duringLookupConstructor"); duringLookupConstructor = 0; } if(duringBoundNames != 0) { System.out.println("Warning: resetting duringBoundNames"); duringBoundNames = 0; } if(duringResolveAmbiguousNames != 0) { System.out.println("Warning: resetting duringResolveAmbiguousNames"); duringResolveAmbiguousNames = 0; } if(duringSyntacticClassification != 0) { System.out.println("Warning: resetting duringSyntacticClassification"); duringSyntacticClassification = 0; } if(duringAnonymousClasses != 0) { System.out.println("Warning: resetting duringAnonymousClasses"); duringAnonymousClasses = 0; } if(duringVariableDeclaration != 0) { System.out.println("Warning: resetting duringVariableDeclaration"); duringVariableDeclaration = 0; } if(duringConstantExpression != 0) { System.out.println("Warning: resetting duringConstantExpression"); duringConstantExpression = 0; } if(duringDefiniteAssignment != 0) { System.out.println("Warning: resetting duringDefiniteAssignment"); duringDefiniteAssignment = 0; } if(duringAnnotations != 0) { System.out.println("Warning: resetting duringAnnotations"); duringAnnotations = 0; } if(duringEnums != 0) { System.out.println("Warning: resetting duringEnums"); duringEnums = 0; } if(duringGenericTypeVariables != 0) { System.out.println("Warning: resetting duringGenericTypeVariables"); duringGenericTypeVariables = 0; } } }