Skip to content

Commit 240c51e

Browse files
committed
Properly override varags methods
1 parent f4b732e commit 240c51e

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

  • AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,11 @@ public JMethod overrideAnnotatedMethod(ExecutableElement executableElement, Gene
212212
method.generify(typeDeclaration.getKey(), typeDeclaration.getValue());
213213
}
214214

215+
int i = 0;
215216
for (VariableElement parameter : executableElement.getParameters()) {
216-
addParamToMethod(method, parameter, JMod.FINAL, actualTypes);
217+
boolean varParam = i == executableElement.getParameters().size() - 1 && executableElement.isVarArgs();
218+
addParamToMethod(method, parameter, JMod.FINAL, actualTypes, varParam);
219+
i++;
217220
}
218221

219222
for (TypeMirror superThrownType : executableElement.getThrownTypes()) {
@@ -266,10 +269,10 @@ private JMethod findAlreadyGeneratedMethod(ExecutableElement executableElement,
266269
return null;
267270
}
268271

269-
private void addParamToMethod(JMethod method, VariableElement parameter, int mod, Map<String, TypeMirror> actualTypes) {
272+
private void addParamToMethod(JMethod method, VariableElement parameter, int mod, Map<String, TypeMirror> actualTypes, boolean varParam) {
270273
String parameterName = parameter.getSimpleName().toString();
271274
JClass parameterClass = typeMirrorToJClass(parameter.asType(), actualTypes);
272-
JVar param = method.param(mod, parameterClass, parameterName);
275+
JVar param = varParam ? method.varParam(parameterClass.elementType(), parameterName) : method.param(mod, parameterClass, parameterName);
273276
copyNonAAAnnotations(param, parameter.getAnnotationMirrors());
274277
}
275278

0 commit comments

Comments
 (0)