use of org.eclipse.xtext.validation.Issue in project dsl-devkit by dsldevkit.
the class CheckMarkerUpdateJob method createMarkers.
/**
* Creates the marker on a given file based on the collection of issues.
*
* @param markerCreator
* the marker creator, may be {@code null}
* @param file
* the EFS file, must not be {@code null}
* @param issues
* the collection of issues, must not be {@code null}
* @throws CoreException
*/
private void createMarkers(final MarkerCreator markerCreator, final IFile file, final Collection<Issue> issues) throws CoreException {
file.deleteMarkers(MarkerTypes.FAST_VALIDATION, true, IResource.DEPTH_ZERO);
file.deleteMarkers(MarkerTypes.NORMAL_VALIDATION, true, IResource.DEPTH_ZERO);
file.deleteMarkers(MarkerTypes.EXPENSIVE_VALIDATION, true, IResource.DEPTH_ZERO);
if (markerCreator != null) {
for (final Issue issue : issues) {
markerCreator.createMarker(issue, file, MarkerTypes.forCheckType(issue.getType()));
}
} else {
if (LOGGER.isDebugEnabled()) {
// $NON-NLS-1$
LOGGER.error("Could not create markers. The marker creator is null.");
}
}
}
use of org.eclipse.xtext.validation.Issue in project mechanoid by robotoworks.
the class Compiler method compile.
public void compile(String source, String sourceFolder, String stubFolder, boolean recurse) {
Map<String, OutputConfiguration> outputConfigurations = createOutputConfigurations(sourceFolder, stubFolder);
mFileSystemAccess.setOutputConfigurations(outputConfigurations);
File file = new File(System.getProperty("user.dir"), source);
if (!file.exists()) {
throw new IllegalStateException("invalid input source");
}
ArrayList<String> resourcePaths = new ArrayList<String>();
getResourcePaths(resourcePaths, file, recurse);
loadResources(resourcePaths);
List<Issue> issues = validate();
for (Issue issue : issues) {
System.out.println(issue.getCode() + ":" + issue.getMessage());
}
if (issues.size() == 0) {
generate();
}
}
use of org.eclipse.xtext.validation.Issue in project coffeescript-eclipse by adamschmideg.
the class Main method runGenerator.
protected void runGenerator(String string) {
// load the resource
ResourceSet set = resourceSetProvider.get();
Resource resource = set.getResource(URI.createURI(string), true);
// validate the resource
List<Issue> list = validator.validate(resource, CheckMode.ALL, CancelIndicator.NullImpl);
if (!list.isEmpty()) {
for (Issue issue : list) {
System.err.println(issue);
}
return;
}
// configure and start the generator
fileAccess.setOutputPath("src-gen/");
generator.doGenerate(resource, fileAccess);
System.out.println("Code generation finished.");
}
use of org.eclipse.xtext.validation.Issue in project xtext-xtend by eclipse.
the class ActiveAnnotationsRuntimeTest method testBug403563.
@Test
public void testBug403563() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package myannotation");
_builder.newLine();
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.Active");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.TransformationContext");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.AbstractClassProcessor");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration");
_builder.newLine();
_builder.newLine();
_builder.append("@Active(ThrowExceptionAnnotationProcessor)");
_builder.newLine();
_builder.append("annotation ThrowExceptionAnnotation{ }");
_builder.newLine();
_builder.append("class ThrowExceptionAnnotationProcessor extends AbstractClassProcessor {");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("override doTransform(MutableClassDeclaration clazz, extension TransformationContext context) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("throw new IllegalStateException");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("}");
_builder.newLine();
Pair<String, String> _mappedTo = Pair.<String, String>of("myannotation/ThrowExceptionAnnotationProcessor.xtend", _builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("package myusercode");
_builder_1.newLine();
_builder_1.newLine();
_builder_1.append("@myannotation.ThrowExceptionAnnotation class MyClass {");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
Pair<String, String> _mappedTo_1 = Pair.<String, String>of("myusercode/UserCode.xtend", _builder_1.toString());
final Procedure1<List<Issue>> _function = (List<Issue> it) -> {
Assert.assertEquals(1, it.size());
final Issue error = IterableExtensions.<Issue>head(it);
Assert.assertNotNull(error);
Assert.assertEquals(IssueCodes.PROCESSING_ERROR, error.getCode());
Assert.assertTrue(error.getMessage().contains(IllegalStateException.class.getName()));
Assert.assertFalse(error.getMessage().contains(AnnotationProcessor.class.getName()));
};
this.assertIssues(_mappedTo, _mappedTo_1, _function);
}
use of org.eclipse.xtext.validation.Issue in project xtext-xtend by eclipse.
the class AbstractXtendTestCase method files.
protected Iterable<XtendFile> files(boolean validate, String... contents) throws Exception {
XtextResourceSet set = getResourceSet();
List<XtendFile> result = newArrayList();
for (String string : contents) {
String fileName = getFileName(string);
Resource resource = set.createResource(URI.createURI(fileName + ".xtend"));
resource.load(new StringInputStream(string), null);
assertEquals(resource.getErrors().toString(), 0, resource.getErrors().size());
}
for (Resource resource : new ArrayList<Resource>(set.getResources())) {
XtendFile file = (XtendFile) resource.getContents().get(0);
result.add(file);
}
if (validate) {
for (XtendFile file : result) {
List<Issue> issues = ((XtextResource) file.eResource()).getResourceServiceProvider().getResourceValidator().validate(file.eResource(), CheckMode.ALL, CancelIndicator.NullImpl);
assertTrue("Resource contained errors : " + issues.toString(), issues.isEmpty());
}
}
return result;
}
Aggregations