nikhilk / scriptsharp

Script# Project - a C# to JavaScript compiler, to power your HTML5 and Node.js web development.
http://scriptsharp.com
Other
659 stars 183 forks source link

0.8 base call only calling base object #426

Open RayG opened 10 years ago

RayG commented 10 years ago

Using nugget version namespace Test { public class a { public virtual void BaseTest() { } } public class b : a { /* public override void BaseTest() { base.BaseTest(); } */ } public class c : b { public override void BaseTest() { base.BaseTest(); } } }

compiles to and fails with Test$b$.baseTest undefined

require(['ss'], function(ss) { var $global = this;

// Test.a

function Test$a() { } var Test$a$ = { baseTest: function() { } };

// Test.b

function Test$b() { Test$a.call(this); } var Test$b$ = {

};

// Test.c

function Test$c() { Test$b.call(this); } var Test$c$ = { baseTest: function() { Test$b$.baseTest.call(this); } };

var $exports = ss.module('Test', null, { a: [ Test$a, Test$a$, null ], b: [ Test$b, Test$b$, Test$a ], c: [ Test$c, Test$c$, Test$b ] });

});

andekande commented 10 years ago

This was discovered some time ago #295. Pull the latest cc branch. If it does not help, include the BaseTest() call in Class b, as per your commented code.