Search in sources :

Example 21 with Doclet

use of org.eclipse.n4js.jsdoc.dom.Doclet in project n4js by eclipse.

the class DocletParser method parseMainDescription.

private Doclet parseMainDescription(JSDocCharScanner scanner) {
    Doclet doclet = DomFactory.eINSTANCE.createDoclet();
    doclet.setBegin(scanner.offset());
    ContentNode description = descriptionParser.parse(scanner, inlineTagDictionary);
    if (description != null) {
        doclet.getContents().add(description);
    }
    return doclet;
}
Also used : Doclet(org.eclipse.n4js.jsdoc.dom.Doclet) ContentNode(org.eclipse.n4js.jsdoc.dom.ContentNode)

Example 22 with Doclet

use of org.eclipse.n4js.jsdoc.dom.Doclet in project n4js by eclipse.

the class LineTagWithFullMemberReferenceTest method test_fullRef_symbolName.

@SuppressWarnings("javadoc")
@Test
public void test_fullRef_symbolName() {
    String in = "/** foo." + "\n * @testee n4/model/collections/DataSet.DataSet.#iterator" + "\n */";
    AbstractLineTagDefinition tagDef = new LineTagWithFullMemberReference("testee");
    DocletParser docletParser = new DocletParser(new TagDictionary<>(Arrays.asList(tagDef)), new TagDictionary<AbstractInlineTagDefinition>());
    Doclet doclet = docletParser.parse(in);
    LineTag lineTag = doclet.getLineTags().get(0);
    EList<ContentNode> contents = lineTag.getValueByKey(LineTagWithFullElementReference.REF).getContents();
    FullMemberReference ref = (FullMemberReference) contents.get(0);
    assertEquals("n4/model/collections/DataSet", ref.getModuleName());
    assertEquals("DataSet", ref.getTypeName());
    assertEquals("#iterator", ref.getMemberName());
}
Also used : LineTag(org.eclipse.n4js.jsdoc.dom.LineTag) Doclet(org.eclipse.n4js.jsdoc.dom.Doclet) DocletParser(org.eclipse.n4js.jsdoc.DocletParser) ContentNode(org.eclipse.n4js.jsdoc.dom.ContentNode) FullMemberReference(org.eclipse.n4js.jsdoc.dom.FullMemberReference) Test(org.junit.Test)

Example 23 with Doclet

use of org.eclipse.n4js.jsdoc.dom.Doclet in project n4js by eclipse.

the class SimpleN4JSDocTest method assertSameNumberOfLineTags.

private void assertSameNumberOfLineTags(int expectedNumberOfTags, String jsdocString) {
    DocletParser docletParser = new N4JSDocletParser();
    Doclet doclet = docletParser.parse(jsdocString);
    assertEquals("Line tag number differs", expectedNumberOfTags, doclet.getLineTags().size());
}
Also used : N4JSDocletParser(org.eclipse.n4js.jsdoc.N4JSDocletParser) Doclet(org.eclipse.n4js.jsdoc.dom.Doclet) N4JSDocletParser(org.eclipse.n4js.jsdoc.N4JSDocletParser) DocletParser(org.eclipse.n4js.jsdoc.DocletParser)

Example 24 with Doclet

use of org.eclipse.n4js.jsdoc.dom.Doclet in project n4js by eclipse.

the class DocletDescriptionParserTest method testDescriptionWithUnknownInlineTag.

@SuppressWarnings("javadoc")
@Test
public void testDescriptionWithUnknownInlineTag() {
    String in = "/** This is the description with {@unkonwnInlineTag parsed as text} ..and finish description. \n */";
    AbstractInlineTagDefinition inlineTag = new StubInlineTagDefinition("inline");
    DocletParser docletParser = new DocletParser(null, new TagDictionary<>(Arrays.asList(inlineTag)));
    Doclet doclet = docletParser.parse(in);
    EList<ContentNode> contents = doclet.getContents();
    Text descr = (Text) contents.get(0);
    assertEquals("This is the description with {@unkonwnInlineTag parsed as text} ..and finish description.", descr.getText());
}
Also used : AbstractInlineTagDefinition(org.eclipse.n4js.jsdoc.tags.AbstractInlineTagDefinition) Doclet(org.eclipse.n4js.jsdoc.dom.Doclet) Text(org.eclipse.n4js.jsdoc.dom.Text) ContentNode(org.eclipse.n4js.jsdoc.dom.ContentNode) Test(org.junit.Test)

Example 25 with Doclet

use of org.eclipse.n4js.jsdoc.dom.Doclet in project n4js by eclipse.

the class LineTagTest method testLineTagWithRegion.

@SuppressWarnings("javadoc")
@Test
public void testLineTagWithRegion() {
    String in = "/** foo.\n * @stubLineTagTitle {@region value} \n */";
    AbstractLineTagDefinition tag = new StubLineTagWithRegionDefinition("stubLineTagTitle");
    DocletParser docletParser = new DocletParser(new TagDictionary<>(Arrays.asList(tag)), new TagDictionary<AbstractInlineTagDefinition>());
    Doclet doclet = docletParser.parse(in);
    LineTag lineTag = doclet.getLineTags().get(0);
    TagValue region = lineTag.getValueByKey(StubLineTagWithRegionDefinition.REGION);
    Text strcturedText = (Text) region.getContents().get(0);
    assertEquals("@region value", strcturedText.getText());
}
Also used : LineTag(org.eclipse.n4js.jsdoc.dom.LineTag) Doclet(org.eclipse.n4js.jsdoc.dom.Doclet) DocletParser(org.eclipse.n4js.jsdoc.DocletParser) Text(org.eclipse.n4js.jsdoc.dom.Text) TagValue(org.eclipse.n4js.jsdoc.dom.TagValue) Test(org.junit.Test)

Aggregations

Doclet (org.eclipse.n4js.jsdoc.dom.Doclet)28 Test (org.junit.Test)21 LineTag (org.eclipse.n4js.jsdoc.dom.LineTag)14 Text (org.eclipse.n4js.jsdoc.dom.Text)14 DocletParser (org.eclipse.n4js.jsdoc.DocletParser)11 AbstractInlineTagDefinition (org.eclipse.n4js.jsdoc.tags.AbstractInlineTagDefinition)11 ContentNode (org.eclipse.n4js.jsdoc.dom.ContentNode)8 AbstractLineTagDefinition (org.eclipse.n4js.jsdoc.tags.AbstractLineTagDefinition)8 TagValue (org.eclipse.n4js.jsdoc.dom.TagValue)6 N4JSDocletParser (org.eclipse.n4js.jsdoc.N4JSDocletParser)5 FullMemberReference (org.eclipse.n4js.jsdoc.dom.FullMemberReference)4 Composite (org.eclipse.n4js.jsdoc.dom.Composite)3 InlineTag (org.eclipse.n4js.jsdoc.dom.InlineTag)3 ArrayList (java.util.ArrayList)2 EObject (org.eclipse.emf.ecore.EObject)2 TMember (org.eclipse.n4js.ts.types.TMember)2 Optional (java.util.Optional)1 EcoreUtil (org.eclipse.emf.ecore.util.EcoreUtil)1 ITextViewer (org.eclipse.jface.text.ITextViewer)1 CompletionProposal (org.eclipse.jface.text.contentassist.CompletionProposal)1