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
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
Daniel Rosenwasser
9ad6eb21ed
Merge pull request #1341 from Microsoft/escapingTheTemplateOfDoom
...
Template string escaping fixes
2014-12-10 16:29:00 -08:00
Anders Hejlsberg
2876ba6a6c
Addressing CR feedback
2014-12-10 14:25:02 -08:00
Anders Hejlsberg
37b5c74b93
Adding test case
2014-12-10 10:17:48 -08:00
Anders Hejlsberg
7bc35b3ae0
Merge branch 'master' into destructuring
...
Conflicts:
src/compiler/binder.ts
src/compiler/checker.ts
src/compiler/emitter.ts
src/compiler/parser.ts
src/services/services.ts
tests/baselines/reference/parserCommaInTypeMemberList2.errors.txt
2014-12-09 11:26:43 -08:00
Mohamed Hegazy
9d31d356b4
Merge pull request #1400 from Microsoft/addMethodToBoolean
...
Add new method on interface Boolean to ensure it is not assignable from other types
2014-12-08 17:09:27 -08:00
Yui T
aee0b9e8a1
Merge branch 'master' into fixSpeculativeParse
...
Conflicts:
tests/baselines/reference/parserCommaInTypeMemberList2.errors.txt
2014-12-08 16:35:51 -08:00
Yui T
c1d509a940
Update and add test cases
2014-12-08 15:47:24 -08:00
Cyrus Najmabadi
5db51fead8
Better error recovery when encountering an errant comma in a semicolon delimited list.
2014-12-08 15:35:09 -08:00
Anders Hejlsberg
459dee0e84
Merge branch 'master' into destructuring
...
Move downlevel vs. ES6 emit branching into individual emit functions
2014-12-08 14:42:38 -08:00
Mohamed Hegazy
80c5acc04e
Add new method on interface Boolean to ensure it is not assignable from other types
2014-12-08 11:22:52 -08:00
Vladimir Matveev
b9bda98256
fetch actual parameter name of indexer when printing literal type
2014-12-05 16:58:49 -08:00
Anders Hejlsberg
4118ffc703
Accepting new baselines
2014-12-04 17:43:51 -08:00
Sheetal Nandi
e29aadb4c4
"let" should only be considered a keyword in strict mode, or when it starts an actual construct
...
Handles #1301
2014-12-04 16:45:09 -08:00
Sheetal Nandi
a4ab192b6f
Fix the merge conflicts
2014-12-04 13:38:51 -08:00
CyrusNajmabadi
4d0f9920e9
Merge pull request #1364 from Microsoft/coverage
...
Add grammar walker test coverage cases.
2014-12-04 13:01:42 -08:00
Cyrus Najmabadi
d796bf1e0a
Improve the flexibility of speculative parsing.
...
We now no longer fail a speculative parse just because an error was encountered at any point while
speculating. instead, we allow the speculative function that is being called to determine if the
parse was successful or not. Only if it decides it was not successful is parsing rewound.
This improves our error recovery in several cases (esp. around arrow functions). it will also
help in a followup refactoring to prevent lookahead/speculative parsing from causing lambda
allocations.
2014-12-04 08:53:45 -08:00
Cyrus Najmabadi
4db419d93c
more baselines. revert unintentional change to harness.ts.
2014-12-03 22:14:55 -08:00
Cyrus Najmabadi
e6d1e39fb7
Add more coverage tests.
2014-12-03 21:07:50 -08:00
Cyrus Najmabadi
66c1b3df20
Add grammar walker test coverage cases.
2014-12-03 20:41:39 -08:00
Anders Hejlsberg
816abb19e4
Merge branch 'master' into destructuring
...
Conflicts:
src/compiler/checker.ts
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/emitter.ts
src/compiler/parser.ts
src/compiler/types.ts
src/services/navigationBar.ts
tests/baselines/reference/assignmentLHSIsValue.errors.txt
tests/baselines/reference/objectTypesWithOptionalProperties.errors.txt
tests/baselines/reference/parserErrorRecovery_ParameterList2.errors.txt
2014-12-03 16:43:01 -08:00
Cyrus Najmabadi
3440869010
Print out methods in the types of object literals as if they were methods, not function typed properties.
2014-12-03 03:19:46 -08:00
Cyrus Najmabadi
d5ef6226da
Emit FunctionPropertyAssignments in their native form when emitting in ES6 mode.
2014-12-03 02:09:15 -08:00
Cyrus Najmabadi
44f30c8ba9
Remove baseline-hacks from the typewriter.
2014-12-03 01:55:22 -08:00
Cyrus Najmabadi
0900005438
Don't rewrite function property assignments in the AST.
2014-12-03 01:46:04 -08:00
Cyrus Najmabadi
f520129e2c
Simplify arrow function expression parsing.
...
Reduce allocations by avoiding the need for a superfluous 'ParsedSignature'.
2014-12-02 19:04:51 -08:00
Anders Hejlsberg
65d1510769
Adding rudimentary tests
2014-12-02 16:23:37 -08:00
Cyrus Najmabadi
5a7500ca5e
Add a dedicated 'EndOfFile' token to a SourceFile.
...
This is important for incremental parsing, as it is where we can attach parse errors at the end of
the file to. Also, it helps with things like emitting comments at the end of the file.
2014-12-02 16:09:41 -08:00
Cyrus Najmabadi
ec17f369a2
Find imported external modules that start with double underscores.
2014-12-02 14:14:57 -08:00
Cyrus Najmabadi
a6a7e81de2
Add failing test.
2014-12-02 14:05:35 -08:00
Daniel Rosenwasser
4c4e5a43e0
Added multiline tests.
2014-12-02 13:54:10 -08:00
Mohamed Hegazy
cf1f6406bb
Merge pull request #1332 from Microsoft/getEmitOutputCleanup
...
Ensure getEmitOutput only check the file requested
2014-12-02 13:21:13 -08:00
Anders Hejlsberg
ab35da9b87
Baseline changes from updating rest parameter emit to use new temporary names
2014-12-02 11:49:28 -08:00
Sheetal Nandi
8b078c2734
baseline change conflict not caught during github merge
2014-12-02 08:46:33 -08:00
Sheetal Nandi
802f11349f
Merge pull request #1056 from Microsoft/unionTypeConformance
...
Union type conformance
2014-12-02 08:02:34 -08:00
Cyrus Najmabadi
03a2d0197b
Make 'CatchClause' have-a block, instead of be-a block.
2014-12-01 23:21:27 -08:00
Mohamed Hegazy
08165c0b17
Ensure getEmitOutput only check the file requested
2014-12-01 23:15:13 -08:00
Cyrus Najmabadi
db89584a86
Put semantically relevant tokens in the tree.
2014-12-01 22:03:41 -08:00
Cyrus Najmabadi
f8f314868b
Merge branch 'master' into lessDirectCallsToError
...
Conflicts:
src/compiler/checker.ts
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
2014-12-01 17:42:59 -08:00
Daniel Rosenwasser
ddb3ca0f48
Augment escapeString to fix downlevel template literal emit.
2014-12-01 17:27:11 -08:00
Mohamed Hegazy
4e79458e69
Merge branch 'master' into es6typings
...
Conflicts:
tests/baselines/reference/constDeclarationShadowedByVarDeclaration3.types
2014-12-01 16:51:10 -08:00
Mohamed Hegazy
203e46c335
Merge pull request #1317 from vvakame/addMissingPrototypeProperty
...
Add missing prototype properties
2014-12-01 16:38:37 -08:00
Cyrus Najmabadi
d730e5ca55
Remove 'missing' syntax kind.
2014-12-01 16:17:04 -08:00
Mohamed Hegazy
170014c3da
Merge pull request #1312 from Microsoft/isDeclarationVisibleAssert
...
Handle assert for missing node kind in isDeclarationVisible for functionType and constructorType
2014-12-01 14:30:25 -08:00
Mohamed Hegazy
199b71c2ce
Merge branch 'master' into es6Typings
2014-12-01 13:22:20 -08:00
Mohamed Hegazy
0f6574e7e6
Add test for getters and setters
2014-12-01 13:20:56 -08:00
Mohamed Hegazy
da588aa4bc
Merge branch 'master' into isDeclarationVisibleAssert
...
Conflicts:
src/compiler/checker.ts
2014-12-01 13:19:12 -08:00
Daniel Rosenwasser
9da7287eaa
Merge pull request #1275 from Microsoft/unterminator
...
Keep track of unterminated literal expressions.
2014-12-01 12:57:33 -08:00
Yui T
7ec49fd80e
Merge branch 'master' into binaryIntegerLiteral
...
Conflicts:
src/compiler/diagnosticInformationMap.generated.ts
src/compiler/diagnosticMessages.json
src/compiler/emitter.ts
tests/baselines/reference/objectTypesWithOptionalProperties.errors.txt
2014-12-01 11:22:37 -08:00