@@ -9,10 +9,12 @@ import * as protocol from '../omnisharp/protocol';
99import * as serverUtils from '../omnisharp/utils' ;
1010import { toRange } from '../omnisharp/typeConvertion' ;
1111import * as vscode from 'vscode' ;
12+ import CompositeDisposable from '../CompositeDisposable' ;
13+ import { IDisposable } from '../Disposable' ;
1214
1315export class Advisor {
1416
15- private _disposable : vscode . Disposable ;
17+ private _disposable : CompositeDisposable ;
1618 private _server : OmniSharpServer ;
1719 private _packageRestoreCounter : number = 0 ;
1820 private _projectSourceFileCounts : { [ path : string ] : number } = Object . create ( null ) ;
@@ -25,7 +27,7 @@ export class Advisor {
2527 let d3 = server . onProjectRemoved ( this . _onProjectRemoved , this ) ;
2628 let d4 = server . onBeforePackageRestore ( this . _onBeforePackageRestore , this ) ;
2729 let d5 = server . onPackageRestore ( this . _onPackageRestore , this ) ;
28- this . _disposable = vscode . Disposable . from ( d1 , d2 , d3 , d4 , d5 ) ;
30+ this . _disposable = new CompositeDisposable ( d1 , d2 , d3 , d4 , d5 ) ;
2931 }
3032
3133 public dispose ( ) {
@@ -108,14 +110,14 @@ export class Advisor {
108110 }
109111}
110112
111- export default function reportDiagnostics ( server : OmniSharpServer , advisor : Advisor ) : vscode . Disposable {
113+ export default function reportDiagnostics ( server : OmniSharpServer , advisor : Advisor ) : IDisposable {
112114 return new DiagnosticsProvider ( server , advisor ) ;
113115}
114116
115117class DiagnosticsProvider extends AbstractSupport {
116118
117119 private _validationAdvisor : Advisor ;
118- private _disposable : vscode . Disposable ;
120+ private _disposable : CompositeDisposable ;
119121 private _documentValidations : { [ uri : string ] : vscode . CancellationTokenSource } = Object . create ( null ) ;
120122 private _projectValidation : vscode . CancellationTokenSource ;
121123 private _diagnostics : vscode . DiagnosticCollection ;
@@ -131,7 +133,7 @@ class DiagnosticsProvider extends AbstractSupport {
131133 let d4 = vscode . workspace . onDidOpenTextDocument ( event => this . _onDocumentAddOrChange ( event ) , this ) ;
132134 let d3 = vscode . workspace . onDidChangeTextDocument ( event => this . _onDocumentAddOrChange ( event . document ) , this ) ;
133135 let d5 = vscode . workspace . onDidCloseTextDocument ( this . _onDocumentRemove , this ) ;
134- this . _disposable = vscode . Disposable . from ( this . _diagnostics , d1 , d2 , d3 , d4 , d5 ) ;
136+ this . _disposable = new CompositeDisposable ( this . _diagnostics , d1 , d2 , d3 , d4 , d5 ) ;
135137
136138 // Go ahead and check for diagnostics in the currently visible editors.
137139 for ( let editor of vscode . window . visibleTextEditors ) {
@@ -142,7 +144,7 @@ class DiagnosticsProvider extends AbstractSupport {
142144 }
143145 }
144146
145- public dispose ( ) : void {
147+ public dispose = ( ) => {
146148 if ( this . _projectValidation ) {
147149 this . _projectValidation . dispose ( ) ;
148150 }
0 commit comments