private Iterable<XImportDeclaration> getEnumImports(final EObject eObject) { EObject _rootContainer = EcoreUtil2.getRootContainer(eObject); final AmlModel rootElement = ((AmlModel) _rootContainer); final XImportSection importSection = rootElement.getImportSection(); if ((importSection != null)) { final Function1<XImportDeclaration, Boolean> _function = (XImportDeclaration it) -> { JvmDeclaredType _importedType = it.getImportedType(); return Boolean.valueOf((_importedType instanceof JvmEnumerationType)); }; return IterableExtensions.<XImportDeclaration>filter(rootElement.getImportSection().getImportDeclarations(), _function); } else { return Collections.<XImportDeclaration>unmodifiableList(CollectionLiterals.<XImportDeclaration>newArrayList()); } }
@Check public void checkReferredPackages(ReferenceType type) { if (type.getRefname() == null || type.getRefname().eIsProxy()) { //If reference name is not set, do not check package return; } final EClass referredType = type.getRefname().getEContainingClass(); final EPackage referredPackage = referredType.getEPackage(); final String nsUri = Strings.emptyIfNull(referredPackage.getNsURI()); final EObject rootContainer = EcoreUtil2.getRootContainer(type); if (rootContainer instanceof PatternModel) { PatternModel model = (PatternModel) rootContainer; if (model.getImportPackages() != null && !Iterables.any(model.getImportPackages().getPackageImport(), new SamePackageUri(nsUri))) { error(String.format("Reference to an EClass %s that is not imported from EPackage %s.", referredType.getName(), nsUri), type, EMFPatternLanguagePackage.Literals.REFERENCE_TYPE__REFNAME, EMFIssueCodes.MISSING_PACKAGE_IMPORT, nsUri); } } }
@Check public void checkReferredPackages(ReferenceType type) { if (type.getRefname() == null || type.getRefname().eIsProxy()) { // If reference name is not set, do not check package return; } final EClass referredType = type.getRefname().getEContainingClass(); final EPackage referredPackage = referredType.getEPackage(); final String nsUri = Strings.emptyIfNull(referredPackage.getNsURI()); final EObject rootContainer = EcoreUtil2.getRootContainer(type); if (rootContainer instanceof PatternModel) { PatternModel model = (PatternModel) rootContainer; if (model.getImportPackages() != null && !Iterables.any(model.getImportPackages().getPackageImport(), new SamePackageUri(nsUri))) { error(String.format("Reference to an EClass %s that is not imported from EPackage %s.", referredType.getName(), nsUri), type, PatternLanguagePackage.Literals.REFERENCE_TYPE__REFNAME, IssueCodes.MISSING_PACKAGE_IMPORT, nsUri); } } }