assemblyscript-regex icon indicating copy to clipboard operation
assemblyscript-regex copied to clipboard

Feedback on "createRegExp" TODO comment

Open dcodeIO opened this issue 4 years ago • 0 comments

https://github.com/ColinEberhardt/assemblyscript-regex/blob/75f1d474a60a6b4334b2a1cd367b7a90b0db026d/assembly/regexp.ts#L153-L157

The RegExp constructor is exported as exports["RegExp#constructor"] with a signature of (this_: RegExp, regex: string, flags: string) => RegExp (all pointers, the this_ argument is typically 0 to indicate that the ctor should allocate on its own, i.e. not a super() call). During demangling, the loader creates a function exports.RegExp one can use with and without new representing it, and one can invoke new exports.RegExp(regexPtr, flagsPtr) (without this_) effectively corresponding to exports.createRegExp(regexPtr, flagsPtr), but returning a wrapper class instead of just a pointer.

There may be value in exposing createRegExp, though, for where the loader is not used, i.e. when running the binary in a C or Rust host. The AS compiler typically does this to also provide an easy to use C-like interface that works everywhere.

dcodeIO avatar Jan 21 '21 14:01 dcodeIO