Skip to content

Commit 92cc7b9

Browse files
committed
Make APTCodeModelHelper environment aware
It is needed to copy non AA annotations with plugins
1 parent b452a5c commit 92cc7b9

34 files changed

Lines changed: 153 additions & 122 deletions

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/AndroidAnnotationsEnvironment.java‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121

2222
import javax.annotation.processing.ProcessingEnvironment;
2323

24+
import com.sun.codemodel.JClass;
25+
import com.sun.codemodel.JCodeModel;
2426
import org.androidannotations.handler.AnnotationHandler;
2527
import org.androidannotations.handler.AnnotationHandlers;
2628
import org.androidannotations.handler.GeneratingAnnotationHandler;
@@ -138,7 +140,23 @@ public ProcessHolder getProcessHolder() {
138140
return processHolder;
139141
}
140142

143+
public JCodeModel getCodeModel() {
144+
return processHolder.codeModel();
145+
}
146+
147+
public JClass getJClass(String fullyQualifiedName) {
148+
return processHolder.refClass(fullyQualifiedName);
149+
}
150+
151+
public ProcessHolder.Classes getClasses() {
152+
return processHolder.classes();
153+
}
154+
141155
public List<Class<? extends Annotation>> getGeneratingAnnotations() {
142156
return annotationHandlers.getGeneratingAnnotations();
143157
}
158+
159+
public boolean isAndroidAnnotation(String annotationQualifiedName) {
160+
return getSupportedAnnotationTypes().contains(annotationQualifiedName);
161+
}
144162
}

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AbstractListenerHandler.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ protected final JExpression castArgumentIfNecessary(T holder, String baseType, J
9898
JExpression argument = param;
9999
TypeMirror typeMirror = element.asType();
100100
if (!baseType.equals(typeMirror.toString())) {
101-
JClass typeMirrorToJClass = codeModelHelper.typeMirrorToJClass(typeMirror, holder);
101+
JClass typeMirrorToJClass = codeModelHelper.typeMirrorToJClass(typeMirror);
102102
argument = JExpr.cast(typeMirrorToJClass, param);
103103
}
104104
return argument;

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/BaseAnnotationHandler.java‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public abstract class BaseAnnotationHandler<T extends GeneratedClassHolder> impl
3737

3838
protected IdAnnotationHelper annotationHelper;
3939
protected IdValidatorHelper validatorHelper;
40-
protected APTCodeModelHelper codeModelHelper = new APTCodeModelHelper();
40+
protected APTCodeModelHelper codeModelHelper;
4141

4242
public BaseAnnotationHandler(Class<?> targetClass, AndroidAnnotationsEnvironment environment) {
4343
this(targetClass.getCanonicalName(), environment);
@@ -48,6 +48,7 @@ public BaseAnnotationHandler(String target, AndroidAnnotationsEnvironment enviro
4848
this.environment = environment;
4949
annotationHelper = new IdAnnotationHelper(environment, target);
5050
validatorHelper = new IdValidatorHelper(annotationHelper);
51+
codeModelHelper = new APTCodeModelHelper(environment);
5152
}
5253

5354
public ProcessingEnvironment processingEnvironment() {

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/ExtraHandler.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ private void injectExtraInComponent(Element element, HasExtras hasExtras, JField
9393
JBlock injectExtrasBlock = hasExtras.getInjectExtrasBlock();
9494

9595
TypeMirror type = codeModelHelper.getActualType(element, hasExtras);
96-
JClass elementClass = codeModelHelper.typeMirrorToJClass(element.asType(), hasExtras);
96+
JClass elementClass = codeModelHelper.typeMirrorToJClass(element.asType());
9797
BundleHelper bundleHelper = new BundleHelper(annotationHelper, type);
9898

9999
JFieldRef extraField = JExpr.ref(fieldName);

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/ExtraParameterHandler.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public JExpression getExtraValue(VariableElement parameter, JVar intent, JVar ex
6666

6767
public JExpression getExtraValue(VariableElement parameter, JVar intent, JVar extras, JBlock block, JMethod annotatedMethod, JDefinedClass generatedClass, GeneratedClassHolder holder) {
6868
String parameterName = parameter.getSimpleName().toString();
69-
JClass parameterClass = codeModelHelper.typeMirrorToJClass(parameter.asType(), holder);
69+
JClass parameterClass = codeModelHelper.typeMirrorToJClass(parameter.asType());
7070

7171
String extraKey = getAnnotationValue(parameter);
7272
if (extraKey == null || extraKey.isEmpty()) {

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/FragmentArgHandler.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ private JFieldVar createStaticArgField(EFragmentHolder holder, String argKey, St
8686

8787
private void injectArgInComponent(Element element, EFragmentHolder holder, BundleHelper bundleHelper, JFieldVar extraKeyStaticField, String fieldName) {
8888
TypeMirror elementType = codeModelHelper.getActualType(element, holder);
89-
JClass elementClass = codeModelHelper.typeMirrorToJClass(elementType, holder);
89+
JClass elementClass = codeModelHelper.typeMirrorToJClass(elementType);
9090

9191
JVar bundle = holder.getInjectBundleArgs();
9292
JBlock injectExtrasBlock = holder.getInjectArgsBlock();
@@ -102,7 +102,7 @@ private void createBuilderInjectionMethod(Element element, EFragmentHolder holde
102102
JDefinedClass builderClass = holder.getBuilderClass();
103103
JFieldRef builderArgsField = holder.getBuilderArgsField();
104104
TypeMirror type = codeModelHelper.getActualType(element, holder);
105-
JClass paramClass = codeModelHelper.typeMirrorToJClass(type, holder);
105+
JClass paramClass = codeModelHelper.typeMirrorToJClass(type);
106106

107107
JMethod method = builderClass.method(PUBLIC, holder.narrow(builderClass), fieldName);
108108
JVar arg = method.param(paramClass, fieldName);

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/InstanceStateHandler.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public void validate(Element element, ElementValidation validation) {
5151

5252
@Override
5353
public void process(Element element, HasInstanceState holder) {
54-
JClass elementClass = codeModelHelper.typeMirrorToJClass(element.asType(), holder);
54+
JClass elementClass = codeModelHelper.typeMirrorToJClass(element.asType());
5555
String fieldName = element.getSimpleName().toString();
5656

5757
JBlock saveStateBody = holder.getSaveStateMethodBody();

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/ItemClickHandler.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ protected void processParameters(EComponentWithViewSupportHolder holder, JMethod
7878
if (parameterType.getKind() == TypeKind.INT) {
7979
call.arg(onItemClickPositionParam);
8080
} else {
81-
JClass parameterClass = codeModelHelper.typeMirrorToJClass(parameterType, getHolder());
81+
JClass parameterClass = codeModelHelper.typeMirrorToJClass(parameterType);
8282
call.arg(cast(parameterClass, invoke(onItemClickParentParam, "getAdapter").invoke("getItem").arg(onItemClickPositionParam)));
8383

8484
if (parameterClass.isParameterized()) {

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/ItemLongClickHandler.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ protected void processParameters(EComponentWithViewSupportHolder holder, JMethod
8585
if (parameterType.getKind() == TypeKind.INT) {
8686
call.arg(onItemClickPositionParam);
8787
} else {
88-
JClass parameterClass = codeModelHelper.typeMirrorToJClass(parameterType, getHolder());
88+
JClass parameterClass = codeModelHelper.typeMirrorToJClass(parameterType);
8989
call.arg(cast(parameterClass, invoke(onItemClickParentParam, "getAdapter").invoke("getItem").arg(onItemClickPositionParam)));
9090

9191
if (parameterClass.isParameterized()) {

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/NonConfigurationInstanceHandler.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void validate(Element element, ElementValidation validation) {
5252
@Override
5353
public void process(Element element, EActivityHolder holder) throws JClassAlreadyExistsException {
5454
String fieldName = element.getSimpleName().toString();
55-
JClass fieldType = codeModelHelper.typeMirrorToJClass(element.asType(), holder);
55+
JClass fieldType = codeModelHelper.typeMirrorToJClass(element.asType());
5656

5757
NonConfigurationHolder ncHolder = holder.getNonConfigurationHolder();
5858
JFieldVar ncHolderField = ncHolder.createField(fieldName, fieldType);

0 commit comments

Comments
 (0)