Hello
Is that purpose that abstract methods are not generated?
Is there a way how to generate them
As well - I found a trouble when playing with private methods, both ilustrate following example:
[JsType(JsMode.ExtJs, InlineFields = true)]
public abstract class BaseClass : Window
{
protected abstract void abstractmethod();
private void doSomething() // this is override on child even if it is private
{
}
}
[JsType(JsMode.ExtJs, InlineFields = true)]
public abstract class InheritedClass : BaseClass
{
protected override void abstractmethod()
{
callParent(arguments); // this fails
}
private void doSomething()
{
}
}
generates
Ext.define("AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.BaseClass", {
extend: "Ext.window.Window",
doSomething: function (){
}
});
Ext.define("AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.InheritedClass", {
extend: "AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.BaseClass",
abstractmethod: function (){
this.callParent(arguments);
},
doSomething: function (){
}
});
ideally it would do somethign like this
Ext.define("AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.BaseClass", {
extend: "Ext.window.Window",
abstractmethod: function (){
throw 'this is suposed to be abstract method'
},
BaseClass_doSomething: function (){
}
});
Ext.define("AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.InheritedClass", {
extend: "AMS.SharpKit.UserControls.DynamicControls.ARS.Expense.BaseClass",
abstractmethod: function (){
this.callParent(arguments);
},
InheritedClass_doSomething: function (){
}
});
is there a way how to setup it using some generation attributes?