Build a context with all the classes, fields, and functions.
This can be used for type-checking purposes when analysing expressions, such as checking that a function called on an expression indeed belongs to that type.
Remove generics, will be re-added in future
Need to look further into namespaces.
At the moment, no import analysis is done either.
Added Tests
Building context of interfaces
Building context of classes
Check that self does not have a type
Check that all arguments have a type when building context
Check that if a function has no return type its return type is any (this is not the intended behaviour, so these tests will break once this behaviour has been changed, which we should do eventually)
Relevant issues
resolve #148 fixes #154
Summary
Build a context with all the classes, fields, and functions. This can be used for type-checking purposes when analysing expressions, such as checking that a function called on an expression indeed belongs to that type.
Need to look further into namespaces. At the moment, no import analysis is done either.
Added Tests