table: interface cast fix
parent
9229a963ed
commit
d54b48b300
|
@ -27,17 +27,6 @@ fn __new_array(mylen int, cap int, elm_size int) array {
|
|||
}
|
||||
return arr
|
||||
}
|
||||
fn new_array(mylen int, cap int, elm_size int) array {
|
||||
cap_ := if cap == 0 { 1 } else { cap }
|
||||
arr := array{
|
||||
len: mylen
|
||||
cap: cap_
|
||||
element_size: elm_size
|
||||
data: vcalloc(cap_ * elm_size)
|
||||
}
|
||||
return arr
|
||||
|
||||
}
|
||||
|
||||
// TODO
|
||||
pub fn make(len int, cap int, elm_size int) array {
|
||||
|
|
|
@ -237,7 +237,7 @@ fn (mut p Parser) interface_decl() ast.InterfaceDecl {
|
|||
foo: 'foo'
|
||||
}
|
||||
}
|
||||
typ := p.table.register_type_symbol(t)
|
||||
typ := table.new_type(p.table.register_type_symbol(t))
|
||||
ts := p.table.get_type_symbol(typ) // TODO t vs ts
|
||||
// Parse methods
|
||||
mut methods := []ast.FnDecl
|
||||
|
|
|
@ -485,7 +485,7 @@ pub fn (t &Table) check(got, expected Type) bool {
|
|||
exp_type_sym := t.get_type_symbol(expected)
|
||||
//
|
||||
if exp_type_sym.kind == .interface_ {
|
||||
info := got_type_sym.info as Interface
|
||||
info := exp_type_sym.info as Interface
|
||||
println('gen_types before')
|
||||
println(info.gen_types)
|
||||
info.gen_types << got_type_sym.name
|
||||
|
|
Loading…
Reference in New Issue