@@ -80,8 +80,9 @@ module Harness.LanguageService {
8080 return JSON . stringify ( this . lineMap . lineStarts ( ) ) ;
8181 }
8282
83- public getTextChangeRangeSinceVersion ( scriptVersion : number ) : string {
84- var range = this . scriptInfo . getTextChangeRangeBetweenVersions ( scriptVersion , this . version ) ;
83+ public getChangeRange ( oldScript : ts . ScriptSnapshotShim ) : string {
84+ var oldShim = < ScriptSnapshotShim > oldScript ;
85+ var range = this . scriptInfo . getTextChangeRangeBetweenVersions ( oldShim . version , this . version ) ;
8586 if ( range === null ) {
8687 return null ;
8788 }
@@ -101,50 +102,14 @@ module Harness.LanguageService {
101102 }
102103 }
103104
104- class ScriptSnapshotShimAdapter implements TypeScript . IScriptSnapshot {
105- private lineStartPositions : number [ ] = null ;
106- constructor ( private scriptSnapshotShim : ts . ScriptSnapshotShim ) { }
107- getText ( start : number , end : number ) : string { return this . scriptSnapshotShim . getText ( start , end ) ; }
108- getLength ( ) : number { return this . scriptSnapshotShim . getLength ( ) ; }
109- getLineStartPositions ( ) : number [ ] { return JSON . parse ( this . scriptSnapshotShim . getLineStartPositions ( ) ) ; }
110- getTextChangeRangeSinceVersion ( scriptVersion : number ) : TypeScript . TextChangeRange {
111- var encoded = this . scriptSnapshotShim . getTextChangeRangeSinceVersion ( scriptVersion ) ;
112- if ( encoded == null ) {
113- return null ;
114- }
115-
116- var decoded : { span : { start : number ; length : number ; } ; newLength : number ; } = JSON . parse ( encoded ) ;
117- return new TypeScript . TextChangeRange (
118- new TypeScript . TextSpan ( decoded . span . start , decoded . span . length ) , decoded . newLength ) ;
119- }
120- }
121-
122- class LanguageServiceShimHostAdapter implements ts . LanguageServiceHost {
123- constructor ( private shimHost : ts . LanguageServiceShimHost ) { }
124- information ( ) : boolean { return this . shimHost . information ( ) ; }
125- debug ( ) : boolean { return this . shimHost . debug ( ) ; }
126- warning ( ) : boolean { return this . shimHost . warning ( ) ; }
127- error ( ) : boolean { return this . shimHost . error ( ) ; }
128- fatal ( ) : boolean { return this . shimHost . fatal ( ) ; }
129- log ( s : string ) : void { this . shimHost . log ( s ) ; }
130- getCompilationSettings ( ) : ts . CompilerOptions { return JSON . parse ( this . shimHost . getCompilationSettings ( ) ) ; }
131- getScriptFileNames ( ) : string [ ] { return JSON . parse ( this . shimHost . getScriptFileNames ( ) ) ; }
132- getScriptSnapshot ( fileName : string ) : TypeScript . IScriptSnapshot { return new ScriptSnapshotShimAdapter ( this . shimHost . getScriptSnapshot ( fileName ) ) ; }
133- getScriptVersion ( fileName : string ) : number { return this . shimHost . getScriptVersion ( fileName ) ; }
134- getScriptIsOpen ( fileName : string ) : boolean { return this . shimHost . getScriptIsOpen ( fileName ) ; }
135- getLocalizedDiagnosticMessages ( ) : any { JSON . parse ( this . shimHost . getLocalizedDiagnosticMessages ( ) ) ; }
136- getCancellationToken ( ) : ts . CancellationToken { return this . shimHost . getCancellationToken ( ) ; }
137- }
138-
139105 export class NonCachingDocumentRegistry implements ts . DocumentRegistry {
140-
141106 public static Instance : ts . DocumentRegistry = new NonCachingDocumentRegistry ( ) ;
142107
143108 public acquireDocument (
144109 fileName : string ,
145110 compilationSettings : ts . CompilerOptions ,
146111 scriptSnapshot : TypeScript . IScriptSnapshot ,
147- version : number ,
112+ version : string ,
148113 isOpen : boolean ) : ts . SourceFile {
149114 return ts . createSourceFile ( fileName , scriptSnapshot . getText ( 0 , scriptSnapshot . getLength ( ) ) , compilationSettings . target , version , isOpen ) ;
150115 }
@@ -154,7 +119,7 @@ module Harness.LanguageService {
154119 fileName : string ,
155120 compilationSettings : ts . CompilerOptions ,
156121 scriptSnapshot : TypeScript . IScriptSnapshot ,
157- version : number ,
122+ version : string ,
158123 isOpen : boolean ,
159124 textChangeRange : TypeScript . TextChangeRange
160125 ) : ts . SourceFile {
@@ -252,8 +217,8 @@ module Harness.LanguageService {
252217 return new ScriptSnapshotShim ( this . getScriptInfo ( fileName ) ) ;
253218 }
254219
255- public getScriptVersion ( fileName : string ) : number {
256- return this . getScriptInfo ( fileName ) . version ;
220+ public getScriptVersion ( fileName : string ) : string {
221+ return this . getScriptInfo ( fileName ) . version . toString ( ) ;
257222 }
258223
259224 public getScriptIsOpen ( fileName : string ) : boolean {
@@ -270,7 +235,7 @@ module Harness.LanguageService {
270235 public getLanguageService ( ) : ts . LanguageServiceShim {
271236 var ls = new TypeScript . Services . TypeScriptServicesFactory ( ) . createLanguageServiceShim ( this ) ;
272237 this . ls = ls ;
273- var hostAdapter = new LanguageServiceShimHostAdapter ( this ) ;
238+ var hostAdapter = new ts . LanguageServiceShimHostAdapter ( this ) ;
274239
275240 this . newLS = ts . createLanguageService ( hostAdapter , NonCachingDocumentRegistry . Instance ) ;
276241 return ls ;
0 commit comments