use of org.eclipse.xtext.xbase.XMemberFeatureCall in project xtext-xtend by eclipse.
the class LinkingTest method testOverloadedMethods_07.
@Test
public void testOverloadedMethods_07() throws Exception {
XtendFile file = file("import java.util.List\n" + "class X {\n" + " def foo() {\n" + " var List<String> strings = null\n" + " var testdata.OverloadedMethods<String> receiver = null\n" + " receiver.overloaded2(strings, strings)\n" + " }\n" + "}");
XtendClass clazz = (XtendClass) file.getXtendTypes().get(0);
XtendFunction func = (XtendFunction) clazz.getMembers().get(0);
XMemberFeatureCall featureCall = (XMemberFeatureCall) ((XBlockExpression) func.getExpression()).getExpressions().get(2);
JvmIdentifiableElement overloaded = featureCall.getFeature();
assertNotNull(overloaded);
assertFalse(overloaded.eIsProxy());
assertEquals("testdata.OverloadedMethods.overloaded2(java.util.List,java.util.List)", overloaded.getIdentifier());
}
use of org.eclipse.xtext.xbase.XMemberFeatureCall in project xtext-xtend by eclipse.
the class LinkingTest method testOverloadedMethods_06.
@Test
public void testOverloadedMethods_06() throws Exception {
XtendFile file = file("import java.util.List\n" + "class X {\n" + " def foo() {\n" + " var List<CharSequence> chars = null\n" + " var List<String> strings = null\n" + " var testdata.OverloadedMethods<CharSequence> receiver = null\n" + " receiver.overloaded2(strings, chars)\n" + " }\n" + "}");
XtendClass clazz = (XtendClass) file.getXtendTypes().get(0);
XtendFunction func = (XtendFunction) clazz.getMembers().get(0);
XMemberFeatureCall featureCall = (XMemberFeatureCall) ((XBlockExpression) func.getExpression()).getExpressions().get(3);
JvmIdentifiableElement overloaded = featureCall.getFeature();
assertNotNull(overloaded);
assertFalse(overloaded.eIsProxy());
assertEquals("testdata.OverloadedMethods.overloaded2(java.lang.Iterable,java.util.Collection)", overloaded.getIdentifier());
}
use of org.eclipse.xtext.xbase.XMemberFeatureCall in project xtext-xtend by eclipse.
the class LinkingTest method testExtensionMethodCall_01.
@Test
public void testExtensionMethodCall_01() throws Exception {
XtendClass clazz = clazz("" + "class Foo {" + " def foo() {\n" + " var java.util.List<? extends String> list = null;\n" + " list.map(e|e.toUpperCase)\n" + " }\n" + "}");
XtendFunction func = (XtendFunction) clazz.getMembers().get(0);
final XMemberFeatureCall call = (XMemberFeatureCall) ((XBlockExpression) func.getExpression()).getExpressions().get(1);
assertEquals("org.eclipse.xtext.xbase.lib.ListExtensions.map(java.util.List,org.eclipse.xtext.xbase.lib.Functions$Function1)", call.getFeature().getIdentifier());
}
use of org.eclipse.xtext.xbase.XMemberFeatureCall in project xtext-xtend by eclipse.
the class LinkingTest method testExtensionMethodCall_06.
@Test
public void testExtensionMethodCall_06() throws Exception {
XtendClass clazz = clazz("" + "class C {" + " def m() {\n" + " ''.m('')\n" + " }\n" + " def void m(String... s) {" + " }" + "}");
XtendFunction func = (XtendFunction) clazz.getMembers().get(0);
XMemberFeatureCall call = (XMemberFeatureCall) ((XBlockExpression) func.getExpression()).getExpressions().get(0);
assertFalse(call.getFeature().getIdentifier(), call.getFeature().eIsProxy());
assertEquals("C.m(java.lang.String[])", call.getFeature().getIdentifier());
}
use of org.eclipse.xtext.xbase.XMemberFeatureCall in project xtext-xtend by eclipse.
the class LinkingTest method testQualifiedThisOuter.
@Test
public void testQualifiedThisOuter() throws Exception {
XtendFile file = file("class C {\n" + " def void m() { new Object { def m3() { C.this.m2() } } }\n" + " def void m2() {}\n" + "}");
XtendClass c = (XtendClass) file.getXtendTypes().get(0);
XtendFunction m = (XtendFunction) c.getMembers().get(0);
XBlockExpression outer = (XBlockExpression) m.getExpression();
AnonymousClass anonymousClass = (AnonymousClass) outer.getExpressions().get(0);
XtendFunction m3 = (XtendFunction) anonymousClass.getMembers().get(0);
XBlockExpression body = (XBlockExpression) m3.getExpression();
XMemberFeatureCall featureCall = (XMemberFeatureCall) body.getExpressions().get(0);
JvmIdentifiableElement feature = featureCall.getFeature();
assertEquals("C.m2()", feature.getIdentifier());
}
Aggregations