TypeScript/tests/cases/fourslash/referencesForClassParameter.ts
Andy 2a70bf5158 Don't count a write-only reference as a use (#17752)
* 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
2017-09-13 09:02:33 -07:00

29 lines
746 B
TypeScript

/// <reference path='fourslash.ts'/>
// Reference to a class parameter.
////var p = 2;
////
////class p { }
////
////class foo {
//// constructor (public [|{| "isWriteAccess": true, "isDefinition": true |}p|]: any) {
//// }
////
//// public f(p) {
//// this.[|{| "isWriteAccess": true |}p|] = p;
//// }
////
////}
////
////var n = new foo(undefined);
////n.[|{| "isWriteAccess": true |}p|] = null;
const ranges = test.ranges();
const [r0, r1, r2] = ranges;
verify.referenceGroups([r0, r1], [{ definition: "(property) foo.p: any", ranges }]);
verify.referenceGroups(r2, [
{ definition: "(property) foo.p: any", ranges: [r0, r1] },
{ definition: "(property) foo.p: any", ranges: [r2] }
]);