nikhilk / scriptsharp

Script# Project - a C# to JavaScript compiler, to power your HTML5 and Node.js web development.

Home Page:http://scriptsharp.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

0.8 base call only calling base object

RayG opened this issue · comments

commented

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 ]
});

});

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.