mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
checker: add a notice about skipping the generic route methods of vweb apps (#16013)
This commit is contained in:
parent
553315b80c
commit
32ab08287c
@ -11,6 +11,18 @@ fn (mut c Checker) fn_decl(mut node ast.FnDecl) {
|
|||||||
eprintln('>>> post processing node.name: ${node.name:-30} | $node.generic_names <=> $c.table.cur_concrete_types')
|
eprintln('>>> post processing node.name: ${node.name:-30} | $node.generic_names <=> $c.table.cur_concrete_types')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// notice vweb route methods (non-generic method)
|
||||||
|
if node.generic_names.len > 0 {
|
||||||
|
typ_vweb_result := c.table.find_type_idx('vweb.Result')
|
||||||
|
if node.return_type == typ_vweb_result {
|
||||||
|
rec_sym := c.table.sym(node.receiver.typ)
|
||||||
|
if rec_sym.kind == .struct_ {
|
||||||
|
if _ := c.table.find_field_with_embeds(rec_sym, 'Context') {
|
||||||
|
c.note('generic method routes of vweb will be skipped', node.pos)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if node.generic_names.len > 0 && c.table.cur_concrete_types.len == 0 {
|
if node.generic_names.len > 0 && c.table.cur_concrete_types.len == 0 {
|
||||||
// Just remember the generic function for now.
|
// Just remember the generic function for now.
|
||||||
// It will be processed later in c.post_process_generic_fns,
|
// It will be processed later in c.post_process_generic_fns,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user