Показать сообщение отдельно
Старый 07.04.2011, 23:55
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 10  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
wvxvw, но ведь в AVM2 нет понятия оператора
toXMLString, ["toXMLString"], AS3::toXMLString и AS3::["toXMLString"] - это просто разные QName, которые различаются типом (статический и рантаймовый) и набором неймспейсов (дефолтный и указанный явно). На уровне байткода указатель на функцию в итоге всегда ищется одинаково, эксперимент это подтверждает:

Код AS3:
var xmlTest:XML	= <testNode testAttribute="testValue">testContent</testNode>;
 
trace("1", xmlTest.toXMLString);
trace("2", xmlTest["toXMLString"]);
 
trace("3", xmlTest.AS3::toXMLString);
trace("4", xmlTest.AS3::["toXMLString"]);
Код:
    function str_fla:MainTimeline::str_fla:frame1():
    maxStack:4 localCount:1 initScopeDepth:10 maxScopeDepth:11
        getlocal0     	
        pushscope     	
        getlocal0     	
        getlex        	:XML
        pushstring    	"<testNode testAttribute="testValue">testContent</testNode>"
        construct     	(1)
        initproperty  	:xmlTest
        findpropstrict	:trace
        pushstring    	"1"
        getlocal0     	
        getproperty   	:xmlTest
        getproperty   	private,,private,str_fla,str_fla,http://adobe.com/AS3/2006/builtin,adobe.utils,flash.accessibility,flash.desktop,flash.display,flash.errors,flash.events,flash.external,flash.filters,flash.geom,flash.media,flash.net,flash.printing,flash.profiler,flash.sampler,flash.system,flash.text,flash.text.engine,flash.ui,flash.utils,flash.xml,str_fla:MainTimeline,str_fla:MainTimeline,flash.display:MovieClip,flash.display:Sprite,flash.display:DisplayObjectContainer,flash.display:InteractiveObject,flash.display:DisplayObject,flash.events:EventDispatcher,Object:toXMLString
        callpropvoid  	:trace (2)
        findpropstrict	:trace
        pushstring    	"2"
        getlocal0     	
        getproperty   	:xmlTest
        pushstring    	"toXMLString"
        getproperty   	private,,private,str_fla,str_fla,http://adobe.com/AS3/2006/builtin,adobe.utils,flash.accessibility,flash.desktop,flash.display,flash.errors,flash.events,flash.external,flash.filters,flash.geom,flash.media,flash.net,flash.printing,flash.profiler,flash.sampler,flash.system,flash.text,flash.text.engine,flash.ui,flash.utils,flash.xml,str_fla:MainTimeline,str_fla:MainTimeline,flash.display:MovieClip,flash.display:Sprite,flash.display:DisplayObjectContainer,flash.display:InteractiveObject,flash.display:DisplayObject,flash.events:EventDispatcher,Object:null
        callpropvoid  	:trace (2)
        findpropstrict	:trace
        pushstring    	"3"
        getlocal0     	
        getproperty   	:xmlTest
        getproperty   	http://adobe.com/AS3/2006/builtin:toXMLString
        callpropvoid  	:trace (2)
        findpropstrict	:trace
        pushstring    	"4"
        getlocal0     	
        getproperty   	:xmlTest
        pushstring    	"toXMLString"
        getproperty   	http://adobe.com/AS3/2006/builtin:null
        callpropvoid  	:trace (2)
        returnvoid    	
    0 Extras
    0 Traits Entries
__________________
тонкий тролль, осеянный благодатью