public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { hasSideEffects = hasSideEffects || SideEffectMethodMarker.hasSideEffects(programMethod); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Remember whether the code has any side effects. hasSideEffects = hasSideEffects(clazz, method, codeAttribute); }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if (SideEffectMethodMarker.hasSideEffects(programMethod)) { memberVisitor.visitProgramMethod(programClass, programMethod); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if (SideEffectMethodMarker.hasSideEffects(programMethod)) { memberVisitor.visitProgramMethod(programClass, programMethod); } }
public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) { if (SideEffectMethodMarker.hasSideEffects(libraryMethod)) { memberVisitor.visitLibraryMethod(libraryClass, libraryMethod); } } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Note that side effects already include synchronization of some // implementation of the method. hasSideEffects = SideEffectMethodMarker.hasSideEffects(programMethod) || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programMethod); }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if (SideEffectMethodMarker.hasSideEffects(programMethod)) { memberVisitor.visitProgramMethod(programClass, programMethod); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Note that side effects already include synchronization of some // implementation of the method. hasSideEffects = SideEffectMethodMarker.hasSideEffects(programMethod) || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programMethod); }
public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) { if (SideEffectMethodMarker.hasSideEffects(libraryMethod)) { memberVisitor.visitLibraryMethod(libraryClass, libraryMethod); } } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Note that side effects already include synchronization of some // implementation of the method. hasSideEffects = SideEffectMethodMarker.hasSideEffects(programMethod) || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programMethod); }
public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) { if (SideEffectMethodMarker.hasSideEffects(libraryMethod)) { memberVisitor.visitLibraryMethod(libraryClass, libraryMethod); } } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { if (!hasSideEffects(programMethod) && !NoSideEffectMethodMarker.hasNoSideEffects(programMethod)) { // Initialize the return value. hasSideEffects = (programMethod.getAccessFlags() & (ClassConstants.INTERNAL_ACC_NATIVE | ClassConstants.INTERNAL_ACC_SYNCHRONIZED)) != 0; // Look further if the method hasn't been marked yet. if (!hasSideEffects) { // Investigate the actual code. programMethod.attributesAccept(programClass, this); } // Mark the method depending on the return value. if (hasSideEffects) { markSideEffects(programMethod); newSideEffectCount++; } } }
SideEffectMethodMarker.hasSideEffects(referencedMethod) &&
SideEffectMethodMarker.hasSideEffects(referencedMethod) &&
SideEffectMethodMarker.hasSideEffects(referencedMethod) &&