@@ -3584,7 +3584,7 @@ fn (mut g Gen) expr(node_ ast.Expr) {
3584
3584
}
3585
3585
}
3586
3586
ast.IsRefType {
3587
- typ := g.resolve_comptime_type (node.expr, g.get_type (node.typ))
3587
+ typ := g.type_resolver. typeof_type (node.expr, g.get_type (node.typ))
3588
3588
node_typ := g.unwrap_generic (typ)
3589
3589
sym := g.table.sym (node_typ)
3590
3590
if sym.language == .v && sym.kind in [.placeholder, .any] {
@@ -3669,7 +3669,7 @@ fn (mut g Gen) expr(node_ ast.Expr) {
3669
3669
g.writeln2 ('\t panic_option_not_set(_SLIT("none"));' , '}' )
3670
3670
g.write (cur_line)
3671
3671
if is_unwrapped {
3672
- typ := g.resolve_comptime_type (node.expr, node.typ)
3672
+ typ := g.type_resolver. typeof_type (node.expr, node.typ)
3673
3673
g.write ('*(${g.base_type(typ)} *)&' )
3674
3674
g.expr (node.expr)
3675
3675
g.write ('.data' )
@@ -3844,7 +3844,7 @@ fn (mut g Gen) type_name(raw_type ast.Type) {
3844
3844
}
3845
3845
3846
3846
fn (mut g Gen) typeof_expr (node ast.TypeOf) {
3847
- typ := g.resolve_comptime_type (node.expr, g.get_type (node.typ))
3847
+ typ := g.type_resolver. typeof_type (node.expr, g.get_type (node.typ))
3848
3848
sym := g.table.sym (typ)
3849
3849
if sym.kind == .sum_type {
3850
3850
// When encountering a .sum_type, typeof() should be done at runtime,
@@ -3894,30 +3894,30 @@ fn (mut g Gen) selector_expr(node ast.SelectorExpr) {
3894
3894
// typeof(expr).name
3895
3895
mut name_type := node.name_type
3896
3896
if node.expr is ast.TypeOf {
3897
- name_type = g.resolve_comptime_type (node.expr.expr, name_type)
3897
+ name_type = g.type_resolver. typeof_type (node.expr.expr, name_type)
3898
3898
}
3899
3899
g.type_name (name_type)
3900
3900
return
3901
3901
} else if node.field_name == 'idx' {
3902
3902
mut name_type := node.name_type
3903
3903
if node.expr is ast.TypeOf {
3904
- name_type = g.resolve_comptime_type (node.expr.expr, name_type)
3904
+ name_type = g.type_resolver. typeof_type (node.expr.expr, name_type)
3905
3905
}
3906
3906
// `typeof(expr).idx`
3907
3907
g.write (int (g.unwrap_generic (name_type)).str ())
3908
3908
return
3909
3909
} else if node.field_name == 'unaliased_typ' {
3910
3910
mut name_type := node.name_type
3911
3911
if node.expr is ast.TypeOf {
3912
- name_type = g.resolve_comptime_type (node.expr.expr, name_type)
3912
+ name_type = g.type_resolver. typeof_type (node.expr.expr, name_type)
3913
3913
}
3914
3914
// `typeof(expr).unaliased_typ`
3915
3915
g.write (int (g.table.unaliased_type (g.unwrap_generic (name_type))).str ())
3916
3916
return
3917
3917
} else if node.field_name == 'indirections' {
3918
3918
mut name_type := node.name_type
3919
3919
if node.expr is ast.TypeOf {
3920
- name_type = g.resolve_comptime_type (node.expr.expr, name_type)
3920
+ name_type = g.type_resolver. typeof_type (node.expr.expr, name_type)
3921
3921
}
3922
3922
// `typeof(expr).indirections`
3923
3923
g.write (int (g.unwrap_generic (name_type).nr_muls ()).str ())
@@ -5224,7 +5224,7 @@ fn (mut g Gen) cast_expr(node ast.CastExpr) {
5224
5224
node_typ := g.unwrap_generic (node.typ)
5225
5225
mut expr_type := node.expr_type
5226
5226
sym := g.table.sym (node_typ)
5227
- if g.comptime.is_comptime_expr (node.expr) {
5227
+ if g.comptime.is_comptime (node.expr) {
5228
5228
expr_type = g.unwrap_generic (g.type_resolver.get_type (node.expr))
5229
5229
}
5230
5230
node_typ_is_option := node.typ.has_flag (.option)
@@ -7231,7 +7231,7 @@ fn (mut g Gen) get_type(typ ast.Type) ast.Type {
7231
7231
}
7232
7232
7233
7233
fn (mut g Gen) size_of (node ast.SizeOf) {
7234
- typ := g.resolve_comptime_type (node.expr, g.get_type (node.typ))
7234
+ typ := g.type_resolver. typeof_type (node.expr, g.get_type (node.typ))
7235
7235
node_typ := g.unwrap_generic (typ)
7236
7236
sym := g.table.sym (node_typ)
7237
7237
if sym.language == .v && sym.kind in [.placeholder, .any] {
0 commit comments