Add more isDefinition tests and fix computed property bug

This commit is contained in:
Nathan Shively-Sanders 2016-06-14 09:39:30 -07:00
parent 792b23edc2
commit 7bf40c4935
6 changed files with 45 additions and 1 deletions

View file

@ -6741,7 +6741,7 @@ namespace ts {
fileName: node.getSourceFile().fileName,
textSpan: createTextSpanFromBounds(start, end),
isWriteAccess: isWriteAccess(node),
isDefinition: isDeclarationName(node)
isDefinition: isDeclarationName(node) || node.parent.kind === SyntaxKind.ComputedPropertyName
};
}

View file

@ -0,0 +1,8 @@
/// <reference path='fourslash.ts' />
////const { [|{| "isDefinition": true |}x|], y } = { x: 1, y: 2 };
////const z = [|{| "isDefinition": false |}x|];
var firstRange = test.ranges()[0];
goTo.position(firstRange.start, firstRange.fileName);
test.ranges().forEach(range => {
verify.referencesAtPositionContains(range, undefined, range.marker.data.isDefinition);
});

View file

@ -0,0 +1,9 @@
/// <reference path='fourslash.ts' />
////let o = { ["[|{| "isDefinition": true |}foo|]"]: 12 };
////let y = o.[|{| "isDefinition": false |}foo|];
////let z = o['[|{| "isDefinition": false |}foo|]'];
var firstRange = test.ranges()[0];
goTo.position(firstRange.start, firstRange.fileName);
test.ranges().forEach(range => {
verify.referencesAtPositionContains(range, undefined, range.marker.data.isDefinition);
});

View file

@ -0,0 +1,11 @@
/// <reference path='fourslash.ts' />
// @Filename: m.ts
////export var [|{| "isDefinition": true |}x|] = 12;
// @Filename: main.ts
////import { [|{| "isDefinition": true |}x|] } from "./m";
////const y = [|{| "isDefinition": false |}x|];
var firstRange = test.ranges()[0];
goTo.position(firstRange.start, firstRange.fileName);
test.ranges().forEach(range => {
verify.referencesAtPositionContains(range, undefined, range.marker.data.isDefinition);
});

View file

@ -0,0 +1,8 @@
/// <reference path='fourslash.ts' />
////let o = { [|{| "isDefinition": true |}1|]: 12 };
////let y = o[[|{| "isDefinition": false |}1|]];
var firstRange = test.ranges()[0];
goTo.position(firstRange.start, firstRange.fileName);
test.ranges().forEach(range => {
verify.referencesAtPositionContains(range, undefined, range.marker.data.isDefinition);
});

View file

@ -0,0 +1,8 @@
/// <reference path='fourslash.ts' />
////let o = { "[|{| "isDefinition": true |}x|]": 12 };
////let y = o.[|{| "isDefinition": false |}x|];
var firstRange = test.ranges()[0];
goTo.position(firstRange.start, firstRange.fileName);
test.ranges().forEach(range => {
verify.referencesAtPositionContains(range, undefined, range.marker.data.isDefinition);
});