@Override public <T> void visitCtConstructor(CtConstructor<T> constructor) { elementPrinterHelper.writeComment(constructor); elementPrinterHelper.visitCtNamedElement(constructor, sourceCompilationUnit); elementPrinterHelper.writeModifiers(constructor); elementPrinterHelper.writeFormalTypeParameters(constructor); if (!constructor.getFormalCtTypeParameters().isEmpty()) { printer.writeSpace(); } if (constructor.getDeclaringType() != null) { if (constructor.getDeclaringType().isLocalType()) { printer.writeIdentifier(constructor.getDeclaringType().getSimpleName().replaceAll("^[0-9]*", "")); } else { printer.writeIdentifier(constructor.getDeclaringType().getSimpleName()); } } elementPrinterHelper.writeExecutableParameters(constructor); elementPrinterHelper.writeThrowsClause(constructor); printer.writeSpace(); scan(constructor.getBody()); }
@Override public <T> void visitCtConstructor(CtConstructor<T> c) { if (c.getDeclaringType() != null) { write(c.getDeclaringType().getQualifiedName()); } write("("); for (CtParameter<?> p : c.getParameters()) { scan(p.getType()); write(","); } if (!c.getParameters().isEmpty()) { clearLast(); } write(")"); }
private <T> CtExecutableReference<T> createReferenceInternal(CtExecutable<T> e) { CtTypeReference<?>[] refs = new CtTypeReference[e.getParameters().size()]; int i = 0; for (CtParameter<?> param : e.getParameters()) { refs[i++] = getMethodParameterType(param.getType()); } String executableName = e.getSimpleName(); if (e instanceof CtMethod) { boolean isStatic = ((CtMethod) e).hasModifier(ModifierKind.STATIC); return createReference(((CtMethod<T>) e).getDeclaringType().getReference(), isStatic, ((CtMethod<T>) e).getType().clone(), executableName, refs); } else if (e instanceof CtLambda) { CtMethod<T> lambdaMethod = ((CtLambda) e).getOverriddenMethod(); return createReference(e.getParent(CtType.class).getReference(), lambdaMethod == null ? null : lambdaMethod.getType().clone(), executableName, refs); } else if (e instanceof CtAnonymousExecutable) { return createReference(((CtAnonymousExecutable) e).getDeclaringType().getReference(), e.getType().clone(), executableName); } // constructor return createReference(((CtConstructor<T>) e).getDeclaringType().getReference(), ((CtConstructor<T>) e).getType().clone(), CtExecutableReference.CONSTRUCTOR_NAME, refs); }
public <T> void visitCtConstructor(CtConstructor<T> c) { write(c.getDeclaringType().getQualifiedName()); write("("); for (CtParameter<?> p : c.getParameters()) { scan(p.getType()); write(","); } if (!c.getParameters().isEmpty()) { clearLast(); } write(")"); }
/** * Creates an executable reference from an existing executable. */ public <T> CtExecutableReference<T> createReference(CtExecutable<T> e) { CtTypeReference<?> refs[] = new CtTypeReference[e.getParameters().size()]; int i = 0; for (CtParameter<?> param : e.getParameters()) { refs[i++] = param.getType(); } if (e instanceof CtMethod) { return createReference(((CtMethod<T>) e).getDeclaringType().getReference(), ((CtMethod<T>) e).getType(), e.getSimpleName(), refs); } return createReference(((CtConstructor<T>) e).getDeclaringType().getReference(), ((CtConstructor<T>) e).getType(), CtExecutableReference.CONSTRUCTOR_NAME, refs); }
CtConstructor superConstructor = (CtConstructor) superConstructorCall .getExecutable().getDeclaration(); if (superConstructor.getDeclaringType() == toMerge) { CtBlock superConstructorBody = c.getFactory().Core().clone(superConstructor.getBody());
public <T> void visitCtConstructor(CtConstructor<T> c) { visitCtNamedElement(c); writeModifiers(c); writeFormalTypeParameters(c.getFormalTypeParameters()); write(c.getDeclaringType().getSimpleName()); write("("); if (c.getParameters().size() > 0) { for (CtParameter<?> p : c.getParameters()) { visitCtParameter(p); write(" ,"); } removeLastChar(); } write(") "); if ((c.getThrownTypes() != null) && (c.getThrownTypes().size() > 0)) { write("throws "); for (CtTypeReference<?> ref : c.getThrownTypes()) { scan(ref); write(" , "); } removeLastChar(); write(" "); } scan(c.getBody()); }