Search in sources :

Example 86 with XAbstractFeatureCall

use of org.eclipse.xtext.xbase.XAbstractFeatureCall in project xtext-xtend by eclipse.

the class TypeProviderTest method testDeferredTypeArgumentResolution_02.

@Test
public void testDeferredTypeArgumentResolution_02() throws Exception {
    XtendFile file = file("package testPackage\n" + "class C {\n" + "	def CharSequence m(String s) {\n" + "		newArrayList().get(0)	\n" + "	}\n" + "}\n");
    XtendClass c = (XtendClass) file.getXtendTypes().get(0);
    XAbstractFeatureCall get = findSingleFeatureCall(c);
    assertEquals("java.util.ArrayList.get(int)", get.getFeature().getIdentifier());
    assertEquals("CharSequence", getType(get).getSimpleName());
}
Also used : XtendFile(org.eclipse.xtend.core.xtend.XtendFile) XtendClass(org.eclipse.xtend.core.xtend.XtendClass) XAbstractFeatureCall(org.eclipse.xtext.xbase.XAbstractFeatureCall) Test(org.junit.Test)

Example 87 with XAbstractFeatureCall

use of org.eclipse.xtext.xbase.XAbstractFeatureCall in project xtext-xtend by eclipse.

the class TypeProviderTest method testDeferredTypeArgumentResolution_01.

@Test
public void testDeferredTypeArgumentResolution_01() throws Exception {
    XtendFile file = file("package testPackage\n" + "class C {\n" + "	def String m(String s) {\n" + "		newArrayList().iterator.next\n" + "	}\n" + "}\n");
    XtendClass c = (XtendClass) file.getXtendTypes().get(0);
    XAbstractFeatureCall next = findSingleFeatureCall(c);
    assertEquals("java.util.Iterator.next()", next.getFeature().getIdentifier());
    assertEquals("String", getType(next).getSimpleName());
}
Also used : XtendFile(org.eclipse.xtend.core.xtend.XtendFile) XtendClass(org.eclipse.xtend.core.xtend.XtendClass) XAbstractFeatureCall(org.eclipse.xtext.xbase.XAbstractFeatureCall) Test(org.junit.Test)

Example 88 with XAbstractFeatureCall

use of org.eclipse.xtext.xbase.XAbstractFeatureCall in project xtext-xtend by eclipse.

the class TypeProviderTest method testParameterizedExtension_03.

@Test
public void testParameterizedExtension_03() throws Exception {
    XtendFile file = file("package testPackage\n" + "import org.eclipse.xtext.testing.util.ParseHelper\n" + "import org.eclipse.xtend.core.xtend.XtendFile\n" + "class C<T extends XtendFile> {\n" + "	extension ParseHelper<T>\n" + "	def m() {" + "		parse('')\n" + "	}\n" + "}\n");
    XtendClass c = (XtendClass) file.getXtendTypes().get(0);
    XAbstractFeatureCall parse = findSingleFeatureCall(c);
    assertEquals("org.eclipse.xtext.testing.util.ParseHelper.parse(java.lang.CharSequence)", parse.getFeature().getIdentifier());
    assertEquals("T", getType(parse).getSimpleName());
}
Also used : XtendFile(org.eclipse.xtend.core.xtend.XtendFile) XtendClass(org.eclipse.xtend.core.xtend.XtendClass) XAbstractFeatureCall(org.eclipse.xtext.xbase.XAbstractFeatureCall) Test(org.junit.Test)

Example 89 with XAbstractFeatureCall

use of org.eclipse.xtext.xbase.XAbstractFeatureCall in project xtext-xtend by eclipse.

the class TypeProviderTest method testDeferredTypeArgumentResolution_03.

@Test
public void testDeferredTypeArgumentResolution_03() throws Exception {
    XtendFile file = file("package testPackage\n" + "class C {\n" + "	def String m(String s) {\n" + "		newArrayList.flatten.head\n" + "	}\n" + "}\n");
    XtendClass c = (XtendClass) file.getXtendTypes().get(0);
    XAbstractFeatureCall head = findSingleFeatureCall(c);
    assertEquals("org.eclipse.xtext.xbase.lib.IterableExtensions.head(java.lang.Iterable)", head.getFeature().getIdentifier());
    assertEquals("String", getType(head).getSimpleName());
}
Also used : XtendFile(org.eclipse.xtend.core.xtend.XtendFile) XtendClass(org.eclipse.xtend.core.xtend.XtendClass) XAbstractFeatureCall(org.eclipse.xtext.xbase.XAbstractFeatureCall) Test(org.junit.Test)

Example 90 with XAbstractFeatureCall

use of org.eclipse.xtext.xbase.XAbstractFeatureCall in project xtext-xtend by eclipse.

the class LinkingShadowingTest method testField_local_shadows_importedExtension.

@Test
public void testField_local_shadows_importedExtension() throws Exception {
    XtendClass clazz = clazz("import static extension testdata.LinkingStaticType.*" + "class SomeClass {\n" + "  def method() {\n" + "    publicField\n" + "  }\n" + "  String publicField\n" + "}");
    XAbstractFeatureCall featureCall = getFirstFeatureCall(clazz);
    assertLinksTo("SomeClass.publicField", featureCall);
}
Also used : XtendClass(org.eclipse.xtend.core.xtend.XtendClass) XAbstractFeatureCall(org.eclipse.xtext.xbase.XAbstractFeatureCall) Test(org.junit.Test)

Aggregations

XAbstractFeatureCall (org.eclipse.xtext.xbase.XAbstractFeatureCall)122 Test (org.junit.Test)105 XtendClass (org.eclipse.xtend.core.xtend.XtendClass)104 XtendFile (org.eclipse.xtend.core.xtend.XtendFile)42 XtendFunction (org.eclipse.xtend.core.xtend.XtendFunction)23 XBlockExpression (org.eclipse.xtext.xbase.XBlockExpression)21 XExpression (org.eclipse.xtext.xbase.XExpression)17 JvmOperation (org.eclipse.xtext.common.types.JvmOperation)11 JvmIdentifiableElement (org.eclipse.xtext.common.types.JvmIdentifiableElement)9 XtendMember (org.eclipse.xtend.core.xtend.XtendMember)8 XFeatureCall (org.eclipse.xtext.xbase.XFeatureCall)6 EObject (org.eclipse.emf.ecore.EObject)5 XtendTypeDeclaration (org.eclipse.xtend.core.xtend.XtendTypeDeclaration)5 XMemberFeatureCall (org.eclipse.xtext.xbase.XMemberFeatureCall)4 IFeatureLinkingCandidate (org.eclipse.xtext.xbase.typesystem.computation.IFeatureLinkingCandidate)4 Resource (org.eclipse.emf.ecore.resource.Resource)3 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)3 JvmDeclaredType (org.eclipse.xtext.common.types.JvmDeclaredType)3 AbstractDiagnostic (org.eclipse.xtext.diagnostics.AbstractDiagnostic)3 XClosure (org.eclipse.xtext.xbase.XClosure)3