Доступ к собственным функциям и именам классов

Кто-нибудь знает, как получить доступ к именам всех классов и их функций и переменных, доступных в сценарии действий (String, Array, Math...).

Я строю какой-то редактор кода, и я хочу реализовать в нем помощь кода. Я использую Flash Builder. В конце концов, когда ты говоришь:

var a:String = String.valueOf(12345);

тогда Flash Builder должен знать, что означают "String" и "valueOf", так есть ли способ получить доступ к этой информации?

1 ответ

Adobe предоставляет полную документацию для своих пакетов в Справочнике по ActionScript 3.0 для платформы Adobe Flash.

Справочник по ActionScript® 3.0 для платформы Adobe® Flash® содержит элементы языка ActionScript, базовые библиотеки, а также пакеты и классы компонентов для инструментов, сред выполнения, служб и серверов во Flash Platform.

В противном случае вы могли бы describeType() пакеты от playerglobal.swc.

Создает объект XML, который описывает объект ActionScript, названный в качестве параметра метода. Этот метод реализует концепцию программирования отражения для языка ActionScript.

Значение параметра может быть экземпляром или типом класса.

По экземпляру: describeType(new MovieClip());

Если параметр value является экземпляром типа, возвращаемый объект XML включает в себя все свойства экземпляра этого типа, но не содержит никаких статических свойств. Вы можете проверить это условие при разборе объекта XML, изучив значение <type> тега isStatic атрибут, который имеет значение false, когда параметр value является экземпляром типа.

По типу: describeType(MovieClip);

Чтобы получить статические свойства типа, передайте сам тип для параметра value. Возвращенный объект XML включает в себя не только статические свойства типа, но также и все его свойства экземпляра. Свойства экземпляра вложены в тег с именем <factory> отличать их от статических свойств. В этом случае isStatic атрибут <type> тег верный.

Например, чтобы получить все переменные и методы доступа типа для вашей реализации Content Assist / Intellisense, вы можете:

/**
 * Returns variables and accessors
 */
public function properties(value:*):XMLList
{
    var xml:XML = describeType(value);
    return (xml..variable + xml..accessor);
}
Другие вопросы по тегам