protected void loadResource(XtextResource resource, String document, String encoding) throws CoreException { try { // encoding can be null for FileRevisionEditorInput byte[] bytes = encoding != null ? document.getBytes(encoding) : document.getBytes(); resource.load(new ByteArrayInputStream(bytes), Collections.singletonMap(XtextResource.OPTION_ENCODING, encoding)); } catch (IOException ex) { String message = (ex.getMessage() != null ? ex.getMessage() : ex.toString()); IStatus s = new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.OK, message, ex); throw new CoreException(s); } }
protected XtextResource createResource(String content) { XtextResource result = this.resourceProvider.createResource(); try { result.load(new StringInputStream(content, result.getEncoding()), Collections.emptyMap()); } catch (Exception e) { throw new RuntimeException(e); } return result; }
/** Format the code in the given resource. * * @param resource the resource of the code to format. */ public void format(XtextResource resource) { assert resource != null; final String result = formatResource(resource); // Write back to the resource try (StringInputStream stringInputStream = new StringInputStream(result)) { resource.load(stringInputStream, Collections.emptyMap()); } catch (Exception exception) { throw Exceptions.sneakyThrow(exception); } }
/** Format the code in the given region. * * @param resource the resource to format. * @param offset the offset of the text to format. * @param length the length of the text. */ public void formatRegion(XtextResource resource, int offset, int length) { assert resource != null; assert offset >= 0; assert length >= 0; final String result = formatResourceRegion(resource, offset, length); // Write back to the resource try (StringInputStream stringInputStream = new StringInputStream(result)) { resource.load(stringInputStream, Collections.emptyMap()); } catch (Exception exception) { throw Exceptions.sneakyThrow(exception); } }
protected XtextResource doGetResource(InputStream in, URI uri) throws Exception { XtextResourceSet rs = get(XtextResourceSet.class); rs.setClasspathURIContext(getClass()); XtextResource resource = (XtextResource) getResourceFactory().createResource(uri); rs.getResources().add(resource); resource.load(in, null); if (resource instanceof LazyLinkingResource) { ((LazyLinkingResource) resource).resolveLazyCrossReferences(CancelIndicator.NullImpl); } else { EcoreUtil.resolveAll(resource); } return resource; }
protected XtextResource doGetResource(InputStream in, URI uri) throws Exception { XtextResourceSet rs = get(XtextResourceSet.class); rs.setClasspathURIContext(getClass()); XtextResource resource = (XtextResource) getResourceFactory().createResource(uri); rs.getResources().add(resource); resource.load(in, null); if (resource instanceof LazyLinkingResource) { ((LazyLinkingResource) resource).resolveLazyCrossReferences(CancelIndicator.NullImpl); } else { EcoreUtil.resolveAll(resource); } return resource; }
protected XtextResource doGetResource(InputStream in, URI uri) throws Exception { XtextResourceSet rs = get(XtextResourceSet.class); rs.setClasspathURIContext(getClass()); XtextResource resource = (XtextResource) getResourceFactory().createResource(uri); rs.getResources().add(resource); resource.load(in, null); if (resource instanceof LazyLinkingResource) { ((LazyLinkingResource) resource).resolveLazyCrossReferences(CancelIndicator.NullImpl); } else { EcoreUtil.resolveAll(resource); } return resource; }
/** Format the given code. * * @param sarlCode the code to format. * @param resourceSet the resource set that sohuld contains the code. This resource set may be * used for resolving types by the underlying code. * @return the code to format. */ @Pure public String format(String sarlCode, ResourceSet resourceSet) { try { final URI createURI = URI.createURI("synthetic://to-be-formatted." + this.fileExtension); //$NON-NLS-1$ final Resource res = this.resourceFactory.createResource(createURI); if (res instanceof XtextResource) { final XtextResource resource = (XtextResource) res; final EList<Resource> resources = resourceSet.getResources(); resources.add(resource); try (StringInputStream stringInputStream = new StringInputStream(sarlCode)) { resource.load(stringInputStream, Collections.emptyMap()); return formatResource(resource); } finally { resources.remove(resource); } } return sarlCode; } catch (Exception exception) { throw Exceptions.sneakyThrow(exception); } }
@Override public void processInput(String input, DeltaScenarioProcessor tester) throws Exception { XtextResource resource = tester.get(XtextResource.class); resource.setURI(URI.createURI("dummy.uri")); try { resource.load(new StringInputStream(input, "UTF-8"), Collections.singletonMap(XtextResource.OPTION_ENCODING, "UTF-8")); } catch (Exception e) { Assert.fail(e.getMessage()); } ICompositeNode rootNode = resource.getParseResult().getRootNode(); for(ILeafNode token: rootNode.getLeafNodes()) { int start = token.getTotalOffset(); int length = token.getTotalLength(); if (length > 1 && length != 3) { tester.processFile(input, input, start, length, ""); } } } },
public <Result> Result useTemporaryResource( ResourceSet resourceSet, Grammar language, AbstractRule rootRule, String content, IUnitOfWork<Result, XtextResource> runnable) { XtextResource resource = languageRegistry.createTemporaryResourceIn(language, resourceSet); if (rootRule != null) PartialParser.assignRootRule(resource, (ParserRule) rootRule); try { resource.load(new StringInputStream(content, resource.getEncoding()), null); return runnable.exec(resource); } catch(Exception e) { throw new RuntimeException(e); } finally { if (resource != null) { if (resource.isLoaded()) resource.unload(); resourceSet.getResources().remove(resource); } } }
@Override public void processInput(String input, DeltaScenarioProcessor tester) throws Exception { XtextResource resource = tester.get(XtextResource.class); resource.setURI(URI.createURI("dummy.uri")); try { resource.load(new StringInputStream(input, "UTF-8"), Collections.singletonMap(XtextResource.OPTION_ENCODING, "UTF-8")); } catch (Exception e) { Assert.fail(e.getMessage()); } ICompositeNode rootNode = resource.getParseResult().getRootNode(); ReplaceRegion region = null; for(INode node: rootNode.getAsTreeIterable()) { int offset = node.getTotalOffset(); int length = node.getTotalLength(); if (length != 0) { if (region == null || region.getOffset() != offset || region.getLength() != length) { region = new ReplaceRegion(offset, length, ""); if (Iterables.size(node.getLeafNodes()) > 1 && length > 1 && length != 3) { tester.processFile(input, input, offset, length, ""); } } } } } },
resource.load(_stringInputStream, CollectionLiterals.<Object, Object>emptyMap()); final XtextWebDocument document = this.documentProvider.get(resourceId, context); document.setInput(resource);
public String format(final String xtendCode) { try { final XtextResourceSet resourceSet = new XtextResourceSet(); Resource _createResource = this.resourceFactory.createResource(URI.createURI("synthetic://to-be-formatted.xtend")); final XtextResource resource = ((XtextResource) _createResource); EList<Resource> _resources = resourceSet.getResources(); _resources.add(resource); StringInputStream _stringInputStream = new StringInputStream(xtendCode); resource.load(_stringInputStream, CollectionLiterals.<Object, Object>emptyMap()); final ITextRegionAccess regionAccess = this.regionAccessBuilder.get().forNodeModel(resource).create(); FormatterRequest _formatterRequest = new FormatterRequest(); final Procedure1<FormatterRequest> _function = (FormatterRequest it) -> { it.setAllowIdentityEdits(false); it.setTextRegionAccess(regionAccess); it.setPreferences(TypedPreferenceValues.castOrWrap(this.cfgProvider.getPreferenceValues(resource))); }; FormatterRequest request = ObjectExtensions.<FormatterRequest>operator_doubleArrow(_formatterRequest, _function); List<ITextReplacement> replacements = this.formatter.format(request); return regionAccess.getRewriter().renderToString(replacements); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } }
resource.load(context.getInputStream(), null); } catch (Exception e) { context.error(e.getMessage(), 0);