2a70bf5158
* Don't count a write-only reference as a use * Split isWriteAccess to isWriteOnlyAccess and isReadOnlyAccess * Update "unusedParameterUsedInTypeOf" to use "b" * Update diagnostic messages: "is never used" -> "its value is never read" * Use a WriteKind enum * Rename enum and move documentation to enum members
27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
/// <reference path='fourslash.ts'/>
|
|
|
|
// @Filename: file1.ts
|
|
//// class Foo {
|
|
//// constructor(private [|{| "isWriteAccess": true, "isDefinition": true, "type": "number" |}privateParam|]: number,
|
|
//// public [|{| "isWriteAccess": true, "isDefinition": true, "type": "string" |}publicParam|]: string,
|
|
//// protected [|{| "isWriteAccess": true, "isDefinition": true, "type": "boolean" |}protectedParam|]: boolean) {
|
|
////
|
|
//// let localPrivate = [|privateParam|];
|
|
//// this.[|{| "isWriteAccess": true |}privateParam|] += 10;
|
|
////
|
|
//// let localPublic = [|publicParam|];
|
|
//// this.[|{| "isWriteAccess": true |}publicParam|] += " Hello!";
|
|
////
|
|
//// let localProtected = [|protectedParam|];
|
|
//// this.[|{| "isWriteAccess": true |}protectedParam|] = false;
|
|
//// }
|
|
//// }
|
|
|
|
test.rangesByText().forEach((ranges, text) => {
|
|
const [r0, r1, r2] = ranges;
|
|
const type = r0.marker.data.type;
|
|
verify.referenceGroups(ranges, [
|
|
{ definition: `(property) Foo.${text}: ${type}`, ranges: [r0, r2] },
|
|
{ definition: `(parameter) ${text}: ${type}`, ranges: [r1] }
|
|
]);
|
|
});
|