Commit Graph

9371 Commits

Author SHA1 Message Date
Cyrus Najmabadi
dcbfa6988a Modules are always in strict mode in ES6. 2015-06-15 18:01:18 -07:00
Cyrus Najmabadi
417cfa5c2c Check namespaces for strict mode. 2015-06-15 17:48:15 -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
Arthur Ozga
1954322155 Fixed some indentation issues 2015-06-15 17:10:53 -07:00
Arthur Ozga
506349f9c5 Fix merge conflicts with master 2015-06-15 16:48:09 -07:00
Arthur Ozga
5316d0d0df Abstract keyword: Added parsing and some checks
keyword `abstract` is parsed at the head of class declarations and as a modifier for class member functions/variables.

The following checks have been implemented:
* Objects whose type is an abstract class cannot be instantiated with `new`.
* all overloads of a function must match w/r/t having the abstract keyword.
* a member/class decl can't use the `abstract` keyword multiple times.
* a member can't be both `abstract` and `static`.
* a member can't be both `abstract` and `private`.
* Accessibility modifiers can't follow `abstract`
* Only classes and member functions can be declared abstract.
* abstract methods don't need an implementation
* abstract methods can only appear in abstract classes.

TODO:

* forbid abstract methods from having an implementation.
* make sure, barring overriding, an inherited method is abstract iff it is abstract in the parent.
* If a class has an abstract members, then it must be abstract. (eg: class B does not implement inherited member 'foo()')
* prevent overriding a non-abstract method with an abstract method.
* update "abstractness" flag when overriding abstract method with non-abstract method.
* prevent calling an abstract method via super.<abstract method name>()
* make all overloads of an abstract method adjacent to eachother.
* constructors can't be declared abstract -- give appropriate error.
* figure out what to emit to the *.ts file -- probably nothing.
* figure out what to emit to the *.d.ts file.
* process abstract declarations.
2015-06-15 16:29:34 -07:00
Jason Freeman
54edbaeea7 Parse class member with a missing identifier in the presence of a modifier 2015-06-15 16:28:29 -07:00
Anders Hejlsberg
186f52572b Accepting new baselines 2015-06-15 16:14:28 -07:00
Anders Hejlsberg
d5752592ac Adding basic tests 2015-06-15 16:14:01 -07:00
Anders Hejlsberg
367e257928 Accepting new baselines 2015-06-15 15:46:29 -07:00
Anders Hejlsberg
cc81cc77f9 Check that base constructor return types are identical
Treat class extends clause as expression position in services.ts
2015-06-15 15:44:43 -07:00
Wesley Wigham
8554791574 Decouple ts.sys from the editorServices where possible 2015-06-15 13:37:19 -07:00
Wesley Wigham
ab1512fb13 Export server & session without any node specifics 2015-06-15 13:37:18 -07:00
Anders Hejlsberg
2a1b8989be Merge pull request #3509 from Microsoft/simplerStrictModeChecking
Simpler strict mode checking
2015-06-15 12:40:01 -07:00
Ron Buckton
9a57e6ff17 Updated baselines 2015-06-15 12:04:15 -07:00
Ron Buckton
5ebad5889c Merge branch 'master' into asyncFunctions 2015-06-15 11:47:15 -07:00
Anders Hejlsberg
956d73ef5e Accepting new baselines 2015-06-15 10:44:21 -07:00
Anders Hejlsberg
80ea68701b Use instantiated signatures in super calls 2015-06-15 10:27:59 -07:00
Anders Hejlsberg
c20f6820b7 Adding SyntaxKind.BindingElement case 2015-06-15 06:48:48 -07:00
Daniel Rosenwasser
46a842e19b Merge pull request #3049 from Microsoft/testPerf
Create "light" test-running mode and a '--noLibCheck' flag
2015-06-14 20:25:03 -07:00
Daniel Rosenwasser
c2fa08b2ce Removed TypeCheckerHost extension. 2015-06-14 20:06:22 -07:00
Daniel Rosenwasser
5054596884 Just explicitly use Harness.lightMode. 2015-06-14 20:02:20 -07:00
Daniel Rosenwasser
dc6a9bdbee Style. 2015-06-14 19:56:48 -07:00
Daniel Rosenwasser
75920657b9 Updated baselines. 2015-06-14 19:50:13 -07:00
Daniel Rosenwasser
5f01c09b7e Use reference comments again. 2015-06-14 19:49:50 -07:00
Anders Hejlsberg
a826215c0d Accepting new baselines 2015-06-14 14:35:22 -07:00
Anders Hejlsberg
3e9206aaab Consolidating strict mode reserved identifier checking in single method in binder 2015-06-14 14:25:26 -07:00
Anders Hejlsberg
dfa149457c Allow expressions in extends clause of class 2015-06-14 07:10:25 -07:00
Vladimir Matveev
522248a042 rename 'FileMap.delete' to 'FileMap.remove' 2015-06-12 18:48:54 -07:00
Vladimir Matveev
b4f1df2afa address PR feedback 2015-06-12 18:48:46 -07:00
Vladimir Matveev
25c093673c introduce FileMap to store mappings with filenames as keys 2015-06-12 18:48:37 -07:00
Daniel Rosenwasser
5da701ceb1 Updated comment. 2015-06-12 17:53:35 -07:00
Mohamed Hegazy
60e855e252 Merge pull request #3492 from Microsoft/useTypePredicatesInLib
Define Array.isArray using a type predicate
2015-06-12 17:39:31 -07:00
Daniel Rosenwasser
e4dac026b4 Accepted baselines. 2015-06-12 17:33:58 -07:00
Daniel Rosenwasser
cfdccf40c8 Never mess with the file list in tests. 2015-06-12 17:33:29 -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
Daniel Rosenwasser
fb1421991f Remove unused 'assertInvariants' parameter. 2015-06-12 15:28:54 -07:00
Daniel Rosenwasser
40081d6e98 Clarify 'emitAll'. 2015-06-12 15:28:39 -07:00
Daniel Rosenwasser
f98d578a20 Accepted baselines. 2015-06-12 15:28:26 -07:00
Daniel Rosenwasser
a12be11374 Put the no-default-lib ref comment back in the 1.0 lib test. 2015-06-12 15:19:40 -07:00
Jason Freeman
72783bcae3 Merge pull request #3452 from Microsoft/deeplyNestedTypeArgumentInference
Type argument inference fix for infinitely recursive anonymous types
2015-06-12 14:11:14 -07:00
Daniel Rosenwasser
b920291643 Merge pull request #3473 from randombk/bug-genericConstraintCrash
Fix crash with unmet generic constraints
2015-06-12 14:08:31 -07:00
CyrusNajmabadi
05b8609f04 Merge pull request #3495 from Microsoft/disableTracing
Don't log by default.
2015-06-12 14:03:52 -07:00
Jason Freeman
aeda84704c Merge branch 'master' of https://github.com/Microsoft/TypeScript into deeplyNestedTypeArgumentInference 2015-06-12 13:58:09 -07:00
Jason Freeman
80f523c13a Change depth limit from 10 to 5 in isDeeplyNestedGeneric 2015-06-12 13:57:55 -07:00
Cyrus Najmabadi
d7c791f581 Don't log by default.
On the managed side tracing is disabled by default anyways.  By logging we still
cause tons of allocations of strings on the managed side.  These then cause
expensive GCs which can pause editing.
2015-06-12 13:49:38 -07:00
Vladimir Matveev
97afc1d410 Merge pull request #3484 from Microsoft/noExtension_noExtraErrors
do not report extra error if file was already found without extension
2015-06-12 13:38:49 -07:00
CyrusNajmabadi
a3916ffb50 Merge pull request #3476 from Microsoft/classificationPerf2
Don't bother trying to semantically classify names that could never be typenames.
2015-06-12 13:14:08 -07:00