Баг в Haxe

Нашел один интиресный баг в 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;

В сгенерированом js файле. Лечится просто, перемешением строчки с объявлением статичных переменных прямо перед вызовом функции main. С одной стороны - фича, мол не издевайтесь над статическими переменными, а с другой - баг. Хотелось чтоб его подправили.
P.S.: Отписал в конференцию.

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Use [gist:####] where #### is your gist number to embed the gist.

Подробнее о форматировании

CAPTCHA
Для отсева спамеров)
9
f
e
A
H
K
Enter the code without spaces and pay attention to upper/lower case.