Hi Alex,

Are your changes included in the nightly build ?

Thanks
Serkan

19.10.2018 09:48 tarihinde Alex Harui yazdı:

Turned out to be trickier than I thought. Externs use @const for both read-only as well as true constants.  There doesn’t seem to be a way to distinguish one from the other.  Adding an initial value causes it to not be picked up as an extern.  The initial value doesn’t really matter because the initial value should be defined by the actual implementation the externs represent, but it seemed like we should get the right values in the AS in case we ever inline constants.  So I added a config entry to specify true constants.  Volunteers are needed to add more config entries for other constants.  I just did uint and int to prove it works.

You will need the changes to royale-compiler as well as royale-typedefs.

HTH,

-Alex

*From: *Alex Harui <[email protected]>
*Reply-To: *"[email protected]" <[email protected]>
*Date: *Thursday, October 18, 2018 at 5:51 PM
*To: *"[email protected]" <[email protected]>
*Subject: *Re: int.MAX_VALUE in function list

Looks like there is a bug in externc.  The missing.js specified @const but the output is var not const.  I’ll try to take a few minutes to see why.

-Alex

*From: *Alex Harui <[email protected]>
*Reply-To: *"[email protected]" <[email protected]>
*Date: *Thursday, October 18, 2018 at 5:35 PM
*To: *"[email protected]" <[email protected]>
*Subject: *Re: int.MAX_VALUE in function list

Well, we should probably tweak the compiler to get it to work.

-Alex

*From: *Serkan Taş <[email protected]>
*Reply-To: *"[email protected]" <[email protected]>
*Date: *Thursday, October 18, 2018 at 1:16 PM
*To: *"[email protected]" <[email protected]>
*Subject: *int.MAX_VALUE in function list

Hi,

When i am compiling class with method below i get compile error :

    public function scrollToRange(anchorPosition:int = 0, activePosition:int = int.MAX_VALUE):void
    {
        activePosition1:int = int.MAX_VALUE;
        // if (!textDisplay)
        //    return;

        // textDisplay.scrollToRange(anchorPosition, activePosition);
    }


Error:

D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\SparkRoyale\src\main\royale\spark\components\TextArea.as(753): col: 80 Parameter initializer unknown or is not a compile-time constant. An initial value of undefined will be used instead.

    public function scrollToRange(anchorPosition:int = 0, activePosition:int = int.MAX_VALUE):void



When change as below, compiles correctly.

    public function scrollToRange(anchorPosition:int = 0, activePosition:int = 0/*int.MAX_VALUE*/):void
    {
        var activePosition1:int = int.MAX_VALUE;
        // if (!textDisplay)
        //    return;

        // textDisplay.scrollToRange(anchorPosition, activePosition);
    }


Can we say that int.MAX_VALUE usage in function signature not allowed ?

Thanks
Serkan




Reply via email to