public void visitProgramField(ProgramClass programClass, ProgramField programField) { // Mark the field if it is being read from. if (reading) { markAsRead(programField); } // Mark the field if it is being written to. if (writing) { markAsWritten(programField); } }
new ReadWriteFieldMarker(repeatTrigger);
public void visitProgramField(ProgramClass programClass, ProgramField programField) { hasSideEffects = ReadWriteFieldMarker.isRead(programField); }
new ReadWriteFieldMarker(repeatTrigger);
public void visitProgramField(ProgramClass programClass, ProgramField programField) { hasSideEffects = (writingField && ReadWriteFieldMarker.isRead(programField)) || (programField.getAccessFlags() & ClassConstants.ACC_VOLATILE) != 0 || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programField); }
public void visitProgramField(ProgramClass programClass, ProgramField programField) { // Mark the field if it is being read from. if (reading) { markAsRead(programField); } // Mark the field if it is being written to. if (writing) { markAsWritten(programField); } }
new ReadWriteFieldMarker(repeatTrigger);
public void visitProgramField(ProgramClass programClass, ProgramField programField) { hasSideEffects = (writingField && ReadWriteFieldMarker.isRead(programField)) || (programField.getAccessFlags() & ClassConstants.ACC_VOLATILE) != 0 || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programField); }
public void visitProgramField(ProgramClass programClass, ProgramField programField) { // Mark the field if it is being read from. if (reading) { markAsRead(programField); } // Mark the field if it is being written to. if (writing) { markAsWritten(programField); } }
new AllAttributeVisitor( new AllInstructionVisitor( new ReadWriteFieldMarker())))); new ReadWriteFieldMarker()));
public void visitProgramField(ProgramClass programClass, ProgramField programField) { hasSideEffects = (writingField && ReadWriteFieldMarker.isRead(programField)) || (programField.getAccessFlags() & ClassConstants.ACC_VOLATILE) != 0 || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programField); }
public void visitProgramField(ProgramClass programClass, ProgramField programField) { // Mark the field if it is being read from. if (reading) { markAsRead(programField); } // Mark the field if it is being written to. if (writing) { markAsWritten(programField); } }
new ReadWriteFieldMarker(repeatTrigger); new ReadWriteFieldMarker(repeatTrigger);
new ReadWriteFieldMarker(repeatTrigger); new ReadWriteFieldMarker(repeatTrigger);
new ReadWriteFieldMarker(repeatTrigger); new ReadWriteFieldMarker(repeatTrigger);