Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

compiler: support lamdas in generic classes #446

Merged
merged 1 commit into from
Jan 30, 2023

Conversation

mortend
Copy link
Member

@mortend mortend commented Jan 29, 2023

This updates ClosureConvertFunction to generate valid code when lambdas are used inside generic classes.

Generic classes need a definition object and one or more parameterized objects pointing back to their definition. Essentially, we're now creating copies of relevant objects where necessary, so that other parts of the comiler can work correctly.

This updates ClosureConvertFunction to generate valid code when lambdas
are used inside generic classes.

Generic classes need a definition object and one or more parameterized
objects pointing back to their definition. Essentially, we're now
creating copies of relevant objects where necessary, so that other
parts of the comiler can work correctly.
@mortend mortend merged commit 34e915b into fuse-open:master Jan 30, 2023
@mortend mortend deleted the lambda-generic branch January 30, 2023 11:59
mortend added a commit to mortend/fuselibs that referenced this pull request Mar 18, 2023
Use lambda expressions instead of manually created closure classes.

There was a bug in Uno blocking us from using lambda expressions before,
fixed by fuse-open/uno#446.
ichan-mb added a commit to ichan-mb/fuselibs that referenced this pull request Jul 28, 2023
Fuse.PushNotifications: Android 12 compatibility fix

Apps targeting Android 12 and higher are required to specify an explicit
value for `android:exported` when the corresponding component has an
intent filter defined.

2.6.1

Fuse.Launcher.Phone: implement SMS launcher

* Add Launcher.LaunchSms(string phoneNumber, string body) method.

* Add sms(phoneNumber: string, body?: string) method to FuseJS/Phone
  module.

* Add Sms trigger action for UX.

upgrade @fuse-open/uno (2.7.0)

CHANGELOG: add v2.7 changes

2.7.0

Fuse.Scripting.JavaScript: support async/await

This adds "regenerator-runtime"  which makes it possible to use
async/await from transpiled JavaScript or TypeScript code, e.g.:

    async example() {
        try {
            await Foo.requestPermission()
            console.log("Permission granted!")
        } catch (e) {
            console.error(e)
        }
    }

Source: https://github.com/facebook/regenerator/tree/e4b592a44ef0d3a366cc7ad6125c4d9c8f6cc597/packages/runtime

Fuse.Scripting: use compiler to generate closures

Use lambda expressions instead of manually created closure classes.

There was a bug in Uno blocking us from using lambda expressions before,
fixed by fuse-open/uno#446.

Fuse.Scripting: add Context parameter to native promises

Make most native promises in Fuselibs receive the Context parameter.

Like fuse-open#1467 but without the parts changing public API.

README: link to tsconfig

use nodejs v16

Use nodejs v16 on AppVeyor and upgrade package-lock.json to version 2.

README: remove Travis CI build status

iOS: update deprecated include header

upgrade @fuse-open/uno (2.8.0)

CHANGELOG: add v2.8 changes

2.8.0

doc-export: add Fuse.Controls.DrawingPanel

Fuse.LocalNotifications: fix package name on Android

Use a macro that will expand to the package name of the app being built,
fixing the build error introduced in 98a3359.
ichan-mb pushed a commit to ichan-mb/fuselibs that referenced this pull request Jul 28, 2023
Use lambda expressions instead of manually created closure classes.

There was a bug in Uno blocking us from using lambda expressions before,
fixed by fuse-open/uno#446.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant