Commit graph

310 commits

Author SHA1 Message Date
Vladimir Matveev
dae5a626da record resolution for relative file name if file was found via absolute name 2015-09-26 21:29:07 -07:00
Colin Snover
f3969048c5 Put AMD dependency list inline with define call in UMD modules
Fixes #4952.
2015-09-25 23:57:47 +00:00
Vladimir Matveev
d57ceb1d32 extend the list of extensions for module file names in node_modules folder 2015-09-21 16:10:03 -07:00
Sheetal Nandi
c30104e3b6 Add option --jsExtensions to handle extensions to treat as javascript
- Command line now takes --jsExtension multiple times or comma separated list of extensions
- tsconfig accepts array of extension strings
2015-09-21 15:39:53 -07:00
Sheetal Nandi
bc48c7c9f0 Merge branch 'master' into tscJsFiles 2015-09-16 11:38:11 -07:00
Daniel Rosenwasser
ad8bcfabdc handeles -> handles 2015-09-15 15:18:24 -07:00
Sheetal Nandi
885babc9bc Merge branch 'master' into tscJsFiles 2015-09-14 12:40:47 -07:00
Vladimir Matveev
a880be1f75 resolve merge conflicts, update tests 2015-09-10 21:53:49 -07:00
Vladimir Matveev
98f31635f8 Check if imported file is a proper external module 2015-09-10 21:46:03 -07:00
Vladimir Matveev
4b5c2fe31c reattach file diagnostics for modified files when reusing program structure 2015-09-10 21:29:52 -07:00
Vladimir Matveev
87e1569d1f resolve merge conflicts, update tests 2015-09-10 17:00:29 -07:00
Vladimir Matveev
04949a005c Merge remote-tracking branch 'origin/master' into properExternalModules 2015-09-10 16:42:17 -07:00
Vladimir Matveev
e0c16b4332 Check if imported file is a proper external module 2015-09-10 16:00:44 -07:00
Mohamed Hegazy
7e1739604a Fix #4727: prerocess export import declarations correctelly 2015-09-10 13:24:45 -07:00
Vladimir Matveev
6e24570135 reattach file diagnostics for modified files when reusing program structure 2015-09-10 10:46:39 -07:00
Sheetal Nandi
279018d49c Baseline updates 2015-09-10 09:44:04 -07:00
Vladimir Matveev
e484305c98 allow backslashes in fileName argument of the transpile function 2015-09-03 13:31:57 -07:00
Vladimir Matveev
9a78b66068 allow backslashes in fileName argument of the transpile function 2015-09-03 09:25:43 -07:00
Mohamed Hegazy
ab6fe49d56 Merge branch 'master' into moduleResolutionStrategies
Conflicts:
	src/compiler/diagnosticMessages.json
2015-08-24 15:46:06 -07:00
Sheetal Nandi
2defe94b1f Added test for transpilation with emitting of metadata and decorator 2015-08-24 12:47:39 -07:00
Vladimir Matveev
8cc7953941 use \r\n as default new line in transpile 2015-08-21 11:57:07 -07:00
Vladimir Matveev
4f25efbd79 simplify module resolution tests 2015-08-21 10:57:36 -07:00
Vladimir Matveev
dde7545d34 address PR feedback 2015-08-20 16:13:49 -07:00
Vladimir Matveev
f415097d0d addressed PR feedback 2015-08-18 14:52:21 -07:00
Vladimir Matveev
049a5fba07 added tests 2015-08-18 13:36:08 -07:00
Vladimir Matveev
1cb5280971 Merge branch 'master' into moduleResolutionStrategies 2015-08-17 18:31:53 -07:00
Vladimir Matveev
3b95ea460e initial implementation of module resolution for node/requirejs 2015-08-17 18:31:12 -07:00
Vladimir Matveev
b6b735c0f2 merge with master 2015-08-17 14:38:24 -07:00
Vladimir Matveev
7e8cfa0859 allow transpiler to provide alternative names for dependencies 2015-08-14 13:00:41 -07:00
Vladimir Matveev
a69b04145d delete entry from the cache when referenced file is removed, added tests 2015-08-06 16:23:21 -07:00
Vladimir Matveev
03aaf7cd7c addressed PR feedback 2015-08-04 21:22:37 -07:00
Vladimir Matveev
49ad395de1 resolveModuleName => resolvedModuleNames, added tests 2015-08-04 15:21:16 -07:00
Vladimir Matveev
36043cd88a merge with master 2015-07-29 17:16:58 -07:00
Vladimir Matveev
544a7939f0 return ambient external modules as a results of preprocessing 2015-07-29 16:47:34 -07:00
Vladimir Matveev
e1fa3c5515 Merge pull request #3982 from Microsoft/sourceMapsInTranspile
add transpileModule function that can return emitted source map
2015-07-23 17:25:30 -07:00
Wesley Wigham
ef0a289c77 Remove exit test 2015-07-23 12:50:24 -07:00
Wesley Wigham
90bbb7fb3c More linting from PR 2015-07-23 12:33:34 -07:00
Wesley Wigham
5fb5b244fb Feedback from PR, lint fixes 2015-07-23 11:14:19 -07:00
Vladimir Matveev
500cadac5c add transpileModule function that can return emitted source map 2015-07-22 11:58:27 -07:00
Wesley Wigham
8884f3b4f6 Fix tslint issues 2015-07-21 16:26:03 -07:00
Wesley Wigham
8e93a49c7b Narrow exported session API, Unit tests for session API 2015-07-21 16:05:03 -07:00
Vladimir Matveev
9332f7e1e3 introduce ModuleResolutionHost interface 2015-07-15 11:40:49 -07:00
Vladimir Matveev
2685d409d5 addressed PR feedback 2015-07-09 14:40:33 -07:00
Vladimir Matveev
c968b3653e addressed PR feedback 2015-06-24 17:40:04 -07:00
Vladimir Matveev
ba3eb0d0cf added Program.structureIsReused property, disallow reuse if target module
kind differs in old and new programs, move setting of resolvedModules
cache to the program, added tests
2015-06-24 12:59:22 -07:00
Jason Freeman
f2044a9011 Merge branch 'master' of https://github.com/Microsoft/TypeScript 2015-06-18 16:03:41 -07:00
Jason Freeman
111fdcb499 Merge branch 'release-1.5'
Conflicts:
	src/compiler/emitter.ts
	src/compiler/parser.ts
	src/compiler/program.ts
	src/services/services.ts
	tests/cases/unittests/transpile.ts
2015-06-18 15:06:03 -07:00
Cyrus Najmabadi
38a54bc0b9 Fix incremental parsing issue.
We were moving a method-declaration called "constructor" into a class.  This is incorrect
as that same code should be parsed as a constructor-declaration now that it is in the
class context.
2015-06-18 14:16:00 -07:00
Mohamed Hegazy
7361d68d25 Merge pull request #3542 from weswigham/jake-lssl
Add build target for packaging tsserver as a library
2015-06-17 23:54:04 -07:00
Cyrus Najmabadi
ec9e461869 Remove 'strict mode' from parsing and checking, and make it purely something purely checked at bind time. 2015-06-15 17:31:15 -07:00
Wesley Wigham
8554791574 Decouple ts.sys from the editorServices where possible 2015-06-15 13:37:19 -07:00
Daniel Rosenwasser
1f4812f9dd Merge branch 'testPerf2' into testPerf
Conflicts:
	src/compiler/program.ts
	src/compiler/types.ts
	src/harness/harness.ts
2015-06-12 16:39:03 -07:00
Daniel Rosenwasser
e1c1da578c Merge branch 'master' into testPerf2
Conflicts:
	Jakefile.js
	src/compiler/program.ts
	src/compiler/types.ts
	src/harness/harness.ts
	src/harness/projectsRunner.ts
	src/harness/runner.ts
2015-06-12 16:16:09 -07:00
Daniel Rosenwasser
b5e57e11e7 Spelling. 2015-06-12 15:50:16 -07:00
Vladimir Matveev
970dc49a2d do not report extra error if file was already found without extension 2015-06-11 14:43:57 -07:00
Daniel Rosenwasser
0b865da685 Spelling. 2015-06-11 12:11:56 -07:00
Daniel Rosenwasser
7b01d036ce Remove BOM. 2015-06-11 12:01:19 -07:00
Jason Freeman
d03fca2326 Merge branch 'master' of https://github.com/Microsoft/TypeScript into parsingModuleElements 2015-06-10 16:54:37 -07:00
Jason Freeman
635a773186 Unite ParsingContext.ModuleElements and ParsingContext.BlockStatements 2015-06-10 16:41:48 -07:00
Daniel Rosenwasser
caf0939d50 Removed more 'debugger' statements from tests. 2015-06-09 16:47:43 -07:00
Vladimir Matveev
3c630aa247 added tests 2015-06-04 22:39:21 -07:00
Vladimir Matveev
00e28ff8a3 added tests 2015-06-04 22:22:25 -07:00
Jason Freeman
abf18c5a11 Merge branch 'release-1.5' 2015-06-03 17:56:53 -07:00
Mohamed Hegazy
6902b050ca Respond to code review comments 2015-06-02 18:04:05 -07:00
Cyrus Najmabadi
9aab98419b Parsing support for jsDocComments. 2015-05-28 10:14:18 -07:00
Mohamed Hegazy
2cbe14e131 Respond to code review comments 2015-05-27 10:20:01 -07:00
Mohamed Hegazy
e7eef830e1 Fix #3245: ensure transpile diagnostics only include syntactic and compiler options diagnostics 2015-05-26 20:18:13 -07:00
Cyrus Najmabadi
5ad7a593d4 Add a common, dense, format for classification operations to lower cost of processing on the host side.
We now just return an array of triples to represent classified results.  The triple contains:
1) the start of the classification.
2) the length of the classification.
3) the type of the clasification.

We also encode this into a comma separated string when passing over to the managed side
(as opposed to an JSON array).  That way we don't pay such a high JSON parsing cost.
Instead, we can just do a string.split(",") on the encoded triples and process each
element ourselves.
2015-04-30 14:26:46 -07:00
Mohamed Hegazy
73e22ed9c2 Add convertToBase64 method 2015-04-07 22:54:06 -07:00
Mohamed Hegazy
4f78695740 Respond to code review comments 2015-03-31 20:42:45 -07:00
Mohamed Hegazy
4bf91fd4ce Wire stress tests 2015-03-31 17:30:48 -07:00
Mohamed Hegazy
82884e8f26 wire tst tests 2015-03-31 14:43:36 -07:00
Mohamed Hegazy
1f75c03884 Update test names 2015-03-31 13:48:53 -07:00
Mohamed Hegazy
79af91a8e9 Cleanup 2015-03-31 13:45:11 -07:00
Mohamed Hegazy
7f5337701f Consolidate test logic in one helper function 2015-03-31 13:40:17 -07:00
Mohamed Hegazy
cb00b47254 use descript and it to run tests 2015-03-31 13:32:53 -07:00
Mohamed Hegazy
3d4445c645 Add contents for editTest 2015-03-31 12:42:40 -07:00
Mohamed Hegazy
b6d5781c11 Remove commented code 2015-03-31 12:25:44 -07:00
Mohamed Hegazy
bf565c70a4 Use assert 2015-03-31 12:21:11 -07:00
Mohamed Hegazy
d45143815b initial checkin 2015-03-31 12:20:30 -07:00
Yui T
c51983df3c Address code review 2015-03-16 15:48:03 -07:00
Yui T
0672923323 Parse classDeclaration in strict mode code for ES6 2015-03-12 15:19:45 -07:00
Cyrus Najmabadi
62d304b069 Preserve newlines for property access expressions on multiple lines. 2015-03-05 02:31:55 -08:00
Mohamed Hegazy
70d5f9c8e7 Merge pull request #2140 from Microsoft/lsImportResolution
Support new import / export syntax in preProcessFile
2015-02-28 05:03:03 -08:00
Cyrus Najmabadi
3c78a0522b Add tests. 2015-02-27 16:29:12 -08:00
Cyrus Najmabadi
545fa20efd Add registry tests. 2015-02-27 16:26:15 -08:00
Mohamed Hegazy
30cc1cc478 Add support for new import syntax in preprocessFile 2015-02-25 14:00:44 -08:00
Cyrus Najmabadi
f90f8e8061 CR feedback. 2015-02-23 15:41:43 -08:00
Cyrus Najmabadi
fd1b5875e2 Move NavigateTo over to using the new pattern matcher. 2015-02-22 21:25:43 -08:00
CyrusNajmabadi
b3a74ae32d Merge pull request #2094 from Microsoft/patternMatcher
Add a PatternMatcher API (similar to the one in Roslyn) for more advanced matching with features like NavigateTo.
2015-02-21 14:56:11 -08:00
Cyrus Najmabadi
06a278458a Merge branch 'master' into patternMatcher
Conflicts:
	src/services/services.ts
