これは謎解きです。
関連する環境:antによってビルドされるパセリを実行する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"を使用してantタスクからこれをコンパイルすると、正常に動作します。debug = "false"を使用してコンパイルすると、コンテキストの構築中にパセリがエラーをスローします。
[object FactoryMethodDecorator]の適用中にエラーが発生しました:エラー#1065:変数エンフォーサーが定義されていません。
mxmlc antタスクでデバッグをオン/オフにする以外、他のコード変更はありません。
内部クラスとantデバッグコンパイルモードで同様の問題を見た人はいますか?
(内部クラスを削除することで)問題を修正できましたが、そもそもなぜ機能しなかったのかわかりません。