Skip to content

Commit d728558

Browse files
committed
use URI in favour of URL
1 parent 39d3589 commit d728558

22 files changed

Lines changed: 84 additions & 89 deletions

File tree

src/vs/base/common/network.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ export class URL extends URI implements objects.IEqualable {
300300
}
301301

302302
public static fromUri(value: URI): URL {
303-
return new URL(value);
303+
return value && new URL(value);
304304
}
305305

306306
private _spec:string;

src/vs/editor/common/model/mirrorModel.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {ModelLine} from 'vs/editor/common/model/modelLine';
1414
import EditorCommon = require('vs/editor/common/editorCommon');
1515
import {IResourceService} from 'vs/editor/common/services/resourceService';
1616
import {URL} from 'vs/base/common/network';
17+
import URI from 'vs/base/common/uri';
1718
import {disposeAll} from 'vs/base/common/lifecycle';
1819

1920
export interface IMirrorModelEvents {
@@ -27,15 +28,15 @@ export class AbstractMirrorModel extends TextModelWithTokens implements EditorCo
2728
_associatedResource:URL;
2829
_extraProperties:{[key:string]:any;};
2930

30-
constructor(allowedEventTypes:string[], versionId:number, value:EditorCommon.IRawText, mode:IMode|TPromise<IMode>, associatedResource?:URL, properties?:{[key:string]:any;}) {
31+
constructor(allowedEventTypes:string[], versionId:number, value:EditorCommon.IRawText, mode:IMode|TPromise<IMode>, associatedResource?:URI, properties?:{[key:string]:any;}) {
3132
super(allowedEventTypes.concat([EditorCommon.EventType.ModelDispose]), value, false, mode);
3233

3334
if(!properties) {
3435
properties = {};
3536
}
3637

3738
this._setVersionId(versionId);
38-
this._associatedResource = associatedResource;
39+
this._associatedResource = associatedResource && URL.fromUri(associatedResource);
3940
this._extraProperties = properties;
4041
}
4142

@@ -315,7 +316,7 @@ class EmbeddedModeRange {
315316
}
316317
}
317318

318-
export function createMirrorModelFromString(resourceService:IResourceService, versionId:number, value:string, mode:IMode, associatedResource?:URL, properties?:{[key:string]:any;}): MirrorModel {
319+
export function createMirrorModelFromString(resourceService:IResourceService, versionId:number, value:string, mode:IMode, associatedResource?:URI, properties?:{[key:string]:any;}): MirrorModel {
319320
return new MirrorModel(resourceService, versionId, TextModel.toRawText(value), mode, associatedResource, properties);
320321
}
321322

@@ -324,7 +325,7 @@ export class MirrorModel extends AbstractMirrorModel implements EditorCommon.IMi
324325
private _resourceService: IResourceService;
325326
private _embeddedModels: {[modeId:string]:MirrorModelEmbedded;};
326327

327-
constructor(resourceService:IResourceService, versionId:number, value:EditorCommon.IRawText, mode:IMode|TPromise<IMode>, associatedResource?:URL, properties?:{[key:string]:any;}) {
328+
constructor(resourceService:IResourceService, versionId:number, value:EditorCommon.IRawText, mode:IMode|TPromise<IMode>, associatedResource?:URI, properties?:{[key:string]:any;}) {
328329
super(['changed'], versionId, value, mode, associatedResource, properties);
329330

330331
this._resourceService = resourceService;

src/vs/editor/common/services/modelService.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,15 @@ import EditorCommon = require('vs/editor/common/editorCommon');
1010
import Modes = require('vs/editor/common/modes');
1111
import {EventProvider} from 'vs/base/common/eventProvider';
1212
import URI from 'vs/base/common/uri';
13-
import {URL} from 'vs/base/common/network';
1413

1514
export var IModelService = createDecorator<IModelService>('modelService');
1615

1716
export interface IModelService {
1817
serviceId: ServiceIdentifier<any>;
1918

20-
createModel(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URL): EditorCommon.IModel;
19+
createModel(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URI): EditorCommon.IModel;
2120

22-
destroyModel(resource: URL): void;
21+
destroyModel(resource: URI): void;
2322

2423
getModels(): EditorCommon.IModel[];
2524

src/vs/editor/common/services/modelServiceImpl.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import {anonymize} from 'vs/platform/telemetry/common/telemetry';
2828
import {Model} from 'vs/editor/common/model/model';
2929

3030
export interface IRawModelData {
31-
url:URL;
31+
url:URI;
3232
versionId:number;
3333
value:EditorCommon.IRawText;
3434
properties:any;
@@ -219,9 +219,9 @@ export class ModelServiceImpl implements IModelService {
219219

220220
// --- begin IModelService
221221

222-
private _createModelData(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URL): ModelData {
222+
private _createModelData(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URI): ModelData {
223223
// create & save the model
224-
let model = new Model(value, modeOrPromise, resource);
224+
let model = new Model(value, modeOrPromise, resource && URL.fromUri(resource));
225225
let modelId = MODEL_ID(model.getAssociatedResource());
226226

227227
if (this._models[modelId]) {
@@ -235,7 +235,7 @@ export class ModelServiceImpl implements IModelService {
235235
return modelData;
236236
}
237237

238-
public createModel(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URL): EditorCommon.IModel {
238+
public createModel(value:string, modeOrPromise:TPromise<Modes.IMode>|Modes.IMode, resource: URI): EditorCommon.IModel {
239239
let modelData = this._createModelData(value, modeOrPromise, resource);
240240
let modelId = modelData.getModelId();
241241

@@ -255,7 +255,7 @@ export class ModelServiceImpl implements IModelService {
255255
return modelData.model;
256256
}
257257

258-
public destroyModel(resource: URL): void {
258+
public destroyModel(resource: URI): void {
259259
// We need to support that not all models get disposed through this service (i.e. model.dispose() should work!)
260260
let modelData = this._models[MODEL_ID(resource)];
261261
if (!modelData) {
@@ -274,7 +274,7 @@ export class ModelServiceImpl implements IModelService {
274274
return ret;
275275
}
276276

277-
public getModel(resource: URL): EditorCommon.IModel {
277+
public getModel(resource: URI): EditorCommon.IModel {
278278
let modelId = MODEL_ID(resource);
279279
let modelData = this._models[modelId];
280280
if (!modelData) {
@@ -390,7 +390,7 @@ export class ModelServiceWorkerHelper {
390390

391391
public $_acceptNewModel(data:IRawModelData): TPromise<void> {
392392
// Create & insert the mirror model eagerly in the resource service
393-
let mirrorModel = new MirrorModel(this._resourceService, data.versionId, data.value, null, data.url, data.properties);
393+
let mirrorModel = new MirrorModel(this._resourceService, data.versionId, data.value, null, URL.fromUri(data.url), data.properties);
394394
this._resourceService.insert(mirrorModel.getAssociatedResource(), mirrorModel);
395395

396396
// Block worker execution until the mode is instantiated
@@ -426,7 +426,7 @@ export class ModelServiceWorkerHelper {
426426
});
427427
}
428428

429-
public $_acceptDidDisposeModel(url:URL): void {
429+
public $_acceptDidDisposeModel(url:URI): void {
430430
let model = <MirrorModel>this._resourceService.get(url);
431431
this._resourceService.remove(url);
432432
if (model) {
@@ -435,7 +435,7 @@ export class ModelServiceWorkerHelper {
435435
}
436436

437437
public $_acceptModelEvents(modelId: string, events:IMirrorModelEvents): void {
438-
let model = <MirrorModel>this._resourceService.get(new URL(modelId));
438+
let model = <MirrorModel>this._resourceService.get(URI.parse(modelId));
439439
if (!model) {
440440
throw new Error('Received model events for missing model ' + anonymize(modelId));
441441
}

src/vs/editor/test/common/services/resourceService.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
'use strict';
66

77
import assert = require('assert');
8-
import Network = require('vs/base/common/network');
8+
import URI from 'vs/base/common/uri';
99
import Emit = require('vs/base/common/eventEmitter');
1010
import Service = require('vs/editor/common/services/resourceServiceImpl');
1111
import MirrorModel = require('vs/editor/common/model/mirrorModel');
@@ -17,18 +17,18 @@ suite('Editor Services - ResourceService', () => {
1717

1818
var service = new Service.ResourceService();
1919

20-
service.insert(new Network.URL('test://1'), MirrorModel.createMirrorModelFromString(null, 1, 'hi', null));
20+
service.insert(URI.parse('test://1'), MirrorModel.createMirrorModelFromString(null, 1, 'hi', null));
2121
assert.equal(service.all().length, 1);
2222

23-
service.insert(new Network.URL('test://2'), MirrorModel.createMirrorModelFromString(null, 1, 'hi', null));
23+
service.insert(URI.parse('test://2'), MirrorModel.createMirrorModelFromString(null, 1, 'hi', null));
2424
assert.equal(service.all().length, 2);
2525

26-
assert.ok(service.contains(new Network.URL('test://1')));
27-
assert.ok(service.contains(new Network.URL('test://2')));
26+
assert.ok(service.contains(URI.parse('test://1')));
27+
assert.ok(service.contains(URI.parse('test://2')));
2828

29-
service.remove(new Network.URL('test://1'));
30-
service.remove(new Network.URL('test://1'));
31-
service.remove(new Network.URL('test://2'));
29+
service.remove(URI.parse('test://1'));
30+
service.remove(URI.parse('test://1'));
31+
service.remove(URI.parse('test://2'));
3232
assert.equal(service.all().length, 0);
3333
});
3434

@@ -37,7 +37,7 @@ suite('Editor Services - ResourceService', () => {
3737

3838
var eventCnt = 0;
3939

40-
var url = new Network.URL('far');
40+
var url = URI.parse('far');
4141
var element = MirrorModel.createMirrorModelFromString(null, 1, 'hi', null);
4242
var service = new Service.ResourceService();
4343
service.addListener(resourceService.ResourceEvents.ADDED, () => {
@@ -58,7 +58,7 @@ suite('Editor Services - ResourceService', () => {
5858

5959
var eventCnt = 0;
6060

61-
var url = new Network.URL('far');
61+
var url = URI.parse('far');
6262
var element = MirrorModel.createMirrorModelFromString(null, 1, 'hi', null);
6363
var event = {};
6464

src/vs/languages/css/common/services/typeResolution.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
*--------------------------------------------------------------------------------------------*/
55
'use strict';
66

7+
import URI from 'vs/base/common/uri';
78
import nodes = require('vs/languages/css/common/parser/cssNodes');
89
import service = require('vs/languages/css/common/services/cssLanguageService');
9-
import network = require('vs/base/common/network');
1010
import languageFacts = require('vs/languages/css/common/services/languageFacts');
1111

1212
export enum Type {
@@ -54,7 +54,7 @@ export class MultiType implements IType {
5454
}
5555
}
5656

57-
export function typeAtPosition(service:service.ILanguageService, resource:network.URL, offset:number):IType {
57+
export function typeAtPosition(service:service.ILanguageService, resource:URI, offset:number):IType {
5858

5959
return null;
6060
}

src/vs/languages/css/test/common/css-worker.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import assert = require('assert');
88
import mm = require('vs/editor/common/model/mirrorModel');
99
import cssWorker = require('vs/languages/css/common/cssWorker');
10-
import Network = require('vs/base/common/network');
10+
import URI from 'vs/base/common/uri';
1111
import ResourceService = require('vs/editor/common/services/resourceServiceImpl');
1212
import MarkerService = require('vs/platform/markers/common/markerService');
1313
import EditorCommon = require('vs/editor/common/editorCommon');
@@ -19,7 +19,7 @@ import modesUtil = require('vs/editor/test/common/modesTestUtils');
1919
import {NULL_THREAD_SERVICE} from 'vs/platform/test/common/nullThreadService';
2020
import {IMarker} from 'vs/platform/markers/common/markers';
2121

22-
export function mockMirrorModel(content:string, url:Network.URL = null) : mm.MirrorModel {
22+
export function mockMirrorModel(content:string, url:URI = null) : mm.MirrorModel {
2323
return mm.createMirrorModelFromString(null, 0, content, modesUtil.createMockMode('mock.mode.id', /(#?-?\d*\.\d\w*%?)|([@#.:!]?[\w-?]+%?)|[@#.!]/g), url);
2424
}
2525

@@ -29,7 +29,7 @@ suite('Validation - CSS', () => {
2929

3030
var source = ' #navigation a;';
3131
var message = cssErrors.ParseError.LeftCurlyExpected.message;
32-
var url = new Network.URL(Network.schemas.inMemory + '://localhost/vs/editor/common/model/mirrorModel/1');
32+
var url = URI.parse('inmemory://localhost/vs/editor/common/model/mirrorModel/1');
3333
var mirrorModel:any= mockMirrorModel(source, url);
3434

3535
var markerService = new MarkerService.MarkerService(NULL_THREAD_SERVICE);
@@ -50,7 +50,7 @@ suite('Validation - CSS', () => {
5050
assert.equal(marker.message, message);
5151
});
5252

53-
var mockCSSWorkerEnv = function (url: Network.URL, content: string): { worker: cssWorker.CSSWorker; model: mm.MirrorModel; markers: IMarker[]; } {
53+
var mockCSSWorkerEnv = function (url: URI, content: string): { worker: cssWorker.CSSWorker; model: mm.MirrorModel; markers: IMarker[]; } {
5454
var resourceService = new ResourceService.ResourceService();
5555
var model = mockMirrorModel(content, url);
5656
resourceService.insert(url, model);
@@ -70,7 +70,7 @@ suite('Validation - CSS', () => {
7070
};
7171

7272
var testSuggestionsFor = function(value:string, stringBefore:string):WinJS.TPromise<Modes.ISuggestions> {
73-
var url = new Network.URL('test://1');
73+
var url = URI.parse('test://1');
7474
var env = mockCSSWorkerEnv(url, value);
7575

7676
var idx = stringBefore ? value.indexOf(stringBefore) + stringBefore.length : 0;
@@ -79,7 +79,7 @@ suite('Validation - CSS', () => {
7979
};
8080

8181
var testValueSetFor = function(value:string, selection:string, selectionLength: number, up: boolean):WinJS.TPromise<Modes.IInplaceReplaceSupportResult> {
82-
var url = new Network.URL('test://1');
82+
var url = URI.parse('test://1');
8383
var env = mockCSSWorkerEnv(url, value);
8484

8585
var pos = env.model.getPositionFromOffset(value.indexOf(selection));
@@ -89,7 +89,7 @@ suite('Validation - CSS', () => {
8989
};
9090

9191
var testOccurrences = function (value: string, tokenBefore: string): WinJS.TPromise<{ occurrences: Modes.IOccurence[]; model: mm.MirrorModel; }> {
92-
var url = new Network.URL('test://1');
92+
var url = URI.parse('test://1');
9393
var env = mockCSSWorkerEnv(url, value);
9494

9595
var pos = env.model.getPositionFromOffset(value.indexOf(tokenBefore) + tokenBefore.length);
@@ -98,7 +98,7 @@ suite('Validation - CSS', () => {
9898
};
9999

100100
var testQuickFixes = function (value: string, tokenBefore: string): WinJS.TPromise<{ fixes: Modes.IQuickFix[]; model: mm.MirrorModel; }> {
101-
var url = new Network.URL('test://1');
101+
var url = URI.parse('test://1');
102102
var env = mockCSSWorkerEnv(url, value);
103103

104104
var pos = env.model.getPositionFromOffset(value.indexOf(tokenBefore) + tokenBefore.length);

src/vs/languages/html/test/common/html-worker.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import mm = require('vs/editor/common/model/mirrorModel');
99
import html = require('vs/languages/html/common/html');
1010
import htmlWorker = require('vs/languages/html/common/htmlWorker');
1111
import Network = require('vs/base/common/network');
12+
import URI from 'vs/base/common/uri';
1213
import ResourceService = require('vs/editor/common/services/resourceServiceImpl');
1314
import MarkerService = require('vs/platform/markers/common/markerService');
1415
import EditorCommon = require('vs/editor/common/editorCommon');

src/vs/languages/json/test/common/jsonworker.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import resourceService = require('vs/editor/common/services/resourceServiceImpl'
1111
import {IResourceService} from 'vs/editor/common/services/resourceService';
1212
import instantiationService = require('vs/platform/instantiation/common/instantiationService');
1313
import mirrorModel = require('vs/editor/common/model/mirrorModel');
14-
import network = require('vs/base/common/network');
14+
import URI from 'vs/base/common/uri';
1515
import SchemaService = require('vs/languages/json/common/jsonSchemaService');
1616
import EditorCommon = require('vs/editor/common/editorCommon');
1717
import Modes = require('vs/editor/common/modes');
@@ -32,7 +32,7 @@ suite('JSON - Worker', () => {
3232
}
3333
};
3434

35-
function mockWorkerEnv(url: network.URL, content: string): { worker: jsonworker.JSONWorker; model: EditorCommon.IMirrorModel; } {
35+
function mockWorkerEnv(url: URI, content: string): { worker: jsonworker.JSONWorker; model: EditorCommon.IMirrorModel; } {
3636
var mm = mirrorModel.createMirrorModelFromString(null, 1, content, modesUtil.createMockMode('mock.mode.id'), url);
3737

3838
var resourceModelMock: IResourceService = new resourceService.ResourceService();
@@ -56,7 +56,7 @@ suite('JSON - Worker', () => {
5656
}
5757

5858
var testSuggestionsFor = function(value:string, stringAfter:string, schema?:jsonSchema.IJSONSchema):WinJS.TPromise<Modes.ISuggestions> {
59-
var url = new network.URL('test://test.json');
59+
var url = URI.parse('test://test.json');
6060
var env = mockWorkerEnv(url, value);
6161
prepareSchemaServer(schema, env.worker);
6262

@@ -66,14 +66,14 @@ suite('JSON - Worker', () => {
6666
};
6767

6868
function testComputeInfo(content:string, schema:jsonSchema.IJSONSchema, position:EditorCommon.IPosition):WinJS.TPromise<Modes.IComputeExtraInfoResult> {
69-
var url = new network.URL('test://test.json');
69+
var url = URI.parse('test://test.json');
7070
var env = mockWorkerEnv(url, content);
7171
prepareSchemaServer(schema, env.worker);
7272
return env.worker.computeInfo(url, position);
7373
}
7474

7575
var testValueSetFor = function(value:string, schema:jsonSchema.IJSONSchema, selection:string, selectionLength: number, up: boolean):WinJS.TPromise<Modes.IInplaceReplaceSupportResult> {
76-
var url = new network.URL('test://test.json');
76+
var url = URI.parse('test://test.json');
7777
var env = mockWorkerEnv(url, value);
7878
prepareSchemaServer(schema, env.worker);
7979

@@ -84,7 +84,7 @@ suite('JSON - Worker', () => {
8484
};
8585

8686
function getOutline(content: string):WinJS.TPromise<Modes.IOutlineEntry[]> {
87-
var url = new network.URL('test');
87+
var url = URI.parse('test');
8888
var workerEnv = mockWorkerEnv(url, content);
8989
return workerEnv.worker.getOutline(url);
9090
};

src/vs/languages/less/test/common/intellisense.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import assert = require('assert');
88
import mm = require('vs/editor/common/model/mirrorModel');
99
import lessWorker = require('vs/languages/less/common/lessWorker');
10-
import Network = require('vs/base/common/network');
10+
import URI from 'vs/base/common/uri';
1111
import ResourceService = require('vs/editor/common/services/resourceServiceImpl');
1212
import WinJS = require('vs/base/common/winjs.base');
1313
import EditorCommon = require('vs/editor/common/editorCommon');
@@ -22,7 +22,7 @@ suite('LESS - Intellisense', () => {
2222

2323
var testSuggestionsFor = function(value:string, stringBefore:string):WinJS.TPromise<Modes.ISuggestions> {
2424
var resourceService = new ResourceService.ResourceService();
25-
var url = new Network.URL('test://1');
25+
var url = URI.parse('test://1');
2626
resourceService.insert(url, mm.createMirrorModelFromString(null, 0, value, modesUtil.createMockMode('mock.mode.id', /(-?\d*\.\d+)|([\w-]+)/g), url));
2727

2828
let services = servicesUtil2.createMockEditorWorkerServices({

0 commit comments

Comments
 (0)