18502 Commits

Author SHA1 Message Date
Sheetal Nandi
e568976239 Allows the delayed update graph and project structure which helps in batching the updates when there are multiple files added/removed/changed 2017-07-13 11:32:40 -07:00
Sheetal Nandi
8fedcf78c7 TODOs for the scheduling update graph and referesh projects 2017-07-12 19:34:01 -07:00
Sheetal Nandi
f338a70257 Remove the done TODO 2017-07-12 13:39:11 -07:00
Sheetal Nandi
029b1f25e4 Fixes the fourslash runner tests by handling hosts that cannot support read directory or getDirectories 2017-07-12 12:50:52 -07:00
Sheetal Nandi
68def1b1f3 Use the cached file exists/directory exists for configured project since we watch the needed files 2017-07-11 23:23:53 -07:00
Sheetal Nandi
19a6a003f5 Cache the read directory results so that it doesnt end up reading it all the time 2017-07-11 17:50:51 -07:00
Sheetal Nandi
48c651317e Update types instantly when the type root changes. 2017-07-11 14:18:56 -07:00
Sheetal Nandi
62871cc0f9 Only update file list when there are changes in the watched directories 2017-07-11 14:10:48 -07:00
Sheetal Nandi
9ff9476b4a Handle the deleted file in update graph better, so that in next update it is possible to schedule the update graph of project 2017-07-10 14:59:32 -07:00
Sheetal Nandi
df6f75bc70 Optimize wildcard watchers and config directory watching as now we have missing file watching as well
We dont need to explicitly watch config file directory as it will be watched:
- if there was no files specified, in wild card directories
- if there were files specified as missing file (if the file wasnt present)
2017-07-10 11:31:33 -07:00
Sheetal Nandi
6bd42b81ee When config file is deleted, apart from removing the projecty, reload the configured projects for open files from that project to ensure to pick them by another config file that can be present in parent directory 2017-07-10 11:31:33 -07:00
Sheetal Nandi
96ffd53c2d Reload the configured project only once even though there are multiple files open from that project 2017-07-10 11:31:33 -07:00
Sheetal Nandi
2a63827891 Update the todo list 2017-07-10 11:31:33 -07:00
Sheetal Nandi
0e4436774d Remove the functions to trigger watch callbacks now that it is auto on reloading FS 2017-07-10 11:31:33 -07:00
Sheetal Nandi
f15491046c Move the server file system to handle watches on file/folder create, update and delete
This will ensure that the calling of watches doesnt rely on writing test correctly
2017-07-10 11:31:33 -07:00
Sheetal Nandi
75698a893f Add project roots in the list of root files even if they arent present on the disk
This helps in reporting errors as well as syncing of the configured/external project when the files are created
2017-07-10 11:31:33 -07:00
Sheetal Nandi
ae33ae894d Restructure updating the configured project from disk and actual project update
Also reload the projects when extra extension in the host change
2017-07-10 11:31:32 -07:00
Sheetal Nandi
21ad26b6ff When opening a file, if it is using existing project, there is no need to update the project by re-reading the config file
This will improve the opening file perf for file opens from same config project
2017-07-10 11:31:32 -07:00
Andy
bffde588cc Improve performance of JSDoc tag utilities (#16836)
* Improve performance of JSDoc tag utilities

* Use emptyArray instead of null, and address PR comments
2017-07-10 11:26:59 -07:00
Andy
8c3f5e2208 Remove createFileMap (#16810)
* Make `createFileMap` an internal detail of `program.ts`

* Remove createFileMap

* Clean up calls to `toPath`
2017-07-10 11:24:17 -07:00
Andy
0567ca29c6 Remove EmptySafeList (#16647) 2017-07-10 09:19:18 -07:00
Andy
12163cc02e Allow to narrow the type of an import (#16658)
* Allow to narrow the type of an import

* Assume alias is initialized
2017-07-10 09:18:35 -07:00
Anders Hejlsberg
ff5d245dcb Merge pull request #16954 from Microsoft/optimizeTypeRelations
Optimize structured type relations
2017-07-07 16:18:35 -10:00
Anders Hejlsberg
b866cd4969 Merge pull request #16952 from Microsoft/optimizeForEachChild
Optimize forEachChild function
2017-07-07 16:18:00 -10:00
Wesley Wigham
f888c88f31 Cast identifier names to string in lint rule (#17027)
To be compatible with both the current version of the compiler and the nightly (which uses a branded string for the text member).
2017-07-07 16:30:02 -07:00
Andy
e4a69174db LineNode.add: return value never used (#17016) 2017-07-07 14:00:09 -07:00
Andy
31ce6cfba6 Minor cleanups to ScriptVersionCache (#16983) 2017-07-07 10:49:59 -07:00
Andy
dcc3e72636 Use decodeSpan more (#16990) 2017-07-07 10:37:18 -07:00
Andy
ee48c1b4cc Minor cleanups to EditWalker (#16980) 2017-07-07 10:36:46 -07:00
Andy
d3f4447657 Minor cleanups to LineIndexSnapshot (#16981) 2017-07-07 10:35:21 -07:00
Andy
e6256d43c4 Inline getDestructuringParameterName (#16973) 2017-07-07 10:34:50 -07:00
Andy
17578e8a5d Use Map<true> for sets (#16972) 2017-07-07 10:34:36 -07:00
Andy
2d802a62c4 Have isObjectBindingPatternElementWithoutPropertyName return the binding element (#16956) 2017-07-07 10:34:11 -07:00
Andy
81f8151e3a Use 'push' and 'pop' methods instead of using array.length (#16979) 2017-07-07 10:22:59 -07:00
Andy
ba53b42663 Clean up findChildIndex (#16984) 2017-07-07 10:15:04 -07:00
Andy
ba8e5a7e24 Never return undefined from getExportsOfModule (#17013) 2017-07-07 10:06:12 -07:00
Andy
d4c11bfa1b Clean up creation of 'args' in client.ts (#17009) 2017-07-07 08:09:59 -07:00
Andy
e7dc2a67ca Enable "object-literal-shorthand" lint rule (#16987) 2017-07-07 07:26:58 -07:00
Wesley Wigham
dc81b456e2 gulp-typescript does handles config extension correctly now (#16992) 2017-07-06 15:58:22 -07:00
Wesley Wigham
2a4b9c70e7 Use correct source root for tests (#16982)
I noticed my error messages while testing were names like `"E:\Github\compiler\binder.ts"` - with this change, they originate from the correct location (are are thus clickable links in the console). The previous path may have been required as a workaround for some old version of the tools we use, but is apparently no longer needed.
2017-07-06 15:56:59 -07:00
Wesley Wigham
4b19eb3200 Remove duplicate entries from tsconfig files (#16991) 2017-07-06 15:56:34 -07:00
Wesley Wigham
07e8263204 Start using a union for FunctionLike things (#16988)
* Start using a union for FunctionLike things

* Rename to shorter name
2017-07-06 14:46:15 -07:00
Wesley Wigham
4e6b2f3c93 Created a branded type for identifier-escaped strings (#16915)
* Created a branded type for escaped strings

Then flowed it throughout the compiler, finding and fixing a handful of
bugs relating to underscore-prefixed identifiers in the process.
Includes a test for two cases noticed - diagnostics from conflicting
symbols from export *'s, and enum with underscore prefixed member emit.

* Correctly double underscores WRT mapped types

* Add fourslash tests for other fixed issues

* use function call over cast

* Update forEachEntry type accuracy

* Just use escaped names for ActiveLabel

* Remove casts from getPropertyNameForPropertyNameNode

* This pattern has occurred a few times, could use a helper function.

* Remove duplicated helper

* Remove unneeded check, use helper

* Identifiers list is no longer escaped strings

* Extract repeated string-getting code into helper

* Rename type and associated functions

* Make getName() return UnderscoreEscapedString, add getUnescapedName()

* Add list of internal symbol names to escaped string type to cut back on casting

* Remove outdated comments

* Reassign interned values to nodes, just in case

* Swap to string enum

* Add deprecated aliases to escapeIdentifier and unescapeIdentifier

* Add temp var

* Remove unsafe casts

* Rename escaped string type as per @sandersn's suggestion, fix string enum usages

* Reorganize double underscore tests

* Remove jfreeman from TODO

* Remove unneeded parenthesis
2017-07-06 14:45:50 -07:00
Arthur Ozga
ad291d924d Merge pull request #16748 from aozgaa/implementOptionCrash
visit question token
2017-07-06 13:51:15 -07:00
Arthur Ozga
53a5abca27 Merge pull request #16878 from aozgaa/caretPositionInFourslash
Caret position in fourslash
2017-07-06 11:43:00 -07:00
Arthur Ozga
dc08c5f241 Merge branch 'master' into caretPositionInFourslash 2017-07-06 10:44:59 -07:00
Arthur Ozga
86894f3a6f i++ 2017-07-05 14:26:59 -07:00
Arthur Ozga
a200aa9329 non-default args 2017-07-05 12:54:42 -07:00
Wesley Wigham
296660a2a0 Add package lock to gitignore (#16770) 2017-07-05 12:51:32 -07:00
Arthur Ozga
2857bb9703 remove fixCaretPosition 2017-07-05 12:47:32 -07:00