@@ -3584,7 +3584,7 @@ fn (mut g Gen) expr(node_ ast.Expr) {
35843584 }
35853585 }
35863586 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))
35883588 node_typ := g.unwrap_generic (typ)
35893589 sym := g.table.sym (node_typ)
35903590 if sym.language == .v && sym.kind in [.placeholder, .any] {
@@ -3669,7 +3669,7 @@ fn (mut g Gen) expr(node_ ast.Expr) {
36693669 g.writeln2 ('\t panic_option_not_set(_SLIT("none"));' , '}' )
36703670 g.write (cur_line)
36713671 if is_unwrapped {
3672- typ := g.resolve_comptime_type (node.expr, node.typ)
3672+ typ := g.type_resolver. typeof_type (node.expr, node.typ)
36733673 g.write ('*(${g .base_type (typ )}*)&' )
36743674 g.expr (node.expr)
36753675 g.write ('.data' )
@@ -3844,7 +3844,7 @@ fn (mut g Gen) type_name(raw_type ast.Type) {
38443844}
38453845
38463846fn (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))
38483848 sym := g.table.sym (typ)
38493849 if sym.kind == .sum_type {
38503850 // When encountering a .sum_type, typeof() should be done at runtime,
@@ -3894,30 +3894,30 @@ fn (mut g Gen) selector_expr(node ast.SelectorExpr) {
38943894 // typeof(expr).name
38953895 mut name_type := node.name_type
38963896 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)
38983898 }
38993899 g.type_name (name_type)
39003900 return
39013901 } else if node.field_name == 'idx' {
39023902 mut name_type := node.name_type
39033903 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)
39053905 }
39063906 // `typeof(expr).idx`
39073907 g.write (int (g.unwrap_generic (name_type)).str ())
39083908 return
39093909 } else if node.field_name == 'unaliased_typ' {
39103910 mut name_type := node.name_type
39113911 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)
39133913 }
39143914 // `typeof(expr).unaliased_typ`
39153915 g.write (int (g.table.unaliased_type (g.unwrap_generic (name_type))).str ())
39163916 return
39173917 } else if node.field_name == 'indirections' {
39183918 mut name_type := node.name_type
39193919 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)
39213921 }
39223922 // `typeof(expr).indirections`
39233923 g.write (int (g.unwrap_generic (name_type).nr_muls ()).str ())
@@ -5224,7 +5224,7 @@ fn (mut g Gen) cast_expr(node ast.CastExpr) {
52245224 node_typ := g.unwrap_generic (node.typ)
52255225 mut expr_type := node.expr_type
52265226 sym := g.table.sym (node_typ)
5227- if g.comptime.is_comptime_expr (node.expr) {
5227+ if g.comptime.is_comptime (node.expr) {
52285228 expr_type = g.unwrap_generic (g.type_resolver.get_type (node.expr))
52295229 }
52305230 node_typ_is_option := node.typ.has_flag (.option)
@@ -7231,7 +7231,7 @@ fn (mut g Gen) get_type(typ ast.Type) ast.Type {
72317231}
72327232
72337233fn (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))
72357235 node_typ := g.unwrap_generic (typ)
72367236 sym := g.table.sym (node_typ)
72377237 if sym.language == .v && sym.kind in [.placeholder, .any] {
0 commit comments