Closed Bug 681178 Opened 13 years ago Closed 6 years ago

xml.@*::[attrName] cannot be expressed in ABC

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
Future

People

(Reporter: jodyer, Unassigned)

References

Details

var xml = <x foo="hello"/>; print(xml.@*::foo); // prints hello and so should print(xml.@*::["foo"]); But instead we get a verify error. Turns out there is no way to say that runtime computed wildcard qualified attribute name in ABC.
That would be because MultinameLA does not allow the ns_set entry to be 0 so as to represent '*'. But if what you write is true, then the name *::[x] is also not representable (since every multiname type has an "A" variant, so the attribute aspect is incidental). Indeed this compiles but does not run: var v = 10; var vvv = "v"; print(*::[vvv]);
My point, which is not a big one until we get down to actually solving the problem, is that the multiname forms do not currently take a zero index to represent the wildcard namespace. There is no reason why they couldn’t except that it is slightly out of sync with the (implied) view that only qualified names are qualified with *. Right or wrong, that is the model we had in the beginning. Go back six years or so and I might argue that it is the multinames that should represent the * qualified names. On the otherhand, such names are closely tied with XML QNames, which are not multinames, and so there might have to be a translation to QNames at runtime. But now I ramble. What's missing, to my eye, is a name kind in the vicinity of 17 and 18 that allows run time computed names that are qualified with *.
Blocks: AS3_Builtins
Flags: flashplayer-qrb+
Target Milestone: --- → Future
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in before you can comment on or make changes to this bug.