protected List<IJvmFeatureDescriptionProvider> getStaticFeatureDescriptionProviders( Resource context, JvmDeclaredType contextType) { StaticMethodsFeatureForTypeProvider staticProvider = newImplicitStaticFeaturesProvider(); staticProvider.setContext(context); DefaultJvmFeatureDescriptionProvider defaultProvider = newDefaultFeatureDescProvider(); XFeatureCallSugarDescriptionProvider sugarProvider = newSugarDescriptionProvider(); defaultProvider.setContextType(contextType); defaultProvider.setFeaturesForTypeProvider(staticProvider); sugarProvider.setContextType(contextType); sugarProvider.setFeaturesForTypeProvider(staticProvider); return Lists.<IJvmFeatureDescriptionProvider>newArrayList(defaultProvider, sugarProvider); }
protected List<IJvmFeatureDescriptionProvider> getFeatureDescriptionProviders( JvmTypeReference type, EObject expression, JvmDeclaredType currentContext, XExpression implicitReceiver) { DefaultJvmFeatureDescriptionProvider provider1 = newDefaultFeatureDescProvider(); XFeatureCallSugarDescriptionProvider provider2 = newSugarDescriptionProvider(); StaticMethodsFeatureForTypeProvider staticExtensionsProvider = newImplicitStaticFeaturesProvider(); staticExtensionsProvider.setContext(expression.eResource()); staticExtensionsProvider.setExtensionProvider(true); DefaultJvmFeatureDescriptionProvider provider3 = newDefaultFeatureDescProvider(); provider3.setFeaturesForTypeProvider(staticExtensionsProvider); XFeatureCallSugarDescriptionProvider provider4 = newSugarDescriptionProvider(); provider4.setFeaturesForTypeProvider(staticExtensionsProvider); provider1.setContextType(currentContext); provider1.setImplicitReceiver(implicitReceiver); provider2.setContextType(currentContext); provider2.setImplicitReceiver(implicitReceiver); provider3.setContextType(currentContext); provider3.setImplicitReceiver(implicitReceiver); provider4.setContextType(currentContext); provider4.setImplicitReceiver(implicitReceiver); List<IJvmFeatureDescriptionProvider> result = Lists.<IJvmFeatureDescriptionProvider>newArrayList( provider1, provider2, provider3, provider4); return result; }