Don't error on duplicate prototype property assignments

Fixes #7063
This commit is contained in:
Ryan Cavanaugh 2016-02-26 14:58:01 -08:00
parent dc4cd52a9a
commit 8334aeac4d
2 changed files with 29 additions and 1 deletions

View File

@ -1465,7 +1465,7 @@ namespace ts {
}
// Declare the method/property
declareSymbol(funcSymbol.members, funcSymbol, leftSideOfAssignment, SymbolFlags.Property, SymbolFlags.PropertyExcludes);
declareSymbol(funcSymbol.members, funcSymbol, leftSideOfAssignment, SymbolFlags.Property, SymbolFlags.PropertyExcludes & ~SymbolFlags.Property);
}
function bindCallExpression(node: CallExpression) {

View File

@ -0,0 +1,28 @@
///<reference path="fourslash.ts" />
// @allowNonTsExtensions: true
// @Filename: Foo.js
//// function fn() {
//// this.foo = 10;
//// }
//// fn.prototype.foo = 14;
//// var x = new fn();
////
//// function fn2() {
//// this.foo = 10;
//// this.foo = 10;
//// }
//// fn2.prototype.foo = 14;
//// fn2.prototype.foo = 14;
//// var y = new fn2();
////
//// function fn3() {
//// this.foo = 10;
//// }
//// fn3.prototype.foo = 14;
//// fn3.prototype.foo = 14;
//// var z = new fn3();
verify.numberOfErrorsInCurrentFile(0);