Hi, subclassing "Class" isn't legal and we've filed a bug to get the
compiler to not allow it.  Another response looks like it tried to help
find your solution.

 

Matt

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of verifyfailed
Sent: Wednesday, February 21, 2007 8:53 AM
To: [email protected]
Subject: [flexcoders] Subclassing "Class": The ABC data is corrupt.

 

Is subclassing "Class" legal?

I have code like this:

<pre>
public class ArrayOf extends Class {
public var elementType : Class;

public function ArrayOf(elementType : Class) {
this.elementType = elementType;
}
}
</pre>

Which compiles just fine, but when I run it, I get a bytecode
verification error, like so:

<pre>
verify global$init()
stack:
scope: 
locals: global 
0:getlocal0
stack: global
scope: 
locals: global 
1:pushscope
stack:
scope: global 
locals: global 
2:debugfile "C:\myproject;ArrayOf.as"
stack:
scope: global 
locals: global 
6:debugline 8
stack:
scope: global 
locals: global 
8:findpropstrict {mypackage}::ArrayOf
stack: global
scope: global 
locals: global 
12:getlex 3
stack: global Object$?
scope: global 
locals: global 
14:pushscope
stack: global
scope: global Object$ 
locals: global 
15:getlex 43
stack: global Class$?
scope: global Object$ 
locals: global 
17:pushscope
stack: global
scope: global Object$ Class$ 
locals: global 
18:getlex 43
stack: global Class$?
scope: global Object$ Class$ 
locals: global 
20:newclass mypackage::ArrayOf$cinit()
VerifyError: Error #1107: The ABC data is corrupt, attempt to read out
of bounds.
</pre>

Any Tamarin experts out there?

Thanks
--Mark

 

Reply via email to