public IScope getScope(Resource resource, EReference reference, Predicate<IEObjectDescription> filter) { if (resource == null) throw new IllegalStateException("context must be contained in a resource"); ResourceSet resourceSet = resource.getResourceSet(); if (resourceSet == null) throw new IllegalStateException("context must be contained in a resource set"); EClass referenceType = reference.getEReferenceType(); if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_TYPE, referenceType)) { IJvmTypeProvider typeProvider = getTypeProvider(resourceSet); return createTypeScope(typeProvider, filter); } else if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_CONSTRUCTOR, referenceType)) { IJvmTypeProvider typeProvider = getTypeProvider(resourceSet); return createConstructorScope(typeProvider, filter); } else { return IScope.NULLSCOPE; } }
@Override public IScope getScope(Resource resource, EReference reference, Predicate<IEObjectDescription> filter) { if (resource == null) throw new IllegalStateException("context must be contained in a resource"); ResourceSet resourceSet = resource.getResourceSet(); if (resourceSet == null) throw new IllegalStateException("context must be contained in a resource set"); EClass referenceType = reference.getEReferenceType(); if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_TYPE, referenceType)) { IJvmTypeProvider typeProvider = getTypeProvider(resourceSet); return createTypeScope(typeProvider, filter); } else if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_CONSTRUCTOR, referenceType)) { IJvmTypeProvider typeProvider = getTypeProvider(resourceSet); return createConstructorScope(typeProvider, filter); } else { return IScope.NULLSCOPE; } }