Question

Ceci est un jeu de réflexion.

Environnement pertinent. Application Flex, le persil en cours d'exécution, ce qui se construit par la fourmi

Classe Problème:

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() {}

Par ailleurs, dans une classe séparée (qui obtient défini dans un contexte Persil):

package com.foo.bar {
    public class ProblemClassBuilder {
        [Factory]
        public function getProblem():ProblemClass {
            return ProblemClass.build();
        }
      }
}

Voici le kicker: Quand je compile ce à partir d'une tâche de fourmi avec debug = « true », cela fonctionne très bien. Quand je compile avec debug =, le persil « false » renvoie une erreur tout en construisant le contexte:

  

Erreur d'application [object   FactoryMethodDecorator]: Erreur # 1065:   Exécuteur variable n'est pas défini.

Aucun autre changement de code, à l'exception tournant debug on / off dans la tâche de fourmi mxmlc.

Quelqu'un at-il vu des problèmes similaires avec les classes internes et ant debug compilation modes?

J'ai été en mesure de résoudre le problème, (en supprimant la classe interne), mais ne comprend pas pourquoi cela n'a pas fonctionné en premier lieu.

Était-ce utile?

La solution

Sons comme un bug dans le compilateur ... Je bugs.adobe.com

Autres conseils

vous ne sont autorisés une définition de classe par actionscript fichier, sinon vous devez utiliser le mot-clé internal il devrait donc être private internal class Enforcer()

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top