Closed
Bug 507627
Opened 16 years ago
Closed 6 years ago
iterating through Dictionary keys does not maintain types
Categories
(Tamarin Graveyard :: Virtual Machine, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
Future
People
(Reporter: dschaffe, Unassigned)
References
Details
A dictionary key "1234" is converted to Number when iterating with a "*" type.
Or is this a describeType finding the type of "*" data.
For example:
dict['1234']="value";
for (k:* in dict) {
print ( "key type:" : describeType(k,FLASH10_FLAGS));
}
Full example:
dict_bug.as:
import flash.utils.*
import avmplus.*
var dictionary:Dictionary = new Dictionary();
var keyStringOfNumbers:String = "1234";
dictionary[keyStringOfNumbers] = "Value";
var keyStringOfLetters:String = "abcd";
dictionary[keyStringOfLetters] = "Value";
// "1234" is of type int
for (var keyStar:* in dictionary)
{
print("Key (*) '" + keyStar + "' is of type " + describeType(keyStar,FLASH10_FLAGS).@name);
}
// "1234" is of type String
for (var keyString:String in dictionary)
{
print("Key (String) '" + keyString + "' is of type " + describeType(keyString,FLASH10_FLAGS).@name);
}
$ asc -import builtin.abc dict_bug.as
$ avmshell dict_bug.abc
Key (*) 'abcd' is of type String
Key (*) '1234' is of type Number
Key (String) 'abcd' is of type String
Key (String) '1234' is of type String
Flags: in-testsuite?
Flags: flashplayer-triage+
Flags: flashplayer-qrb?
Reporter | ||
Comment 1•16 years ago
|
||
moved from jira community issue: http://bugs.adobe.com/jira/browse/FP-1674
Flags: flashplayer-qrb? → flashplayer-qrb+
Priority: -- → P4
Target Milestone: --- → Future
Updated•15 years ago
|
Priority: P4 → --
Comment 2•15 years ago
|
||
It's not just iterating the keys. This is a serious bug. The documentation says that Dictionary uses strict equality (===) for key comparison, but this does not appear to be the case because Strings are converted.
var d :Dictionary = new Dictionary();
d["1"] = "string";
d[1] = "int";
trace("omg: " + d["1"]); // prints "omg: int"
Updated•6 years ago
|
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•