emscripten-core / emscripten-core/emscripten
Named arguments(destructuring assignment) do not work for library functions
- Vorherrschende Sprache
- C++
- Sterne
- 27.6k
- Forks
- 3.6k
- Ø Merge
- 1 T. 14 Std.
- Gemergte PRs (30 T.)
- 125
Beschreibung
The following example doesn't work. We'll need to update the regex for arrow functions [here](https://github.com/emscripten-core/emscripten/blob/d6f18aee98d183bde8210029975d68cae54a74c4/src/jsifier.mjs#L601) to support this.
```js
addToLibrary({
$zzz: ({num}) => {
console.log(num);
},
hello_world__deps: ['$zzz'],
hello_world: (num) => {
zzz({num});
}
});
```
```c
#include
#include
extern void hello_world(int);
int main() {
hello_world(99);
}
```
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit dem Regex für Arrow Functions in src/jsifier.mjs ungefähr bei Zeile 601 und reproduzieren Sie das Problem anhand des JavaScript-addToLibrary-Beispiels und seines C-Aufrufers. Überprüfen Sie, dass Bibliotheksfunktionen mit Destructuring-Parametern korrekt erkannt werden und dass das bereitgestellte hello_world-Beispiel wie vorgesehen funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 45/100