Нашел один интиресный баг в haxe
main.hx:
import js.Dom;
import js.Lib;
import classes.DisplayObject;
/**
* ...
* @author Ekstazi
*/
class Main
{
static var _logo:Dynamic= new DisplayObject('div');
static function main()
{
}
}
displayobject.hx:
package classes;
import js.Dom;
//import js.HtmlDom;
import js.Lib;
class DisplayObject
{
var obj:HtmlDom;
public function new(name:Dynamic)
{
Lib.window.onload = function(e:Dynamic) {
Lib.window.alert(untyped __js__('typeof(name)'));
}
obj = Lib.document.createElement(name);
}
public function addChild(child:HtmlDom) {
obj.appendChild(child);
//obj.
}
}
Вызывает ошибку, причина в том, что объявление статических переменных идет перед кодом:
js.Lib.document = document;
js.Lib.window = window;
js.Lib.onerror = null;