TypeVar and virtual support in Symbol Resolver #99
|
@ -111,9 +111,7 @@ impl Resolver {
|
|||
// do not handle type var param and concrete check here
|
||||
Ok(Ok((unifier.add_ty(TypeEnum::TTuple { ty: vec![] }), false)))
|
||||
} else if let Some(def_id) = self.pyid_to_def.read().get(&ty_id).cloned() {
|
||||
// println!("getting def");
|
||||
let def = defs[def_id.0].read();
|
||||
// println!("got def");
|
||||
if let TopLevelDef::Class {
|
||||
object_id,
|
||||
type_vars,
|
||||
|
|
|
@ -71,7 +71,6 @@ fn main() {
|
|||
assert_eq!(targets.len(), 1, "only support single assignment for now, at {}", targets[0].location);
|
||||
if let ExprKind::Call { func, args, .. } = &value.node {
|
||||
if matches!(&func.node, ExprKind::Name { id, .. } if id == &"TypeVar".into()) {
|
||||
print!("registering typevar {:?}", targets[0].node);
|
||||
let constraints = args
|
||||
.iter()
|
||||
.skip(1)
|
||||
|
@ -87,14 +86,6 @@ fn main() {
|
|||
})
|
||||
.collect::<Vec<_>>();
|
||||
let res_ty = composer.unifier.get_fresh_var_with_range(&constraints).0;
|
||||
println!(
|
||||
" ...registered: {}",
|
||||
composer.unifier.stringify(
|
||||
res_ty,
|
||||
&mut |x| format!("obj{}", x),
|
||||
&mut |x| format!("tavr{}", x)
|
||||
)
|
||||
);
|
||||
internal_resolver.add_id_type(
|
||||
if let ExprKind::Name { id, .. } = &targets[0].node { *id } else {
|
||||
panic!("must assign simple name variable as type variable")
|
||||
|
|
Loading…
Reference in New Issue