Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/typing/XcoreTypeProvider.java')
-rw-r--r--org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/typing/XcoreTypeProvider.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/typing/XcoreTypeProvider.java b/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/typing/XcoreTypeProvider.java
index 61a53f8f7..5e97ea7b7 100644
--- a/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/typing/XcoreTypeProvider.java
+++ b/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/typing/XcoreTypeProvider.java
@@ -1,5 +1,6 @@
package org.eclipse.emf.ecore.xcore.typing;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.xcore.XOperation;
import org.eclipse.emf.ecore.xcore.XcorePackage;
@@ -16,6 +17,16 @@ public class XcoreTypeProvider extends XbaseTypeProvider
@Inject
private XcoreMapper mapper;
+ @Override
+ protected JvmTypeReference expectedTypeDispatcherInvoke(EObject container, EReference reference, int index,
+ boolean rawType)
+ {
+ if (container instanceof XOperation) {
+ return _expectedType((XOperation)container, reference, index, rawType);
+ }
+ return super.expectedTypeDispatcherInvoke(container, reference, index, rawType);
+ }
+
protected JvmTypeReference _expectedType(XOperation expr, EReference reference, int index, boolean rawType)
{
if (reference == XcorePackage.Literals.XOPERATION__BODY) {

Back to the top