exitInstructions.append(Utility.createGet(fact, cflowStackField));
exitInstructions.append(Utility.createGet(fact, cflowField)); if (munger.getKind() != AdviceKind.PerCflowEntry && munger.getKind() != AdviceKind.PerCflowBelowEntry && munger.getExposedStateAsBcelVars().length==0) { exitInstructions .append( fact .createInvoke( NameMangler.CFLOW_COUNTER_TYPE, "dec", Type.VOID, new Type[] { }, Constants.INVOKEVIRTUAL)); } else {
			public InstructionList getAdviceInstructions(				BcelShadow s,				BcelVar extraArgVar,				InstructionHandle ifNoAdvice) {				InstructionList exitInstructions = new InstructionList();				if (munger.hasDynamicTests()) {					testResult.appendLoad(exitInstructions, fact);					exitInstructions.append(						InstructionFactory.createBranchInstruction(							Constants.IFEQ,							ifNoAdvice));				}				exitInstructions.append(Utility.createGet(fact, cflowStackField));				exitInstructions					.append(						fact						.createInvoke(							NameMangler.CFLOW_STACK_TYPE,							"pop",							Type.VOID,							new Type[] {				}, Constants.INVOKEVIRTUAL));				return exitInstructions;			}