У меня есть программа, написанная на ActionScript 3, которую я без ошибок компилировал во Flash CS4 (FP10). Сейчас я пытаюсь скомпилировать для Flash CS5 (FP 10.1?) И получаю сумасшедшие ошибки из-за того, что кажется обыденным. Интересно, кто-нибудь может предложить понимание ...
Этот блокировщик, который получает ошибку компилятора 1061 (Call to a possibly undefined method parseBoolean through a reference with static type Class
), потому что он, очевидно, не может прочитать открытый статический метод для служебного класса, который я написал. Основная справочная структура выглядит следующим образом:
Класс полезности:
package com.lassie.utils
{
public final class XMLUtil
{
public static function parseBoolean($value:String, $defaultValue:Boolean=false):Boolean {
if ($value == null || $value == "") return $defaultValue;
return ($value == "1" || $value == "true");
}
}
}
Ссылочный скрипт:
import com.lassie.utils.XMLUtil;
function parseXML($xml:XML, $tween:PuppetTween):PuppetTween
{
$tween.followGrid = XMLUtil.parseBoolean( $xml.@followGrid, true );
$tween.animateMoves = XMLUtil.parseBoolean( $xml.@animateMoves, true );
$tween.confineToWalkarea = XMLUtil.parseBoolean( $xml.@confineToWalkarea, false );
return $tween;
}
По какой-то причине я получаю сообщение об ошибке 1061: Call to a possibly undefined method parseBoolean through a reference with static type Class
для каждой ссылки на статический вспомогательный метод parseBoolean
. Как будто компилятор полностью игнорирует тот факт, что метод существует в классе XMLUtil
, несмотря на то, что он объявлен как открытый и статический. Опять же, это работало как в Flash 9, так и в Flash 10 компиляторах. Это просто CS5, который внезапно выбрасывает эту проблему.
Есть идеи? У кого-нибудь еще была похожая проблема с миграцией? Спасибо.