2015-02-21 14:34:15 -08:00
Cyrus Najmabadi
fc229368d1 Include the binary expression's operator in the AST. 2015-02-20 18:56:42 -08:00
Jason Freeman
580d0a6331 More tests 2015-02-20 12:15:37 -08:00
Cyrus Najmabadi
33e1e5d905 Add a PatternMatcher API (similar to the one in Roslyn) for more advanced matching with features like NavigateTo. 2015-02-20 00:22:41 -08:00
Daniel Rosenwasser
67638cbc00 Make 'syntacticClassifierAbsent' non-optional. 2015-02-16 12:21:16 -08:00
Daniel Rosenwasser
ab79faef85 Added tests, fixed order of emptying templateStack, unconditionally perform template classification. 2015-02-12 16:28:45 -08:00
Mohamed Hegazy
08f51b9070 Respond to code review comments 2015-02-09 09:19:50 -08:00
Mohamed Hegazy
55aa240ade Merge branch 'master' into LSAPICleanup
Conflicts:
	src/services/services.ts
2015-02-06 17:17:23 -08:00
Cyrus Najmabadi
ea4e3de91c Remove unnecessary diagnostics split on SourceFile. 2015-02-05 13:38:11 -08:00
Mohamed Hegazy
40a01a81b3 Merge branch 'master' into fourslashCleanup
Conflicts:
	src/harness/fourslash.ts
	src/harness/harnessLanguageService.ts
2015-02-04 20:22:00 -08:00
Mohamed Hegazy
5aca35e35f Move unit tests to use the new adaptors 2015-02-03 17:28:33 -08:00
Cyrus Najmabadi
95702a89a7 Fix spelling of 'Filename' to be 'FileName'. 2015-02-03 16:08:46 -08:00
Vladimir Matveev
288e38fa36 merge with master 2015-02-03 11:26:39 -08:00
Mohamed Hegazy
d6bd9f74d2 Merge branch 'master' into LSAPICleanup 2015-02-02 18:49:13 -08:00
Cyrus Najmabadi
5343336763 Baseline updates now that we no longer have early errors. 2015-02-02 15:15:54 -08:00
Mohamed Hegazy
0257acebd3 Respond to code review comments 2015-01-26 16:45:34 -08:00
Mohamed Hegazy
1b1a45be6b update unit test contents 2015-01-20 11:03:51 -08:00
Mohamed Hegazy
66f8257fc8 Remove isOpen from souceFile and LanugageServiceHost interfaces 2015-01-16 21:23:51 -08:00
Vladimir Matveev
c40977c5fb move getSyntacticDiagnostics out of SourceFile 2015-01-16 12:32:37 -08:00
Cyrus Najmabadi
48bef4698b Provide better error recovery when we encounter merge markers in the source.
Previously we would just treat each merge marker as trivia and then continue
scanning and parsing like normal.  This worked well in some scenarios, but
fell down in others like:

