protected boolean isAssignable(final EClass superType, final EClassifier type) { if ((type instanceof EClass)) { return EcoreUtil2.isAssignableFrom(superType, ((EClass)type)); } return false; }
/** * @Nullable */ protected String getTypeName(final EClass c, final EStructuralFeature referingFeature) { if ((referingFeature == XAnnotationsPackage.Literals.XANNOTATION__ANNOTATION_TYPE)) { return " to an annotation type"; } if ((c == TypesPackage.Literals.JVM_ENUMERATION_TYPE)) { return " to an enum type"; } boolean _isAssignableFrom = EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_TYPE, c); if (_isAssignableFrom) { return " to a type"; } if ((c == TypesPackage.Literals.JVM_OPERATION)) { return " to an operation"; } return ""; } }
public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(type, input.getEClass()); } });
public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(type, input.getEClass()); } }
public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(type, input.getEClass()); } }
public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(clazz,input.getEClass()); } });
public boolean apply(IEObjectDescription input) { return EcoreUtil2.isAssignableFrom(type, input.getEClass()); } });
@Override public IScope getScope(Resource resource, EReference reference, Predicate<IEObjectDescription> filter) { EClass referenceType = getEReferenceType(resource, reference); if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_TYPE, referenceType)) { return typeScopeProvider.getScope(resource, reference, filter); } if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_CONSTRUCTOR, referenceType)) { return typeScopeProvider.getScope(resource, reference, filter); } return super.getScope(resource, reference, filter); }
protected Iterable<AbstractElement> findValidAssignmentsForCrossRef(EObject semanticObj, Iterable<AbstractElement> assignedElements, EObject value, INode node) { List<AbstractElement> result = Lists.newArrayList(); for (AbstractElement ass : assignedElements) { CrossReference crossref = GrammarUtil.containingCrossReference(ass); EReference eref = GrammarUtil.getReference(crossref, semanticObj.eClass()); if (EcoreUtil2.isAssignableFrom(eref.getEReferenceType(), value.eClass()) && crossRefSerializer.isValid(semanticObj, crossref, value, node, null)) result.add(ass); } return result; }
@Override public IScope getScope(Resource resource, EReference reference, Predicate<IEObjectDescription> filter) { EClass referenceType = getEReferenceType(resource, reference); if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_TYPE, referenceType)) { return typeScopeProvider.getScope(resource, reference, filter); } if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_CONSTRUCTOR, referenceType)) { return typeScopeProvider.getScope(resource, reference, filter); } return super.getScope(resource, reference, filter); }
private boolean isInstantiatableSubType(EClass c, EClass superType) { return !c.isAbstract() && !c.isInterface() && EcoreUtil2.isAssignableFrom(superType, c); }
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; } }
public boolean apply(IEObjectDescription input) { return name.equals(input.getName()) && EcoreUtil2.isAssignableFrom(type, input.getEClass()); } };
public boolean apply(IEObjectDescription input) { return name.equals(input.getName()) && EcoreUtil2.isAssignableFrom(type, input.getEClass()); } };
public List<CrossReference> findCrossReferences(EClassifier... targetEClassifiers) { Set<EClassifier> classifiers = new HashSet<EClassifier>(Arrays.asList(targetEClassifiers)); Collection<EClass> classes = Lists.newArrayList(Iterables.filter(classifiers, EClass.class)); ArrayList<CrossReference> r = new ArrayList<CrossReference>(); for (AbstractRule ar : getRules()) { TreeIterator<EObject> i = ar.eAllContents(); while (i.hasNext()) { EObject o = i.next(); if (o instanceof CrossReference) { CrossReference c = (CrossReference) o; if (classifiers.contains(c.getType().getClassifier())) r.add(c); else if (c.getType().getClassifier() instanceof EClass) for (EClass cls : classes) if (EcoreUtil2.isAssignableFrom(cls,(EClass) c.getType().getClassifier())) { r.add(c); break; } i.prune(); } } } return r; }
protected void computeReferencedJvmTypeHighlighting(IHighlightedPositionAcceptor acceptor, EObject referencer, CancelIndicator cancelIndicator) { for (EReference reference : referencer.eClass().getEAllReferences()) { EClass referencedType = reference.getEReferenceType(); if (EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_TYPE, referencedType)) { List<EObject> referencedObjects = EcoreUtil2.getAllReferencedObjects(referencer, reference); if (referencedObjects.size() > 0) operationCanceledManager.checkCanceled(cancelIndicator); for (EObject referencedObject : referencedObjects) { EObject resolvedReferencedObject = EcoreUtil.resolve(referencedObject, referencer); if (resolvedReferencedObject != null && !resolvedReferencedObject.eIsProxy()) { highlightReferenceJvmType(acceptor, referencer, reference, resolvedReferencedObject); } } } } }
EClass refType = (EClass) refEType; if (EcoreUtil2.isAssignableFrom(EcorePackage.Literals.EPACKAGE, refType)) { PackageImport importDecl = EcoreUtil2.getContainerOfType(ctx, PackageImport.class); if (importDecl == null) { } else if (EcoreUtil2.isAssignableFrom(PatternLanguagePackage.Literals.PACKAGE_IMPORT, refType)) { return scope_PackageImport(ctx); } else if (EcoreUtil2.isAssignableFrom(EcorePackage.Literals.EENUM, refType)) { EnumValue containingValue = EcoreUtil2.getContainerOfType(ctx, EnumValue.class); if (containingValue != null) { return scope_EEnum(containingValue); } else if (EcoreUtil2.isAssignableFrom(EcorePackage.Literals.ECLASSIFIER, refType)) { ClassType containingClassDeclaration = EcoreUtil2.getContainerOfType(ctx, ClassType.class); if (containingClassDeclaration != null) { return scope_EClassifier(ctx); } else if (EcoreUtil2.isAssignableFrom(PatternLanguagePackage.Literals.VARIABLE, refType)) { PatternBody containingBody = EcoreUtil2.getContainerOfType(ctx, PatternBody.class); if (containingBody != null) { } else if (EcoreUtil2.isAssignableFrom(EcorePackage.Literals.ESTRUCTURAL_FEATURE, refType)) { return scope_EStructuralFeature(ctx); } else if (EcoreUtil2.isAssignableFrom(EcorePackage.Literals.EENUM_LITERAL, refType)) { EnumValue containingValue = EcoreUtil2.getContainerOfType(ctx, EnumValue.class); if (containingValue != null) {
+ uriFragment); EObject result = linkedObjects.get(0); if (!EcoreUtil2.isAssignableFrom(reference.getEReferenceType(), result.eClass())) { log.error("An element of type " + result.getClass().getName() + " is not assignable to the reference " + reference.getEContainingClass().getName()
public JvmDeclaredType getSuperTypeNonResolving(AnonymousClass anonymousClass, IScope typeScope) { XConstructorCall constructorCall = anonymousClass.getConstructorCall(); EObject constructorProxy = (EObject) constructorCall.eGet(XbasePackage.Literals.XCONSTRUCTOR_CALL__CONSTRUCTOR, false); IEObjectDescription description = null; if (constructorProxy != null) { if (!constructorProxy.eIsProxy()) { return getSuperType(anonymousClass); } String fragment = EcoreUtil.getURI(constructorProxy).fragment(); INode node = uriEncoder.getNode(constructorCall, fragment); String name = linkingHelper.getCrossRefNodeAsString(node, true); QualifiedName superTypeName = qualifiedNameConverter.toQualifiedName(name); description = typeScope.getSingleElement(superTypeName); } if (description == null || !EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_DECLARED_TYPE, description.getEClass())) { description = typeScope.getSingleElement(QualifiedName.create("java", "lang", "Object")); } if (description != null && EcoreUtil2.isAssignableFrom(TypesPackage.Literals.JVM_DECLARED_TYPE, description.getEClass())) { JvmDeclaredType type = (JvmDeclaredType) description.getEObjectOrProxy(); if (!type.eIsProxy()) return type; return (JvmDeclaredType) EcoreUtil.resolve(type, anonymousClass); } return null; }