- Class Hierarchy
- Basic subclass
- Super and sub classes inside local scope
- parent in global, child in local
- cycle:
class Oops < Oops {}
- parent is not a class
- not callable
- callable
- Inheriting methods
- check type of subclass
function which expects super should accept subnot statically typed can't check- access inherited fields
- non callable
- callable
- Super keyword
- super.method()
- sub class method with same name gets precedence (overriding)
- super should return 1st class function
- super should be called from superclass ;)
- Invalid usages of super keyword
- call super.func() from a class with no superclass
- super.func() outside
- can't have bare super - without class - also without . & prop
MiscError handling- inherit constructors
- Var resolving
- class.cook
- super.cook
- this.cook