Search in sources :

Example 66 with XtextResource

use of org.eclipse.xtext.resource.XtextResource in project xtext-xtend by eclipse.

the class HyperlinkingTest method testTypeLiteral.

@Test
public void testTypeLiteral() throws Exception {
    String modelAsString = "class C { val x = java.lang.String }";
    XtextResource resource = (XtextResource) testHelper.xtendFile("C", modelAsString).eResource();
    IHyperlink[] hyperlinks = hyperlinkHelper.createHyperlinksByOffset(resource, modelAsString.indexOf("String"), true);
    assertEquals(1, hyperlinks.length);
    assertEquals("String", hyperlinks[0].getHyperlinkText());
    assertEquals(modelAsString.indexOf("java"), hyperlinks[0].getHyperlinkRegion().getOffset());
    assertEquals("java.lang.String".length(), hyperlinks[0].getHyperlinkRegion().getLength());
}
Also used : IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) XtextResource(org.eclipse.xtext.resource.XtextResource) Test(org.junit.Test)

Example 67 with XtextResource

use of org.eclipse.xtext.resource.XtextResource in project xtext-xtend by eclipse.

the class HyperlinkingTest method testOpenInferredType_on_any.

// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=463247
@Test
public void testOpenInferredType_on_any() throws Exception {
    String modelAsString = "class Baz { def void foo() { var myVar=null println(myVar) } }";
    XtextResource resource = (XtextResource) testHelper.xtendFile("Baz", modelAsString).eResource();
    int indexOf_x_FieldRef = modelAsString.indexOf("myVar");
    IHyperlink[] hyperlinks = hyperlinkHelper.createHyperlinksByOffset(resource, indexOf_x_FieldRef, true);
    assertNull(hyperlinks);
}
Also used : IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) XtextResource(org.eclipse.xtext.resource.XtextResource) Test(org.junit.Test)

Example 68 with XtextResource

use of org.eclipse.xtext.resource.XtextResource in project xtext-xtend by eclipse.

the class HyperlinkingTest method testPlainMethod.

@Test
public void testPlainMethod() throws Exception {
    String modelAsString = "class Foo {\n" + "  def bar() { foo() }\n" + "  def foo() { null }\n" + "}";
    XtextResource resource = (XtextResource) testHelper.xtendFile("Foo", modelAsString).eResource();
    IHyperlink[] hyperlinks = hyperlinkHelper.createHyperlinksByOffset(resource, modelAsString.indexOf("foo"), true);
    assertEquals(2, hyperlinks.length);
    assertEquals("Open Declaration - foo() : Object", hyperlinks[0].getHyperlinkText());
    assertTrue(((XtextHyperlink) hyperlinks[0]).getURI().isPlatformResource());
    assertEquals("Open Return Type - Object", hyperlinks[1].getHyperlinkText());
    assertEquals("Object", ((JdtHyperlink) hyperlinks[1]).getJavaElement().getElementName());
}
Also used : IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) XtextHyperlink(org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink) XtextResource(org.eclipse.xtext.resource.XtextResource) JdtHyperlink(org.eclipse.xtext.common.types.xtext.ui.JdtHyperlink) Test(org.junit.Test)

Example 69 with XtextResource

use of org.eclipse.xtext.resource.XtextResource in project xtext-xtend by eclipse.

the class HyperlinkingTest method testOuterTypeLiteralWithDollar.

@Test
public void testOuterTypeLiteralWithDollar() throws Exception {
    String modelAsString = "class C { val x = java.util.Map$Entry }";
    XtextResource resource = (XtextResource) testHelper.xtendFile("C", modelAsString).eResource();
    IHyperlink[] hyperlinks = hyperlinkHelper.createHyperlinksByOffset(resource, modelAsString.indexOf("Map"), true);
    assertEquals(1, hyperlinks.length);
    assertEquals("Entry<K, V>", hyperlinks[0].getHyperlinkText());
    assertEquals(modelAsString.indexOf("java"), hyperlinks[0].getHyperlinkRegion().getOffset());
    assertEquals("java.util.Map$Entry".length(), hyperlinks[0].getHyperlinkRegion().getLength());
}
Also used : IHyperlink(org.eclipse.jface.text.hyperlink.IHyperlink) XtextResource(org.eclipse.xtext.resource.XtextResource) Test(org.junit.Test)

Example 70 with XtextResource

use of org.eclipse.xtext.resource.XtextResource in project xtext-xtend by eclipse.

the class AbstractCodeBuilder method findByFragment.

protected <T extends EObject> T findByFragment(final XtextResource resource, final T object) {
    final Resource myResource = object.eResource();
    boolean _equals = Objects.equal(myResource, resource);
    if (_equals) {
        return object;
    }
    final String fragment = myResource.getURIFragment(object);
    EObject _eObject = resource.getEObject(fragment);
    final T result = ((T) _eObject);
    return result;
}
Also used : EObject(org.eclipse.emf.ecore.EObject) XtextResource(org.eclipse.xtext.resource.XtextResource) Resource(org.eclipse.emf.ecore.resource.Resource)

Aggregations

XtextResource (org.eclipse.xtext.resource.XtextResource)627 Test (org.junit.Test)367 Resource (org.eclipse.emf.ecore.resource.Resource)107 EObject (org.eclipse.emf.ecore.EObject)99 XtextResourceSet (org.eclipse.xtext.resource.XtextResourceSet)67 StringInputStream (org.eclipse.xtext.util.StringInputStream)67 URI (org.eclipse.emf.common.util.URI)62 Diagnostic (org.eclipse.emf.common.util.Diagnostic)55 IXtextDocument (org.eclipse.xtext.ui.editor.model.IXtextDocument)55 ICompositeNode (org.eclipse.xtext.nodemodel.ICompositeNode)46 ResourceSet (org.eclipse.emf.ecore.resource.ResourceSet)40 Grammar (org.eclipse.xtext.Grammar)32 IUnitOfWork (org.eclipse.xtext.util.concurrent.IUnitOfWork)31 XtextEditor (org.eclipse.xtext.ui.editor.XtextEditor)30 IFile (org.eclipse.core.resources.IFile)29 Issue (org.eclipse.xtext.validation.Issue)29 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)28 List (java.util.List)26 XtendFile (org.eclipse.xtend.core.xtend.XtendFile)26 INode (org.eclipse.xtext.nodemodel.INode)23