@@ -42,26 +42,37 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar)
4242
4343 AuthorDeclaration . Rule = "@author" + BlockValues ;
4444 AuthorDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
45+ if ( ! grammar . ShouldImport ( ImportJavadoc . AuthorTag ) )
46+ return ;
4547 // Ignore; not sure how best to convert to Xmldoc
4648 FinishParse ( context , parseNode ) ;
4749 } ;
4850
4951 ApiSinceDeclaration . Rule = "@apiSince" + BlockValues ;
5052 ApiSinceDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
53+ if ( ! grammar . ShouldImport ( ImportJavadoc . SinceTag ) ) {
54+ return ;
55+ }
5156 var p = new XElement ( "para" , "Added in API level " , AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) , "." ) ;
5257 FinishParse ( context , parseNode ) . Remarks . Add ( p ) ;
5358 parseNode . AstNode = p ;
5459 } ;
5560
5661 DeprecatedDeclaration . Rule = "@deprecated" + BlockValues ;
5762 DeprecatedDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
63+ if ( ! grammar . ShouldImport ( ImportJavadoc . DeprecatedTag ) ) {
64+ return ;
65+ }
5866 var p = new XElement ( "para" , "This member is deprecated. " , AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) ) ;
5967 FinishParse ( context , parseNode ) . Remarks . Add ( p ) ;
6068 parseNode . AstNode = p ;
6169 } ;
6270
6371 DeprecatedSinceDeclaration . Rule = "@deprecatedSince" + BlockValues ;
6472 DeprecatedSinceDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
73+ if ( ! grammar . ShouldImport ( ImportJavadoc . DeprecatedTag ) ) {
74+ return ;
75+ }
6576 var p = new XElement ( "para" , "This member was deprecated in API level " , AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) , "." ) ;
6677 FinishParse ( context , parseNode ) . Remarks . Add ( p ) ;
6778 parseNode . AstNode = p ;
@@ -75,6 +86,9 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar)
7586
7687 ExceptionDeclaration . Rule = "@exception" + nonSpaceTerm + BlockValues ;
7788 ExceptionDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
89+ if ( ! grammar . ShouldImport ( ImportJavadoc . ExceptionTag ) ) {
90+ return ;
91+ }
7892 // TODO: convert `nonSpaceTerm` into a proper CREF
7993 var e = new XElement ( "exception" ,
8094 new XAttribute ( "cref" , string . Join ( "" , AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) ) ) ,
@@ -85,6 +99,9 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar)
8599
86100 ParamDeclaration . Rule = "@param" + nonSpaceTerm + BlockValues ;
87101 ParamDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
102+ if ( ! grammar . ShouldImport ( ImportJavadoc . ParamTag ) ) {
103+ return ;
104+ }
88105 var p = new XElement ( "param" ,
89106 new XAttribute ( "name" , string . Join ( "" , AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) ) ) ,
90107 AstNodeToXmlContent ( parseNode . ChildNodes [ 2 ] ) ) ;
@@ -95,6 +112,9 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar)
95112 ReturnDeclaration . Rule = "@return" + BlockValues ;
96113 // ReturnDeclaration.Flags = TermFlags.IsMultiline;
97114 ReturnDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
115+ if ( ! grammar . ShouldImport ( ImportJavadoc . ReturnTag ) ) {
116+ return ;
117+ }
98118 var r = new XElement ( "returns" ,
99119 AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) ) ;
100120 FinishParse ( context , parseNode ) . Returns . Add ( r ) ;
@@ -103,6 +123,9 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar)
103123
104124 SeeDeclaration . Rule = "@see" + BlockValues ;
105125 SeeDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
126+ if ( ! grammar . ShouldImport ( ImportJavadoc . SeeTag ) ) {
127+ return ;
128+ }
106129 // TODO: @see supports multiple forms; see: https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#see
107130 var e = new XElement ( "altmember" ,
108131 new XAttribute ( "cref" , string . Join ( "" , AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) ) ) ) ;
@@ -112,13 +135,19 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar)
112135
113136 SinceDeclaration . Rule = "@since" + BlockValues ;
114137 SinceDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
138+ if ( ! grammar . ShouldImport ( ImportJavadoc . SinceTag ) ) {
139+ return ;
140+ }
115141 var p = new XElement ( "para" , "Added in " , AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) , "." ) ;
116142 FinishParse ( context , parseNode ) . Remarks . Add ( p ) ;
117143 parseNode . AstNode = p ;
118144 } ;
119145
120146 ThrowsDeclaration . Rule = "@throws" + nonSpaceTerm + BlockValues ;
121147 ThrowsDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
148+ if ( ! grammar . ShouldImport ( ImportJavadoc . ExceptionTag ) ) {
149+ return ;
150+ }
122151 // TODO: convert `nonSpaceTerm` into a proper CREF
123152 var e = new XElement ( "exception" ,
124153 new XAttribute ( "cref" , string . Join ( "" , AstNodeToXmlContent ( parseNode . ChildNodes [ 1 ] ) ) ) ,
@@ -130,16 +159,25 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar)
130159 // Ignore serialization informatino
131160 SerialDeclaration . Rule = "@serial" + BlockValues ;
132161 SerialDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
162+ if ( ! grammar . ShouldImport ( ImportJavadoc . SerialTag ) ) {
163+ return ;
164+ }
133165 FinishParse ( context , parseNode ) ;
134166 } ;
135167
136168 SerialDataDeclaration . Rule = "@serialData" + BlockValues ;
137169 SerialDataDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
170+ if ( ! grammar . ShouldImport ( ImportJavadoc . SerialTag ) ) {
171+ return ;
172+ }
138173 FinishParse ( context , parseNode ) ;
139174 } ;
140175
141176 SerialFieldDeclaration . Rule = "@serialField" + BlockValues ;
142177 SerialFieldDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
178+ if ( ! grammar . ShouldImport ( ImportJavadoc . SerialTag ) ) {
179+ return ;
180+ }
143181 FinishParse ( context , parseNode ) ;
144182 } ;
145183
@@ -152,13 +190,19 @@ internal void CreateRules (SourceJavadocToXmldocGrammar grammar)
152190
153191 UnknownTagDeclaration . Rule = unknownTagTerminal + BlockValues ;
154192 UnknownTagDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
193+ if ( ! grammar . ShouldImport ( ImportJavadoc . Remarks ) ) {
194+ return ;
195+ }
155196 Console . WriteLine ( $ "# Unsupported @block-tag value: { parseNode . ChildNodes [ 0 ] . AstNode } ") ;
156197 FinishParse ( context , parseNode ) ;
157198 } ;
158199
159200 // Ignore Version
160201 VersionDeclaration . Rule = "@version" + BlockValues ;
161202 VersionDeclaration . AstConfig . NodeCreator = ( context , parseNode ) => {
203+ if ( ! grammar . ShouldImport ( ImportJavadoc . VersionTag ) ) {
204+ return ;
205+ }
162206 FinishParse ( context , parseNode ) ;
163207 } ;
164208 }
0 commit comments