@@ -98,6 +98,47 @@ class JavadocNodesBlock
98
98
{
99
99
switch (ID)
100
100
{
101
+ case JAVADOC_NODE_ADMONISH:
102
+ {
103
+ doc::Admonish admonish =
104
+ doc::Admonish::none;
105
+ if (auto err = decodeRecord (R, admonish, Blob))
106
+ return err;
107
+ auto node = nodes.back ().get ();
108
+ if (node->kind != doc::Kind::admonition)
109
+ return Error (" admonish on wrong kind" );
110
+ static_cast <doc::Admonition*>(
111
+ node)->style = admonish;
112
+ return Error::success ();
113
+ }
114
+
115
+ case JAVADOC_PARAM_DIRECTION:
116
+ {
117
+ doc::ParamDirection direction =
118
+ doc::ParamDirection::none;
119
+ if (auto err = decodeRecord (R, direction, Blob))
120
+ return err;
121
+ auto node = nodes.back ().get ();
122
+ if (node->kind != doc::Kind::param)
123
+ return Error (" direction on wrong kind" );
124
+ auto param = static_cast <doc::Param*>(node);
125
+ param->direction = direction;
126
+ return Error::success ();
127
+ }
128
+
129
+ case JAVADOC_NODE_HREF:
130
+ {
131
+ switch (auto node = nodes.back ().get ();
132
+ node->kind )
133
+ {
134
+ case doc::Kind::link :
135
+ static_cast <doc::Link*>(node)->href = Blob.str ();
136
+ return Error::success ();
137
+ default :
138
+ return Error (" href on wrong kind" );
139
+ }
140
+ }
141
+
101
142
case JAVADOC_NODE_KIND:
102
143
{
103
144
doc::Kind kind{};
@@ -117,19 +158,7 @@ class JavadocNodesBlock
117
158
}
118
159
});
119
160
}
120
- case JAVADOC_PARAM_DIRECTION:
121
- {
122
- doc::ParamDirection direction =
123
- doc::ParamDirection::none;
124
- if (auto err = decodeRecord (R, direction, Blob))
125
- return err;
126
- auto node = nodes.back ().get ();
127
- if (node->kind != doc::Kind::param)
128
- return Error (" direction on wrong kind" );
129
- auto param = static_cast <doc::Param*>(node);
130
- param->direction = direction;
131
- return Error::success ();
132
- }
161
+
133
162
case JAVADOC_NODE_STRING:
134
163
{
135
164
switch (auto node = nodes.back ().get ();
@@ -155,6 +184,7 @@ class JavadocNodesBlock
155
184
return Error (" string on wrong kind" );
156
185
}
157
186
}
187
+
158
188
case JAVADOC_NODE_STYLE:
159
189
{
160
190
doc::Style style =
@@ -169,19 +199,7 @@ class JavadocNodesBlock
169
199
return Error::success ();
170
200
171
201
}
172
- case JAVADOC_NODE_ADMONISH:
173
- {
174
- doc::Admonish admonish =
175
- doc::Admonish::none;
176
- if (auto err = decodeRecord (R, admonish, Blob))
177
- return err;
178
- auto node = nodes.back ().get ();
179
- if (node->kind != doc::Kind::admonition)
180
- return Error (" admonish on wrong kind" );
181
- static_cast <doc::Admonition*>(
182
- node)->style = admonish;
183
- return Error::success ();
184
- }
202
+
185
203
default :
186
204
return AnyBlock::parseRecord (R, ID, Blob);
187
205
}
@@ -193,10 +211,6 @@ class JavadocNodesBlock
193
211
{
194
212
switch (ID)
195
213
{
196
- case BI_JAVADOC_NODE_BLOCK_ID:
197
- {
198
- return br_.readBlock (*this , ID);
199
- }
200
214
case BI_JAVADOC_LIST_BLOCK_ID:
201
215
{
202
216
auto node = nodes.back ().get ();
@@ -212,6 +226,12 @@ class JavadocNodesBlock
212
226
std::move (B.nodes ));
213
227
return Error::success ();
214
228
}
229
+
230
+ case BI_JAVADOC_NODE_BLOCK_ID:
231
+ {
232
+ return br_.readBlock (*this , ID);
233
+ }
234
+
215
235
default :
216
236
return AnyBlock::readSubBlock (ID);
217
237
}
0 commit comments