Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Control flow based type guards #6959

Closed
wants to merge 67 commits into from
Closed
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
42a8efd
Merge remote-tracking branch 'Microsoft/master'
ivogabe Aug 15, 2015
80f42ed
Merge remote-tracking branch 'Microsoft/master'
ivogabe Aug 19, 2015
57f5d5c
Merge branch 'master' of https://github.com/Microsoft/TypeScript
ivogabe Nov 18, 2015
163291f
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Nov 30, 2015
441c999
Add flow markers to binder
ivogabe Dec 4, 2015
522a99c
Add BranchFlow for type guards
ivogabe Dec 4, 2015
78ca7b5
Add caching of identifier narrowing in binder
ivogabe Dec 6, 2015
1fb2db6
Implement flow based type guards in checker
ivogabe Dec 6, 2015
f1c9a82
Narrow assignments to unions only
ivogabe Dec 9, 2015
d3dd1fa
Make isDeclarationName a weak type guard for Identifiers
ivogabe Dec 9, 2015
702edac
Remove trailing space
ivogabe Dec 9, 2015
8670014
Make getNarrowedTypeOfSymbol work on all nodes again
ivogabe Dec 9, 2015
ecbf9e2
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Dec 9, 2015
c1abed2
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Dec 11, 2015
905a240
Bind flow of loops and named labels
ivogabe Feb 6, 2016
b8c0e2c
Fix flow based type guards in checker
ivogabe Feb 6, 2016
f6dc119
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Feb 6, 2016
b385472
Fix errors after merge
ivogabe Feb 6, 2016
6f1d84e
Remove restriction on type narrowing with assignments in loops
ivogabe Feb 6, 2016
ffa8db3
Fix assignment checking
ivogabe Feb 6, 2016
844a8c1
Remove flowIndex, use getNodeId
ivogabe Feb 8, 2016
ff1b2d6
Remove PreviousOccurency interface
ivogabe Feb 8, 2016
6c7c678
Fix typo
ivogabe Feb 8, 2016
7d2daf9
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Feb 8, 2016
035d973
Fix binding of condition less for statement
ivogabe Feb 8, 2016
b2e51a3
Handle narrowing in var declarations
ivogabe Feb 11, 2016
2747c98
Rename `showError` to `reportError`
ivogabe Feb 11, 2016
b58eb60
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Feb 11, 2016
3f0c283
Fix typos after merge
ivogabe Feb 11, 2016
a30fa8f
Merge master
ivogabe Feb 11, 2016
ac2f547
Remove old assertion
ivogabe Feb 12, 2016
0a91991
Keep narrowed types in a loop
ivogabe Feb 12, 2016
a44de51
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Feb 12, 2016
67913d8
Fix narrowing of union type assigned to a union type
ivogabe Feb 13, 2016
f15291f
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Feb 13, 2016
26a4d37
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Feb 26, 2016
074a05d
Add more caching
ivogabe Feb 26, 2016
2c57ee5
Use cache to speed up multiple paths to same node in flow graph
ivogabe Feb 26, 2016
927c562
Don't error when assigning to narrowed variable using destructuring
ivogabe Feb 29, 2016
a4b91f3
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Feb 29, 2016
8673a46
Narrow after destructuring assignment
ivogabe Mar 7, 2016
09e4302
Rewrite recursion to loop, reduces check time
ivogabe Mar 9, 2016
1037efa
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Mar 11, 2016
8331915
Fix issues with destructuring assignments
ivogabe Mar 12, 2016
8d4cea4
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Mar 13, 2016
c128582
Fix narrowing of JSX tags
ivogabe Mar 13, 2016
19b3f90
Use initial type when narrowing resulted in empty type
ivogabe Mar 14, 2016
59b543f
Move narrowing info from node to NodeLinks
ivogabe Mar 14, 2016
c0061c0
Allow narrowing in nested functions
ivogabe Mar 14, 2016
096c70a
Narrow after destructuring assignments with initializers
ivogabe Mar 15, 2016
fa77df5
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Mar 15, 2016
46786b3
Fix narrowing in for of statement
ivogabe Mar 15, 2016
3a7575b
Stop narrowing with guards that contain assignments
ivogabe Mar 15, 2016
b9f5b79
Add control flow tests
ivogabe Mar 15, 2016
21efd00
Add test for narrowing after assignment
ivogabe Mar 15, 2016
d5fbd4e
Modify existing tests for new type guards behavior
ivogabe Mar 15, 2016
f8a1827
Add more tests
ivogabe Mar 16, 2016
7cceb0c
Remove redundant bindFlowMarker calls
ivogabe Mar 16, 2016
bea32e2
Fix tests
ivogabe Mar 16, 2016
a659239
Accept baseline
ivogabe Mar 16, 2016
9e13d0f
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Mar 16, 2016
3490979
Update tests
ivogabe Mar 16, 2016
a719858
Merge remote-tracking branch 'Microsoft/master' into guards
ivogabe Mar 22, 2016
90a678d
Implement flow based type guards for this expression and dotted names
ivogabe Mar 23, 2016
7646af1
Fix unresolved symbols, wrong caching and empty type issues
ivogabe Mar 23, 2016
4a76fe2
Accept new baselines
ivogabe Mar 23, 2016
16555dd
Stop narrowing of dotted name after assignment of parent type
ivogabe Mar 23, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading