Search in sources :

Example 1 with Tree

use of org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.Tree in project xtext-core by eclipse.

the class AbstractCompletePrefixProviderTest method assertLastCompleteNode.

private void assertLastCompleteNode(final String model, final String expectation) {
    try {
        int offset = model.indexOf("<|>");
        if ((offset == (-1))) {
            offset = model.length();
        }
        int completionOffset = model.indexOf("<|>", offset);
        if ((completionOffset == (-1))) {
            completionOffset = offset;
        }
        final Tree tree = this.parseHelper.parse(model.replace("<|>", ""));
        final ICompositeNode nodeModel = NodeModelUtils.findActualNodeFor(tree);
        final INode completeNode = this.getTestee().getLastCompleteNodeByOffset(nodeModel, offset, completionOffset);
        this.assertNodeModel(expectation, completeNode);
    } catch (Throwable _e) {
        throw Exceptions.sneakyThrow(_e);
    }
}
Also used : INode(org.eclipse.xtext.nodemodel.INode) Tree(org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.Tree) ICompositeNode(org.eclipse.xtext.nodemodel.ICompositeNode)

Example 2 with Tree

use of org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.Tree in project xtext-core by eclipse.

the class IndentationAwareUiTestLanguageSemanticSequencer method sequence.

@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
    EPackage epackage = semanticObject.eClass().getEPackage();
    ParserRule rule = context.getParserRule();
    Action action = context.getAssignedAction();
    Set<Parameter> parameters = context.getEnabledBooleanParameters();
    if (epackage == IndentationAwareUiTestLanguagePackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case IndentationAwareUiTestLanguagePackage.CHILD_LIST:
                sequence_ChildList(context, (ChildList) semanticObject);
                return;
            case IndentationAwareUiTestLanguagePackage.OTHER_TREE_NODE:
                sequence_OtherTreeNode(context, (OtherTreeNode) semanticObject);
                return;
            case IndentationAwareUiTestLanguagePackage.TREE:
                sequence_Tree(context, (Tree) semanticObject);
                return;
            case IndentationAwareUiTestLanguagePackage.TREE_NODE:
                sequence_TreeNode(context, (TreeNode) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : OtherTreeNode(org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.OtherTreeNode) ParserRule(org.eclipse.xtext.ParserRule) Action(org.eclipse.xtext.Action) OtherTreeNode(org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.OtherTreeNode) TreeNode(org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.TreeNode) ChildList(org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.ChildList) Parameter(org.eclipse.xtext.Parameter) Tree(org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.Tree) EPackage(org.eclipse.emf.ecore.EPackage)

Aggregations

Tree (org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.Tree)2 EPackage (org.eclipse.emf.ecore.EPackage)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1 ChildList (org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.ChildList)1 OtherTreeNode (org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.OtherTreeNode)1 TreeNode (org.eclipse.xtext.ide.tests.testlanguage.indentationAwareUiTestLanguage.TreeNode)1 ICompositeNode (org.eclipse.xtext.nodemodel.ICompositeNode)1 INode (org.eclipse.xtext.nodemodel.INode)1