Это головоломка.
Соответствующая среда: приложение Flex, работающее с петрушкой, которое создается муравьем.
Класс задачи:
package com.foo.bar {
public class ProblemClass {
// constructor
public ProblemClass(enforcer:Enforcer) {}
public static function build():ProblemClass {
// Do some setup
return new ProblemClass(new Enforcer())
}
}
// internal private class
class Enforcer() {}
В другом месте, вотдельный класс (который определяется в контексте Parsley):
package com.foo.bar {
public class ProblemClassBuilder {
[Factory]
public function getProblem():ProblemClass {
return ProblemClass.build();
}
}
}
Вот кикер: когда я компилирую это из задачи муравья с debug = "true", он работает нормально.Когда я компилирую его с помощью debug = "false", parsley выдает ошибку при построении контекста:
Ошибка применения [object FactoryMethodDecorator]: Ошибка # 1065: Enforcer переменной не определен.
Никаких других изменений кода, кроме включения / выключения отладки в задаче mxmlc ant.
Кто-нибудь видел подобные проблемы с внутренними классами и режимами компиляции ant debug?
I 'мы смогли решить эту проблему (удалив внутренний класс), но не поняли, почему это не сработало.