- Fixed conversion of
typeof 3
. fixes #300 - Fixed conversion of
function(i:int = 1e5)
. fixes #303 - Fixed conversion of
function(i:int = 1.5)
. fixes #302 - Fixed conversion of
1.79E+308
. fixes #298 - Fixed conversion of
array[index]['key']
. fixes #261 - Fixed conversion of
setTimeout(callback, (a + b) * 1000)
. fixes #293 - Fixed conversion of
parseInt('0xFFFFFF', 16)
. fixes #265 - Loops will be converted to
while
insted offor
if the condition should be checked continuously, e.g.for(var i = 5; i < a.length; a.pop())
. fixes #296 - Loops will be converted to
while
insted offor
if the condition should be checked continuously, e.g.for(var i = 0; some(i); i++)
. fixes #296
- Fixed conversion of
default
keyword withinswitch
statements. fixes #273 - Fixed conversion of
for(i; i < max; i++)
. fixes #285 - Fixed conversion of
v_numeric += condition1 || condition2
. fixes #275 - Fixed conversion of
v += condition ? 1 : 0
. fixes #274 - Fixed conversion of
private const FOO : int = 1;
. fixes #255 - Fixed conversion of
if(true) return\n
. fixes #254 - Fixed conversion of
SomeClass['staticFieldName']
. fixes #234 - Fixed conversion of
else if
blocks. fixes #277 - Fixed conversion of comments before
else
blocks. fixes #264 - Replace
navigateToURL
withflash.Lib.getURL
. fixes #257 - Replace
static var init = {...}
bystatic var ClassName_static_initializer = {...}
. fixes #276
- Fixed conversion of function's parameter with comment
- Fixed conversion of
&&=
operator - Fixed conversion of
getQualifiedClassName(this)
- Fixed conversion of local functions
- Fixed conversion of
Math.min()
with several args - Fixed conversion of
Math.max()
with several args - Fixed conversion of bitwise operations in conditions
- Fixed conversion of
delete dictionary[key]
when using setting-dict2hash
- Fixed conversion of
new Dictionary(true)
when using setting-dict2hash
- Fixed conversion of
d is Dictionary
when using setting-dict2hash
- Fixed conversion of
||=
operator when using with array access - Fixed conversion of
function(...args:*)
- Call
array.insert(position, element)
instead ofarray.insertAt(position, element)
- Call
array.splice(index, 1)[0]
insted ofarray.removeAt(index)
- Call
as3hx.Compat.getFunctionLength(function)
instead offunction.length
- Call
as3hx.Compat.toFixed(number, fractionDigits)
instead ofnumber.toFixed(fractionDigits)
- Call
regex.replace(string, by)
instead ofstring.replace(regex, by)
- Call
StringTools.isSpace(string, 0)
instead ofmx.utils.StringUtil.isWhitespace(string)
- Call
StringTools.replace(string, string_sub, by)
instead ofstring.replace(string_sub, by)
- Call
StringTools.trim(string)
instead ofmx.utils.StringUtil.trim(string)
- Import
haxe.Constraints.Function
for modules that useFunction
if not used-fync2dyn
- Import of classes occur only if they have been imported in AS3 code
- Replace
Number.NaN
withMath.NaN
- Replace
Number.NEGATIVE_INFINITY
withMath.NEGATIVE_INFINITY
- Replace
Number.POSITIVE_INFINITY
withMath.POSITIVE_INFINITY
- Fixed conversion of unary operator after declaration of block
- Fixed conversion of
if(number)
- Fixed conversion of
array.join("\n")
- Fixed conversion of
var cls : Class = Object(this).constructor as Class
- Fixed conversion of
var some : Some = new someType() as Class
- Fixed parsing when semicolumn is missing
- Fixed conversion of
some || = new Some()
- Fixed crash when using setting
-dictionary2hash
- Fixed
@:allow
position in the order of access modifiers - Fixed int() and Number() casts when applied to Numbers
- Call
as3hx.Compat.arraySplice(array, position, length, args)
instead ofarray.splice(position, length, args)
- Call
as3hx.Compat.FLOAT_MAX
instead ofNumber.MAX_VALUE
- Call
as3hx.Compat.FLOAT_MIN
instead ofNumber.MIN_VALUE
- Call
as3hx.Compat.INT_MAX
instead ofint.MAX_VALUE
- Call
as3hx.Compat.INT_MIN
instead ofint.MIN_VALUE
- Call
as3hx.Compat.parseFloat
insteadparseFloat
- Call
as3hx.Compat.parseInt
insteadparseInt
- Call
as3hx.Compat.Regex::exec
instead ofRegExp::exec
- Call
Reflect.callMethod(null, function, [arg0, arg1])
instead offunction.call(null, arg0, args1)
- Call
Reflect.callMethod(null, function, args)
instead offunction.apply(null, args)
- Call
Reflect.deleteField(dynamic, fieldName)
instead ofdelete object[fieldname]
- Inline alert message in generated code when trying to
delete
Dictionary keys - Loops will be converted to
while
instead offor
for proper iteration variable modification - Only first character of package will be transformed to lower case
- Fixed call for
haxe.Json.parse
instead ofJSON.parse
(closes issue #83) - Fixed casting of
uint(1)
(closes issue #85) - Fixed conversion of [String.]charAt() with zero args (closes issue #69)
- Fixed conversion of [String.]charCodeAt() with zero args (closes issue #36)
- Fixed conversion of
var string : String = "";
(closes issue #103) - Fixed conversion of
array.push()
with several args (closes issue #94) - Fixed conversion of compound loop conditions (closes issue #29)
- Fixed conversion of regular expressions with '[' character (closes issue #14)
- Fixed conversion of the ternary statement where condition is
some is T
(closes issue #96) - Fixed conversion of var
a:Bool = !i
where type ofi
is numeric (closes issue #91) - Fixed crash on class member level variable with no type (closes issue #52)
- Fixed crash on new object literal with new line in declaration just after "{" (closes issue #56)
- Fixed exception on code
Security.allowDomain("*");
(closes issue #81) - Fixed extra increment call in
for
loop conversion (closes issue #65) - Fixed loop conversion with more than one counters defined (closes issue #64)
- Fixed ternary operator conversion (closes issue #28)
- Added conversion of
for
loop without break condition (towhile(true)
) (closes issue #58) - Added generation of typedefs for anonymous object declaration (closes issue #95)
- Added many improvements to generated code style
- Call
as3hx.Compat.setTimeout
instead ofsetTimeout
(closes issue #112) - Call
FastXML.parse()
for casting string to xml in AS3 code (closes issue #37) - Escape
cast
keyword (closes issue #87) - Escape DOLLAR sign in the function arg name (closes issue #71)
- Implemented setting length to arrays (closes issue #68)
- Remove breaks from switch statement (closes issue #38)
- Replace
array.join();
witharray.join(",");
(closes issue #93) - Replace
array.concat()
witharray.copy()
(closes issue #32) - Replace
array.slice()
witharray.copy()
(closes issue #68) - Replace
NaN
withMath.NaN
(closes issue #89)
- Move to Haxe 3 and neko 2
- added many improvements to generated code style
- replaced as3 "toString" by Haxe "Std.string"
- replaced as3 "Date" by Haxe "Date.now" for current time
- "callback" ident in as3 source replaced by "callbackfunc" because of Haxe reserved keyword
- implemented support for as3 package level function, wrapped in Haxe class
- replaced Haxe 2 "Hash" generation by Haxe 3 "Map"
- removed comma before haxe "implements" keyword (haxe 3 syntax)
- as3 "hasOwnProperty" replaced by haxe "exists"
- replaced all tabs by spaces
- Most newlines are now preserved from as3 source
- Most comment are now preserved from as3 source
- Added support for "final" as3 keyword
- Added ENL type, representing source code new line chars
- New line chars from as3 files are tokenised instead of ignored
- Fixed bug where comment made semicolon appear on new lines
- Class attribute can now be initialised inline
- Implemented Haxe 3 getter/setter syntax
- Removed writing var type in for(var x : String in y)
- Created "in" as Binop : for(i in x)
- Handle of if(x in y) as Lambda.has
- Added handling for classes outside of package {} in as3 (private tail classes)
- Removed conversion of escape sequences in Parser.readString
- Added odd as3 vector constructor style: mStringVec = new ["a","b"];
- Added writing out class inits
- Fixed empty functions returning f.expr = Object (messed up metadata parsing)
- Improved metadata support for [Bindable("move")]
- Added native flash getter and setter methods
- Refactored configuration, reads xml config files
- Fixed default values in function args
- Fixed setters not returning values
- Output Dynamic for Object
- Added -no-func2dyn. Prevents Function type being changed to Dynamic
- Total rewrite of Writer:ESwitch. Corrects switch..break behaviour of flash. See tests/Switch.as
- Fixed isNaN -> Math.isNaN
- Fixed continue statements in EFor blocks not incrementing counters. See tests/Loops.as
- Type.getClass() for "as Class"
- A little spaghetti, more copy pasta, and some casts to Stringozzi
- Added compiler warnings
- Fixed missed chars in token()
- Parse typeof, added as3hx.Compat class to handle untranslatable flash
- Skip comments in object create or fuction calls
- Support for Vector added to Writer
- cleaned formatting on comments
- added === support (missed)
- added -no-cast-guess
- added comments
- fixed static var initializations were not output
- added output for the "as" keyword
- fixed "interface extends" to "interface implements"
- fixed interface functions were outputting empty bodies
- added ETernary
- fixed formatting on if...else
- added parsing for !==
- added -uint2int command line switch
- fixed field access (none to never)