do not include constructor parameters with binding patterns as names when collecting nav bar items

This commit is contained in:
Vladimir Matveev 2015-02-22 15:06:58 -08:00
parent 60a6b2816a
commit 11f589f03b
2 changed files with 16 additions and 2 deletions

View File

@ -423,11 +423,11 @@ module ts.NavigationBar {
});
// Add the constructor parameters in as children of the class (for property parameters).
// Note that *all* parameters will be added to the nodes array, but parameters that
// Note that *all non-binding pattern named* parameters will be added to the nodes array, but parameters that
// are not properties will be filtered out later by createChildItem.
var nodes: Node[] = removeDynamicallyNamedProperties(node);
if (constructor) {
nodes.push.apply(nodes, constructor.parameters);
nodes.push.apply(nodes, filter(constructor.parameters, p => !isBindingPattern(p.name)));
}
var childItems = getItemsWorker(sortNodes(nodes), createChildItem);

View File

@ -0,0 +1,14 @@
/// <reference path='fourslash.ts'/>
////class A {
//// x: any
//// constructor([a]: any) {
//// }
////}
////class B {
//// x: any;
//// constructor( {a} = { a: 1 }) {
//// }
////}
verify.getScriptLexicalStructureListCount(6); // 2x(class + field + constructor)