case PUTFIELD: case PUTSTATIC: case IRETURN:
    public void sawOpcode(int seen) {	/* prototype for short-circuit bug */	distance++;	switch (seen) {		case ICONST_1: 			stage1 = 1;			break;		case GOTO:			if (stage1 == 1) stage1 = 2;			else stage1 = 0;			break;		case ICONST_0:			if (stage1 == 2)  {				distance = 0;				// System.out.println("saw 1; goto X; 0");				}			stage1 = 0;		default:			stage1 = 0;		}	switch (seen) {		case IAND: 		case IOR: 			// System.out.println("Saw IOR or IAND at distance " + distance);						if (distance < 4)  {				distance2 = distance;				stage2 = 1;				}			else stage2 = 0;			break;		case IFEQ: 		case IFNE: 		case PUTFIELD: 		case PUTSTATIC: 		case IRETURN: 			if (stage2 == 1)   {				// System.out.println("Found nsc");                                bugReporter.reportBug(				new BugInstance("NS_NON_SHORT_CIRCUIT", 						NORMAL_PRIORITY)                                        .addClassAndMethod(this)					.addSourceLine(this, PC));				}			stage2 = 0;			break;		default:			stage2 = 0;			break;		};		}