Well, the externs defines it as a required param, and I read this: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Ob jects/parseInt
"Always specify this parameter to eliminate reader confusion and to guarantee predictable behavior. Different implementations produce different results when a radix is not specified, usually defaulting the value to 10." So I decided to have follow that advice. On 3/15/16, 12:17 PM, "omup...@gmail.com on behalf of OmPrakash Muppirala" <omup...@gmail.com on behalf of bigosma...@gmail.com> wrote: >> >> apparently, parseInt in JS should always specify the radix > > >I don't think that is the case. ParseInt does this by default [1] : > >If the radix parameter is omitted, JavaScript assumes the following: > > - If the string begins with "0x", the radix is 16 (hexadecimal) > - If the string begins with "0", the radix is 8 (octal). This feature >is > deprecated > - If the string begins with any other value, the radix is 10 (decimal) > > >[1] http://www.w3schools.com/jsref/jsref_parseint.asp > >On Tue, Mar 15, 2016 at 10:22 AM, <aha...@apache.org> wrote: > >> apparently, parseInt in JS should always specify the radix >> >> >> Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo >> Commit: >>http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/46d54f82 >> Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/46d54f82 >> Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/46d54f82 >> >> Branch: refs/heads/develop >> Commit: 46d54f829d026f55359e652038d5135dd08378e4 >> Parents: aa6de08 >> Author: Alex Harui <aha...@apache.org> >> Authored: Tue Mar 15 10:22:29 2016 -0700 >> Committer: Alex Harui <aha...@apache.org> >> Committed: Tue Mar 15 10:22:29 2016 -0700 >> >> ---------------------------------------------------------------------- >> .../codegen/js/flexjs/TestFlexJSGlobalFunctions.java | 15 >>+++++++++++++++ >> .../internal/codegen/js/flexjs/JSFlexJSEmitter.java | 11 +++++++++++ >> 2 files changed, 26 insertions(+) >> ---------------------------------------------------------------------- >> >> >> >> >>http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/46d54f82/compiler >>.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFle >>xJSGlobalFunctions.java >> ---------------------------------------------------------------------- >> diff --git >> >>a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flex >>js/TestFlexJSGlobalFunctions.java >> >>b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flex >>js/TestFlexJSGlobalFunctions.java >> index aaa9c92..f1be070 100644 >> --- >> >>a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flex >>js/TestFlexJSGlobalFunctions.java >> +++ >> >>b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flex >>js/TestFlexJSGlobalFunctions.java >> @@ -90,6 +90,21 @@ public class TestFlexJSGlobalFunctions extends >> TestGoogGlobalFunctions >> assertOut("var /** @type {Array} */ a = Array(['Hello', >> 'World'])"); >> } >> >> + @Test >> + public void testParseInt() >> + { >> + IVariableNode node = getVariable("var a:int = >>parseInt('1.8');"); >> + asBlockWalker.visitVariable(node); >> + assertOut("var /** @type {number} */ a = parseInt('1.8', 10)"); >> + } >> + >> + @Test >> + public void testParseIntTwoArgs() >> + { >> + IVariableNode node = getVariable("var a:int = parseInt('1.8', >> 16);"); >> + asBlockWalker.visitVariable(node); >> + assertOut("var /** @type {number} */ a = parseInt('1.8', 16)"); >> + } >> >> @Override >> @Test >> >> >> >>http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/46d54f82/compiler >>.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitt >>er.java >> ---------------------------------------------------------------------- >> diff --git >> >>a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSF >>lexJSEmitter.java >> >>b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSF >>lexJSEmitter.java >> index d4325a7..c4c72da 100644 >> --- >> >>a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSF >>lexJSEmitter.java >> +++ >> >>b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSF >>lexJSEmitter.java >> @@ -573,6 +573,17 @@ public class JSFlexJSEmitter extends JSGoogEmitter >> implements IJSFlexJSEmitter >> } >> } >> } >> + else if (def != null && >> def.getBaseName().equals("parseInt")) >> + { >> + IDefinition parentDef = def.getParent(); >> + if (parentDef == null) >> + { >> + if (nameNode instanceof IdentifierNode) >> + { >> + write(", 10"); >> + } >> + } >> + } >> } >> } >> >> >>