当前位置: 首页>>代码示例>>Java>>正文


Java XtextSyntaxDiagnostic类代码示例

本文整理汇总了Java中org.eclipse.xtext.resource.XtextSyntaxDiagnostic的典型用法代码示例。如果您正苦于以下问题:Java XtextSyntaxDiagnostic类的具体用法?Java XtextSyntaxDiagnostic怎么用?Java XtextSyntaxDiagnostic使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


XtextSyntaxDiagnostic类属于org.eclipse.xtext.resource包,在下文中一共展示了XtextSyntaxDiagnostic类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的org.eclipse.xtext.resource.XtextSyntaxDiagnostic类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。