Without digging deeper, my first impression is that this isn't complete. Doesn't Language.closure() add a third param so two calls return the same binding? I think that should happen here too.
-Alex On 4/9/20, 2:37 AM, "[email protected]" <[email protected]> wrote: This is an automated email from the ASF dual-hosted git repository. yishayw pushed a commit to branch develop in repository https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com%7C437694cdfe744e48882108d7dc69aa0e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637220218691486746&sdata=x%2Bx9XrN20tEqtcDoTtlBXkvbjqK%2BS3aU2UpCObp%2FFG4%3D&reserved=0 The following commit(s) were added to refs/heads/develop by this push: new 5d8a4aa Add conditonalBind. new 8f9e696 Merge branch 'develop' of https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs&data=02%7C01%7Caharui%40adobe.com%7C437694cdfe744e48882108d7dc69aa0e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637220218691496741&sdata=hiYc8P73bDlru2kp%2FLeHfjGOZW5VExZcH3iClXdYUvo%3D&reserved=0 into develop 5d8a4aa is described below commit 5d8a4aabf763c4b16462fdfd0392ceffdc399a44 Author: DESKTOP-RH4S838\Yishay <[email protected]> AuthorDate: Thu Apr 9 12:36:00 2020 +0300 Add conditonalBind. Needed for fix to compiler bug #143 --- .../src/main/royale/org/apache/royale/utils/Language.as | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/frameworks/projects/Language/src/main/royale/org/apache/royale/utils/Language.as b/frameworks/projects/Language/src/main/royale/org/apache/royale/utils/Language.as index 086d772..1663954 100644 --- a/frameworks/projects/Language/src/main/royale/org/apache/royale/utils/Language.as +++ b/frameworks/projects/Language/src/main/royale/org/apache/royale/utils/Language.as @@ -271,6 +271,21 @@ package org.apache.royale.utils } /** + * Checks for null before returning a closure + * + * @param fn The method on the instance. + * @param object The instance. + * @return The closure, or null. + * + */ + static public function conditionalBind(fn:Function, object:Object):Function + { + if (fn == null) + return null; + return goog.bind(fn, object); + } + + /** * caches closures and returns the one closure * * @param fn The method on the instance.
