Merge pull request #2107 from Microsoft/destructuring_classElements

do not include constructor parameters with binding patterns as names whe...
This commit is contained in:
Vladimir Matveev 2015-02-24 10:18:39 -08:00
commit 4065ebfd63
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)