本文整理汇总了Java中org.eclipse.xtext.resource.XtextSyntaxDiagnostic类的典型用法代码示例。如果您正苦于以下问题:Java XtextSyntaxDiagnostic类的具体用法?Java XtextSyntaxDiagnostic怎么用?Java XtextSyntaxDiagnostic使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XtextSyntaxDiagnostic类属于org.eclipse.xtext.resource包,在下文中一共展示了XtextSyntaxDiagnostic类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: addSyntaxErrors
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
/**
* This is aware of warnings from the {@link N4JSStringValueConverter}.
*
* Issues from the parser are commonly treated as errors but here we want to create a warning.
*/
@Override
protected void addSyntaxErrors() {
if (isValidationDisabled())
return;
// EList.add unnecessarily checks for uniqueness by default
// so we use #addUnique below to save some CPU cycles for heavily broken
// models
BasicEList<Diagnostic> errorList = (BasicEList<Diagnostic>) getErrors();
BasicEList<Diagnostic> warningList = (BasicEList<Diagnostic>) getWarnings();
for (INode error : getParseResult().getSyntaxErrors()) {
XtextSyntaxDiagnostic diagnostic = createSyntaxDiagnostic(error);
String code = diagnostic.getCode();
if (AbstractN4JSStringValueConverter.WARN_ISSUE_CODE.equals(code)
|| RegExLiteralConverter.ISSUE_CODE.equals(code)
|| LegacyOctalIntValueConverter.ISSUE_CODE.equals(code)) {
warningList.addUnique(diagnostic);
} else if (!InternalSemicolonInjectingParser.SEMICOLON_INSERTED.equals(code)) {
errorList.addUnique(diagnostic);
}
}
}
开发者ID:eclipse,项目名称:n4js,代码行数:28,代码来源:N4JSResource.java
示例2: createSyntaxDiagnostic
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
private XtextSyntaxDiagnostic createSyntaxDiagnostic(INode error) {
SyntaxErrorMessage syntaxErrorMessage = error.getSyntaxErrorMessage();
if (org.eclipse.xtext.diagnostics.Diagnostic.SYNTAX_DIAGNOSTIC_WITH_RANGE.equals(syntaxErrorMessage
.getIssueCode())) {
String[] issueData = syntaxErrorMessage.getIssueData();
if (issueData.length == 1) {
String data = issueData[0];
int colon = data.indexOf(':');
return new XtextSyntaxDiagnosticWithRange(error, Integer.valueOf(data.substring(0, colon)),
Integer.valueOf(data.substring(colon + 1)), null) {
@Override
public int getLine() {
return getNode().getTotalStartLine();
}
};
}
}
return new XtextSyntaxDiagnostic(error);
}
开发者ID:eclipse,项目名称:n4js,代码行数:20,代码来源:N4JSResource.java
示例3: convertResourceDiagnostic
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
@Override
public void convertResourceDiagnostic(Diagnostic diagnostic, Severity severity, IAcceptor<Issue> acceptor) {
IssueImpl issue = new Issue.IssueImpl();
issue.setSyntaxError(diagnostic instanceof XtextSyntaxDiagnostic);
issue.setSeverity(severity);
issue.setLineNumber(diagnostic.getLine());
issue.setColumn(diagnostic.getColumn());
issue.setMessage(diagnostic.getMessage());
if (diagnostic instanceof org.eclipse.xtext.diagnostics.Diagnostic) {
org.eclipse.xtext.diagnostics.Diagnostic xtextDiagnostic = (org.eclipse.xtext.diagnostics.Diagnostic) diagnostic;
issue.setOffset(xtextDiagnostic.getOffset());
issue.setLength(xtextDiagnostic.getLength());
}
if (diagnostic instanceof AbstractDiagnostic) {
AbstractDiagnostic castedDiagnostic = (AbstractDiagnostic)diagnostic;
issue.setUriToProblem(castedDiagnostic.getUriToProblem());
issue.setCode(castedDiagnostic.getCode());
issue.setData(castedDiagnostic.getData());
}
issue.setType(CheckType.FAST);
acceptor.accept(issue);
}
开发者ID:eclipse,项目名称:xtext-core,代码行数:24,代码来源:DiagnosticConverterImpl.java
示例4: addSyntaxDiagnostic
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
/**
* @since 2.9
*/
@Override
protected void addSyntaxDiagnostic(List<Diagnostic> diagnostics, INode node) {
SyntaxErrorMessage syntaxErrorMessage = node.getSyntaxErrorMessage();
if (CardinalityAwareSyntaxErrorMessageProvider.CARDINALITY_ISSUE.equals(syntaxErrorMessage.getIssueCode())) {
super.getWarnings().add(new XtextSyntaxDiagnostic(node));
} else {
super.addSyntaxDiagnostic(diagnostics, node);
}
}
开发者ID:eclipse,项目名称:xtext-core,代码行数:13,代码来源:GrammarResource.java
示例5: issueFromXtextResourceDiagnostic
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
@Override
protected void issueFromXtextResourceDiagnostic(Diagnostic diagnostic, Severity severity,
IAcceptor<Issue> acceptor) {
if (diagnostic instanceof XtextSyntaxDiagnostic) {
super.issueFromXtextResourceDiagnostic(diagnostic, severity, acceptor);
} else if (diagnostic instanceof XtextLinkingDiagnostic) {
XtextLinkingDiagnostic linkingDiagnostic = (XtextLinkingDiagnostic) diagnostic;
if (linkingDiagnostic.getCode().equals(XtextLinkingDiagnosticMessageProvider.UNRESOLVED_RULE)) {
super.issueFromXtextResourceDiagnostic(diagnostic, severity, acceptor);
} else if (linkingDiagnostic.getMessage().contains("reference to Grammar")) {
super.issueFromXtextResourceDiagnostic(diagnostic, severity, acceptor);
}
}
}
开发者ID:eclipse,项目名称:xtext-core,代码行数:15,代码来源:ReducedXtextResourceValidator.java
示例6: testParseWithFractionError
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test public void testParseWithFractionError() throws Exception {
String model = "a.b.c.d: 1/0;";
Resource r = getResourceFromStringAndExpect(model, 1);
EObject parsedModel = r.getContents().get(0);
assertNotNull(parsedModel);
EObject firstModel = ((List<EObject>) parsedModel.eGet(modelFeature)).get(0);
assertFalse(firstModel.eIsSet(valueFeature));
assertEquals(1, r.getErrors().size());
XtextSyntaxDiagnostic diag = (XtextSyntaxDiagnostic) r.getErrors().get(0);
assertEquals(model.indexOf("1/0"), diag.getOffset());
assertEquals(3, diag.getLength());
}
开发者ID:eclipse,项目名称:xtext-core,代码行数:14,代码来源:ParserTest.java
示例7: testParseWithFractionErrorAndSpaces
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test public void testParseWithFractionErrorAndSpaces() throws Exception {
String model = "a.b.c.d: 1 / 0 ; ";
Resource r = getResourceFromStringAndExpect(model, 1);
EObject parsedModel = r.getContents().get(0);
assertNotNull(parsedModel);
EObject firstModel = ((List<EObject>) parsedModel.eGet(modelFeature)).get(0);
assertFalse(firstModel.eIsSet(valueFeature));
assertEquals(1, r.getErrors().size());
XtextSyntaxDiagnostic diag = (XtextSyntaxDiagnostic) r.getErrors().get(0);
assertEquals(model.indexOf("1 / 0"), diag.getOffset());
assertEquals(5, diag.getLength());
}
开发者ID:eclipse,项目名称:xtext-core,代码行数:14,代码来源:ParserTest.java
示例8: testNoExceptionUncaught
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
@Test public void testNoExceptionUncaught() throws Exception {
String modelAsString = "Hello max ! Hello peter! favourite peter";
Model model = (Model)getModelAndExpect(modelAsString, 2);
EList<Diagnostic> errors = model.eResource().getErrors();
Diagnostic diagnosticSyntax = errors.get(0);
Diagnostic diagnosticLinking = errors.get(1);
assertTrue(diagnosticSyntax instanceof XtextSyntaxDiagnostic);
assertTrue(diagnosticLinking instanceof XtextLinkingDiagnostic);
}
开发者ID:eclipse,项目名称:xtext-core,代码行数:10,代码来源:Bug362902Test.java
示例9: assertNoSyntaxErrorsOnResource
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
/**
* Validates if there is a syntax error present in the source content.
*
* @param sourceFileName
* the file name that should be associated with the parsed content, must not be {@code null}
* @param sourceContent
* source, must not be {@code null}
*/
protected void assertNoSyntaxErrorsOnResource(final String sourceFileName, final CharSequence sourceContent) {
final XtextTestSource testSource = createTestSource(sourceFileName, sourceContent.toString());
final List<Resource.Diagnostic> errors = testSource.getModel().eResource().getErrors().stream().filter(error -> error instanceof XtextSyntaxDiagnostic).collect(Collectors.toList());
if (!errors.isEmpty()) {
StringBuilder sb = new StringBuilder("Syntax error is present in the test source.\nList of all found syntax errors:");
errors.forEach(err -> sb.append("\n\t " + err.getMessage()));
Assert.fail(sb.toString());
}
}
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:18,代码来源:AbstractValidationTest.java
示例10: modelChanged
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
/**
* @see org.eclipse.xtext.ui.editor.model.IXtextModelListener#modelChanged(org.eclipse.xtext.resource.XtextResource)
*/
public void modelChanged(XtextResource resource) {
if (resource == null)
return;
boolean existingSyntaxErrors = Iterables.any(resource.getErrors(), new Predicate<Diagnostic>() {
public boolean apply(Diagnostic diagnostic) {
return diagnostic instanceof XtextSyntaxDiagnostic;
}
});
if (!existingSyntaxErrors) {
calculateProjectionAnnotationModel(false);
}
}
开发者ID:cplutte,项目名称:bts,代码行数:17,代码来源:DefaultFoldingStructureProvider.java
示例11: hasSyntaxError
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
private static boolean hasSyntaxError(List<Diagnostic> diagnostics) {
for (Diagnostic diagnostic : diagnostics) {
if (diagnostic instanceof XtextSyntaxDiagnostic) {
return true;
}
}
return false;
}
开发者ID:adolfosbh,项目名称:cs2as,代码行数:9,代码来源:CS2ASLinker.java
示例12: hasSyntaxError
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
public static boolean hasSyntaxError(List<Diagnostic> diagnostics) {
for (Diagnostic diagnostic : diagnostics) {
if (diagnostic instanceof XtextSyntaxDiagnostic) {
return true;
}
}
return false;
}
开发者ID:adolfosbh,项目名称:cs2as,代码行数:9,代码来源:LinkerUtil.java
示例13: getLinkingAndSyntaxErrors
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
public Iterable<Resource.Diagnostic> getLinkingAndSyntaxErrors(final Resource resource) {
final Function1<Resource.Diagnostic, Boolean> _function = (Resource.Diagnostic it) -> {
return Boolean.valueOf(((it instanceof XtextSyntaxDiagnostic) || (it instanceof XtextLinkingDiagnostic)));
};
return IterableExtensions.<Resource.Diagnostic>filter(resource.getErrors(), _function);
}
开发者ID:eclipse,项目名称:xtext-extras,代码行数:7,代码来源:AbstractTypeResolverTest.java
示例14: assertNoSyntaxError
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
/**
* Assert that the test source has no syntax error.
*/
protected void assertNoSyntaxError() {
Assert.assertFalse("The source has syntax errors", Iterables.any(getTestSource().getXtextResource().getErrors(), Predicates.instanceOf(XtextSyntaxDiagnostic.class)));
}
开发者ID:dsldevkit,项目名称:dsl-devkit,代码行数:7,代码来源:AbstractQuickFixTest.java
示例15: testInvalidExpressionParsing
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
public void testInvalidExpressionParsing() {
State state = createState("This is not a valid expression");
res.getContents().add(state);
assertEquals(1, res.getSyntaxDiagnostics().size());
assertTrue(res.getErrors().get(0) instanceof XtextSyntaxDiagnostic);
}
开发者ID:Yakindu,项目名称:statecharts,代码行数:7,代码来源:SCTResourceTest.java
示例16: createDiagnostics
import org.eclipse.xtext.resource.XtextSyntaxDiagnostic; //导入依赖的package包/类
protected void createDiagnostics(IParseResult parseResult, SpecificationElement semanticTarget) {
syntaxDiagnostics.get(semanticTarget).clear();
for (INode error : parseResult.getSyntaxErrors()) {
syntaxDiagnostics.put(semanticTarget, new XtextSyntaxDiagnostic(error));
}
}
开发者ID:Yakindu,项目名称:statecharts,代码行数:7,代码来源:AbstractSCTResource.java
注:本文中的org.eclipse.xtext.resource.XtextSyntaxDiagnostic类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论