0

这是一个谜题。

相关环境: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 调试编译模式的类似问题?

我已经能够解决这个问题(通过删除内部类),但不明白为什么它一开始就不起作用。

4

2 回答 2

1

听起来像是编译器中的错误...我将其归档在bugs.adobe.com

于 2010-08-27T16:12:04.363 回答
-2

每个动作脚本文件只允许一个类定义,否则您必须使用internal关键字所以它应该是private internal class Enforcer()

于 2010-08-27T06:36:13.043 回答