return TYPE_MATCH_YIELD;
}
- if (permanent) *pnode = (AstTyped *) resolved;
+ if (permanent) {
+ track_resolution_for_symbol_info((AstNode *) node, resolved);
+ *pnode = (AstTyped *) resolved;
+ }
+
return TYPE_MATCH_SUCCESS;
}
return a->line > b->line ? 1 : -1;
}
- return 0;
+ return a->column > b->column ? 1 : -1;
}
void onyx_docs_emit_symbol_info(const char *dest) {
fori (i, 0, bh_arr_length(u_node->variants)) {
AstUnionVariant *variant = u_node->variants[i];
- // track_declaration_for_symbol_info(member->token->pos, (AstNode *) member);
+ track_declaration_for_symbol_info(variant->token->pos, (AstNode *) variant);
assert(variant->type_node);
SymresStatus ss = symres_type(&variant->type_node);
// Outside of runtime type information, they provide no useful
// debugging information (I don't think at least...).
if (type->kind == Type_Kind_PolyStruct ||
+ type->kind == Type_Kind_PolyUnion ||
type->kind == Type_Kind_Compound) {
output_unsigned_integer(1, §ion_buff);
output_unsigned_integer(0, §ion_buff);