public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new EscapingClassMarker())); } };
public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new EscapingClassMarker())); } };
public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new EscapingClassMarker())); } };
/** * Clears any JSE preverification information from the program classes. */ private void clearPreverification() { programClassPool.classesAccept( new ClassVersionFilter(ClassConstants.CLASS_VERSION_1_6, new AllMethodVisitor( new AllAttributeVisitor( new NamedAttributeDeleter(ClassConstants.ATTR_StackMapTable))))); }
/** * Clears any JSE preverification information from the program classes. */ private void clearPreverification() { programClassPool.classesAccept( new ClassVersionFilter(ClassConstants.CLASS_VERSION_1_6, new AllMethodVisitor( new AllAttributeVisitor( new NamedAttributeDeleter(ClassConstants.ATTR_StackMapTable))))); }
/** * Clears any JSE preverification information from the program classes. */ private void clearPreverification() { programClassPool.classesAccept( new ClassVersionFilter(ClassConstants.CLASS_VERSION_1_6, new AllMethodVisitor( new AllAttributeVisitor( new NamedAttributeDeleter(ClassConstants.ATTR_StackMapTable))))); }
/** * Trims the line number table attributes of all program classes. */ private void trimLineNumbers() { programClassPool.classesAccept(new AllAttributeVisitor(true, new LineNumberTableAttributeTrimmer())); }
/** * Trims the line number table attributes of all program classes. */ private void trimLineNumbers() { programClassPool.classesAccept(new AllAttributeVisitor(true, new LineNumberTableAttributeTrimmer())); }
/** * Trims the line number table attributes of all program classes. */ private void trimLineNumbers() { programClassPool.classesAccept(new AllAttributeVisitor(true, new LineNumberTableAttributeTrimmer())); }
public void visitProgramClass(ProgramClass programClass) { constantPoolEditor = new ConstantPoolEditor(programClass); // Visit all methods that have "NEWARRAY" instructions. programClass.methodsAccept( new AllAttributeVisitor( new ArrayInitializationFilter( this))); }
public void visitProgramClass(ProgramClass programClass) { constantPoolEditor = new ConstantPoolEditor(programClass); // Visit all methods that have "NEWARRAY" instructions. programClass.methodsAccept( new AllAttributeVisitor( new ArrayInitializationFilter( this))); }
public void visitProgramClass(ProgramClass programClass) { constantPoolEditor = new ConstantPoolEditor(programClass); // Visit all methods that have "NEWARRAY" instructions. programClass.methodsAccept( new AllAttributeVisitor( new ArrayInitializationFilter( this))); }
public ClassVisitor createClassVisitor() { ValueFactory valueFactory = new ParticularValueFactory(); InvocationUnit storingInvocationUnit = new StoringInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter || classMergingWrapper, methodPropagationReturnvalue); return new ClassAccessFilter(0, ClassConstants.ACC_SYNTHETIC, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Filling out fields, method parameters, and return values", new PartialEvaluator(valueFactory, storingInvocationUnit, false))))); } };
public ClassVisitor createClassVisitor() { ValueFactory valueFactory = new ParticularValueFactory(); InvocationUnit storingInvocationUnit = new StoringInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter || classMergingWrapper, methodPropagationReturnvalue); return new ClassAccessFilter(0, ClassConstants.ACC_SYNTHETIC, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Filling out fields, method parameters, and return values", new PartialEvaluator(valueFactory, storingInvocationUnit, false))))); } };
public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Variable optimizations", new OptimizationCodeAttributeFilter( new VariableOptimizer(false, codeAllocationVariableCounter))))); } };
public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Variable optimizations", new OptimizationCodeAttributeFilter( new VariableOptimizer(false, codeAllocationVariableCounter))))); } };
public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Variable optimizations", new OptimizationCodeAttributeFilter( new VariableOptimizer(false, codeAllocationVariableCounter))))); } };
public void visitProgramClass(ProgramClass programClass) { // Find the highest line number in the entire class. LineNumberRangeFinder lineNumberRangeFinder = new LineNumberRangeFinder(); programClass.methodsAccept(new AllAttributeVisitor(true, new AllLineNumberInfoVisitor( lineNumberRangeFinder))); // Are there any inlined line numbers? if (lineNumberRangeFinder.hasSource()) { // Remember the minimum initial shift. highestUsedLineNumber = lineNumberRangeFinder.getHighestLineNumber(); // Shift the inlined line numbers. programClass.methodsAccept(this); } }
public void visitProgramClass(ProgramClass programClass) { // Find the highest line number in the entire class. LineNumberRangeFinder lineNumberRangeFinder = new LineNumberRangeFinder(); programClass.methodsAccept(new AllAttributeVisitor(true, new AllLineNumberInfoVisitor( lineNumberRangeFinder))); // Are there any inlined line numbers? if (lineNumberRangeFinder.hasSource()) { // Remember the minimum initial shift. highestUsedLineNumber = lineNumberRangeFinder.getHighestLineNumber(); // Shift the inlined line numbers. programClass.methodsAccept(this); } }
public void visitProgramClass(ProgramClass programClass) { // Find the highest line number in the entire class. LineNumberRangeFinder lineNumberRangeFinder = new LineNumberRangeFinder(); programClass.methodsAccept(new AllAttributeVisitor(true, new AllLineNumberInfoVisitor( lineNumberRangeFinder))); // Are there any inlined line numbers? if (lineNumberRangeFinder.hasSource()) { // Remember the minimum initial shift. highestUsedLineNumber = lineNumberRangeFinder.getHighestLineNumber(); // Shift the inlined line numbers. programClass.methodsAccept(this); } }