private boolean isConform(final EClassifier expectedClassifier, final EClassifier actualClassifier) { if (actualClassifier instanceof EClass) { return EcoreUtil2.getCompatibleTypesOf((EClass) actualClassifier).contains(expectedClassifier); } else { // TODO fix EDataType conformance return expectedClassifier.equals(actualClassifier); } }
private boolean isConform(final EClassifier expectedClassifier, final EClassifier actualClassifier) { if ((actualClassifier instanceof EClass)) { return EcoreUtil2.getCompatibleTypesOf(((EClass)actualClassifier)).contains(expectedClassifier); } else { return expectedClassifier.equals(actualClassifier); } }
private static List<EClass> getSortedCommonCompatibleTypeCandidates(EClass classA, EClass classB) { List<EClass> result = getCompatibleTypesOf(classA); List<EClass> compatibleTypesOfB = getCompatibleTypesOf(classB); result.retainAll(compatibleTypesOfB); Collections.sort(result, new EClassTypeHierarchyComparator()); return result; }
private Set<IInputKey> getCompatibleEClasses(final Iterable<EClassTransitiveInstancesKey> types) { final Function1<EClassTransitiveInstancesKey, List<EClass>> _function = (EClassTransitiveInstancesKey it) -> { return EcoreUtil2.getCompatibleTypesOf(it.getEmfKey()); }; final Iterable<List<EClass>> candidates = IterableExtensions.<EClassTransitiveInstancesKey, List<EClass>>map(types, _function); final Iterator<List<EClass>> iterator = candidates.iterator(); boolean _hasNext = iterator.hasNext(); if (_hasNext) { final Set<EClass> compatibleTypes = CollectionLiterals.<EClass>newHashSet(((EClass[])Conversions.unwrapArray(iterator.next(), EClass.class))); while (iterator.hasNext()) { compatibleTypes.retainAll(iterator.next()); } final Function1<EClass, IInputKey> _function_1 = (EClass it) -> { EClassTransitiveInstancesKey _eClassTransitiveInstancesKey = new EClassTransitiveInstancesKey(it); return ((IInputKey) _eClassTransitiveInstancesKey); }; return IterableExtensions.<IInputKey>toSet(IterableExtensions.<EClass, IInputKey>map(compatibleTypes, _function_1)); } return Collections.<IInputKey>unmodifiableSet(CollectionLiterals.<IInputKey>newHashSet()); }