这是一个谜题。
相关环境:Flex 应用程序,运行 parsley,由 ant 构建。
问题分类:
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" 从 ant 任务编译它时,它工作正常。当我用 debug="false" 编译它时,parsley 在构建上下文时抛出一个错误:
应用 [object FactoryMethodDecorator] 时出错:错误 #1065:未定义变量执行器。
没有其他代码更改,除了在 mxmlc ant 任务中打开/关闭调试。
有没有人看到内部类和 ant 调试编译模式的类似问题?
我已经能够解决这个问题(通过删除内部类),但不明白为什么它一开始就不起作用。