Commit Graph

2440 Commits

Author SHA1 Message Date
Jason Freeman
7518d15620 Remove unnecessary it block in generated .d.ts compilation in harness 2015-01-05 18:26:09 -08:00
Jason Freeman
6f6c46a99f Use getSourceFile instead of getSourceFiles in compileDeclarationFiles 2015-01-05 18:25:28 -08:00
Jason Freeman
7459c87265 Merge branch 'release-1.4'
Conflicts:
	bin/lib.core.es6.d.ts
	bin/lib.es6.d.ts
	bin/tsc.js
	bin/typescript.d.ts
	bin/typescriptServices.d.ts
	bin/typescriptServices.js
	bin/typescriptServices_internal.d.ts
	bin/typescript_internal.d.ts
2015-01-05 15:08:17 -08:00
Cyrus Najmabadi
12cb284e5d CR feedback. 2014-12-29 16:23:11 -08:00
Cyrus Najmabadi
a1d04c3c65 Merge branch 'master' into mergeMarkers1 2014-12-28 18:58:47 -08:00
Cyrus Najmabadi
52e15e7bee Enable incremental parsing by default. 2014-12-26 22:21:53 -08:00
Daniel Rosenwasser
52ef460002 Undid comment change that made things more misleading. 2014-12-19 15:30:34 -08:00
Cyrus Najmabadi
ff9f59c913 Remove unused constants. 2014-12-18 19:43:36 -08:00
Cyrus Najmabadi
a6ea497ff1 Classify the '=' sign in variable/parameter/property as if it was an operator. 2014-12-18 19:38:19 -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
Daniel Rosenwasser
4aa37691a1 Fixed issue where the second type's signature having type parameters would not cause an error. 2014-12-18 16:45:29 -08:00
Cyrus Najmabadi
ef2087add5 Merge branch 'master' into layering 2014-12-18 12:20:32 -08:00
Daniel Rosenwasser
af9b56bdd9 Merge pull request #1528 from Microsoft/goToDefOnUnionMethod
Fix crash on go-to-def on union method
2014-12-18 12:11:05 -08:00
Cyrus Najmabadi
67b2f13cce Merge branch 'master' into layering
Conflicts:
	src/compiler/parser.ts
2014-12-18 00:39:56 -08:00
Daniel Rosenwasser
6fed3e2601 Merge pull request #1501 from Arnavion/no-emit
Add -noEmit compiler flag that skips the emit stage in ts.compile()
2014-12-17 18:00:33 -08:00
Cyrus Najmabadi
b155351e0a Remove unnecessary capture of the diagnostics type checker. 2014-12-17 17:06:12 -08:00
Anders Hejlsberg
b2a02fe9ef Merge pull request #1443 from Microsoft/improvedTypeInference
Make initial inferences from parameterless function expressions
2014-12-17 16:19:49 -08:00
Cyrus Najmabadi
b37b98138d Merge branch 'master' into layering
Conflicts:
	src/compiler/checker.ts
	src/compiler/utilities.ts
2014-12-17 15:35:30 -08:00
Daniel Rosenwasser
ec64c0f929 Fixed 'verifyDefinitionsName' to check the container name properly. 2014-12-17 15:11:33 -08:00
Daniel Rosenwasser
af4d7d3ff4 Added goToDef count verification in fourslash facilities. 2014-12-17 15:11:31 -08:00
Daniel Rosenwasser
90a32ad2b0 Fixed messed-up formatting from moving around code. 2014-12-17 15:11:26 -08:00
Daniel Rosenwasser
017486b119 Made 'location' non-optional in 'getSymbolKind'. 2014-12-17 15:11:22 -08:00
Daniel Rosenwasser
b37221142c Moved helpers to bottom of 'getDefinitionAtPosition'. 2014-12-17 15:11:18 -08:00
Jason Freeman
ae0caed8f7 Merge pull request #1473 from Microsoft/parsePrimaryExpression
Switch order of switch cases in parsePrimaryExpression
2014-12-17 14:50:16 -08:00
Cyrus Najmabadi
6a08c54f42 Merge branch 'master' into sourceFileUpdate
Conflicts:
	src/compiler/checker.ts
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/harness/fourslash.ts
2014-12-17 13:22:04 -08:00
Cyrus Najmabadi
4545549e07 Disable incremental by default before merging into master. 2014-12-17 12:41:08 -08:00
Cyrus Najmabadi
8048163714 CR feedback. 2014-12-17 12:36:53 -08:00
Anders Hejlsberg
766756b4b1 Merge branch 'master' into spreadAndRest
Conflicts:
	src/compiler/parser.ts
