org.eclipse.xtext.xbase.compiler.DocumentationAdapter Java Examples
The following examples show how to use
org.eclipse.xtext.xbase.compiler.DocumentationAdapter.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: JvmTypesBuilder.java From xtext-extras with Eclipse Public License 2.0 | 6 votes |
/** * Attaches the given documentation of the source element to the given jvmElement. * * The documentation is computed lazily. */ public void copyDocumentationTo(/* @Nullable */ final EObject source, /* @Nullable */ JvmIdentifiableElement jvmElement) { if(source == null || jvmElement == null) return; DocumentationAdapter documentationAdapter = new DocumentationAdapter() { private boolean computed = false; @Override public String getDocumentation() { if (computed) { return super.getDocumentation(); } String result = JvmTypesBuilder.this.getDocumentation(source); setDocumentation(result); return result; } @Override public void setDocumentation(String documentation) { computed = true; super.setDocumentation(documentation); } }; jvmElement.eAdapters().add(documentationAdapter); }
Example #2
Source File: XbaseHoverDocumentationProvider.java From xtext-eclipse with Eclipse Public License 2.0 | 6 votes |
protected String resolveDocumentation(EObject object) { String documentation = documentationProvider.getDocumentation(object); if (documentation != null) { return documentation; } DocumentationAdapter adapter = getDocumentationAdapter(object); if (adapter != null) { documentation = adapter.getDocumentation(); } if (documentation != null) { return documentation; } EObject primarySourceElement = associations.getPrimarySourceElement(object); if (primarySourceElement == null) { return null; } return documentationProvider.getDocumentation(primarySourceElement); }
Example #3
Source File: SarlDocumentationProvider.java From sarl with Apache License 2.0 | 6 votes |
public String getDocumentation(EObject o) { // Get the documentation from the Xtext grammar hidden nodes. String text = super.getDocumentation(o); if (text == null) { // Get the grammar from the Ecore model element. if (o instanceof EModelElement) { text = EcoreUtil.getDocumentation((EModelElement) o); } if (text == null) { // Get the grammar from the code builder extension. DocumentationAdapter adapter = (DocumentationAdapter) EcoreUtil.getAdapter( o.eAdapters(), DocumentationAdapter.class); if (adapter != null) { return adapter.getDocumentation(); } } } return text; }
Example #4
Source File: JvmTypesBuilder.java From xtext-extras with Eclipse Public License 2.0 | 5 votes |
/** * Retrieves the attached documentation for the given source element. * By default this implementation provides the text of a multi line comment preceding the definition of the given source element. * * @return the documentation of the given source, <code>null</code> if source is <code>null</code> or doesn't have any documentation. */ /* @Nullable */ public String getDocumentation(/* @Nullable */ EObject source) { if (source == null) return null; if (source instanceof JvmIdentifiableElement) { DocumentationAdapter adapter = (DocumentationAdapter) EcoreUtil.getAdapter(source.eAdapters(), DocumentationAdapter.class); if (adapter != null) return adapter.getDocumentation(); } String documentation = documentationProvider.getDocumentation(source); return documentation; }
Example #5
Source File: JvmTypesBuilder.java From xtext-extras with Eclipse Public License 2.0 | 5 votes |
/** * Attaches the given documentation to the given jvmElement. */ public void setDocumentation(/* @Nullable */ JvmIdentifiableElement jvmElement, /* @Nullable */ String documentation) { if(jvmElement == null || documentation == null) return; DocumentationAdapter documentationAdapter = new DocumentationAdapter(); documentationAdapter.setDocumentation(documentation); jvmElement.eAdapters().add(documentationAdapter); }
Example #6
Source File: BatchLinkableResourceStorageWritable.java From xtext-extras with Eclipse Public License 2.0 | 5 votes |
@Override protected void handleSaveEObject(final InternalEObject object, final BinaryResourceImpl.EObjectOutputStream out) throws IOException { super.handleSaveEObject(object, out); DocumentationAdapter documentationAdapter = null; JvmIdentifiableMetaData metaDataAdapter = null; EList<Adapter> _eAdapters = object.eAdapters(); for (final Adapter adapter : _eAdapters) { { if ((adapter instanceof DocumentationAdapter)) { documentationAdapter = ((DocumentationAdapter)adapter); } if ((adapter instanceof JvmIdentifiableMetaData)) { metaDataAdapter = ((JvmIdentifiableMetaData)adapter); } } } if ((documentationAdapter != null)) { out.writeBoolean(true); out.writeString(documentationAdapter.getDocumentation()); } else { out.writeBoolean(false); } if ((metaDataAdapter != null)) { out.writeBoolean(true); out.writeBoolean(metaDataAdapter.isSynthetic()); } else { out.writeBoolean(false); } }
Example #7
Source File: JvmModelGenerator.java From xtext-extras with Eclipse Public License 2.0 | 5 votes |
public void generateJavaDoc(final EObject it, final ITreeAppendable appendable, final GeneratorConfig config) { final DocumentationAdapter adapter = IterableExtensions.<DocumentationAdapter>head(Iterables.<DocumentationAdapter>filter(it.eAdapters(), DocumentationAdapter.class)); if (((adapter != null) && (!StringExtensions.isNullOrEmpty(adapter.getDocumentation())))) { final Set<EObject> sourceElements = this.getSourceElements(it); if (((sourceElements.size() == 1) && (this.documentationProvider instanceof IEObjectDocumentationProviderExtension))) { final List<INode> documentationNodes = ((IEObjectDocumentationProviderExtension) this.documentationProvider).getDocumentationNodes(IterableExtensions.<EObject>head(sourceElements)); this.addJavaDocImports(it, appendable, documentationNodes); this.generateDocumentation(adapter.getDocumentation(), documentationNodes, appendable, config); } else { this.generateDocumentation(adapter.getDocumentation(), CollectionLiterals.<INode>emptyList(), appendable, config); } } }
Example #8
Source File: XtendHoverDocumentationProvider.java From xtext-xtend with Eclipse Public License 2.0 | 5 votes |
protected String resolveDocumentationForJvmElement(EObject jvmElement) { String documentation = documentationProvider.getDocumentation(jvmElement); if (documentation != null) { return documentation; } DocumentationAdapter adapter = getDocumentationAdapter(jvmElement); return adapter == null ? null : adapter.getDocumentation(); }
Example #9
Source File: JvmMemberDeclarationImpl.java From xtext-xtend with Eclipse Public License 2.0 | 5 votes |
@Override public String getDocComment() { Adapter _adapter = EcoreUtil.getAdapter(this.getDelegate().eAdapters(), DocumentationAdapter.class); final DocumentationAdapter adapter = ((DocumentationAdapter) _adapter); String _documentation = null; if (adapter!=null) { _documentation=adapter.getDocumentation(); } return _documentation; }
Example #10
Source File: JvmMemberDeclarationImpl.java From xtext-xtend with Eclipse Public License 2.0 | 5 votes |
public void setDocComment(final String docComment) { this.checkMutable(); Adapter _adapter = EcoreUtil.getAdapter(this.getDelegate().eAdapters(), DocumentationAdapter.class); DocumentationAdapter adapter = ((DocumentationAdapter) _adapter); if ((adapter == null)) { DocumentationAdapter _documentationAdapter = new DocumentationAdapter(); adapter = _documentationAdapter; EList<Adapter> _eAdapters = this.getDelegate().eAdapters(); _eAdapters.add(adapter); } adapter.setDocumentation(docComment); }
Example #11
Source File: SARLEcoreDocumentationSyntacticSequencer.java From sarl with Apache License 2.0 | 5 votes |
protected void emitDocumentation(EObject semanticObject) { if (this.documentedSemanticObjects.add(semanticObject)) { DocumentationAdapter documentationAdapter = (DocumentationAdapter) EcoreUtil.getAdapter(semanticObject.eAdapters(), DocumentationAdapter.class); if (documentationAdapter != null) { emitDocumentation(semanticObject.getClass(), documentationAdapter.getDocumentation()); } } }
Example #12
Source File: XbaseHoverDocumentationProvider.java From xtext-eclipse with Eclipse Public License 2.0 | 4 votes |
protected DocumentationAdapter getDocumentationAdapter(EObject object) { return (DocumentationAdapter) EcoreUtil.getAdapter(object.eAdapters(), DocumentationAdapter.class); }
Example #13
Source File: ResourceStorageTest.java From xtext-xtend with Eclipse Public License 2.0 | 4 votes |
@Test public void testWriteAndLoad() { try { StringConcatenation _builder = new StringConcatenation(); _builder.append("package foo"); _builder.newLine(); _builder.newLine(); _builder.append("class Bar {"); _builder.newLine(); _builder.append("\t"); _builder.append("def dispatch myMethod(String s) {}"); _builder.newLine(); _builder.append("\t"); _builder.append("/**"); _builder.newLine(); _builder.append("\t "); _builder.append("* Hello myMethod "); _builder.newLine(); _builder.append("\t "); _builder.append("*/"); _builder.newLine(); _builder.append("\t"); _builder.append("def dispatch myMethod(CharSequence cs) {}"); _builder.newLine(); _builder.append("}"); _builder.newLine(); _builder.append("class Foo {"); _builder.newLine(); _builder.append("\t"); _builder.append("def dispatch other(String it) {"); _builder.newLine(); _builder.append("\t\t"); _builder.append("var x = \"\""); _builder.newLine(); _builder.append("\t\t"); _builder.append("x = length.toString"); _builder.newLine(); _builder.append("\t\t"); _builder.append("println(x)"); _builder.newLine(); _builder.append("\t"); _builder.append("}"); _builder.newLine(); _builder.append("}"); _builder.newLine(); final String contents = _builder.toString(); final XtendFile file = this.file(contents); final ByteArrayOutputStream bout = new ByteArrayOutputStream(); ((ResourceStorageFacade) this.resourceStorageFacade).setStoreNodeModel(true); Resource _eResource = file.eResource(); this.resourceStorageFacade.createResourceStorageWritable(bout).writeResource(((StorageAwareResource) _eResource)); byte[] _byteArray = bout.toByteArray(); ByteArrayInputStream _byteArrayInputStream = new ByteArrayInputStream(_byteArray); final ResourceStorageLoadable in = this.resourceStorageFacade.createResourceStorageLoadable(_byteArrayInputStream); Resource _createResource = file.eResource().getResourceSet().createResource(URI.createURI("synthetic:/test/MyClass.xtend")); final StorageAwareResource resource = ((StorageAwareResource) _createResource); final InMemoryURIConverter converter = new InMemoryURIConverter(); converter.addModel(resource.getURI().toString(), contents); ResourceSet _resourceSet = resource.getResourceSet(); _resourceSet.setURIConverter(converter); EList<Resource> _resources = file.eResource().getResourceSet().getResources(); _resources.add(resource); resource.loadFromStorage(in); EObject _get = resource.getContents().get(1); final JvmGenericType jvmClass = ((JvmGenericType) _get); Assert.assertEquals("java.lang.CharSequence", IterableExtensions.<JvmFormalParameter>head((((JvmOperation[])Conversions.unwrapArray(jvmClass.getDeclaredOperations(), JvmOperation.class))[2]).getParameters()).getParameterType().getQualifiedName()); Assert.assertEquals("java.lang.Object", (((JvmOperation[])Conversions.unwrapArray(jvmClass.getDeclaredOperations(), JvmOperation.class))[2]).getReturnType().getQualifiedName()); Assert.assertEquals("Hello myMethod", IterableExtensions.<DocumentationAdapter>head(Iterables.<DocumentationAdapter>filter((((JvmOperation[])Conversions.unwrapArray(jvmClass.getDeclaredOperations(), JvmOperation.class))[1]).eAdapters(), DocumentationAdapter.class)).getDocumentation()); Assert.assertEquals(resource.getURI(), resource.getResourceDescription().getURI()); Assert.assertEquals(2, IterableExtensions.size(resource.getResourceDescription().getExportedObjects())); Assert.assertEquals("foo.Bar", IterableExtensions.<IEObjectDescription>head(resource.getResourceDescription().getExportedObjects()).getQualifiedName().toString()); final BidiTreeIterator<INode> restoredNodes = NodeModelUtils.findActualNodeFor(IterableExtensions.<EObject>head(resource.getContents())).getAsTreeIterable().iterator(); final BidiTreeIterator<INode> originalNodes = NodeModelUtils.findActualNodeFor(file).getAsTreeIterable().iterator(); while (restoredNodes.hasNext()) { { final INode rest = restoredNodes.next(); final INode orig = originalNodes.next(); Assert.assertEquals(orig.getStartLine(), rest.getStartLine()); Assert.assertEquals(orig.getEndLine(), rest.getEndLine()); Assert.assertEquals(orig.getOffset(), rest.getOffset()); Assert.assertEquals(orig.getEndOffset(), rest.getEndOffset()); Assert.assertEquals(orig.getLength(), rest.getLength()); Assert.assertEquals(orig.getTotalStartLine(), rest.getTotalStartLine()); Assert.assertEquals(orig.getTotalEndLine(), rest.getTotalEndLine()); Assert.assertEquals(orig.getTotalOffset(), rest.getTotalOffset()); Assert.assertEquals(orig.getTotalEndOffset(), rest.getTotalEndOffset()); Assert.assertEquals(orig.getTotalLength(), rest.getTotalLength()); Assert.assertSame(orig.getGrammarElement(), rest.getGrammarElement()); Assert.assertEquals(file.eResource().getURIFragment(orig.getSemanticElement()), resource.getURIFragment(rest.getSemanticElement())); Assert.assertEquals(orig.getText(), rest.getText()); } } Assert.assertFalse(originalNodes.hasNext()); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }
Example #14
Source File: AbstractSubCodeBuilderFragment.java From sarl with Apache License 2.0 | 4 votes |
/** Replies the adapter for pre documentation. * * @return the adapter. */ @SuppressWarnings("static-method") @Pure protected TypeReference getPreDocumentationAdapter() { return new TypeReference(DocumentationAdapter.class); }