Skip to content

Commit 840481d

Browse files
committed
Fix the condition for qualifying the symbol of methods and functions in the enclosing declaration
Fixes #604
1 parent 7ce8c8f commit 840481d

File tree

3 files changed

+7
-115
lines changed

3 files changed

+7
-115
lines changed

src/compiler/checker.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -907,8 +907,8 @@ module ts {
907907

908908
// Get qualified name
909909
if (enclosingDeclaration &&
910-
// Properties/methods/Signatures/Constructors/TypeParameters do not need qualification
911-
!(symbol.flags & (SymbolFlags.PropertyOrAccessor | SymbolFlags.Signature | SymbolFlags.Constructor | SymbolFlags.Method | SymbolFlags.TypeParameter))) {
910+
// TypeParameters do not need qualification
911+
!(symbol.flags & SymbolFlags.TypeParameter)) {
912912
var symbolName: string;
913913
while (symbol) {
914914
var isFirstName = !symbolName;

tests/baselines/reference/commentsClassMembers.js

Lines changed: 2 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -557,11 +557,11 @@ declare var i1_ncf: (b: number) => number;
557557
declare var i1_ncr: number;
558558
declare var i1_ncprop: number;
559559
declare var i1_s_p: number;
560-
declare var i1_s_f: typeof s2;
560+
declare var i1_s_f: typeof c1.s2;
561561
declare var i1_s_r: number;
562562
declare var i1_s_prop: number;
563563
declare var i1_s_nc_p: number;
564-
declare var i1_s_ncf: typeof nc_s2;
564+
declare var i1_s_ncf: typeof c1.nc_s2;
565565
declare var i1_s_ncr: number;
566566
declare var i1_s_ncprop: number;
567567
declare var i1_c: typeof c1;
@@ -577,111 +577,3 @@ declare class cProperties {
577577
private y;
578578
}
579579
declare var cProperties_i: cProperties;
580-
581-
582-
//// [DtsFileErrors]
583-
584-
585-
==== tests/cases/compiler/commentsClassMembers.d.ts (2 errors) ====
586-
/** This is comment for c1*/
587-
declare class c1 {
588-
/** p1 is property of c1*/
589-
p1: number;
590-
/** sum with property*/
591-
p2(/** number to add*/ b: number): number;
592-
/** getter property*/
593-
/** setter property*/
594-
p3: number;
595-
/** pp1 is property of c1*/
596-
private pp1;
597-
/** sum with property*/
598-
private pp2(/** number to add*/ b);
599-
/** getter property*/
600-
/** setter property*/
601-
private pp3;
602-
/** Constructor method*/
603-
constructor();
604-
/** s1 is static property of c1*/
605-
static s1: number;
606-
/** static sum with property*/
607-
static s2(/** number to add*/ b: number): number;
608-
/** static getter property*/
609-
/** setter property*/
610-
static s3: number;
611-
nc_p1: number;
612-
nc_p2(b: number): number;
613-
nc_p3: number;
614-
private nc_pp1;
615-
private nc_pp2(b);
616-
private nc_pp3;
617-
static nc_s1: number;
618-
static nc_s2(b: number): number;
619-
static nc_s3: number;
620-
a_p1: number;
621-
a_p2(b: number): number;
622-
a_p3: number;
623-
private a_pp1;
624-
private a_pp2(b);
625-
private a_pp3;
626-
static a_s1: number;
627-
static a_s2(b: number): number;
628-
static a_s3: number;
629-
/** p1 is property of c1 */
630-
b_p1: number;
631-
/** sum with property */
632-
b_p2(b: number): number;
633-
/** getter property */
634-
/** setter property */
635-
b_p3: number;
636-
/** pp1 is property of c1 */
637-
private b_pp1;
638-
/** sum with property */
639-
private b_pp2(b);
640-
/** getter property */
641-
/** setter property */
642-
private b_pp3;
643-
/** s1 is static property of c1 */
644-
static b_s1: number;
645-
/** static sum with property */
646-
static b_s2(b: number): number;
647-
/** static getter property
648-
*/
649-
/** setter property
650-
*/
651-
static b_s3: number;
652-
}
653-
declare var i1: c1;
654-
declare var i1_p: number;
655-
declare var i1_f: (b: number) => number;
656-
declare var i1_r: number;
657-
declare var i1_prop: number;
658-
declare var i1_nc_p: number;
659-
declare var i1_ncf: (b: number) => number;
660-
declare var i1_ncr: number;
661-
declare var i1_ncprop: number;
662-
declare var i1_s_p: number;
663-
declare var i1_s_f: typeof s2;
664-
~~
665-
!!! Cannot find name 's2'.
666-
declare var i1_s_r: number;
667-
declare var i1_s_prop: number;
668-
declare var i1_s_nc_p: number;
669-
declare var i1_s_ncf: typeof nc_s2;
670-
~~~~~
671-
!!! Cannot find name 'nc_s2'.
672-
declare var i1_s_ncr: number;
673-
declare var i1_s_ncprop: number;
674-
declare var i1_c: typeof c1;
675-
declare class cProperties {
676-
private val;
677-
/** getter only property*/
678-
p1: number;
679-
nc_p1: number;
680-
/**setter only property*/
681-
p2: number;
682-
nc_p2: number;
683-
x: number;
684-
private y;
685-
}
686-
declare var cProperties_i: cProperties;
687-

tests/baselines/reference/recursiveFunctionTypes1.types

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ class C {
33
>C : C
44

55
static g(t: typeof C.g){ }
6-
>g : (t: typeof g) => void
7-
>t : (t: typeof g) => void
6+
>g : (t: typeof C.g) => void
7+
>t : (t: typeof C.g) => void
88
>C : typeof C
9-
>g : (t: typeof g) => void
9+
>g : (t: typeof C.g) => void
1010
}

0 commit comments

Comments
 (0)