shadow.getThisJoinPointBcelVar().appendLoad(il, fact);
il.append(shadow.loadThisJoinPoint());
	public InstructionList getAdviceArgSetup(		BcelShadow shadow,		BcelVar extraVar,		InstructionList closureInstantiation) 	{        InstructionFactory fact = shadow.getFactory();        BcelWorld world = shadow.getWorld();        InstructionList il = new InstructionList();//        if (targetAspectField != null) {//        	il.append(fact.createFieldAccess(//        		targetAspectField.getDeclaringType().getName(),//        		targetAspectField.getName(),//        		BcelWorld.makeBcelType(targetAspectField.getType()),//        		Constants.GETSTATIC));//        }//        		//System.err.println("BcelAdvice: " + exposedState);		if (exposedState.getAspectInstance() != null) {			il.append(				BcelRenderer.renderExpr(fact, world, exposedState.getAspectInstance()));		}        for (int i = 0, len = exposedState.size(); i < len; i++) {            BcelVar v = (BcelVar) exposedState.get(i);            if (v == null) continue;            TypeX desiredTy = getSignature().getParameterTypes()[i];            v.appendLoadAndConvert(il, fact, desiredTy.resolve(world));        }        		if (getKind() == AdviceKind.Around) {			il.append(closureInstantiation);		} else if (hasExtraParameter()) {			extraVar.appendLoadAndConvert(				il,				fact,				getExtraParameterType().resolve(world));		}                // handle thisJoinPoint parameters        // these need to be in that same order as parameters in         // org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration        if ((getExtraParameterFlags() & ThisJoinPointStaticPart) != 0) {        	shadow.getThisJoinPointStaticPartBcelVar().appendLoad(il, fact);        }                if ((getExtraParameterFlags() & ThisJoinPoint) != 0) {        	shadow.getThisJoinPointBcelVar().appendLoad(il, fact);        }                if ((getExtraParameterFlags() & ThisEnclosingJoinPointStaticPart) != 0) {        	shadow.getThisEnclosingJoinPointStaticPartBcelVar().appendLoad(il, fact);        }                        return il;    }