kernel
kernel copied to clipboard
Type inference features
Tracking issue for missing type inference features, not including minor fixes, and in no particular order.
Soundness:
- [ ] Handle objects with user-defined noSuchMethod
- [x] Handle objects with user-defined call method
- [ ] Handle and/or bailout on dart:mirror usage
- [ ] Get fine-grained external method behavior from file or metadata
- [ ] Get entry point specification from file
Precision:
- [x] Track bitmask with nullability and other particularly important values
- [ ] Integrate with strong mode
- [ ] Join closures using function signature
- [ ] Specialize generics
- [ ] Generate proper lattice using intersection types, to ensure iteration order-independence
- [x] Track base information
- [ ] Distinguish integers and doubles in arithmetic
- [ ] Perform tree-shaking analysis: do not analyze unreachable code
Tooling:
- [x] Transformation to dynamically check correctness inference results
- [ ] Better visualization of constraint system
- [ ] Backtracking tool for understanding results of inference