mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 08:48:55 +00:00
[488958] no validation issue for whitespaces in keyword in terminal rules
This commit is contained in:
parent
1ef0554593
commit
4414b546cc
2 changed files with 9 additions and 2 deletions
|
@ -1078,7 +1078,8 @@ public class XtextValidator extends AbstractDeclarativeValidator {
|
|||
|
||||
@Check
|
||||
public void checkKeywordNoSpaces(final Keyword keyword) {
|
||||
if (keyword.getValue() != null && !(keyword.eContainer() instanceof EnumLiteralDeclaration)) {
|
||||
if (keyword.getValue() != null && !(keyword.eContainer() instanceof EnumLiteralDeclaration)
|
||||
&& !(GrammarUtil.containingRule(keyword) instanceof TerminalRule)) {
|
||||
if (keyword.getValue().contains(" ") || keyword.getValue().contains("\t")) {
|
||||
addIssue("A keyword should non contain spaces.",
|
||||
keyword,
|
||||
|
|
|
@ -1846,7 +1846,7 @@ public class XtextValidationTest extends AbstractValidationMessageAcceptingTestC
|
|||
String grammarAsText =
|
||||
"grammar test with org.eclipse.xtext.common.Terminals\n" +
|
||||
"generate test 'http://test'\n" +
|
||||
"A: foo='a b c'; B: bar='x\ty';";
|
||||
"A: foo='a b c'; B: bar='x\ty'; terminal C: ' ';";
|
||||
|
||||
Grammar grammar = (Grammar) getModel(grammarAsText);
|
||||
XtextValidator validator = get(XtextValidator.class);
|
||||
|
@ -1867,6 +1867,12 @@ public class XtextValidationTest extends AbstractValidationMessageAcceptingTestC
|
|||
configureValidator(validator, messageAcceptor, valueAssignment2);
|
||||
validator.checkKeywordNoSpaces((Keyword) valueAssignment2.getTerminal());
|
||||
messageAcceptor.validate();
|
||||
|
||||
messageAcceptor = new ValidatingMessageAcceptor(null, false, false);
|
||||
configureValidator(validator, messageAcceptor, valueAssignment2);
|
||||
validator.checkKeywordNoSpaces((Keyword) grammar.getRules().get(2).getAlternatives());
|
||||
messageAcceptor.validate();
|
||||
|
||||
}
|
||||
|
||||
public class ValidatingMessageAcceptor extends AbstractValidationMessageAcceptor {
|
||||
|
|
Loading…
Reference in a new issue