List of usage examples for javax.lang.model.type TypeMirror accept
<R, P> R accept(TypeVisitor<R, P> v, P p);
From source file:org.androidtransfuse.analysis.FragmentAnalysis.java
@Override public ComponentDescriptor analyze(ASTType astType) { Fragment fragmentAnnotation = astType.getAnnotation(Fragment.class); PackageClass fragmentClassName;//w w w .j a va 2 s.c om ComponentDescriptor fragmentDescriptor = null; if (!astType.extendsFrom(astClassFactory.getType(android.support.v4.app.Fragment.class))) { //generated Android fragment fragmentClassName = buildPackageClass(astType, fragmentAnnotation.name()); Layout layoutAnnotation = astType.getAnnotation(Layout.class); TypeMirror type = getTypeMirror(new FragmentTypeMirrorRunnable(fragmentAnnotation)); ASTType fragmentType = type == null ? astClassFactory.getType(android.support.v4.app.Fragment.class) : type.accept(astTypeBuilderVisitor, null); Integer layout = layoutAnnotation == null ? null : layoutAnnotation.value(); AnalysisContext context = analysisContextFactory.buildAnalysisContext(buildVariableBuilderMap(type)); fragmentDescriptor = new ComponentDescriptor(fragmentType.getName(), fragmentClassName); //application generation profile setupFragmentProfile(fragmentDescriptor, astType, fragmentType, context, layout); } return fragmentDescriptor; }
From source file:org.androidtransfuse.analysis.ActivityAnalysis.java
private InjectionNode buildLayoutHandlerInjectionNode(final LayoutHandler layoutHandlerAnnotation, AnalysisContext context) {/*from w ww. j av a 2s . c o m*/ if (layoutHandlerAnnotation != null) { TypeMirror layoutHandlerType = getTypeMirror( new LayoutHandlerTypeMirrorRunnable(layoutHandlerAnnotation)); if (layoutHandlerType != null) { ASTType layoutHandlerASTType = layoutHandlerType.accept(astTypeBuilderVisitorProvider.get(), null); return injectionPointFactory.buildInjectionNode(layoutHandlerASTType, context); } } return null; }
From source file:org.androidtransfuse.analysis.ServiceAnalysis.java
private InjectionNodeBuilderRepository buildVariableBuilderMap(TypeMirror type) { InjectionNodeBuilderRepository injectionNodeBuilderRepository = injectionNodeRepositoryProvider.get(); injectionNodeBuilderRepository.putType(Context.class, injectionBindingBuilder.buildThis(Context.class)); injectionNodeBuilderRepository.putType(Application.class, injectionBindingBuilder.dependency(Context.class) .invoke(Application.class, "getApplication").build()); injectionNodeBuilderRepository.putType(android.app.Service.class, injectionBindingBuilder.buildThis(android.app.Service.class)); injectionNodeBuilderRepository.putType(ContextScopeHolder.class, injectionBindingBuilder.buildThis(ContextScopeHolder.class)); if (type != null && !type.toString().equals(android.app.Service.class.getName())) { ASTType serviceASTType = type.accept(astTypeBuilderVisitor, null); injectionNodeBuilderRepository.putType(serviceASTType, injectionBindingBuilder.buildThis(serviceASTType)); }/* w w w.ja va 2s.c om*/ injectionNodeBuilderRepository .addRepository(injectionNodeBuilderRepositoryFactory.buildApplicationInjections()); injectionNodeBuilderRepository .addRepository(injectionNodeBuilderRepositoryFactory.buildModuleConfiguration()); return injectionNodeBuilderRepository; }
From source file:org.androidtransfuse.analysis.ActivityAnalysis.java
private InjectionNodeBuilderRepository buildVariableBuilderMap(TypeMirror activityType) { InjectionNodeBuilderRepository injectionNodeBuilderRepository = injectionNodeBuilderRepositoryProvider .get();/* ww w . j a va 2s . c o m*/ injectionNodeBuilderRepository.putType(Context.class, injectionBindingBuilder.buildThis(Context.class)); injectionNodeBuilderRepository.putType(Application.class, injectionBindingBuilder.dependency(Context.class) .invoke(Application.class, "getApplication").build()); injectionNodeBuilderRepository.putType(android.app.Activity.class, injectionBindingBuilder.buildThis(android.app.Activity.class)); injectionNodeBuilderRepository.putType(ContextScopeHolder.class, injectionBindingBuilder.buildThis(ContextScopeHolder.class)); if (activityType != null && !activityType.toString().equals(android.app.Activity.class.getName())) { ASTType activityASTType = activityType.accept(astTypeBuilderVisitor, null); injectionNodeBuilderRepository.putType(activityASTType, injectionBindingBuilder.buildThis(activityASTType)); } injectionNodeBuilderRepository.putAnnotation(Extra.class, extraInjectionNodeBuilder); injectionNodeBuilderRepository.putAnnotation(Resource.class, resourceInjectionNodeBuilder); injectionNodeBuilderRepository.putAnnotation(SystemService.class, systemServiceBindingInjectionNodeBuilder); injectionNodeBuilderRepository.putAnnotation(Preference.class, preferenceInjectionNodeBuilder); injectionNodeBuilderRepository.putAnnotation(View.class, viewVariableBuilder); injectionNodeBuilderRepository .addRepository(injectionNodeBuilderRepositoryFactory.buildApplicationInjections()); injectionNodeBuilderRepository .addRepository(injectionNodeBuilderRepositoryFactory.buildModuleConfiguration()); return injectionNodeBuilderRepository; }
From source file:org.androidtransfuse.analysis.FragmentAnalysis.java
private InjectionNodeBuilderRepository buildVariableBuilderMap(TypeMirror type) { InjectionNodeBuilderRepository injectionNodeBuilderRepository = injectionNodeBuilderRepositoryProvider .get();/*from ww w . j a v a 2s.co m*/ injectionNodeBuilderRepository.putType(android.support.v4.app.Fragment.class, injectionBindingBuilder.buildThis(android.support.v4.app.Fragment.class)); injectionNodeBuilderRepository.putType(Activity.class, injectionBindingBuilder .dependency(android.support.v4.app.Fragment.class).invoke(Activity.class, "getActivity").build()); injectionNodeBuilderRepository.putType(Context.class, injectionBindingBuilder .dependency(android.support.v4.app.Fragment.class).invoke(Context.class, "getActivity").build()); injectionNodeBuilderRepository.putType(FragmentManager.class, injectionBindingBuilder.dependency(android.support.v4.app.Fragment.class) .invoke(FragmentManager.class, "getFragmentManager").build()); injectionNodeBuilderRepository.putType(Application.class, injectionBindingBuilder.dependency(Activity.class) .invoke(Application.class, "getApplication").build()); injectionNodeBuilderRepository.putType(ContextScopeHolder.class, injectionBindingBuilder .dependency(android.support.v4.app.Fragment.class).invoke(Activity.class, "getActivity").build()); if (type != null && !type.toString().equals(android.support.v4.app.Fragment.class.getName())) { ASTType fragmentASTType = type.accept(astTypeBuilderVisitor, null); injectionNodeBuilderRepository.putType(fragmentASTType, injectionBindingBuilder.buildThis(fragmentASTType)); } injectionNodeBuilderRepository.putAnnotation(Extra.class, extraInjectionNodeBuilder); injectionNodeBuilderRepository.putAnnotation(Resource.class, resourceInjectionNodeBuilder); injectionNodeBuilderRepository.putAnnotation(SystemService.class, systemServiceBindingInjectionNodeBuilder); injectionNodeBuilderRepository.putAnnotation(Preference.class, preferenceInjectionNodeBuilder); injectionNodeBuilderRepository.putAnnotation(org.androidtransfuse.annotations.View.class, fragmentViewInjectionNodeBuilder); injectionNodeBuilderRepository .addRepository(injectionNodeBuilderRepositoryFactory.buildApplicationInjections()); injectionNodeBuilderRepository .addRepository(injectionNodeBuilderRepositoryFactory.buildModuleConfiguration()); return injectionNodeBuilderRepository; }