```
class C {
    public foo() {
<<<<<<< HEAD
        this.bar();
    }
=======
        this.baz();
    }
>>>>>>> Branch

    public bar() { }
}
```

The problem stems from the previous approach trying to incorporate both branches of the merge into
the final tree.  In a case like this, that approach breaks down entirely.  The the parser ends up
seeing the close curly in both included sections, and it considers the class finished.  Then, it
starts erroring when it encounters "public bar()".

The fix is to only incorporate one of these sections into the tree.  Specifically, we only include
the first section.  The second sectoin is treated like trivia and does not affect the parse at all.
To make the experience more pleasant we do *lexically* classify the second section.  That way it
does not appear as just plain black text in the editor.  Instead, it will have appropriate lexicla
classifications for keywords, literals, comments, operators, punctuation, etc.  However, any syntactic
or semantic feature will not work in the second block due to this being trivia as far as any feature
is concerned.

This experience is still much better than what we had originally (where merge markers would absolutely)
destroy the parse tree.  And it is better than what we checked in last week, which could easily create
a borked tree for many types of merges.

Now, almost all merges should still leave the tree in good shape.  All LS features will work in the
first section, and lexical classification will work in the second.
2014-12-18 19:18:13 -08:00
Cyrus Najmabadi
4545549e07 Disable incremental by default before merging into master. 2014-12-17 12:41:08 -08:00
Cyrus Najmabadi
bd76ebd02b Enable incremental parsing by default.
Provide flag to disable incremental parsing if necessary.
2014-12-14 12:39:11 -08:00
Cyrus Najmabadi
e1e5243335 Merge branch 'typingHighFidelity' into sourceFileUpdate
Conflicts:
	tests/cases/unittests/incrementalParser.ts
2014-12-14 12:06:26 -08:00
Cyrus Najmabadi
f5d622f0c9 Move test helpers into the harness Utils module. 2014-12-14 10:57:34 -08:00
Cyrus Najmabadi
d5c6636854 Parse function and variable declarations uniformly, whether they're at teh top level, or inside a method.
This is necessary for incremental parsing correctness, as the incremental parser
will attempt to reuse these types of nodes in both contexts, and we much ensure
it creates the same trees you would get if you were parsing normally.
2014-12-12 03:52:01 -08:00
Cyrus Najmabadi
8820ca0596 Change the error-bit to be a node-flag and not a parser context flag.
Do not reuse nodes with errors in them.  We need to reparse them to make
sure we produce the right errors the second time around.
2014-12-12 03:25:49 -08:00
Cyrus Najmabadi
60c62e5b6b Don't consume nodes during calls to isListElement. 2014-12-12 03:06:05 -08:00
Cyrus Najmabadi
9c0e4211bc Properly adjust nodes while walking down the tree. 2014-12-12 02:34:53 -08:00
Cyrus Najmabadi
2f833d5f97 Provide a way for tests to try out incremental parsing. 2014-12-12 02:21:45 -08:00
Cyrus Najmabadi
f218ce7684 Merge branch 'master' into sourceFileUpdate
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/compiler/parser.ts
	tests/baselines/reference/APISample_node_compile.js
	tests/baselines/reference/APISample_node_compile.types
	tests/baselines/reference/APISample_standalone_compile.js
	tests/baselines/reference/APISample_standalone_compile.types
2014-12-12 00:52:07 -08:00
Cyrus Najmabadi
402c57cf7e Adding classification test. 2014-12-11 17:04:21 -08:00
Cyrus Najmabadi
fbeb7dd75e Merge branch 'funcDeclsInBlocks' into sourceFileUpdate
Conflicts:
	src/services/outliningElementsCollector.ts
2014-12-11 15:16:46 -08:00
Cyrus Najmabadi
ba0fd4453d Add additional incremental tests. 2014-12-10 23:04:13 -08:00
Cyrus Najmabadi
ee828dc1da More incremental parser tests. 2014-12-10 19:15:44 -08:00
Cyrus Najmabadi
563b234240 Incremental parser tests should verify the same set of diagnostics are produced. 2014-12-10 19:07:36 -08:00
Cyrus Najmabadi
888b88ee43 Move textSpan and textChangeRange impls to the compiler layer. 2014-12-10 14:36:37 -08:00
Cyrus Najmabadi
c2d4cd5887 Move TextSpan into the compiler layer. 2014-12-10 13:45:08 -08:00
Cyrus Najmabadi
5bd49fec1d Initial entrypoint in SourceFile for the LS to call to peform incremental parsing.
Right now the entrypoint just causes a full parse to happen.  But the LS code is
cleaned up to take advantage of it appropriately.
2014-12-10 11:45:33 -08:00
Cyrus Najmabadi
1170a1c436 Only set parents for parse trees in the LS for the syntactic trees.
we don't need this for the semantic trees because the compiler will set them all during
the binding.
2014-12-10 10:09:40 -08:00
Cyrus Najmabadi
dd2c869d7b Use chai asserts. 2014-12-09 19:49:40 -08:00
Cyrus Najmabadi
aa30ac8a9c Add incremental test. 2014-12-09 19:37:26 -08:00
Cyrus Najmabadi
2a845726ab Add incremental test. 2014-12-09 18:36:32 -08:00
Cyrus Najmabadi
3c35b9097f Add incremental test. 2014-12-09 18:35:23 -08:00
Cyrus Najmabadi
58d36afbec Add incremental test. 2014-12-09 18:32:43 -08:00
Cyrus Najmabadi
3928f743ac Add incremental test. 2014-12-09 18:30:40 -08:00
Cyrus Najmabadi
01ead476cf Add incremental test. 2014-12-09 18:29:18 -08:00
Cyrus Najmabadi
b8bb8e9998 Add incremental test. 2014-12-09 18:27:59 -08:00
Cyrus Najmabadi
467d303c67 Add incremental test. 2014-12-09 18:26:50 -08:00
Cyrus Najmabadi
dad3faecf3 Add incremental test. 2014-12-09 18:25:10 -08:00
Cyrus Najmabadi
c489c4fcfe Add incremental test. 2014-12-09 18:24:16 -08:00
Cyrus Najmabadi
9b53947d51 Add incremental test. 2014-12-09 18:23:25 -08:00
Cyrus Najmabadi
afec0fb9f0 Add incremental test. 2014-12-09 18:17:11 -08:00
Cyrus Najmabadi
197b62e92a Add incremental test. 2014-12-09 18:13:09 -08:00
Cyrus Najmabadi
025dd23c1b Add incremental test. 2014-12-09 18:11:56 -08:00
Cyrus Najmabadi
78c4b92216 Add incremental test. 2014-12-09 18:10:15 -08:00
Cyrus Najmabadi
d6fa98d00b Add incremental test. 2014-12-09 18:07:48 -08:00
Cyrus Najmabadi
ec13fbee96 Add incremental test. 2014-12-09 18:05:45 -08:00
Cyrus Najmabadi
3e70073211 Add incremental test. 2014-12-09 18:03:52 -08:00
Cyrus Najmabadi
18f9acb7fc Add incremental test. 2014-12-09 18:00:08 -08:00
Cyrus Najmabadi
b8942992a0 Add incremental test. 2014-12-09 17:58:23 -08:00