Commit Graph

5165 Commits

Author SHA1 Message Date
Yui T
907d1d001b Move grammar checking: callExpression, newExpression 2014-12-11 12:07:01 -08:00
Yui T
b31981c6e9 Address code review 2014-12-11 11:35:51 -08:00
Cyrus Najmabadi
12f8bfb687 Unify accessor declaration parsing. 2014-12-10 23:33:30 -08:00
Vladimir Matveev
997aadb902 Merge pull request #1437 from Microsoft/formatting_conditionals
conditionals are now introduce indentation scope
2014-12-10 23:28:54 -08:00
Cyrus Najmabadi
fe57f3d2e4 Support modifiers on object literal methods and accessors, and question tokens on object literal methods.
This makes parsing of these constructs the same whether they are in an object literal or a class.

This is important for incrementla parsing for knowing if we can reuse these nodes if we run
into them.
2014-12-10 22:30:40 -08:00
Vladimir Matveev
638518cae2 Merge pull request #1441 from Microsoft/dont_indent_comments_on_errors
do not indent leading comments that attached to tokens with errors
2014-12-10 22:02:15 -08:00
Yui T
547e1296f8 Move grammar checking: Arrow function 2014-12-10 21:52:18 -08:00
Cyrus Najmabadi
4850dfbb8e Support modifiers on index signatures in an object type.
This makes index signature parsing non-contextual.  This is necessary so that
incremental parsing can reuse index signatures acros classes and object types.
2014-12-10 20:55:46 -08:00
Yui T
408d6f3ea3 Address code review 2014-12-10 19:30:09 -08:00
Cyrus Najmabadi
ee828dc1da More incremental parser tests. 2014-12-10 19:15:44 -08:00
Cyrus Najmabadi
fc27f72324 Understand and handle modifiers on function declarations and variable statements within blocks.
This ensures reusability for functions/variables that may have been outside a block, but end up
inside one afterwards.  It also ensure the same tree is produced when incremental parsing.

i.e.  if you have:

declare function F() { }

And you add a { above it, then we current have an incremental parsing bug.  Namely we would see
a FunctionDeclaration node and say 'yes, we can reuse that node while parsing the block'.  This
is currently broken because the normal parse would not have normally accepted such a node (because
of the modifiers).

This was an example of contextual parsing of the same kind of node.  Something which we do not
want to do if we want incremental parsing to work properly.
2014-12-10 18:52:56 -08:00
Mohamed Hegazy
774c061779 Merge branch 'release-1.4' into suppressNoImplicitAnyErrors
Conflicts:
	src/compiler/parser.ts
	src/harness/harness.ts
2014-12-10 18:45:28 -08:00
Yui T
31e49ed93e Move grammar checking: callSignature, constructorType, ConstructSignature, FunctionType, IndexSignature 2014-12-10 18:39:24 -08:00
Yui T
16693316e5 Add isEarly flag into error from grammar checking 2014-12-10 18:34:38 -08:00
Daniel Rosenwasser
0aca3b9667 Fixed 'use strict' check. 2014-12-10 18:17:59 -08:00
Cyrus Najmabadi
3699a4079f Rename method. 2014-12-10 17:52:42 -08:00
Mohamed Hegazy
d2c7c01ff3 Respond to code review commments 2014-12-10 17:51:14 -08:00
Cyrus Najmabadi
28b7ed9318 Initial stubs for the incremental parser logic. 2014-12-10 17:47:51 -08:00
Mohamed Hegazy
9e58b8aeda respond to code review commments 2014-12-10 17:41:48 -08:00
Daniel Rosenwasser
b6e8dd49e4 Responded to CR feedback. 2014-12-10 17:34:17 -08:00
Daniel Rosenwasser
905d978883 Moved createCompilerHost into parser.ts 2014-12-10 17:13:39 -08:00
Cyrus Najmabadi
7848726784 Sweep and mark nodes before going and performing incremental parsing. 2014-12-10 17:10:53 -08:00
Mohamed Hegazy
38bf383f03 Add tests for public declarations 2014-12-10 16:54:42 -08:00
Daniel Rosenwasser
2b4a769dc3 Merge remote-tracking branch 'origin/release-1.4' into exposeServices2 2014-12-10 16:43:21 -08:00
Daniel Rosenwasser
7c6d731b62 Moved non-exposed functions to utilities; fix up emitted .d.ts in Jakefile. 2014-12-10 16:42:41 -08:00
Cyrus Najmabadi
f9f9b374d1 When updating the text for a source file, extrend the changed range.
This ensures that nodes/tokens affected by lookahead will be reparsed.
2014-12-10 16:33:14 -08:00
Daniel Rosenwasser
9ad6eb21ed Merge pull request #1341 from Microsoft/escapingTheTemplateOfDoom
Template string escaping fixes
2014-12-10 16:29:00 -08:00
Anders Hejlsberg
d2f500292f Make initial inferences from parameterless function expressions (#1186) 2014-12-10 16:02:39 -08:00
Yui T
073994ec55 Addres code review 2014-12-10 15:44:36 -08:00
Vladimir Matveev
c3bc360c53 add missing property to harnessLS 2014-12-10 15:36:46 -08:00
Vladimir Matveev
0a17fc687d addressed CR feedback: rename getApiVersion to getServicesVersion 2014-12-10 15:35:58 -08:00
Vladimir Matveev
fbec3fe3c4 removed dummy parameter from getApiVersion method 2014-12-10 15:35:56 -08:00
Vladimir Matveev
c077910679 added getApiVersion method to TypeScriptServicesFactory 2014-12-10 15:35:55 -08:00
Vladimir Matveev
10d08b816e do not indent leading comments that attached to tokens with errors 2014-12-10 15:08:26 -08:00
Daniel Rosenwasser
e2baddd716 Explicit default target for fourslash tests in the harness. 2014-12-10 15:00:41 -08:00
Mohamed Hegazy
f690f054fc Remove unused parameter to getCompletionsAtPosition
Conflicts:
	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-10 14:59:56 -08:00
Daniel Rosenwasser
520979d094 Make getLocalizedDiagnosticMessages and getCancellationToken optional 2014-12-10 14:58:08 -08:00
Vladimir Matveev
6520663de7 add missing property to harnessLS 2014-12-10 14:52:42 -08:00
Mohamed Hegazy
1fab80f3d9 move OutliningSpan definitions to services to ensure it is visible in definitions file 2014-12-10 14:50:29 -08:00
Daniel Rosenwasser
6da0b57d19 Removed tokenSpan.ts. 2014-12-10 14:49:59 -08:00
Anders Hejlsberg
35adeb8363 Addressing CR feedback 2014-12-10 14:44:31 -08:00
Mohamed Hegazy
f90e725aa0 move formatting.ts and smartIndernter.ts into formatting folder to match thier namespace 2014-12-10 14:42:52 -08:00
Mohamed Hegazy
cf340efe01 remove unused file 2014-12-10 14:42:28 -08:00
Mohamed Hegazy
fc950ed930 Move Map to types to ensure it is visible in definition files 2014-12-10 14:41:57 -08:00
Mohamed Hegazy
523c1795b8 use ts.System for tests 2014-12-10 14:41:32 -08:00
Anders Hejlsberg
7ed933f5c4 Type guards do no affect values of type any 2014-12-10 14:41:29 -08:00
Mohamed Hegazy
0d9b2c8725 move text defintions to services.ts 2014-12-10 14:40:24 -08:00
Daniel Rosenwasser
4deea66c1c Put 'sys' into the 'ts' module. 2014-12-10 14:40:09 -08:00
Daniel Rosenwasser
73ee0382be Use __filename for 'getExecutingFilePath'. 2014-12-10 14:39:40 -08:00
Cyrus Najmabadi
888b88ee43 Move textSpan and textChangeRange impls to the compiler layer. 2014-12-10 14:36:37 -08:00