2014-12-17 11:49:45 -08:00
Cyrus Najmabadi
f459951431 Merge branch 'diagnostics' into sourceFileUpdate
Conflicts:
	src/compiler/parser.ts
2014-12-16 23:48:00 -08:00
Cyrus Najmabadi
5df0ca529e Merge branch 'master' into layering
Conflicts:
	src/compiler/checker.ts
	src/compiler/parser.ts
2014-12-16 23:15:57 -08:00
Cyrus Najmabadi
2748a5b163 Remove 'grammarDiagnostics' from SourceFile. 2014-12-16 23:00:14 -08:00
Cyrus Najmabadi
cd308e78ba Merge branch 'master' into sourceFileUpdate
Conflicts:
	src/compiler/checker.ts
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/parser.ts
	tests/baselines/reference/FunctionDeclaration5_es6.errors.txt
	tests/baselines/reference/VariableDeclaration2_es6.errors.txt
	tests/baselines/reference/VariableDeclaration4_es6.errors.txt
	tests/baselines/reference/anonymousModules.errors.txt
	tests/baselines/reference/callSignaturesWithParameterInitializers2.errors.txt
	tests/baselines/reference/conflictMarkerTrivia1.errors.txt
	tests/baselines/reference/dottedModuleName.errors.txt
	tests/baselines/reference/innerModExport1.errors.txt
	tests/baselines/reference/innerModExport2.errors.txt
	tests/baselines/reference/parserAccessors10.errors.txt
	tests/baselines/reference/parserComputedPropertyName5.errors.txt
	tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction1.errors.txt
	tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.errors.txt
	tests/baselines/reference/parserModifierOnStatementInBlock2.errors.txt
	tests/baselines/reference/parserSkippedTokens16.errors.txt
	tests/baselines/reference/privateIndexer2.errors.txt
2014-12-16 21:50:10 -08:00
Arnavion
880e5c50d7 Don't allow -noEmit with -declaration 2014-12-16 20:25:20 -08:00
Arnavion
df6aa85d4f Don't allow -noEmit with -out or -outDir 2014-12-16 20:25:20 -08:00
Arnavion
cd6eb180c6 Don't emit outputs when -noEmit is specified. 2014-12-16 20:25:19 -08:00
Arnavion
dbe5cd0459 Add -noEmit compiler flag. 2014-12-16 20:25:19 -08:00
Cyrus Najmabadi
99a189936f Remove last vestiges of the grammar checker from the parser now that it has been entirely moved to the TypeChecker. 2014-12-16 19:59:16 -08:00
Yui T
c2b03b6384 Address code review 2014-12-16 19:53:42 -08:00
Yui T
9c9bd34352 Address code review 2014-12-16 19:49:40 -08:00
Yui T
d7f607234a COMPLETE migrating grammar checking; No more errors 2014-12-16 19:30:08 -08:00
Yui T
fdfd8d4863 Cleaning up migrating grammar checking 2014-12-16 19:11:07 -08:00
Cyrus Najmabadi
908d4f61e6 Provide a stronger type for the parent of a variable declaration. 2014-12-16 18:54:21 -08:00
Cyrus Najmabadi
7f893f9b9a Rename method to be clearer. 2014-12-16 18:50:34 -08:00
Cyrus Najmabadi
9df59c39ee Change TextChangeRange to be a record type as well. 2014-12-16 18:40:15 -08:00
Cyrus Najmabadi
7f3a73b7c8 Change 'TextSpan' to be a simple record type with free floating functions. 2014-12-16 18:31:06 -08:00
Anders Hejlsberg
fab94d84e5 Merge branch 'master' into spreadAndRest
Conflicts:
	src/compiler/parser.ts
2014-12-16 18:09:21 -08:00
Yui T
9ab59a4964 Merge branch 'master' into refactorGrammarCheck
Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/compiler/parser.ts
	src/compiler/types.ts
	tests/baselines/reference/YieldExpression8_es6.errors.txt
	tests/baselines/reference/ambientErrors.errors.txt
	tests/baselines/reference/giant.errors.txt
2014-12-16 17:38:40 -08:00
Yui T
8dc9f751a3 Complete grammar checking migration; there are still errors which will be fixed once pull master into the branch 2014-12-16 17:32:15 -08:00
Cyrus Najmabadi
dfb1ac0f00 Use constant in another place. 2014-12-16 17:14:45 -08:00
Cyrus Najmabadi
fab4955ef7 Add explanatory comments. 2014-12-16 17:10:21 -08:00