Skip to content

Commit 8934e85

Browse files
committed
Merge pull request #405 from Microsoft/classifier
Wire the classifier to use the new compiler implementation
2 parents 7a5512c + 54d8722 commit 8934e85

File tree

182 files changed

+1509
-5041
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+1509
-5041
lines changed

src/compiler/scanner.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -750,9 +750,8 @@ module ts {
750750
if (text.charCodeAt(pos + 1) === CharacterCodes.asterisk) {
751751
pos += 2;
752752

753-
var safeLength = len - 1; // For lookahead.
754753
var commentClosed = false;
755-
while (pos < safeLength) {
754+
while (pos < len) {
756755
var ch = text.charCodeAt(pos);
757756

758757
if (ch === CharacterCodes.asterisk && text.charCodeAt(pos + 1) === CharacterCodes.slash) {
@@ -768,7 +767,6 @@ module ts {
768767
}
769768

770769
if (!commentClosed) {
771-
pos++;
772770
error(Diagnostics.Asterisk_Slash_expected);
773771
}
774772

src/compiler/types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,9 @@ module ts {
217217
FirstKeyword = BreakKeyword,
218218
LastKeyword = StringKeyword,
219219
FirstFutureReservedWord = ImplementsKeyword,
220-
LastFutureReservedWord = YieldKeyword
220+
LastFutureReservedWord = YieldKeyword,
221+
FirstPunctuation= OpenBraceToken,
222+
LastPunctuation = CaretEqualsToken
221223
}
222224

223225
export enum NodeFlags {

src/harness/harnessLanguageService.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ module Harness.LanguageService {
167167
}
168168
export class TypeScriptLS implements ts.LanguageServiceShimHost {
169169
private ls: ts.LanguageServiceShim = null;
170-
public newLS: ts.LanguageService;
171170

172171
private fileNameToScript: ts.Map<ScriptInfo> = {};
173172

@@ -268,12 +267,13 @@ module Harness.LanguageService {
268267
* To access the non-shim (i.e. actual) language service, use the "ls.languageService" property.
269268
*/
270269
public getLanguageService(): ts.LanguageServiceShim {
271-
var ls = new TypeScript.Services.TypeScriptServicesFactory().createLanguageServiceShim(this);
272-
this.ls = ls;
273-
var hostAdapter = new LanguageServiceShimHostAdapter(this);
270+
this.ls = new TypeScript.Services.TypeScriptServicesFactory().createLanguageServiceShim(this);
271+
return this.ls;
272+
}
274273

275-
this.newLS = ts.createLanguageService(hostAdapter, NonCachingDocumentRegistry.Instance);
276-
return ls;
274+
/** Return a new instance of the classifier service shim */
275+
public getClassifier(): ts.ClassifierShim {
276+
return new TypeScript.Services.TypeScriptServicesFactory().createClassifierShim(this);
277277
}
278278

279279
/** Parse file given its source text */

src/harness/runner.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,11 @@ if (testConfigFile !== '') {
6868
runners.push(new GeneratedFourslashRunner());
6969
break;
7070
case 'unittests':
71-
runners.push(new UnitTestRunner(UnittestTestType.Compiler));
71+
runners.push(new UnitTestRunner());
7272
break;
7373
case 'rwc':
7474
runners.push(new RWCRunner());
7575
break;
76-
case 'ls':
77-
runners.push(new UnitTestRunner(UnittestTestType.LanguageService));
78-
break;
79-
case 'services':
80-
runners.push(new UnitTestRunner(UnittestTestType.Services));
81-
break;
8276
case 'reverse':
8377
reverse = true;
8478
break;
@@ -96,9 +90,12 @@ if (runners.length === 0) {
9690
runners.push(new ProjectRunner());
9791
}
9892

99-
//// language services
93+
// language services
10094
runners.push(new FourslashRunner());
10195
//runners.push(new GeneratedFourslashRunner());
96+
97+
// unittests
98+
runners.push(new UnitTestRunner());
10299
}
103100

104101
sys.newLine = '\r\n';

src/harness/unittestrunner.ts

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,13 @@
11
///<reference path="harness.ts" />
22
///<reference path="runnerbase.ts" />
33

4-
enum UnittestTestType {
5-
Compiler,
6-
LanguageService,
7-
Services,
8-
}
9-
104
class UnitTestRunner extends RunnerBase {
11-
constructor(public testType?: UnittestTestType) {
5+
constructor() {
126
super();
137
}
148

159
public initializeTests() {
16-
switch (this.testType) {
17-
case UnittestTestType.Compiler:
18-
this.tests = this.enumerateFiles('tests/cases/unittests/compiler');
19-
break;
20-
case UnittestTestType.LanguageService:
21-
this.tests = this.enumerateFiles('tests/cases/unittests/ls');
22-
break;
23-
default:
24-
if (this.tests.length === 0) {
25-
throw new Error('Unsupported test cases: ' + this.testType);
26-
}
27-
break;
28-
}
10+
this.tests = this.enumerateFiles('tests/cases/unittests/services');
2911

3012
var outfile = new Harness.Compiler.WriterAggregator()
3113
var outerr = new Harness.Compiler.WriterAggregator();
@@ -38,7 +20,7 @@ class UnitTestRunner extends RunnerBase {
3820
});
3921
harnessCompiler.addInputFiles(toBeAdded);
4022
harnessCompiler.setCompilerOptions({ noResolve: true });
41-
23+
4224
var stdout = new Harness.Compiler.EmitterIOHost();
4325
var emitDiagnostics = harnessCompiler.emitAll(stdout);
4426
var results = stdout.toArray();
@@ -59,7 +41,9 @@ class UnitTestRunner extends RunnerBase {
5941
before: before,
6042
after: after,
6143
Harness: Harness,
62-
IO: Harness.IO
44+
IO: Harness.IO,
45+
ts: ts,
46+
TypeScript: TypeScript
6347
// FourSlash: FourSlash
6448
};
6549
}

0 commit comments

Comments
 (0)