table/parser: minor optimization of anon_fn names (#8851)
parent
e8abda189a
commit
783cee98d9
|
@ -564,7 +564,7 @@ fn (mut p Parser) anon_fn() ast.AnonFn {
|
||||||
is_variadic: is_variadic
|
is_variadic: is_variadic
|
||||||
return_type: return_type
|
return_type: return_type
|
||||||
}
|
}
|
||||||
name := 'anon_${p.tok.pos}_${p.table.fn_type_signature(func)}'
|
name := 'anon_fn_${p.table.fn_type_signature(func)}_$p.tok.pos'
|
||||||
func.name = name
|
func.name = name
|
||||||
idx := p.table.find_or_register_fn_type(p.mod, func, true, false)
|
idx := p.table.find_or_register_fn_type(p.mod, func, true, false)
|
||||||
typ := table.new_type(idx)
|
typ := table.new_type(idx)
|
||||||
|
|
|
@ -98,16 +98,16 @@ pub fn (t &Table) fn_type_signature(f &Fn) string {
|
||||||
for i, arg in f.params {
|
for i, arg in f.params {
|
||||||
// TODO: for now ignore mut/pts in sig for now
|
// TODO: for now ignore mut/pts in sig for now
|
||||||
typ := arg.typ.set_nr_muls(0)
|
typ := arg.typ.set_nr_muls(0)
|
||||||
// if arg.is_mut {
|
arg_type_sym := t.get_type_symbol(typ)
|
||||||
// sig += 'mut_'
|
sig += '$arg_type_sym.kind'
|
||||||
// }
|
|
||||||
// sig += '$arg.typ'
|
|
||||||
sig += '$typ'
|
|
||||||
if i < f.params.len - 1 {
|
if i < f.params.len - 1 {
|
||||||
sig += '_'
|
sig += '_'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sig += '_$f.return_type'
|
if f.return_type != 0 && f.return_type != void_type {
|
||||||
|
sym := t.get_type_symbol(f.return_type)
|
||||||
|
sig += '__$sym.kind'
|
||||||
|
}
|
||||||
return sig
|
return sig
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue