Search in sources :

Example 1 with Filter

use of org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider.Filter in project dsl-devkit by dsldevkit.

the class CheckProposalProvider method completeContextVariable_Type.

/**
 * {@inheritDoc}
 */
@Override
public // CHECKSTYLE:OFF
void completeContextVariable_Type(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
    // CHECKSTYLE:ON
    completeJavaTypes(context, TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE__TYPE, true, qualifiedNameValueConverter, new Filter() {

        // @Format-Off
        private final Set<String> resourceEClassNames = model.eResource().getResourceSet().getResources().stream().map(resource -> resource.getContents()).flatMap(List::stream).filter(obj -> obj instanceof EPackage).map(obj -> ((EPackage) obj).getEClassifiers()).flatMap(List::stream).map(eClass -> eClass.getEPackage().getName() + '.' + eClass.getName()).collect(Collectors.toSet());

        // @Format-On
        @Override
        public int getSearchFor() {
            return IJavaSearchConstants.INTERFACE;
        }

        @Override
        public boolean accept(final int modifiers, final char[] packageName, final char[] simpleTypeName, final char[][] enclosingTypeNames, final String path) {
            String fullPackageName = new String(packageName);
            String simpleClassName = new String(simpleTypeName);
            String ePackageName = fullPackageName.substring(fullPackageName.lastIndexOf('.') + 1);
            return REGISTERED_ECLASS_NAMES.contains(fullPackageName + '.' + simpleClassName) || resourceEClassNames.contains(ePackageName + '.' + simpleClassName);
        }
    }, acceptor);
    shortCircuit();
}
Also used : CheckImages(com.avaloq.tools.ddk.check.ui.labeling.CheckImages) Inject(com.google.inject.Inject) CheckResourceUtil(com.avaloq.tools.ddk.check.ui.util.CheckResourceUtil) XbaseQualifiedNameValueConverter(org.eclipse.xtext.xbase.conversion.XbaseQualifiedNameValueConverter) TypesPackage(org.eclipse.xtext.common.types.TypesPackage) ContentAssistContext(org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext) TerminalsProposalProvider(org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider) IJavaSearchConstants(org.eclipse.jdt.core.search.IJavaSearchConstants) ICompletionProposalAcceptor(org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor) Assignment(org.eclipse.xtext.Assignment) ImmutableSet(com.google.common.collect.ImmutableSet) NLS(org.eclipse.osgi.util.NLS) Strings(org.eclipse.xtext.util.Strings) Set(java.util.Set) EObject(org.eclipse.emf.ecore.EObject) Collectors(java.util.stream.Collectors) EPackage(org.eclipse.emf.ecore.EPackage) RuleCall(org.eclipse.xtext.RuleCall) Objects(java.util.Objects) Keyword(org.eclipse.xtext.Keyword) CheckPackage(com.avaloq.tools.ddk.check.check.CheckPackage) List(java.util.List) Stream(java.util.stream.Stream) Filter(org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider.Filter) CheckConstants(com.avaloq.tools.ddk.check.CheckConstants) GrammarUtil(org.eclipse.xtext.GrammarUtil) ConcurrentModificationException(java.util.ConcurrentModificationException) Filter(org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider.Filter) List(java.util.List) EPackage(org.eclipse.emf.ecore.EPackage)

Aggregations

CheckConstants (com.avaloq.tools.ddk.check.CheckConstants)1 CheckPackage (com.avaloq.tools.ddk.check.check.CheckPackage)1 CheckImages (com.avaloq.tools.ddk.check.ui.labeling.CheckImages)1 CheckResourceUtil (com.avaloq.tools.ddk.check.ui.util.CheckResourceUtil)1 ImmutableSet (com.google.common.collect.ImmutableSet)1 Inject (com.google.inject.Inject)1 ConcurrentModificationException (java.util.ConcurrentModificationException)1 List (java.util.List)1 Objects (java.util.Objects)1 Set (java.util.Set)1 Collectors (java.util.stream.Collectors)1 Stream (java.util.stream.Stream)1 EObject (org.eclipse.emf.ecore.EObject)1 EPackage (org.eclipse.emf.ecore.EPackage)1 IJavaSearchConstants (org.eclipse.jdt.core.search.IJavaSearchConstants)1 NLS (org.eclipse.osgi.util.NLS)1 Assignment (org.eclipse.xtext.Assignment)1 GrammarUtil (org.eclipse.xtext.GrammarUtil)1 Keyword (org.eclipse.xtext.Keyword)1 RuleCall (org.eclipse.xtext.RuleCall)1