Search in sources :

Example 11 with IParseResult

use of org.eclipse.xtext.parser.IParseResult in project xtext-core by eclipse.

the class EmptyModelTest method assertEmptyModel.

private void assertEmptyModel(String model) throws Exception {
    IParseResult parseResult = getResource(new StringInputStream(model)).getParseResult();
    assertNull(parseResult.getRootASTElement());
    ICompositeNode rootNode = parseResult.getRootNode();
    assertNotNull(rootNode);
    assertEquals(model, rootNode.getText());
}
Also used : StringInputStream(org.eclipse.xtext.util.StringInputStream) ICompositeNode(org.eclipse.xtext.nodemodel.ICompositeNode) IParseResult(org.eclipse.xtext.parser.IParseResult)

Example 12 with IParseResult

use of org.eclipse.xtext.parser.IParseResult in project xtext-core by eclipse.

the class AbstractAntlrParser method parse.

@Override
public IParseResult parse(RuleCall ruleCall, Reader reader, int initialLookAhead) {
    try {
        NodeModelBuilder builder = nodeModelBuilder.get();
        builder.setForcedFirstGrammarElement(ruleCall);
        IParseResult parseResult = doParse(ruleCall.getRule().getName(), new ANTLRReaderStream(reader), builder, initialLookAhead);
        return parseResult;
    } catch (IOException e) {
        throw new WrappedException(e);
    }
}
Also used : WrappedException(org.eclipse.emf.common.util.WrappedException) NodeModelBuilder(org.eclipse.xtext.nodemodel.impl.NodeModelBuilder) ANTLRReaderStream(org.antlr.runtime.ANTLRReaderStream) IParseResult(org.eclipse.xtext.parser.IParseResult) IOException(java.io.IOException)

Example 13 with IParseResult

use of org.eclipse.xtext.parser.IParseResult in project xtext-core by eclipse.

the class SyntheticLinkingLeafNode method getParent.

/**
 * @since 2.10
 */
protected CompositeNode getParent(EObject obj, EReference eRef, String crossRefString, int offset, int length) {
    ICompositeNode node = NodeModelUtils.getNode(obj);
    if (node != null) {
        ICompositeNode rootNode = node.getRootNode();
        if (rootNode instanceof CompositeNode)
            return (CompositeNode) rootNode;
    }
    Resource resource = obj.eResource();
    if (resource instanceof XtextResource) {
        IParseResult parseResult = ((XtextResource) resource).getParseResult();
        if (parseResult != null) {
            ICompositeNode rootNode = parseResult.getRootNode();
            if (rootNode instanceof CompositeNode)
                return (CompositeNode) rootNode;
        }
    }
    return null;
}
Also used : CompositeNode(org.eclipse.xtext.nodemodel.impl.CompositeNode) ICompositeNode(org.eclipse.xtext.nodemodel.ICompositeNode) XtextResource(org.eclipse.xtext.resource.XtextResource) Resource(org.eclipse.emf.ecore.resource.Resource) ICompositeNode(org.eclipse.xtext.nodemodel.ICompositeNode) XtextResource(org.eclipse.xtext.resource.XtextResource) IParseResult(org.eclipse.xtext.parser.IParseResult)

Example 14 with IParseResult

use of org.eclipse.xtext.parser.IParseResult in project xtext-core by eclipse.

the class XtextResourceTest method testUnload.

@Test
public void testUnload() throws Exception {
    resource.reparse(simpleModel);
    IParseResult parseResult = resource.getParseResult();
    resource.unload();
    assertNull(resource.getParseResult());
    assertTrue(parseResult.getRootASTElement().eIsProxy());
}
Also used : IParseResult(org.eclipse.xtext.parser.IParseResult) Test(org.junit.Test)

Example 15 with IParseResult

use of org.eclipse.xtext.parser.IParseResult in project xtext-core by eclipse.

the class XtextResourceTest method testInitialState.

@Test
public void testInitialState() throws Exception {
    assertNotNull(resource);
    assertTrue(resource.isLoaded());
    assertFalse("resource.isTrackingModification()", resource.isTrackingModification());
    assertFalse(resource.isModified());
    assertTrue(resource.getErrors().isEmpty());
    assertTrue(resource.getWarnings().isEmpty());
    IParseResult parseResult = resource.getParseResult();
    assertNotNull("parseResult", parseResult);
    assertNotNull(parseResult.getRootNode());
    assertEquals(0, Iterables.size(parseResult.getSyntaxErrors()));
    assertEquals(0, parseResult.getRootNode().getTotalLength());
    assertNull(parseResult.getRootASTElement());
}
Also used : IParseResult(org.eclipse.xtext.parser.IParseResult) Test(org.junit.Test)

Aggregations

IParseResult (org.eclipse.xtext.parser.IParseResult)60 EObject (org.eclipse.emf.ecore.EObject)22 StringReader (java.io.StringReader)16 ICompositeNode (org.eclipse.xtext.nodemodel.ICompositeNode)14 ILeafNode (org.eclipse.xtext.nodemodel.ILeafNode)10 INode (org.eclipse.xtext.nodemodel.INode)10 XtextResource (org.eclipse.xtext.resource.XtextResource)10 ReplaceRegion (org.eclipse.xtext.util.ReplaceRegion)9 ParserRule (org.eclipse.xtext.ParserRule)8 Test (org.junit.Test)7 ITextRegion (org.eclipse.xtext.util.ITextRegion)6 Resource (org.eclipse.emf.ecore.resource.Resource)4 TextRegion (org.eclipse.xtext.util.TextRegion)4 URI (org.eclipse.emf.common.util.URI)3 WrappedException (org.eclipse.emf.common.util.WrappedException)3 ParseResult (org.eclipse.xtext.parser.ParseResult)3 Scope (org.yakindu.sct.model.sgraph.Scope)3 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 List (java.util.List)2