static List<ParameterSpec> parametersOf(ExecutableElement method) { List<ParameterSpec> result = new ArrayList<>(); for (VariableElement parameter : method.getParameters()) { result.add(ParameterSpec.get(parameter)); } return result; }
public static MethodSpec.Builder overriding(ExecutableElement method) { return MethodSpec.methodBuilder(method.getSimpleName().toString()) .addAnnotation(Override.class) .addModifiers(method.getModifiers().stream().filter(modifier -> modifier != Modifier.ABSTRACT).collect(Collectors.toList())) .returns(TypeName.get(method.getReturnType())) .varargs(method.isVarArgs()) .addExceptions(method.getThrownTypes().stream().map(TypeName::get).collect(Collectors.toList())) .addTypeVariables(method.getTypeParameters().stream().map(TypeVariableName::get).collect(Collectors.toList())) .addParameters(method.getParameters().stream().map(element -> ParameterSpec.get(element).toBuilder() .addAnnotations(element.getAnnotationMirrors().stream().map(AnnotationSpec::get).collect(Collectors.toList())).build()).collect(Collectors.toList())); }
private void addMethodBody(final MethodSpec.Builder methodToAdd, final ExecutableElement templateMethod, final String startBody, final String endBody, final Object... statementArgs) { final List<? extends VariableElement> parameters = templateMethod.getParameters(); final StringBuilder body = new StringBuilder(startBody); final int numberOfParams = parameters.size(); for (int ix = 0; ix < numberOfParams; ix++) { final VariableElement param = parameters.get(ix); methodToAdd.addParameter(ParameterSpec.get(param)); body.append(param.getSimpleName()); if (ix < numberOfParams - 1) { body.append(","); } } body.append(endBody); // treat a final array as a varargs param if (!parameters.isEmpty() && parameters.get(parameters.size() - 1).asType().getKind() == TypeKind.ARRAY) methodToAdd.varargs(true); methodToAdd.addStatement(body.toString(), statementArgs); }
methodToAdd.addParameter(ParameterSpec.get(param));
static List<ParameterSpec> parametersOf(ExecutableElement method) { List<ParameterSpec> result = new ArrayList<>(); for (VariableElement parameter : method.getParameters()) { result.add(ParameterSpec.get(parameter)); } return result; }
public List<ParameterSpec> getMethodParameters() { List<ParameterSpec> parameterSpecs = new ArrayList<>(); for (VariableElement variableElement : methodParameters) { parameterSpecs.add(ParameterSpec.get(variableElement)); } return parameterSpecs; }
static List<ParameterSpec> parametersOf(ExecutableElement method) { List<ParameterSpec> result = new ArrayList<>(); for (VariableElement parameter : method.getParameters()) { result.add(ParameterSpec.get(parameter)); } return result; }
private void addMethodBody(final MethodSpec.Builder methodToAdd, final ExecutableElement templateMethod, final String startBody, final String endBody, final Object... statementArgs) { final List<? extends VariableElement> parameters = templateMethod.getParameters(); final StringBuilder body = new StringBuilder(startBody); final int numberOfParams = parameters.size(); for (int ix = 0; ix < numberOfParams; ix++) { final VariableElement param = parameters.get(ix); methodToAdd.addParameter(ParameterSpec.get(param)); body.append(param.getSimpleName()); if (ix < numberOfParams - 1) { body.append(","); } } body.append(endBody); // treat a final array as a varargs param if (!parameters.isEmpty() && parameters.get(parameters.size() - 1).asType().getKind() == TypeKind.ARRAY) methodToAdd.varargs(true); methodToAdd.addStatement(body.toString(), statementArgs); }
boolean first = true; for (VariableElement param : factoryMethod.getParameters()) { ParameterSpec p = ParameterSpec.get(param); if (first) { first = false;
@Override protected CodeBlock getComponentMethodImplementation( ComponentMethodDescriptor componentMethod, ComponentImplementation component) { ExecutableElement methodElement = componentMethod.methodElement(); ParameterSpec parameter = ParameterSpec.get(getOnlyElement(methodElement.getParameters())); if (binding.injectionSites().isEmpty()) { return methodElement.getReturnType().getKind().equals(VOID) ? CodeBlock.of("") : CodeBlock.of("return $N;", parameter); } else { return methodElement.getReturnType().getKind().equals(VOID) ? CodeBlock.of("$L;", membersInjectionInvocation(parameter)) : CodeBlock.of("return $L;", membersInjectionInvocation(parameter)); } }
methodToAdd.addParameter(ParameterSpec.get(param));