private <T> boolean hasChildEqualsToEnclosingInstance(CtConstructorCall<T> ctConstructorCall) { if (!(jdtTreeBuilder.getContextBuilder().stack.peek().node instanceof QualifiedAllocationExpression)) { return false; } final QualifiedAllocationExpression parent = (QualifiedAllocationExpression) jdtTreeBuilder.getContextBuilder().stack.peek().node; // Enclosing instance is equals to the jdt child. return parent.enclosingInstance != null && getFinalExpressionFromCast(parent.enclosingInstance).equals(childJDT) // Enclosing instance not yet initialized. && !child.equals(ctConstructorCall.getTarget()); }
@java.lang.Override public <T> void visitCtConstructorCall(final spoon.reflect.code.CtConstructorCall<T> ctConstructorCall) { spoon.reflect.code.CtConstructorCall other = ((spoon.reflect.code.CtConstructorCall) (this.stack.peek())); enter(ctConstructorCall); biScan(spoon.reflect.path.CtRole.ANNOTATION, ctConstructorCall.getAnnotations(), other.getAnnotations()); biScan(spoon.reflect.path.CtRole.CAST, ctConstructorCall.getTypeCasts(), other.getTypeCasts()); biScan(spoon.reflect.path.CtRole.EXECUTABLE_REF, ctConstructorCall.getExecutable(), other.getExecutable()); biScan(spoon.reflect.path.CtRole.TARGET, ctConstructorCall.getTarget(), other.getTarget()); biScan(spoon.reflect.path.CtRole.ARGUMENT, ctConstructorCall.getArguments(), other.getArguments()); biScan(spoon.reflect.path.CtRole.COMMENT, ctConstructorCall.getComments(), other.getComments()); exit(ctConstructorCall); }
private <T> void printConstructorCall(CtConstructorCall<T> ctConstructorCall) { try (Writable _context = context.modify()) { if (ctConstructorCall.getTarget() != null) { scan(ctConstructorCall.getTarget()); printer.writeSeparator("."); _context.ignoreEnclosingClass(true); } if (hasDeclaringTypeWithGenerics(ctConstructorCall.getType())) { _context.ignoreEnclosingClass(true); } printer.writeKeyword("new").writeSpace(); if (!ctConstructorCall.getActualTypeArguments().isEmpty()) { elementPrinterHelper.writeActualTypeArguments(ctConstructorCall); } scan(ctConstructorCall.getType()); } elementPrinterHelper.printList(ctConstructorCall.getArguments(), null, false, "(", false, false, ",", true, false, ")", exp -> scan(exp)); }
@Override public <T> void visitCtConstructorCall(final CtConstructorCall<T> ctConstructorCall) { enter(ctConstructorCall); scan(CtRole.ANNOTATION, ctConstructorCall.getAnnotations()); scan(CtRole.CAST, ctConstructorCall.getTypeCasts()); scan(CtRole.EXECUTABLE_REF, ctConstructorCall.getExecutable()); scan(CtRole.TARGET, ctConstructorCall.getTarget()); scan(CtRole.ARGUMENT, ctConstructorCall.getArguments()); scan(CtRole.COMMENT, ctConstructorCall.getComments()); exit(ctConstructorCall); }
@java.lang.Override public <T> void visitCtConstructorCall(final spoon.reflect.code.CtConstructorCall<T> ctConstructorCall) { replaceInListIfExist(ctConstructorCall.getAnnotations(), new spoon.support.visitor.replace.ReplacementVisitor.CtElementAnnotationsReplaceListener(ctConstructorCall)); replaceInListIfExist(ctConstructorCall.getTypeCasts(), new spoon.support.visitor.replace.ReplacementVisitor.CtExpressionTypeCastsReplaceListener(ctConstructorCall)); replaceElementIfExist(ctConstructorCall.getExecutable(), new spoon.support.visitor.replace.ReplacementVisitor.CtAbstractInvocationExecutableReplaceListener(ctConstructorCall)); replaceElementIfExist(ctConstructorCall.getTarget(), new spoon.support.visitor.replace.ReplacementVisitor.CtTargetedExpressionTargetReplaceListener(ctConstructorCall)); replaceInListIfExist(ctConstructorCall.getArguments(), new spoon.support.visitor.replace.ReplacementVisitor.CtAbstractInvocationArgumentsReplaceListener(ctConstructorCall)); replaceInListIfExist(ctConstructorCall.getComments(), new spoon.support.visitor.replace.ReplacementVisitor.CtElementCommentsReplaceListener(ctConstructorCall)); }
@java.lang.Override public <T> void visitCtConstructorCall(final spoon.reflect.code.CtConstructorCall<T> ctConstructorCall) { spoon.reflect.code.CtConstructorCall<T> aCtConstructorCall = ctConstructorCall.getFactory().Core().createConstructorCall(); this.builder.copy(ctConstructorCall, aCtConstructorCall); aCtConstructorCall.setAnnotations(this.cloneHelper.clone(ctConstructorCall.getAnnotations())); aCtConstructorCall.setTypeCasts(this.cloneHelper.clone(ctConstructorCall.getTypeCasts())); aCtConstructorCall.setExecutable(this.cloneHelper.clone(ctConstructorCall.getExecutable())); aCtConstructorCall.setTarget(this.cloneHelper.clone(ctConstructorCall.getTarget())); aCtConstructorCall.setArguments(this.cloneHelper.clone(ctConstructorCall.getArguments())); aCtConstructorCall.setComments(this.cloneHelper.clone(ctConstructorCall.getComments())); this.cloneHelper.tailor(ctConstructorCall, aCtConstructorCall); this.other = aCtConstructorCall; }
@Override public <T> void visitCtConstructorCall(CtConstructorCall<T> ctConstructorCall) { enter(ctConstructorCall); scan(ctConstructorCall.getAnnotations()); scan(ctConstructorCall.getType()); scanReferences(ctConstructorCall.getTypeCasts()); scan(ctConstructorCall.getExecutable()); scan(ctConstructorCall.getTarget()); scan(ctConstructorCall.getArguments()); exit(ctConstructorCall); }