From 0269dcee84269860ec53a57e42e1a03c23230702 Mon Sep 17 00:00:00 2001 From: pca006132 Date: Thu, 31 Dec 2020 11:39:26 +0800 Subject: [PATCH] added todo --- todo.txt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 todo.txt diff --git a/todo.txt b/todo.txt new file mode 100644 index 000000000..c64684d6f --- /dev/null +++ b/todo.txt @@ -0,0 +1,28 @@ +Errors: +- Not supported +- Only * is supported +- Expected * in *, but got * +- Divergent type in (construct), (location 1), (location 2) +- Unknown field +- Unbounded variable +- Different variable +- Different domain +- * is not subclass of * +- Type not equal +- Incorrect number of parameters + +GlobalContext: +- Separate from typedefs +- Interact with python intepreter to get data +- Primitive Type Instance List +- Symbol Table (readable, ever defined) +- TypeVar definition stack +- Provide subst, inv_subst, blablabla +- Cache type var method lookup (dropped when related assumptions are changed) +- Responsible for printing the error (lookup module/type info, handle line number offset) + +Name Resolution: +- Get class/methods, track module via `inspect.getmodule` +- GlobalContext store function/class - module association, perform name + resolution in the module when identifier is unbounded, and check its type +