return new ThisOrTargetPointcut(isThis, newType);
Pointcut ret = new ThisOrTargetPointcut(isThis, newType); ret.copyLocationFrom(this); return ret;
	public Pointcut concretize1(ResolvedTypeX inAspect, IntMap bindings) {		if (isDeclare(bindings.getEnclosingAdvice())) {		  // Enforce rule about which designators are supported in declare		  inAspect.getWorld().showMessage(IMessage.ERROR,		  		WeaverMessages.format(WeaverMessages.THIS_OR_TARGET_IN_DECLARE,isThis?"this":"target"),				bindings.getEnclosingAdvice().getSourceLocation(), null);		  return Pointcut.makeMatchesNothing(Pointcut.CONCRETE);		}				TypePattern newType = type.remapAdviceFormals(bindings);		if (inAspect.crosscuttingMembers != null) {			inAspect.crosscuttingMembers.exposeType(newType.getExactType());		}				return new ThisOrTargetPointcut(isThis, newType);	}