From 06e858ff40cf7ff366c574b930a50ce386600d36 Mon Sep 17 00:00:00 2001 From: Adam Freidin Date: Fri, 15 Aug 2014 20:12:04 -0700 Subject: [PATCH] fix --declaration typechecking (complex case) This fixes generation of typescriptServices.d.ts, although this is not a current requirement ( https://github.com/Microsoft/TypeScript/issues/465 ). --- src/compiler/checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 99c21d9ff15..cba51e8fd86 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -780,7 +780,7 @@ module ts { // But it cant, hence the accessible is going to be undefined, but that doesnt mean m.c is accessible // It is accessible if the parent m is accessible because then m.c can be accessed through qualification meaningToLook = getQualifiedLeftMeaning(meaning); - symbol = symbol.parent; + symbol = getParentOfSymbol(symbol); } // This could be a symbol that is not exported in the external module @@ -903,7 +903,7 @@ module ts { if (accessibleSymbolChain && !needsQualification(accessibleSymbolChain[0], enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { break; } - symbol = accessibleSymbolChain ? accessibleSymbolChain[0].parent : symbol.parent; + symbol = getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol); meaning = getQualifiedLeftMeaning(meaning); }