@Override public boolean visit(QualifiedSuperReference qualifiedSuperReference, BlockScope scope) { if (skipTypeInAnnotation) { return true; } CtTypeReference<Object> typeRefOfSuper = references.getTypeReference(qualifiedSuperReference.qualification.resolvedType); final CtSuperAccess<Object> superAccess = factory.Core().createSuperAccess(); CtTypeAccess<Object> typeAccess = factory.Core().createTypeAccess(); typeAccess.setType(typeRefOfSuper); superAccess.setTarget(typeAccess); context.enter(superAccess, qualifiedSuperReference); return false; }
@Override public boolean visit(QualifiedThisReference qualifiedThisReference, BlockScope scope) { final CtTypeReference<Object> typeRefOfThis = references.getTypeReference(qualifiedThisReference.qualification.resolvedType); CtThisAccess<Object> thisAccess = factory.Core().createThisAccess(); thisAccess.setImplicit(qualifiedThisReference.isImplicitThis()); thisAccess.setType(typeRefOfThis); CtTypeAccess<Object> typeAccess = factory.Core().createTypeAccess(); typeAccess.setType(typeRefOfThis); thisAccess.setTarget(typeAccess); context.enter(thisAccess, qualifiedThisReference); return true; }
} else if (singleNameReference.binding instanceof TypeBinding) { CtTypeAccess<Object> ta = factory.Core().createTypeAccess(); ta.setType(references.getTypeReference((TypeBinding) singleNameReference.binding)); context.enter(ta, singleNameReference); } else if (singleNameReference.binding instanceof ProblemBinding) { final CtTypeReference<Object> typeReference = factory.Core().createTypeReference(); typeReference.setSimpleName(new String(singleNameReference.binding.readableName())); ta.setType(typeReference); context.enter(ta, singleNameReference); return true;
ta.setType(inv.getExecutable().getDeclaringType()); inv.setTarget(ta);
} else if (qualifiedNameReference.binding instanceof TypeBinding) { CtTypeAccess<Object> ta = factory.Core().createTypeAccess(); ta.setType(references.getTypeReference((TypeBinding) qualifiedNameReference.binding)); context.enter(ta, qualifiedNameReference); return false; final CtTypeReference<Object> typeReference = factory.Core().createTypeReference(); typeReference.setSimpleName(qualifiedNameReference.toString()); ta.setType(typeReference); context.enter(ta, qualifiedNameReference);