diff --git a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java
index 6a78664279..b2c0d26636 100644
--- a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java
+++ b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java
@@ -15,7 +15,6 @@
*/
package org.androidannotations.helper;
-
import java.io.StringWriter;
import java.lang.reflect.Field;
import java.util.ArrayList;
@@ -81,7 +80,11 @@ public JClass typeMirrorToJClass(TypeMirror type, GeneratedClassHolder holder) {
TypeMirror extendsBound = wildcardType.getExtendsBound();
- return typeMirrorToJClass(extendsBound, holder).wildcard();
+ if (extendsBound == null) {
+ return holder.classes().OBJECT.wildcard();
+ } else {
+ return typeMirrorToJClass(extendsBound, holder).wildcard();
+ }
} else if (type instanceof ArrayType) {
ArrayType arrayType = (ArrayType) type;
@@ -193,25 +196,25 @@ public JBlock removeBody(JMethod method) {
return clonedBody;
}
- public void replaceSuperCall(JMethod method, JBlock replacement) {
- String superCallStart = "super."+method.name()+"(";
-
- JBlock oldBody = removeBody(method);
- JBlock newBody = method.body();
-
- for (Object content : oldBody.getContents()) {
- StringWriter writer = new StringWriter();
- JFormatter formatter = new JFormatter(writer);
- JStatement statement = (JStatement) content;
- statement.state(formatter);
- String statementString = writer.getBuffer().toString();
- if (statementString.startsWith(superCallStart)) {
- newBody.add(replacement);
- } else {
- newBody.add(statement);
- }
- }
- }
+ public void replaceSuperCall(JMethod method, JBlock replacement) {
+ String superCallStart = "super." + method.name() + "(";
+
+ JBlock oldBody = removeBody(method);
+ JBlock newBody = method.body();
+
+ for (Object content : oldBody.getContents()) {
+ StringWriter writer = new StringWriter();
+ JFormatter formatter = new JFormatter(writer);
+ JStatement statement = (JStatement) content;
+ statement.state(formatter);
+ String statementString = writer.getBuffer().toString();
+ if (statementString.startsWith(superCallStart)) {
+ newBody.add(replacement);
+ } else {
+ newBody.add(statement);
+ }
+ }
+ }
public String getIdStringFromIdFieldRef(JFieldRef idRef) {
try {
@@ -258,7 +261,7 @@ public JDefinedClass createDelegatingAnonymousRunnableClass(EComponentHolder hol
/**
* Gets all of the methods of the class and includes the methods of any
* implemented interfaces.
- *
+ *
* @param typeElement
* @return full list of methods.
*/
diff --git a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/process/ProcessHolder.java b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/process/ProcessHolder.java
index 7ed8aeb011..367e0fe307 100644
--- a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/process/ProcessHolder.java
+++ b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/process/ProcessHolder.java
@@ -60,6 +60,7 @@ public class Classes {
public final JClass THREAD = refClass(Thread.class);
public final JClass HASH_MAP = refClass(HashMap.class);
public final JClass LIST = refClass(List.class);
+ public final JClass OBJECT = refClass(Object.class);
/*
* Android
@@ -190,7 +191,7 @@ public class Classes {
public ProcessHolder(ProcessingEnvironment processingEnvironment) {
this.processingEnvironment = processingEnvironment;
- this.codeModel = new JCodeModel();
+ codeModel = new JCodeModel();
classes = new Classes();
refClass(CanonicalNameConstants.STRING);
preloadJavaLangClasses();
diff --git a/AndroidAnnotations/functional-test-1-5/res/layout/item_clicks_handled.xml b/AndroidAnnotations/functional-test-1-5/res/layout/item_clicks_handled.xml
index bfdadfec7a..56b50ee0ef 100644
--- a/AndroidAnnotations/functional-test-1-5/res/layout/item_clicks_handled.xml
+++ b/AndroidAnnotations/functional-test-1-5/res/layout/item_clicks_handled.xml
@@ -50,6 +50,12 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
+
+
item) {
listViewParametrizedItemClicked = true;
}
+ @ItemClick(R.id.listViewWithArgumentWithGenericWildcard)
+ protected void listViewWithArgumentWithGenericWildcardType(ArrayList> item) {
+ listViewParametrizedItemClicked = true;
+ }
+
@ItemClick
public void spinner() {
spinnerItemClicked = true;