protected Type resolveWildcardType(@NonNull EGenericType eGenericType) { assert eGenericType.getETypeArguments().isEmpty(); assert eGenericType.getEClassifier() == null; EClassifier eClassifier = eGenericType.getERawType(); assert eClassifier == EcorePackage.Literals.EJAVA_OBJECT; /* WildcardTypeRefCS csTypeRef = BaseCSFactory.eINSTANCE.createWildcardTypeRefCS(); setOriginalMapping(csTypeRef, eObject); // csTypeRef.setExtends(doSwitchAll(eGenericType.getExtends())); // csTypeRef.setSuper(doSwitchAll(eGenericType.getSuper())); return csTypeRef; */ return metamodelManager.createWildcardType(null, null); // FIXME bounds /* org.eclipse.ocl.pivot.Class pivotElement = PivotFactory.eINSTANCE.createClass(); String name = PivotConstants.WILDCARD_NAME; EStructuralFeature eFeature = eGenericType.eContainmentFeature(); if ((eFeature != null) && eFeature.isMany()) { EObject eContainer = eGenericType.eContainer(); List<?> list = (List<?>)eContainer.eGet(eGenericType.eContainingFeature()); int index = list.indexOf(eGenericType); if (index != 0) { name += index; } } pivotElement.setName(name); return pivotElement; */ }
protected void handleEGenericType( EGenericType genericType, Set<EPackage> visitedPackages, Set<Object> visited) { if (genericType != null && visited.add(genericType)) { handleEClassifier(genericType.getEClassifier(), visitedPackages, visited); handleEClassifier(genericType.getERawType(), visitedPackages, visited); handleEGenericType(genericType.getELowerBound(), visitedPackages, visited); handleEGenericType(genericType.getEUpperBound(), visitedPackages, visited); handleEGenericTypes(genericType.getETypeArguments(), visitedPackages, visited); handleETypeParameter(genericType.getETypeParameter(), visitedPackages, visited); } }