use of org.eclipse.xtext.AbstractRule in project xtext-core by eclipse.
the class OverriddenValueInspectorTest method testFragment_09.
@Test
public void testFragment_09() throws Exception {
StringConcatenation _builder = new StringConcatenation();
_builder.append("grammar org.foo with org.eclipse.xtext.common.Terminals");
_builder.newLine();
_builder.append("generate metamodel \'foo.sample\'");
_builder.newLine();
_builder.append("EntryRule:");
_builder.newLine();
_builder.append("\t");
_builder.append("name=ID FragmentWithAction");
_builder.newLine();
_builder.append(";");
_builder.newLine();
_builder.append("fragment FragmentWithAction returns EntryRule:");
_builder.newLine();
_builder.append("\t");
_builder.append("name=ID {EntryRule.prev=current}");
_builder.newLine();
_builder.append(";");
_builder.newLine();
String grammarAsString = _builder.toString();
final Grammar grammar = this.getGrammar(grammarAsString);
AbstractRule _findRuleForName = GrammarUtil.findRuleForName(grammar, "EntryRule");
final ParserRule rule = ((ParserRule) _findRuleForName);
this.validateRule(rule);
Assert.assertEquals(this.warnings.toString(), 2, this.warnings.size());
AbstractRule _findRuleForName_1 = GrammarUtil.findRuleForName(grammar, "FragmentWithAction");
final ParserRule fragment = ((ParserRule) _findRuleForName_1);
this.validateRule(fragment);
Assert.assertEquals(this.warnings.toString(), 0, this.warnings.size());
}
use of org.eclipse.xtext.AbstractRule in project xtext-core by eclipse.
the class OverriddenValueInspectorTest method testRuleCall_01.
@Test
public void testRuleCall_01() throws Exception {
StringConcatenation _builder = new StringConcatenation();
_builder.append("grammar org.foo with org.eclipse.xtext.common.Terminals");
_builder.newLine();
_builder.append("generate metamodel \'foo.sample\'");
_builder.newLine();
_builder.append("First returns Object: (Third|Second) cardinality=(\'+\'|\'*\')?;");
_builder.newLine();
_builder.append("Second returns Object: \'(\' First \')\';");
_builder.newLine();
_builder.append("Third returns Object: name=ID;");
_builder.newLine();
String grammarAsString = _builder.toString();
final Grammar grammar = this.getGrammar(grammarAsString);
AbstractRule _findRuleForName = GrammarUtil.findRuleForName(grammar, "First");
final ParserRule rule = ((ParserRule) _findRuleForName);
this.validateRule(rule);
Assert.assertEquals(this.warnings.toString(), 2, this.warnings.size());
}
use of org.eclipse.xtext.AbstractRule in project xtext-core by eclipse.
the class OverriddenValueInspectorTest method testFragment_03.
@Test
public void testFragment_03() throws Exception {
StringConcatenation _builder = new StringConcatenation();
_builder.append("grammar org.foo with org.eclipse.xtext.common.Terminals");
_builder.newLine();
_builder.append("generate metamodel \'foo.sample\'");
_builder.newLine();
_builder.append("First : Named;");
_builder.newLine();
_builder.append("fragment Named: name=ID Named;");
_builder.newLine();
String grammarAsString = _builder.toString();
final Grammar grammar = this.getGrammar(grammarAsString);
AbstractRule _findRuleForName = GrammarUtil.findRuleForName(grammar, "First");
final ParserRule rule = ((ParserRule) _findRuleForName);
this.validateRule(rule);
final Function1<Triple<String, EObject, EStructuralFeature>, String> _function = (Triple<String, EObject, EStructuralFeature> it) -> {
return it.getFirst();
};
Assert.assertEquals(ListExtensions.<Triple<String, EObject, EStructuralFeature>, String>map(this.warnings, _function).toString(), 0, this.warnings.size());
AbstractRule _findRuleForName_1 = GrammarUtil.findRuleForName(grammar, "Named");
final ParserRule fragment = ((ParserRule) _findRuleForName_1);
this.validateRule(fragment);
final Function1<Triple<String, EObject, EStructuralFeature>, String> _function_1 = (Triple<String, EObject, EStructuralFeature> it) -> {
return it.getFirst();
};
Assert.assertEquals(ListExtensions.<Triple<String, EObject, EStructuralFeature>, String>map(this.warnings, _function_1).toString(), 2, this.warnings.size());
}
use of org.eclipse.xtext.AbstractRule in project xtext-core by eclipse.
the class OverriddenValueInspectorTest method testBug306281_09.
@Test
public void testBug306281_09() throws Exception {
StringConcatenation _builder = new StringConcatenation();
_builder.append("grammar org.foo with org.eclipse.xtext.common.Terminals");
_builder.newLine();
_builder.append("generate metamodel \'foo.sample\'");
_builder.newLine();
_builder.append("Model : name=ID (({Binary.left=current} operator = [Model] | {Binary.left=current} operator = [Model])?\tname=ID);");
String grammarAsString = _builder.toString();
final Grammar grammar = this.getGrammar(grammarAsString);
AbstractRule _findRuleForName = GrammarUtil.findRuleForName(grammar, "Model");
final ParserRule rule = ((ParserRule) _findRuleForName);
this.validateRule(rule);
Assert.assertEquals(this.warnings.toString(), 2, this.warnings.size());
}
use of org.eclipse.xtext.AbstractRule in project xtext-core by eclipse.
the class OverriddenValueInspectorTest method testNoMarkerForCalledRules_01.
@Test
public void testNoMarkerForCalledRules_01() throws Exception {
StringConcatenation _builder = new StringConcatenation();
_builder.append("grammar org.foo with org.eclipse.xtext.common.Terminals");
_builder.newLine();
_builder.append("generate metamodel \'foo.sample\'");
_builder.newLine();
_builder.append("First returns Object: Second;");
_builder.newLine();
_builder.append("Second returns Object: name=ID name=ID;");
_builder.newLine();
String grammarAsString = _builder.toString();
final Grammar grammar = this.getGrammar(grammarAsString);
AbstractRule _findRuleForName = GrammarUtil.findRuleForName(grammar, "First");
ParserRule rule = ((ParserRule) _findRuleForName);
this.validateRule(rule);
Assert.assertEquals(this.warnings.toString(), 0, this.warnings.size());
AbstractRule _findRuleForName_1 = GrammarUtil.findRuleForName(grammar, "Second");
rule = ((ParserRule) _findRuleForName_1);
this.validateRule(rule);
Assert.assertEquals(this.warnings.toString(), 2, this.warnings.size());
}
Aggregations