From d77aa3a86a9e91f43ff14ffc336527ebcb37a4bf Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Sun, 27 Apr 2025 18:54:36 +0800 Subject: [PATCH 1/3] Release-as: quickjs/v1.0.0 --- quickjs/_demo/add/main.go | 24 + quickjs/cutils.go | 107 +++ quickjs/go.mod | 5 + quickjs/go.sum | 2 + quickjs/libregexp.go | 37 + quickjs/libunicode-table.go | 296 ++++++++ quickjs/libunicode.go | 109 +++ quickjs/list.go | 8 + quickjs/llcppg.cfg | 32 + quickjs/llcppg.pub | 50 ++ quickjs/llcppg.symb.json | 933 +++++++++++++++++++++++ quickjs/llpkg.cfg | 9 + quickjs/quickjs-libc.go | 62 ++ quickjs/quickjs.go | 1246 +++++++++++++++++++++++++++++++ quickjs/quickjs_autogen_link.go | 3 + 15 files changed, 2923 insertions(+) create mode 100644 quickjs/_demo/add/main.go create mode 100644 quickjs/cutils.go create mode 100644 quickjs/go.mod create mode 100644 quickjs/go.sum create mode 100644 quickjs/libregexp.go create mode 100644 quickjs/libunicode-table.go create mode 100644 quickjs/libunicode.go create mode 100644 quickjs/list.go create mode 100644 quickjs/llcppg.cfg create mode 100644 quickjs/llcppg.pub create mode 100644 quickjs/llcppg.symb.json create mode 100644 quickjs/llpkg.cfg create mode 100644 quickjs/quickjs-libc.go create mode 100644 quickjs/quickjs.go create mode 100644 quickjs/quickjs_autogen_link.go diff --git a/quickjs/_demo/add/main.go b/quickjs/_demo/add/main.go new file mode 100644 index 00000000..416e962e --- /dev/null +++ b/quickjs/_demo/add/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "github.com/goplus/llgo/c" + "github.com/goplus/llpkg/quickjs" +) + +func main() { + rt := quickjs.JSNewRuntime() + if rt == nil { + panic("none") + } + rt.JsStdInitHandlers() + ctx := rt.JSNewContext() + if ctx == nil { + panic("none") + } + ctx.JsStdAddHelpers(0, nil) + jsCode := c.Str("console.log('Hello from QuickJS! 1 + 2 =', 1 + 2);") + result := ctx.JSEval(jsCode, c.Strlen(jsCode), c.Str(""), 0) + ctx.X__JSFreeValue(result) + ctx.JSFreeContext() + rt.JSFreeRuntime() +} diff --git a/quickjs/cutils.go b/quickjs/cutils.go new file mode 100644 index 00000000..c4afb80d --- /dev/null +++ b/quickjs/cutils.go @@ -0,0 +1,107 @@ +package quickjs + +import ( + "github.com/goplus/llgo/c" + "unsafe" +) + +const UTF8_CHAR_LEN_MAX = 6 + +type BOOL c.Int + +const ( + FALSE c.Int = 0 + TRUE c.Int = 1 +) + +//go:linkname Pstrcpy C.pstrcpy +func Pstrcpy(buf *int8, buf_size c.Int, str *int8) + +//go:linkname Pstrcat C.pstrcat +func Pstrcat(buf *int8, buf_size c.Int, s *int8) *int8 + +//go:linkname Strstart C.strstart +func Strstart(str *int8, val *int8, ptr **int8) c.Int + +//go:linkname HasSuffix C.has_suffix +func HasSuffix(str *int8, suffix *int8) c.Int + +type PackedU64 struct { + V uint64 +} + +type PackedU32 struct { + V uint32 +} + +type PackedU16 struct { + V uint16 +} + +// llgo:type C +type DynBufReallocFunc func(unsafe.Pointer, unsafe.Pointer, uintptr) unsafe.Pointer + +type DynBuf struct { + Buf *uint8 + Size uintptr + AllocatedSize uintptr + Error BOOL + ReallocFunc *unsafe.Pointer + Opaque unsafe.Pointer +} + +// llgo:link (*DynBuf).DbufInit C.dbuf_init +func (recv_ *DynBuf) DbufInit() { +} + +// llgo:link (*DynBuf).DbufInit2 C.dbuf_init2 +func (recv_ *DynBuf) DbufInit2(opaque unsafe.Pointer, realloc_func DynBufReallocFunc) { +} + +// llgo:link (*DynBuf).DbufRealloc C.dbuf_realloc +func (recv_ *DynBuf) DbufRealloc(new_size uintptr) c.Int { + return 0 +} + +// llgo:link (*DynBuf).DbufWrite C.dbuf_write +func (recv_ *DynBuf) DbufWrite(offset uintptr, data *uint8, len uintptr) c.Int { + return 0 +} + +// llgo:link (*DynBuf).DbufPut C.dbuf_put +func (recv_ *DynBuf) DbufPut(data *uint8, len uintptr) c.Int { + return 0 +} + +// llgo:link (*DynBuf).DbufPutSelf C.dbuf_put_self +func (recv_ *DynBuf) DbufPutSelf(offset uintptr, len uintptr) c.Int { + return 0 +} + +// llgo:link (*DynBuf).DbufPutc C.dbuf_putc +func (recv_ *DynBuf) DbufPutc(c uint8) c.Int { + return 0 +} + +// llgo:link (*DynBuf).DbufPutstr C.dbuf_putstr +func (recv_ *DynBuf) DbufPutstr(str *int8) c.Int { + return 0 +} + +// llgo:link (*DynBuf).DbufPrintf C.dbuf_printf +func (recv_ *DynBuf) DbufPrintf(fmt *int8, __llgo_va_list ...interface{}) c.Int { + return 0 +} + +// llgo:link (*DynBuf).DbufFree C.dbuf_free +func (recv_ *DynBuf) DbufFree() { +} + +//go:linkname UnicodeToUtf8 C.unicode_to_utf8 +func UnicodeToUtf8(buf *uint8, c c.Uint) c.Int + +//go:linkname UnicodeFromUtf8 C.unicode_from_utf8 +func UnicodeFromUtf8(p *uint8, max_len c.Int, pp **uint8) c.Int + +//go:linkname Rqsort C.rqsort +func Rqsort(base unsafe.Pointer, nmemb uintptr, size uintptr, cmp func(unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) c.Int, arg unsafe.Pointer) diff --git a/quickjs/go.mod b/quickjs/go.mod new file mode 100644 index 00000000..1789908c --- /dev/null +++ b/quickjs/go.mod @@ -0,0 +1,5 @@ +module github.com/goplus/llpkg/quickjs + +go 1.20 + +require github.com/goplus/llgo v0.10.0 diff --git a/quickjs/go.sum b/quickjs/go.sum new file mode 100644 index 00000000..3288b429 --- /dev/null +++ b/quickjs/go.sum @@ -0,0 +1,2 @@ +github.com/goplus/llgo v0.10.0 h1:s3U3cnO3cploF1xCCJleAb16NQFAmHxdUmdrNhRH3hY= +github.com/goplus/llgo v0.10.0/go.mod h1:YfOHsT/g3lc9b4GclLj812YzdSsJr0kd3CCB830TqHE= diff --git a/quickjs/libregexp.go b/quickjs/libregexp.go new file mode 100644 index 00000000..bd3e6ff5 --- /dev/null +++ b/quickjs/libregexp.go @@ -0,0 +1,37 @@ +package quickjs + +import ( + "github.com/goplus/llgo/c" + "unsafe" +) + +//go:linkname LreCompile C.lre_compile +func LreCompile(plen *c.Int, error_msg *int8, error_msg_size c.Int, buf *int8, buf_len uintptr, re_flags c.Int, opaque unsafe.Pointer) *uint8 + +//go:linkname LreGetCaptureCount C.lre_get_capture_count +func LreGetCaptureCount(bc_buf *uint8) c.Int + +//go:linkname LreGetFlags C.lre_get_flags +func LreGetFlags(bc_buf *uint8) c.Int + +//go:linkname LreGetGroupnames C.lre_get_groupnames +func LreGetGroupnames(bc_buf *uint8) *int8 + +//go:linkname LreExec C.lre_exec +func LreExec(capture **uint8, bc_buf *uint8, cbuf *uint8, cindex c.Int, clen c.Int, cbuf_type c.Int, opaque unsafe.Pointer) c.Int + +//go:linkname LreParseEscape C.lre_parse_escape +func LreParseEscape(pp **uint8, allow_utf16 c.Int) c.Int + +//go:linkname LreIsSpace C.lre_is_space +func LreIsSpace(c c.Int) c.Int + +/* must be provided by the user */ +//go:linkname LreCheckStackOverflow C.lre_check_stack_overflow +func LreCheckStackOverflow(opaque unsafe.Pointer, alloca_size uintptr) c.Int + +//go:linkname LreRealloc C.lre_realloc +func LreRealloc(opaque unsafe.Pointer, ptr unsafe.Pointer, size uintptr) unsafe.Pointer + +//go:linkname LreJsIsIdentNext C.lre_js_is_ident_next +func LreJsIsIdentNext(c c.Int) c.Int diff --git a/quickjs/libunicode-table.go b/quickjs/libunicode-table.go new file mode 100644 index 00000000..71a20f61 --- /dev/null +++ b/quickjs/libunicode-table.go @@ -0,0 +1,296 @@ +package quickjs + +import ( + "github.com/goplus/llgo/c" + _ "unsafe" +) + +type UnicodeGCEnum c.Int + +const ( + UNICODEGCCn UnicodeGCEnum = 0 + UNICODEGCLu UnicodeGCEnum = 1 + UNICODEGCLl UnicodeGCEnum = 2 + UNICODEGCLt UnicodeGCEnum = 3 + UNICODEGCLm UnicodeGCEnum = 4 + UNICODEGCLo UnicodeGCEnum = 5 + UNICODEGCMn UnicodeGCEnum = 6 + UNICODEGCMc UnicodeGCEnum = 7 + UNICODEGCMe UnicodeGCEnum = 8 + UNICODEGCNd UnicodeGCEnum = 9 + UNICODEGCNl UnicodeGCEnum = 10 + UNICODEGCNo UnicodeGCEnum = 11 + UNICODEGCSm UnicodeGCEnum = 12 + UNICODEGCSc UnicodeGCEnum = 13 + UNICODEGCSk UnicodeGCEnum = 14 + UNICODEGCSo UnicodeGCEnum = 15 + UNICODEGCPc UnicodeGCEnum = 16 + UNICODEGCPd UnicodeGCEnum = 17 + UNICODEGCPs UnicodeGCEnum = 18 + UNICODEGCPe UnicodeGCEnum = 19 + UNICODEGCPi UnicodeGCEnum = 20 + UNICODEGCPf UnicodeGCEnum = 21 + UNICODEGCPo UnicodeGCEnum = 22 + UNICODEGCZs UnicodeGCEnum = 23 + UNICODEGCZl UnicodeGCEnum = 24 + UNICODEGCZp UnicodeGCEnum = 25 + UNICODEGCCc UnicodeGCEnum = 26 + UNICODEGCCf UnicodeGCEnum = 27 + UNICODEGCCs UnicodeGCEnum = 28 + UNICODEGCCo UnicodeGCEnum = 29 + UNICODEGCLC UnicodeGCEnum = 30 + UNICODEGCL UnicodeGCEnum = 31 + UNICODEGCM UnicodeGCEnum = 32 + UNICODEGCN UnicodeGCEnum = 33 + UNICODEGCS UnicodeGCEnum = 34 + UNICODEGCP UnicodeGCEnum = 35 + UNICODEGCZ UnicodeGCEnum = 36 + UNICODEGCC UnicodeGCEnum = 37 + UNICODEGCCOUNT UnicodeGCEnum = 38 +) + +type UnicodeScriptEnum c.Int + +const ( + UNICODESCRIPTUnknown UnicodeScriptEnum = 0 + UNICODESCRIPTAdlam UnicodeScriptEnum = 1 + UNICODESCRIPTAhom UnicodeScriptEnum = 2 + UNICODESCRIPTAnatolianHieroglyphs UnicodeScriptEnum = 3 + UNICODESCRIPTArabic UnicodeScriptEnum = 4 + UNICODESCRIPTArmenian UnicodeScriptEnum = 5 + UNICODESCRIPTAvestan UnicodeScriptEnum = 6 + UNICODESCRIPTBalinese UnicodeScriptEnum = 7 + UNICODESCRIPTBamum UnicodeScriptEnum = 8 + UNICODESCRIPTBassaVah UnicodeScriptEnum = 9 + UNICODESCRIPTBatak UnicodeScriptEnum = 10 + UNICODESCRIPTBengali UnicodeScriptEnum = 11 + UNICODESCRIPTBhaiksuki UnicodeScriptEnum = 12 + UNICODESCRIPTBopomofo UnicodeScriptEnum = 13 + UNICODESCRIPTBrahmi UnicodeScriptEnum = 14 + UNICODESCRIPTBraille UnicodeScriptEnum = 15 + UNICODESCRIPTBuginese UnicodeScriptEnum = 16 + UNICODESCRIPTBuhid UnicodeScriptEnum = 17 + UNICODESCRIPTCanadianAboriginal UnicodeScriptEnum = 18 + UNICODESCRIPTCarian UnicodeScriptEnum = 19 + UNICODESCRIPTCaucasianAlbanian UnicodeScriptEnum = 20 + UNICODESCRIPTChakma UnicodeScriptEnum = 21 + UNICODESCRIPTCham UnicodeScriptEnum = 22 + UNICODESCRIPTCherokee UnicodeScriptEnum = 23 + UNICODESCRIPTChorasmian UnicodeScriptEnum = 24 + UNICODESCRIPTCommon UnicodeScriptEnum = 25 + UNICODESCRIPTCoptic UnicodeScriptEnum = 26 + UNICODESCRIPTCuneiform UnicodeScriptEnum = 27 + UNICODESCRIPTCypriot UnicodeScriptEnum = 28 + UNICODESCRIPTCyrillic UnicodeScriptEnum = 29 + UNICODESCRIPTCyproMinoan UnicodeScriptEnum = 30 + UNICODESCRIPTDeseret UnicodeScriptEnum = 31 + UNICODESCRIPTDevanagari UnicodeScriptEnum = 32 + UNICODESCRIPTDivesAkuru UnicodeScriptEnum = 33 + UNICODESCRIPTDogra UnicodeScriptEnum = 34 + UNICODESCRIPTDuployan UnicodeScriptEnum = 35 + UNICODESCRIPTEgyptianHieroglyphs UnicodeScriptEnum = 36 + UNICODESCRIPTElbasan UnicodeScriptEnum = 37 + UNICODESCRIPTElymaic UnicodeScriptEnum = 38 + UNICODESCRIPTEthiopic UnicodeScriptEnum = 39 + UNICODESCRIPTGeorgian UnicodeScriptEnum = 40 + UNICODESCRIPTGlagolitic UnicodeScriptEnum = 41 + UNICODESCRIPTGothic UnicodeScriptEnum = 42 + UNICODESCRIPTGrantha UnicodeScriptEnum = 43 + UNICODESCRIPTGreek UnicodeScriptEnum = 44 + UNICODESCRIPTGujarati UnicodeScriptEnum = 45 + UNICODESCRIPTGunjalaGondi UnicodeScriptEnum = 46 + UNICODESCRIPTGurmukhi UnicodeScriptEnum = 47 + UNICODESCRIPTHan UnicodeScriptEnum = 48 + UNICODESCRIPTHangul UnicodeScriptEnum = 49 + UNICODESCRIPTHanifiRohingya UnicodeScriptEnum = 50 + UNICODESCRIPTHanunoo UnicodeScriptEnum = 51 + UNICODESCRIPTHatran UnicodeScriptEnum = 52 + UNICODESCRIPTHebrew UnicodeScriptEnum = 53 + UNICODESCRIPTHiragana UnicodeScriptEnum = 54 + UNICODESCRIPTImperialAramaic UnicodeScriptEnum = 55 + UNICODESCRIPTInherited UnicodeScriptEnum = 56 + UNICODESCRIPTInscriptionalPahlavi UnicodeScriptEnum = 57 + UNICODESCRIPTInscriptionalParthian UnicodeScriptEnum = 58 + UNICODESCRIPTJavanese UnicodeScriptEnum = 59 + UNICODESCRIPTKaithi UnicodeScriptEnum = 60 + UNICODESCRIPTKannada UnicodeScriptEnum = 61 + UNICODESCRIPTKatakana UnicodeScriptEnum = 62 + UNICODESCRIPTKawi UnicodeScriptEnum = 63 + UNICODESCRIPTKayahLi UnicodeScriptEnum = 64 + UNICODESCRIPTKharoshthi UnicodeScriptEnum = 65 + UNICODESCRIPTKhmer UnicodeScriptEnum = 66 + UNICODESCRIPTKhojki UnicodeScriptEnum = 67 + UNICODESCRIPTKhitanSmallScript UnicodeScriptEnum = 68 + UNICODESCRIPTKhudawadi UnicodeScriptEnum = 69 + UNICODESCRIPTLao UnicodeScriptEnum = 70 + UNICODESCRIPTLatin UnicodeScriptEnum = 71 + UNICODESCRIPTLepcha UnicodeScriptEnum = 72 + UNICODESCRIPTLimbu UnicodeScriptEnum = 73 + UNICODESCRIPTLinearA UnicodeScriptEnum = 74 + UNICODESCRIPTLinearB UnicodeScriptEnum = 75 + UNICODESCRIPTLisu UnicodeScriptEnum = 76 + UNICODESCRIPTLycian UnicodeScriptEnum = 77 + UNICODESCRIPTLydian UnicodeScriptEnum = 78 + UNICODESCRIPTMakasar UnicodeScriptEnum = 79 + UNICODESCRIPTMahajani UnicodeScriptEnum = 80 + UNICODESCRIPTMalayalam UnicodeScriptEnum = 81 + UNICODESCRIPTMandaic UnicodeScriptEnum = 82 + UNICODESCRIPTManichaean UnicodeScriptEnum = 83 + UNICODESCRIPTMarchen UnicodeScriptEnum = 84 + UNICODESCRIPTMasaramGondi UnicodeScriptEnum = 85 + UNICODESCRIPTMedefaidrin UnicodeScriptEnum = 86 + UNICODESCRIPTMeeteiMayek UnicodeScriptEnum = 87 + UNICODESCRIPTMendeKikakui UnicodeScriptEnum = 88 + UNICODESCRIPTMeroiticCursive UnicodeScriptEnum = 89 + UNICODESCRIPTMeroiticHieroglyphs UnicodeScriptEnum = 90 + UNICODESCRIPTMiao UnicodeScriptEnum = 91 + UNICODESCRIPTModi UnicodeScriptEnum = 92 + UNICODESCRIPTMongolian UnicodeScriptEnum = 93 + UNICODESCRIPTMro UnicodeScriptEnum = 94 + UNICODESCRIPTMultani UnicodeScriptEnum = 95 + UNICODESCRIPTMyanmar UnicodeScriptEnum = 96 + UNICODESCRIPTNabataean UnicodeScriptEnum = 97 + UNICODESCRIPTNagMundari UnicodeScriptEnum = 98 + UNICODESCRIPTNandinagari UnicodeScriptEnum = 99 + UNICODESCRIPTNewTaiLue UnicodeScriptEnum = 100 + UNICODESCRIPTNewa UnicodeScriptEnum = 101 + UNICODESCRIPTNko UnicodeScriptEnum = 102 + UNICODESCRIPTNushu UnicodeScriptEnum = 103 + UNICODESCRIPTNyiakengPuachueHmong UnicodeScriptEnum = 104 + UNICODESCRIPTOgham UnicodeScriptEnum = 105 + UNICODESCRIPTOlChiki UnicodeScriptEnum = 106 + UNICODESCRIPTOldHungarian UnicodeScriptEnum = 107 + UNICODESCRIPTOldItalic UnicodeScriptEnum = 108 + UNICODESCRIPTOldNorthArabian UnicodeScriptEnum = 109 + UNICODESCRIPTOldPermic UnicodeScriptEnum = 110 + UNICODESCRIPTOldPersian UnicodeScriptEnum = 111 + UNICODESCRIPTOldSogdian UnicodeScriptEnum = 112 + UNICODESCRIPTOldSouthArabian UnicodeScriptEnum = 113 + UNICODESCRIPTOldTurkic UnicodeScriptEnum = 114 + UNICODESCRIPTOldUyghur UnicodeScriptEnum = 115 + UNICODESCRIPTOriya UnicodeScriptEnum = 116 + UNICODESCRIPTOsage UnicodeScriptEnum = 117 + UNICODESCRIPTOsmanya UnicodeScriptEnum = 118 + UNICODESCRIPTPahawhHmong UnicodeScriptEnum = 119 + UNICODESCRIPTPalmyrene UnicodeScriptEnum = 120 + UNICODESCRIPTPauCinHau UnicodeScriptEnum = 121 + UNICODESCRIPTPhagsPa UnicodeScriptEnum = 122 + UNICODESCRIPTPhoenician UnicodeScriptEnum = 123 + UNICODESCRIPTPsalterPahlavi UnicodeScriptEnum = 124 + UNICODESCRIPTRejang UnicodeScriptEnum = 125 + UNICODESCRIPTRunic UnicodeScriptEnum = 126 + UNICODESCRIPTSamaritan UnicodeScriptEnum = 127 + UNICODESCRIPTSaurashtra UnicodeScriptEnum = 128 + UNICODESCRIPTSharada UnicodeScriptEnum = 129 + UNICODESCRIPTShavian UnicodeScriptEnum = 130 + UNICODESCRIPTSiddham UnicodeScriptEnum = 131 + UNICODESCRIPTSignWriting UnicodeScriptEnum = 132 + UNICODESCRIPTSinhala UnicodeScriptEnum = 133 + UNICODESCRIPTSogdian UnicodeScriptEnum = 134 + UNICODESCRIPTSoraSompeng UnicodeScriptEnum = 135 + UNICODESCRIPTSoyombo UnicodeScriptEnum = 136 + UNICODESCRIPTSundanese UnicodeScriptEnum = 137 + UNICODESCRIPTSylotiNagri UnicodeScriptEnum = 138 + UNICODESCRIPTSyriac UnicodeScriptEnum = 139 + UNICODESCRIPTTagalog UnicodeScriptEnum = 140 + UNICODESCRIPTTagbanwa UnicodeScriptEnum = 141 + UNICODESCRIPTTaiLe UnicodeScriptEnum = 142 + UNICODESCRIPTTaiTham UnicodeScriptEnum = 143 + UNICODESCRIPTTaiViet UnicodeScriptEnum = 144 + UNICODESCRIPTTakri UnicodeScriptEnum = 145 + UNICODESCRIPTTamil UnicodeScriptEnum = 146 + UNICODESCRIPTTangut UnicodeScriptEnum = 147 + UNICODESCRIPTTelugu UnicodeScriptEnum = 148 + UNICODESCRIPTThaana UnicodeScriptEnum = 149 + UNICODESCRIPTThai UnicodeScriptEnum = 150 + UNICODESCRIPTTibetan UnicodeScriptEnum = 151 + UNICODESCRIPTTifinagh UnicodeScriptEnum = 152 + UNICODESCRIPTTirhuta UnicodeScriptEnum = 153 + UNICODESCRIPTTangsa UnicodeScriptEnum = 154 + UNICODESCRIPTToto UnicodeScriptEnum = 155 + UNICODESCRIPTUgaritic UnicodeScriptEnum = 156 + UNICODESCRIPTVai UnicodeScriptEnum = 157 + UNICODESCRIPTVithkuqi UnicodeScriptEnum = 158 + UNICODESCRIPTWancho UnicodeScriptEnum = 159 + UNICODESCRIPTWarangCiti UnicodeScriptEnum = 160 + UNICODESCRIPTYezidi UnicodeScriptEnum = 161 + UNICODESCRIPTYi UnicodeScriptEnum = 162 + UNICODESCRIPTZanabazarSquare UnicodeScriptEnum = 163 + UNICODESCRIPTCOUNT UnicodeScriptEnum = 164 +) + +type UnicodePropertyEnum c.Int + +const ( + UNICODEPROPHyphen UnicodePropertyEnum = 0 + UNICODEPROPOtherMath UnicodePropertyEnum = 1 + UNICODEPROPOtherAlphabetic UnicodePropertyEnum = 2 + UNICODEPROPOtherLowercase UnicodePropertyEnum = 3 + UNICODEPROPOtherUppercase UnicodePropertyEnum = 4 + UNICODEPROPOtherGraphemeExtend UnicodePropertyEnum = 5 + UNICODEPROPOtherDefaultIgnorableCodePoint UnicodePropertyEnum = 6 + UNICODEPROPOtherIDStart UnicodePropertyEnum = 7 + UNICODEPROPOtherIDContinue UnicodePropertyEnum = 8 + UNICODEPROPPrependedConcatenationMark UnicodePropertyEnum = 9 + UNICODEPROPIDContinue1 UnicodePropertyEnum = 10 + UNICODEPROPXIDStart1 UnicodePropertyEnum = 11 + UNICODEPROPXIDContinue1 UnicodePropertyEnum = 12 + UNICODEPROPChangesWhenTitlecased1 UnicodePropertyEnum = 13 + UNICODEPROPChangesWhenCasefolded1 UnicodePropertyEnum = 14 + UNICODEPROPChangesWhenNFKCCasefolded1 UnicodePropertyEnum = 15 + UNICODEPROPASCIIHexDigit UnicodePropertyEnum = 16 + UNICODEPROPBidiControl UnicodePropertyEnum = 17 + UNICODEPROPDash UnicodePropertyEnum = 18 + UNICODEPROPDeprecated UnicodePropertyEnum = 19 + UNICODEPROPDiacritic UnicodePropertyEnum = 20 + UNICODEPROPExtender UnicodePropertyEnum = 21 + UNICODEPROPHexDigit UnicodePropertyEnum = 22 + UNICODEPROPIDSBinaryOperator UnicodePropertyEnum = 23 + UNICODEPROPIDSTrinaryOperator UnicodePropertyEnum = 24 + UNICODEPROPIdeographic UnicodePropertyEnum = 25 + UNICODEPROPJoinControl UnicodePropertyEnum = 26 + UNICODEPROPLogicalOrderException UnicodePropertyEnum = 27 + UNICODEPROPNoncharacterCodePoint UnicodePropertyEnum = 28 + UNICODEPROPPatternSyntax UnicodePropertyEnum = 29 + UNICODEPROPPatternWhiteSpace UnicodePropertyEnum = 30 + UNICODEPROPQuotationMark UnicodePropertyEnum = 31 + UNICODEPROPRadical UnicodePropertyEnum = 32 + UNICODEPROPRegionalIndicator UnicodePropertyEnum = 33 + UNICODEPROPSentenceTerminal UnicodePropertyEnum = 34 + UNICODEPROPSoftDotted UnicodePropertyEnum = 35 + UNICODEPROPTerminalPunctuation UnicodePropertyEnum = 36 + UNICODEPROPUnifiedIdeograph UnicodePropertyEnum = 37 + UNICODEPROPVariationSelector UnicodePropertyEnum = 38 + UNICODEPROPWhiteSpace UnicodePropertyEnum = 39 + UNICODEPROPBidiMirrored UnicodePropertyEnum = 40 + UNICODEPROPEmoji UnicodePropertyEnum = 41 + UNICODEPROPEmojiComponent UnicodePropertyEnum = 42 + UNICODEPROPEmojiModifier UnicodePropertyEnum = 43 + UNICODEPROPEmojiModifierBase UnicodePropertyEnum = 44 + UNICODEPROPEmojiPresentation UnicodePropertyEnum = 45 + UNICODEPROPExtendedPictographic UnicodePropertyEnum = 46 + UNICODEPROPDefaultIgnorableCodePoint UnicodePropertyEnum = 47 + UNICODEPROPIDStart UnicodePropertyEnum = 48 + UNICODEPROPCaseIgnorable UnicodePropertyEnum = 49 + UNICODEPROPASCII UnicodePropertyEnum = 50 + UNICODEPROPAlphabetic UnicodePropertyEnum = 51 + UNICODEPROPAny UnicodePropertyEnum = 52 + UNICODEPROPAssigned UnicodePropertyEnum = 53 + UNICODEPROPCased UnicodePropertyEnum = 54 + UNICODEPROPChangesWhenCasefolded UnicodePropertyEnum = 55 + UNICODEPROPChangesWhenCasemapped UnicodePropertyEnum = 56 + UNICODEPROPChangesWhenLowercased UnicodePropertyEnum = 57 + UNICODEPROPChangesWhenNFKCCasefolded UnicodePropertyEnum = 58 + UNICODEPROPChangesWhenTitlecased UnicodePropertyEnum = 59 + UNICODEPROPChangesWhenUppercased UnicodePropertyEnum = 60 + UNICODEPROPGraphemeBase UnicodePropertyEnum = 61 + UNICODEPROPGraphemeExtend UnicodePropertyEnum = 62 + UNICODEPROPIDContinue UnicodePropertyEnum = 63 + UNICODEPROPLowercase UnicodePropertyEnum = 64 + UNICODEPROPMath UnicodePropertyEnum = 65 + UNICODEPROPUppercase UnicodePropertyEnum = 66 + UNICODEPROPXIDContinue UnicodePropertyEnum = 67 + UNICODEPROPXIDStart UnicodePropertyEnum = 68 + UNICODEPROPCased1 UnicodePropertyEnum = 69 + UNICODEPROPCOUNT UnicodePropertyEnum = 70 +) diff --git a/quickjs/libunicode.go b/quickjs/libunicode.go new file mode 100644 index 00000000..d9f9bcdd --- /dev/null +++ b/quickjs/libunicode.go @@ -0,0 +1,109 @@ +package quickjs + +import ( + "github.com/goplus/llgo/c" + "unsafe" +) + +const LRE_CC_RES_LEN_MAX = 3 + +type UnicodeNormalizationEnum c.Int + +const ( + UNICODENFC UnicodeNormalizationEnum = 0 + UNICODENFD UnicodeNormalizationEnum = 1 + UNICODENFKC UnicodeNormalizationEnum = 2 + UNICODENFKD UnicodeNormalizationEnum = 3 +) + +//go:linkname LreCaseConv C.lre_case_conv +func LreCaseConv(res *uint32, c uint32, conv_type c.Int) c.Int + +//go:linkname LreCanonicalize C.lre_canonicalize +func LreCanonicalize(c uint32, is_unicode c.Int) c.Int + +//go:linkname LreIsCased C.lre_is_cased +func LreIsCased(c uint32) c.Int + +//go:linkname LreIsCaseIgnorable C.lre_is_case_ignorable +func LreIsCaseIgnorable(c uint32) c.Int + +/* char ranges */ + +type CharRange struct { + Len c.Int + Size c.Int + Points *uint32 + MemOpaque unsafe.Pointer + ReallocFunc unsafe.Pointer +} +type CharRangeOpEnum c.Int + +const ( + CROPUNION CharRangeOpEnum = 0 + CROPINTER CharRangeOpEnum = 1 + CROPXOR CharRangeOpEnum = 2 +) + +// llgo:link (*CharRange).CrInit C.cr_init +func (recv_ *CharRange) CrInit(mem_opaque unsafe.Pointer, realloc_func func(unsafe.Pointer, unsafe.Pointer, uintptr) unsafe.Pointer) { +} + +// llgo:link (*CharRange).CrFree C.cr_free +func (recv_ *CharRange) CrFree() { +} + +// llgo:link (*CharRange).CrRealloc C.cr_realloc +func (recv_ *CharRange) CrRealloc(size c.Int) c.Int { + return 0 +} + +// llgo:link (*CharRange).CrCopy C.cr_copy +func (recv_ *CharRange) CrCopy(cr1 *CharRange) c.Int { + return 0 +} + +// llgo:link (*CharRange).CrUnion1 C.cr_union1 +func (recv_ *CharRange) CrUnion1(b_pt *uint32, b_len c.Int) c.Int { + return 0 +} + +// llgo:link (*CharRange).CrOp C.cr_op +func (recv_ *CharRange) CrOp(a_pt *uint32, a_len c.Int, b_pt *uint32, b_len c.Int, op c.Int) c.Int { + return 0 +} + +// llgo:link (*CharRange).CrInvert C.cr_invert +func (recv_ *CharRange) CrInvert() c.Int { + return 0 +} + +// llgo:link (*CharRange).CrRegexpCanonicalize C.cr_regexp_canonicalize +func (recv_ *CharRange) CrRegexpCanonicalize(is_unicode c.Int) c.Int { + return 0 +} + +//go:linkname LreIsIdStart C.lre_is_id_start +func LreIsIdStart(c uint32) c.Int + +//go:linkname LreIsIdContinue C.lre_is_id_continue +func LreIsIdContinue(c uint32) c.Int + +//go:linkname UnicodeNormalize C.unicode_normalize +func UnicodeNormalize(pdst **uint32, src *uint32, src_len c.Int, n_type UnicodeNormalizationEnum, opaque unsafe.Pointer, realloc_func func(unsafe.Pointer, unsafe.Pointer, uintptr) unsafe.Pointer) c.Int + +/* Unicode character range functions */ +// llgo:link (*CharRange).UnicodeScript C.unicode_script +func (recv_ *CharRange) UnicodeScript(script_name *int8, is_ext c.Int) c.Int { + return 0 +} + +// llgo:link (*CharRange).UnicodeGeneralCategory C.unicode_general_category +func (recv_ *CharRange) UnicodeGeneralCategory(gc_name *int8) c.Int { + return 0 +} + +// llgo:link (*CharRange).UnicodeProp C.unicode_prop +func (recv_ *CharRange) UnicodeProp(prop_name *int8) c.Int { + return 0 +} diff --git a/quickjs/list.go b/quickjs/list.go new file mode 100644 index 00000000..30d7c4a9 --- /dev/null +++ b/quickjs/list.go @@ -0,0 +1,8 @@ +package quickjs + +import _ "unsafe" + +type ListHead struct { + Prev *ListHead + Next *ListHead +} diff --git a/quickjs/llcppg.cfg b/quickjs/llcppg.cfg new file mode 100644 index 00000000..2921786d --- /dev/null +++ b/quickjs/llcppg.cfg @@ -0,0 +1,32 @@ +{ + "name": "quickjs", + "cflags": "$(pkg-config --cflags quickjs)", + "libs": "$(pkg-config --libs quickjs)", + "include": [ + "quickjs/libregexp.h", + "quickjs/quickjs-libc.h", + "quickjs/cutils.h", + "quickjs/libregexp-opcode.h", + "quickjs/libunicode-table.h", + "quickjs/libunicode.h", + "quickjs/list.h", + "quickjs/quickjs-atom.h", + "quickjs/quickjs-opcode.h", + "quickjs/quickjs.h", + "quickjs/unicode_gen_def.h" + ], + "trimPrefixes": [], + "cplusplus": false, + "deps": [], + "keepUnderScore": false, + "impl": [ + { + "files": [], + "cond": { + "os": [], + "arch": [] + } + } + ], + "mix": false +} diff --git a/quickjs/llcppg.pub b/quickjs/llcppg.pub new file mode 100644 index 00000000..6b68e882 --- /dev/null +++ b/quickjs/llcppg.pub @@ -0,0 +1,50 @@ +BOOL +CharRange +CharRangeOpEnum +DynBuf +DynBufReallocFunc +JSAtom +JSCFunction +JSCFunctionData +JSCFunctionEnum +JSCFunctionListEntry +JSCFunctionMagic +JSCFunctionType +JSClass +JSClassCall +JSClassDef +JSClassExoticMethods +JSClassFinalizer +JSClassGCMark +JSClassID +JSContext +JSFreeArrayBufferDataFunc +JSGCObjectHeader +JSHostPromiseRejectionTracker +JSInterruptHandler +JSJobFunc +JSMallocFunctions +JSMallocState +JSMemoryUsage +JSModuleDef +JSModuleInitFunc +JSModuleLoaderFunc +JSModuleNormalizeFunc +JSObject +JSPromiseStateEnum +JSPropertyDescriptor +JSPropertyEnum +JSRefCountHeader +JSRuntime +JSSharedArrayBufferFunctions +JSValue +JSValueUnion +JS_MarkFunc JSMarkFunc +UnicodeGCEnum +UnicodeNormalizationEnum +UnicodePropertyEnum +UnicodeScriptEnum +list_head ListHead +packed_u16 PackedU16 +packed_u32 PackedU32 +packed_u64 PackedU64 \ No newline at end of file diff --git a/quickjs/llcppg.symb.json b/quickjs/llcppg.symb.json new file mode 100644 index 00000000..86db5ee3 --- /dev/null +++ b/quickjs/llcppg.symb.json @@ -0,0 +1,933 @@ +[{ + "mangle": "JS_AddIntrinsicBaseObjects", + "c++": "JS_AddIntrinsicBaseObjects(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicBaseObjects" + }, { + "mangle": "JS_AddIntrinsicBigDecimal", + "c++": "JS_AddIntrinsicBigDecimal(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicBigDecimal" + }, { + "mangle": "JS_AddIntrinsicBigFloat", + "c++": "JS_AddIntrinsicBigFloat(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicBigFloat" + }, { + "mangle": "JS_AddIntrinsicBigInt", + "c++": "JS_AddIntrinsicBigInt(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicBigInt" + }, { + "mangle": "JS_AddIntrinsicDate", + "c++": "JS_AddIntrinsicDate(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicDate" + }, { + "mangle": "JS_AddIntrinsicEval", + "c++": "JS_AddIntrinsicEval(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicEval" + }, { + "mangle": "JS_AddIntrinsicJSON", + "c++": "JS_AddIntrinsicJSON(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicJSON" + }, { + "mangle": "JS_AddIntrinsicMapSet", + "c++": "JS_AddIntrinsicMapSet(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicMapSet" + }, { + "mangle": "JS_AddIntrinsicOperators", + "c++": "JS_AddIntrinsicOperators(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicOperators" + }, { + "mangle": "JS_AddIntrinsicPromise", + "c++": "JS_AddIntrinsicPromise(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicPromise" + }, { + "mangle": "JS_AddIntrinsicProxy", + "c++": "JS_AddIntrinsicProxy(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicProxy" + }, { + "mangle": "JS_AddIntrinsicRegExp", + "c++": "JS_AddIntrinsicRegExp(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicRegExp" + }, { + "mangle": "JS_AddIntrinsicRegExpCompiler", + "c++": "JS_AddIntrinsicRegExpCompiler(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicRegExpCompiler" + }, { + "mangle": "JS_AddIntrinsicStringNormalize", + "c++": "JS_AddIntrinsicStringNormalize(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicStringNormalize" + }, { + "mangle": "JS_AddIntrinsicTypedArrays", + "c++": "JS_AddIntrinsicTypedArrays(JSContext *)", + "go": "(*JSContext).JSAddIntrinsicTypedArrays" + }, { + "mangle": "JS_AddModuleExport", + "c++": "JS_AddModuleExport(JSContext *, JSModuleDef *, const char *)", + "go": "(*JSContext).JSAddModuleExport" + }, { + "mangle": "JS_AddModuleExportList", + "c++": "JS_AddModuleExportList(JSContext *, JSModuleDef *, const JSCFunctionListEntry *, int)", + "go": "(*JSContext).JSAddModuleExportList" + }, { + "mangle": "JS_AtomToCString", + "c++": "JS_AtomToCString(JSContext *, JSAtom)", + "go": "(*JSContext).JSAtomToCString" + }, { + "mangle": "JS_AtomToString", + "c++": "JS_AtomToString(JSContext *, JSAtom)", + "go": "(*JSContext).JSAtomToString" + }, { + "mangle": "JS_AtomToValue", + "c++": "JS_AtomToValue(JSContext *, JSAtom)", + "go": "(*JSContext).JSAtomToValue" + }, { + "mangle": "JS_Call", + "c++": "JS_Call(JSContext *, JSValue, JSValue, int, JSValue *)", + "go": "(*JSContext).JSCall" + }, { + "mangle": "JS_CallConstructor", + "c++": "JS_CallConstructor(JSContext *, JSValue, int, JSValue *)", + "go": "(*JSContext).JSCallConstructor" + }, { + "mangle": "JS_CallConstructor2", + "c++": "JS_CallConstructor2(JSContext *, JSValue, JSValue, int, JSValue *)", + "go": "(*JSContext).JSCallConstructor2" + }, { + "mangle": "JS_ComputeMemoryUsage", + "c++": "JS_ComputeMemoryUsage(JSRuntime *, JSMemoryUsage *)", + "go": "(*JSRuntime).JSComputeMemoryUsage" + }, { + "mangle": "JS_DefineProperty", + "c++": "JS_DefineProperty(JSContext *, JSValue, JSAtom, JSValue, JSValue, JSValue, int)", + "go": "(*JSContext).JSDefineProperty" + }, { + "mangle": "JS_DefinePropertyGetSet", + "c++": "JS_DefinePropertyGetSet(JSContext *, JSValue, JSAtom, JSValue, JSValue, int)", + "go": "(*JSContext).JSDefinePropertyGetSet" + }, { + "mangle": "JS_DefinePropertyValue", + "c++": "JS_DefinePropertyValue(JSContext *, JSValue, JSAtom, JSValue, int)", + "go": "(*JSContext).JSDefinePropertyValue" + }, { + "mangle": "JS_DefinePropertyValueStr", + "c++": "JS_DefinePropertyValueStr(JSContext *, JSValue, const char *, JSValue, int)", + "go": "(*JSContext).JSDefinePropertyValueStr" + }, { + "mangle": "JS_DefinePropertyValueUint32", + "c++": "JS_DefinePropertyValueUint32(JSContext *, JSValue, uint32_t, JSValue, int)", + "go": "(*JSContext).JSDefinePropertyValueUint32" + }, { + "mangle": "JS_DeleteProperty", + "c++": "JS_DeleteProperty(JSContext *, JSValue, JSAtom, int)", + "go": "(*JSContext).JSDeleteProperty" + }, { + "mangle": "JS_DetachArrayBuffer", + "c++": "JS_DetachArrayBuffer(JSContext *, JSValue)", + "go": "(*JSContext).JSDetachArrayBuffer" + }, { + "mangle": "JS_DetectModule", + "c++": "JS_DetectModule(const char *, size_t)", + "go": "JSDetectModule" + }, { + "mangle": "JS_DumpMemoryUsage", + "c++": "JS_DumpMemoryUsage(FILE *, const JSMemoryUsage *, JSRuntime *)", + "go": "JSDumpMemoryUsage" + }, { + "mangle": "JS_DupAtom", + "c++": "JS_DupAtom(JSContext *, JSAtom)", + "go": "(*JSContext).JSDupAtom" + }, { + "mangle": "JS_DupContext", + "c++": "JS_DupContext(JSContext *)", + "go": "(*JSContext).JSDupContext" + }, { + "mangle": "JS_EnableBignumExt", + "c++": "JS_EnableBignumExt(JSContext *, int)", + "go": "(*JSContext).JSEnableBignumExt" + }, { + "mangle": "JS_EnqueueJob", + "c++": "JS_EnqueueJob(JSContext *, JSJobFunc *, int, JSValue *)", + "go": "(*JSContext).JSEnqueueJob" + }, { + "mangle": "JS_Eval", + "c++": "JS_Eval(JSContext *, const char *, size_t, const char *, int)", + "go": "(*JSContext).JSEval" + }, { + "mangle": "JS_EvalFunction", + "c++": "JS_EvalFunction(JSContext *, JSValue)", + "go": "(*JSContext).JSEvalFunction" + }, { + "mangle": "JS_EvalThis", + "c++": "JS_EvalThis(JSContext *, JSValue, const char *, size_t, const char *, int)", + "go": "(*JSContext).JSEvalThis" + }, { + "mangle": "JS_ExecutePendingJob", + "c++": "JS_ExecutePendingJob(JSRuntime *, JSContext **)", + "go": "(*JSRuntime).JSExecutePendingJob" + }, { + "mangle": "JS_FreeAtom", + "c++": "JS_FreeAtom(JSContext *, JSAtom)", + "go": "(*JSContext).JSFreeAtom" + }, { + "mangle": "JS_FreeAtomRT", + "c++": "JS_FreeAtomRT(JSRuntime *, JSAtom)", + "go": "(*JSRuntime).JSFreeAtomRT" + }, { + "mangle": "JS_FreeCString", + "c++": "JS_FreeCString(JSContext *, const char *)", + "go": "(*JSContext).JSFreeCString" + }, { + "mangle": "JS_FreeContext", + "c++": "JS_FreeContext(JSContext *)", + "go": "(*JSContext).JSFreeContext" + }, { + "mangle": "JS_FreeRuntime", + "c++": "JS_FreeRuntime(JSRuntime *)", + "go": "(*JSRuntime).JSFreeRuntime" + }, { + "mangle": "JS_GetArrayBuffer", + "c++": "JS_GetArrayBuffer(JSContext *, size_t *, JSValue)", + "go": "(*JSContext).JSGetArrayBuffer" + }, { + "mangle": "JS_GetClassProto", + "c++": "JS_GetClassProto(JSContext *, JSClassID)", + "go": "(*JSContext).JSGetClassProto" + }, { + "mangle": "JS_GetContextOpaque", + "c++": "JS_GetContextOpaque(JSContext *)", + "go": "(*JSContext).JSGetContextOpaque" + }, { + "mangle": "JS_GetException", + "c++": "JS_GetException(JSContext *)", + "go": "(*JSContext).JSGetException" + }, { + "mangle": "JS_GetGlobalObject", + "c++": "JS_GetGlobalObject(JSContext *)", + "go": "(*JSContext).JSGetGlobalObject" + }, { + "mangle": "JS_GetImportMeta", + "c++": "JS_GetImportMeta(JSContext *, JSModuleDef *)", + "go": "(*JSContext).JSGetImportMeta" + }, { + "mangle": "JS_GetModuleName", + "c++": "JS_GetModuleName(JSContext *, JSModuleDef *)", + "go": "(*JSContext).JSGetModuleName" + }, { + "mangle": "JS_GetOpaque", + "c++": "JS_GetOpaque(JSValue, JSClassID)", + "go": "JSValue.JSGetOpaque" + }, { + "mangle": "JS_GetOpaque2", + "c++": "JS_GetOpaque2(JSContext *, JSValue, JSClassID)", + "go": "(*JSContext).JSGetOpaque2" + }, { + "mangle": "JS_GetOwnProperty", + "c++": "JS_GetOwnProperty(JSContext *, JSPropertyDescriptor *, JSValue, JSAtom)", + "go": "(*JSContext).JSGetOwnProperty" + }, { + "mangle": "JS_GetOwnPropertyNames", + "c++": "JS_GetOwnPropertyNames(JSContext *, JSPropertyEnum **, uint32_t *, JSValue, int)", + "go": "(*JSContext).JSGetOwnPropertyNames" + }, { + "mangle": "JS_GetPropertyInternal", + "c++": "JS_GetPropertyInternal(JSContext *, JSValue, JSAtom, JSValue, int)", + "go": "(*JSContext).JSGetPropertyInternal" + }, { + "mangle": "JS_GetPropertyStr", + "c++": "JS_GetPropertyStr(JSContext *, JSValue, const char *)", + "go": "(*JSContext).JSGetPropertyStr" + }, { + "mangle": "JS_GetPropertyUint32", + "c++": "JS_GetPropertyUint32(JSContext *, JSValue, uint32_t)", + "go": "(*JSContext).JSGetPropertyUint32" + }, { + "mangle": "JS_GetPrototype", + "c++": "JS_GetPrototype(JSContext *, JSValue)", + "go": "(*JSContext).JSGetPrototype" + }, { + "mangle": "JS_GetRuntime", + "c++": "JS_GetRuntime(JSContext *)", + "go": "(*JSContext).JSGetRuntime" + }, { + "mangle": "JS_GetRuntimeOpaque", + "c++": "JS_GetRuntimeOpaque(JSRuntime *)", + "go": "(*JSRuntime).JSGetRuntimeOpaque" + }, { + "mangle": "JS_GetScriptOrModuleName", + "c++": "JS_GetScriptOrModuleName(JSContext *, int)", + "go": "(*JSContext).JSGetScriptOrModuleName" + }, { + "mangle": "JS_GetTypedArrayBuffer", + "c++": "JS_GetTypedArrayBuffer(JSContext *, JSValue, size_t *, size_t *, size_t *)", + "go": "(*JSContext).JSGetTypedArrayBuffer" + }, { + "mangle": "JS_HasProperty", + "c++": "JS_HasProperty(JSContext *, JSValue, JSAtom)", + "go": "(*JSContext).JSHasProperty" + }, { + "mangle": "JS_Invoke", + "c++": "JS_Invoke(JSContext *, JSValue, JSAtom, int, JSValue *)", + "go": "(*JSContext).JSInvoke" + }, { + "mangle": "JS_IsArray", + "c++": "JS_IsArray(JSContext *, JSValue)", + "go": "(*JSContext).JSIsArray" + }, { + "mangle": "JS_IsConstructor", + "c++": "JS_IsConstructor(JSContext *, JSValue)", + "go": "(*JSContext).JSIsConstructor" + }, { + "mangle": "JS_IsError", + "c++": "JS_IsError(JSContext *, JSValue)", + "go": "(*JSContext).JSIsError" + }, { + "mangle": "JS_IsExtensible", + "c++": "JS_IsExtensible(JSContext *, JSValue)", + "go": "(*JSContext).JSIsExtensible" + }, { + "mangle": "JS_IsFunction", + "c++": "JS_IsFunction(JSContext *, JSValue)", + "go": "(*JSContext).JSIsFunction" + }, { + "mangle": "JS_IsInstanceOf", + "c++": "JS_IsInstanceOf(JSContext *, JSValue, JSValue)", + "go": "(*JSContext).JSIsInstanceOf" + }, { + "mangle": "JS_IsJobPending", + "c++": "JS_IsJobPending(JSRuntime *)", + "go": "(*JSRuntime).JSIsJobPending" + }, { + "mangle": "JS_IsLiveObject", + "c++": "JS_IsLiveObject(JSRuntime *, JSValue)", + "go": "(*JSRuntime).JSIsLiveObject" + }, { + "mangle": "JS_IsRegisteredClass", + "c++": "JS_IsRegisteredClass(JSRuntime *, JSClassID)", + "go": "(*JSRuntime).JSIsRegisteredClass" + }, { + "mangle": "JS_JSONStringify", + "c++": "JS_JSONStringify(JSContext *, JSValue, JSValue, JSValue)", + "go": "(*JSContext).JSJSONStringify" + }, { + "mangle": "JS_LoadModule", + "c++": "JS_LoadModule(JSContext *, const char *, const char *)", + "go": "(*JSContext).JSLoadModule" + }, { + "mangle": "JS_MarkValue", + "c++": "JS_MarkValue(JSRuntime *, JSValue, JS_MarkFunc *)", + "go": "(*JSRuntime).JSMarkValue" + }, { + "mangle": "JS_NewArray", + "c++": "JS_NewArray(JSContext *)", + "go": "(*JSContext).JSNewArray" + }, { + "mangle": "JS_NewArrayBuffer", + "c++": "JS_NewArrayBuffer(JSContext *, uint8_t *, size_t, JSFreeArrayBufferDataFunc *, void *, int)", + "go": "(*JSContext).JSNewArrayBuffer" + }, { + "mangle": "JS_NewArrayBufferCopy", + "c++": "JS_NewArrayBufferCopy(JSContext *, const uint8_t *, size_t)", + "go": "(*JSContext).JSNewArrayBufferCopy" + }, { + "mangle": "JS_NewAtom", + "c++": "JS_NewAtom(JSContext *, const char *)", + "go": "(*JSContext).JSNewAtom" + }, { + "mangle": "JS_NewAtomLen", + "c++": "JS_NewAtomLen(JSContext *, const char *, size_t)", + "go": "(*JSContext).JSNewAtomLen" + }, { + "mangle": "JS_NewAtomString", + "c++": "JS_NewAtomString(JSContext *, const char *)", + "go": "(*JSContext).JSNewAtomString" + }, { + "mangle": "JS_NewAtomUInt32", + "c++": "JS_NewAtomUInt32(JSContext *, uint32_t)", + "go": "(*JSContext).JSNewAtomUInt32" + }, { + "mangle": "JS_NewBigInt64", + "c++": "JS_NewBigInt64(JSContext *, int64_t)", + "go": "(*JSContext).JSNewBigInt64" + }, { + "mangle": "JS_NewBigUint64", + "c++": "JS_NewBigUint64(JSContext *, uint64_t)", + "go": "(*JSContext).JSNewBigUint64" + }, { + "mangle": "JS_NewCFunction2", + "c++": "JS_NewCFunction2(JSContext *, JSCFunction *, const char *, int, JSCFunctionEnum, int)", + "go": "(*JSContext).JSNewCFunction2" + }, { + "mangle": "JS_NewCFunctionData", + "c++": "JS_NewCFunctionData(JSContext *, JSCFunctionData *, int, int, int, JSValue *)", + "go": "(*JSContext).JSNewCFunctionData" + }, { + "mangle": "JS_NewCModule", + "c++": "JS_NewCModule(JSContext *, const char *, JSModuleInitFunc *)", + "go": "(*JSContext).JSNewCModule" + }, { + "mangle": "JS_NewClass", + "c++": "JS_NewClass(JSRuntime *, JSClassID, const JSClassDef *)", + "go": "(*JSRuntime).JSNewClass" + }, { + "mangle": "JS_NewClassID", + "c++": "JS_NewClassID(JSClassID *)", + "go": "(*JSClassID).JSNewClassID" + }, { + "mangle": "JS_NewContext", + "c++": "JS_NewContext(JSRuntime *)", + "go": "(*JSRuntime).JSNewContext" + }, { + "mangle": "JS_NewContextRaw", + "c++": "JS_NewContextRaw(JSRuntime *)", + "go": "(*JSRuntime).JSNewContextRaw" + }, { + "mangle": "JS_NewError", + "c++": "JS_NewError(JSContext *)", + "go": "(*JSContext).JSNewError" + }, { + "mangle": "JS_NewObject", + "c++": "JS_NewObject(JSContext *)", + "go": "(*JSContext).JSNewObject" + }, { + "mangle": "JS_NewObjectClass", + "c++": "JS_NewObjectClass(JSContext *, int)", + "go": "(*JSContext).JSNewObjectClass" + }, { + "mangle": "JS_NewObjectProto", + "c++": "JS_NewObjectProto(JSContext *, JSValue)", + "go": "(*JSContext).JSNewObjectProto" + }, { + "mangle": "JS_NewObjectProtoClass", + "c++": "JS_NewObjectProtoClass(JSContext *, JSValue, JSClassID)", + "go": "(*JSContext).JSNewObjectProtoClass" + }, { + "mangle": "JS_NewPromiseCapability", + "c++": "JS_NewPromiseCapability(JSContext *, JSValue *)", + "go": "(*JSContext).JSNewPromiseCapability" + }, { + "mangle": "JS_NewRuntime", + "c++": "JS_NewRuntime()", + "go": "JSNewRuntime" + }, { + "mangle": "JS_NewRuntime2", + "c++": "JS_NewRuntime2(const JSMallocFunctions *, void *)", + "go": "(*JSMallocFunctions).JSNewRuntime2" + }, { + "mangle": "JS_NewString", + "c++": "JS_NewString(JSContext *, const char *)", + "go": "(*JSContext).JSNewString" + }, { + "mangle": "JS_NewStringLen", + "c++": "JS_NewStringLen(JSContext *, const char *, size_t)", + "go": "(*JSContext).JSNewStringLen" + }, { + "mangle": "JS_ParseJSON", + "c++": "JS_ParseJSON(JSContext *, const char *, size_t, const char *)", + "go": "(*JSContext).JSParseJSON" + }, { + "mangle": "JS_ParseJSON2", + "c++": "JS_ParseJSON2(JSContext *, const char *, size_t, const char *, int)", + "go": "(*JSContext).JSParseJSON2" + }, { + "mangle": "JS_PreventExtensions", + "c++": "JS_PreventExtensions(JSContext *, JSValue)", + "go": "(*JSContext).JSPreventExtensions" + }, { + "mangle": "JS_PromiseResult", + "c++": "JS_PromiseResult(JSContext *, JSValue)", + "go": "(*JSContext).JSPromiseResult" + }, { + "mangle": "JS_PromiseState", + "c++": "JS_PromiseState(JSContext *, JSValue)", + "go": "(*JSContext).JSPromiseState" + }, { + "mangle": "JS_ReadObject", + "c++": "JS_ReadObject(JSContext *, const uint8_t *, size_t, int)", + "go": "(*JSContext).JSReadObject" + }, { + "mangle": "JS_ResetUncatchableError", + "c++": "JS_ResetUncatchableError(JSContext *)", + "go": "(*JSContext).JSResetUncatchableError" + }, { + "mangle": "JS_ResolveModule", + "c++": "JS_ResolveModule(JSContext *, JSValue)", + "go": "(*JSContext).JSResolveModule" + }, { + "mangle": "JS_RunGC", + "c++": "JS_RunGC(JSRuntime *)", + "go": "(*JSRuntime).JSRunGC" + }, { + "mangle": "JS_SetCanBlock", + "c++": "JS_SetCanBlock(JSRuntime *, int)", + "go": "(*JSRuntime).JSSetCanBlock" + }, { + "mangle": "JS_SetClassProto", + "c++": "JS_SetClassProto(JSContext *, JSClassID, JSValue)", + "go": "(*JSContext).JSSetClassProto" + }, { + "mangle": "JS_SetConstructor", + "c++": "JS_SetConstructor(JSContext *, JSValue, JSValue)", + "go": "(*JSContext).JSSetConstructor" + }, { + "mangle": "JS_SetConstructorBit", + "c++": "JS_SetConstructorBit(JSContext *, JSValue, int)", + "go": "(*JSContext).JSSetConstructorBit" + }, { + "mangle": "JS_SetContextOpaque", + "c++": "JS_SetContextOpaque(JSContext *, void *)", + "go": "(*JSContext).JSSetContextOpaque" + }, { + "mangle": "JS_SetGCThreshold", + "c++": "JS_SetGCThreshold(JSRuntime *, size_t)", + "go": "(*JSRuntime).JSSetGCThreshold" + }, { + "mangle": "JS_SetHostPromiseRejectionTracker", + "c++": "JS_SetHostPromiseRejectionTracker(JSRuntime *, JSHostPromiseRejectionTracker *, void *)", + "go": "(*JSRuntime).JSSetHostPromiseRejectionTracker" + }, { + "mangle": "JS_SetInterruptHandler", + "c++": "JS_SetInterruptHandler(JSRuntime *, JSInterruptHandler *, void *)", + "go": "(*JSRuntime).JSSetInterruptHandler" + }, { + "mangle": "JS_SetIsHTMLDDA", + "c++": "JS_SetIsHTMLDDA(JSContext *, JSValue)", + "go": "(*JSContext).JSSetIsHTMLDDA" + }, { + "mangle": "JS_SetMaxStackSize", + "c++": "JS_SetMaxStackSize(JSRuntime *, size_t)", + "go": "(*JSRuntime).JSSetMaxStackSize" + }, { + "mangle": "JS_SetMemoryLimit", + "c++": "JS_SetMemoryLimit(JSRuntime *, size_t)", + "go": "(*JSRuntime).JSSetMemoryLimit" + }, { + "mangle": "JS_SetModuleExport", + "c++": "JS_SetModuleExport(JSContext *, JSModuleDef *, const char *, JSValue)", + "go": "(*JSContext).JSSetModuleExport" + }, { + "mangle": "JS_SetModuleExportList", + "c++": "JS_SetModuleExportList(JSContext *, JSModuleDef *, const JSCFunctionListEntry *, int)", + "go": "(*JSContext).JSSetModuleExportList" + }, { + "mangle": "JS_SetModuleLoaderFunc", + "c++": "JS_SetModuleLoaderFunc(JSRuntime *, JSModuleNormalizeFunc *, JSModuleLoaderFunc *, void *)", + "go": "(*JSRuntime).JSSetModuleLoaderFunc" + }, { + "mangle": "JS_SetOpaque", + "c++": "JS_SetOpaque(JSValue, void *)", + "go": "JSValue.JSSetOpaque" + }, { + "mangle": "JS_SetPropertyFunctionList", + "c++": "JS_SetPropertyFunctionList(JSContext *, JSValue, const JSCFunctionListEntry *, int)", + "go": "(*JSContext).JSSetPropertyFunctionList" + }, { + "mangle": "JS_SetPropertyInt64", + "c++": "JS_SetPropertyInt64(JSContext *, JSValue, int64_t, JSValue)", + "go": "(*JSContext).JSSetPropertyInt64" + }, { + "mangle": "JS_SetPropertyInternal", + "c++": "JS_SetPropertyInternal(JSContext *, JSValue, JSAtom, JSValue, JSValue, int)", + "go": "(*JSContext).JSSetPropertyInternal" + }, { + "mangle": "JS_SetPropertyStr", + "c++": "JS_SetPropertyStr(JSContext *, JSValue, const char *, JSValue)", + "go": "(*JSContext).JSSetPropertyStr" + }, { + "mangle": "JS_SetPropertyUint32", + "c++": "JS_SetPropertyUint32(JSContext *, JSValue, uint32_t, JSValue)", + "go": "(*JSContext).JSSetPropertyUint32" + }, { + "mangle": "JS_SetPrototype", + "c++": "JS_SetPrototype(JSContext *, JSValue, JSValue)", + "go": "(*JSContext).JSSetPrototype" + }, { + "mangle": "JS_SetRuntimeInfo", + "c++": "JS_SetRuntimeInfo(JSRuntime *, const char *)", + "go": "(*JSRuntime).JSSetRuntimeInfo" + }, { + "mangle": "JS_SetRuntimeOpaque", + "c++": "JS_SetRuntimeOpaque(JSRuntime *, void *)", + "go": "(*JSRuntime).JSSetRuntimeOpaque" + }, { + "mangle": "JS_SetSharedArrayBufferFunctions", + "c++": "JS_SetSharedArrayBufferFunctions(JSRuntime *, const JSSharedArrayBufferFunctions *)", + "go": "(*JSRuntime).JSSetSharedArrayBufferFunctions" + }, { + "mangle": "JS_Throw", + "c++": "JS_Throw(JSContext *, JSValue)", + "go": "(*JSContext).JSThrow" + }, { + "mangle": "JS_ThrowInternalError", + "c++": "JS_ThrowInternalError(JSContext *, const char *, ...)", + "go": "(*JSContext).JSThrowInternalError" + }, { + "mangle": "JS_ThrowOutOfMemory", + "c++": "JS_ThrowOutOfMemory(JSContext *)", + "go": "(*JSContext).JSThrowOutOfMemory" + }, { + "mangle": "JS_ThrowRangeError", + "c++": "JS_ThrowRangeError(JSContext *, const char *, ...)", + "go": "(*JSContext).JSThrowRangeError" + }, { + "mangle": "JS_ThrowReferenceError", + "c++": "JS_ThrowReferenceError(JSContext *, const char *, ...)", + "go": "(*JSContext).JSThrowReferenceError" + }, { + "mangle": "JS_ThrowSyntaxError", + "c++": "JS_ThrowSyntaxError(JSContext *, const char *, ...)", + "go": "(*JSContext).JSThrowSyntaxError" + }, { + "mangle": "JS_ThrowTypeError", + "c++": "JS_ThrowTypeError(JSContext *, const char *, ...)", + "go": "(*JSContext).JSThrowTypeError" + }, { + "mangle": "JS_ToBigInt64", + "c++": "JS_ToBigInt64(JSContext *, int64_t *, JSValue)", + "go": "(*JSContext).JSToBigInt64" + }, { + "mangle": "JS_ToBool", + "c++": "JS_ToBool(JSContext *, JSValue)", + "go": "(*JSContext).JSToBool" + }, { + "mangle": "JS_ToCStringLen2", + "c++": "JS_ToCStringLen2(JSContext *, size_t *, JSValue, int)", + "go": "(*JSContext).JSToCStringLen2" + }, { + "mangle": "JS_ToFloat64", + "c++": "JS_ToFloat64(JSContext *, double *, JSValue)", + "go": "(*JSContext).JSToFloat64" + }, { + "mangle": "JS_ToIndex", + "c++": "JS_ToIndex(JSContext *, uint64_t *, JSValue)", + "go": "(*JSContext).JSToIndex" + }, { + "mangle": "JS_ToInt32", + "c++": "JS_ToInt32(JSContext *, int32_t *, JSValue)", + "go": "(*JSContext).JSToInt32" + }, { + "mangle": "JS_ToInt64", + "c++": "JS_ToInt64(JSContext *, int64_t *, JSValue)", + "go": "(*JSContext).JSToInt64" + }, { + "mangle": "JS_ToInt64Ext", + "c++": "JS_ToInt64Ext(JSContext *, int64_t *, JSValue)", + "go": "(*JSContext).JSToInt64Ext" + }, { + "mangle": "JS_ToPropertyKey", + "c++": "JS_ToPropertyKey(JSContext *, JSValue)", + "go": "(*JSContext).JSToPropertyKey" + }, { + "mangle": "JS_ToString", + "c++": "JS_ToString(JSContext *, JSValue)", + "go": "(*JSContext).JSToString" + }, { + "mangle": "JS_UpdateStackTop", + "c++": "JS_UpdateStackTop(JSRuntime *)", + "go": "(*JSRuntime).JSUpdateStackTop" + }, { + "mangle": "JS_ValueToAtom", + "c++": "JS_ValueToAtom(JSContext *, JSValue)", + "go": "(*JSContext).JSValueToAtom" + }, { + "mangle": "JS_WriteObject", + "c++": "JS_WriteObject(JSContext *, size_t *, JSValue, int)", + "go": "(*JSContext).JSWriteObject" + }, { + "mangle": "JS_WriteObject2", + "c++": "JS_WriteObject2(JSContext *, size_t *, JSValue, int, uint8_t ***, size_t *)", + "go": "(*JSContext).JSWriteObject2" + }, { + "mangle": "__JS_FreeValue", + "c++": "__JS_FreeValue(JSContext *, JSValue)", + "go": "(*JSContext).X__JSFreeValue" + }, { + "mangle": "__JS_FreeValueRT", + "c++": "__JS_FreeValueRT(JSRuntime *, JSValue)", + "go": "(*JSRuntime).X__JSFreeValueRT" + }, { + "mangle": "cr_copy", + "c++": "cr_copy(CharRange *, const CharRange *)", + "go": "(*CharRange).CrCopy" + }, { + "mangle": "cr_free", + "c++": "cr_free(CharRange *)", + "go": "(*CharRange).CrFree" + }, { + "mangle": "cr_init", + "c++": "cr_init(CharRange *, void *, void *(*)(void *, void *, size_t))", + "go": "(*CharRange).CrInit" + }, { + "mangle": "cr_invert", + "c++": "cr_invert(CharRange *)", + "go": "(*CharRange).CrInvert" + }, { + "mangle": "cr_op", + "c++": "cr_op(CharRange *, const uint32_t *, int, const uint32_t *, int, int)", + "go": "(*CharRange).CrOp" + }, { + "mangle": "cr_realloc", + "c++": "cr_realloc(CharRange *, int)", + "go": "(*CharRange).CrRealloc" + }, { + "mangle": "cr_regexp_canonicalize", + "c++": "cr_regexp_canonicalize(CharRange *, int)", + "go": "(*CharRange).CrRegexpCanonicalize" + }, { + "mangle": "cr_union1", + "c++": "cr_union1(CharRange *, const uint32_t *, int)", + "go": "(*CharRange).CrUnion1" + }, { + "mangle": "dbuf_free", + "c++": "dbuf_free(DynBuf *)", + "go": "(*DynBuf).DbufFree" + }, { + "mangle": "dbuf_init", + "c++": "dbuf_init(DynBuf *)", + "go": "(*DynBuf).DbufInit" + }, { + "mangle": "dbuf_init2", + "c++": "dbuf_init2(DynBuf *, void *, DynBufReallocFunc *)", + "go": "(*DynBuf).DbufInit2" + }, { + "mangle": "dbuf_printf", + "c++": "dbuf_printf(DynBuf *, const char *, ...)", + "go": "(*DynBuf).DbufPrintf" + }, { + "mangle": "dbuf_put", + "c++": "dbuf_put(DynBuf *, const uint8_t *, size_t)", + "go": "(*DynBuf).DbufPut" + }, { + "mangle": "dbuf_put_self", + "c++": "dbuf_put_self(DynBuf *, size_t, size_t)", + "go": "(*DynBuf).DbufPutSelf" + }, { + "mangle": "dbuf_putc", + "c++": "dbuf_putc(DynBuf *, uint8_t)", + "go": "(*DynBuf).DbufPutc" + }, { + "mangle": "dbuf_putstr", + "c++": "dbuf_putstr(DynBuf *, const char *)", + "go": "(*DynBuf).DbufPutstr" + }, { + "mangle": "dbuf_realloc", + "c++": "dbuf_realloc(DynBuf *, size_t)", + "go": "(*DynBuf).DbufRealloc" + }, { + "mangle": "dbuf_write", + "c++": "dbuf_write(DynBuf *, size_t, const uint8_t *, size_t)", + "go": "(*DynBuf).DbufWrite" + }, { + "mangle": "has_suffix", + "c++": "has_suffix(const char *, const char *)", + "go": "HasSuffix" + }, { + "mangle": "js_free", + "c++": "js_free(JSContext *, void *)", + "go": "(*JSContext).JsFree" + }, { + "mangle": "js_free_rt", + "c++": "js_free_rt(JSRuntime *, void *)", + "go": "(*JSRuntime).JsFreeRt" + }, { + "mangle": "js_init_module_os", + "c++": "js_init_module_os(JSContext *, const char *)", + "go": "(*JSContext).JsInitModuleOs" + }, { + "mangle": "js_init_module_std", + "c++": "js_init_module_std(JSContext *, const char *)", + "go": "(*JSContext).JsInitModuleStd" + }, { + "mangle": "js_load_file", + "c++": "js_load_file(JSContext *, size_t *, const char *)", + "go": "(*JSContext).JsLoadFile" + }, { + "mangle": "js_malloc", + "c++": "js_malloc(JSContext *, size_t)", + "go": "(*JSContext).JsMalloc" + }, { + "mangle": "js_malloc_rt", + "c++": "js_malloc_rt(JSRuntime *, size_t)", + "go": "(*JSRuntime).JsMallocRt" + }, { + "mangle": "js_malloc_usable_size", + "c++": "js_malloc_usable_size(JSContext *, const void *)", + "go": "(*JSContext).JsMallocUsableSize" + }, { + "mangle": "js_malloc_usable_size_rt", + "c++": "js_malloc_usable_size_rt(JSRuntime *, const void *)", + "go": "(*JSRuntime).JsMallocUsableSizeRt" + }, { + "mangle": "js_mallocz", + "c++": "js_mallocz(JSContext *, size_t)", + "go": "(*JSContext).JsMallocz" + }, { + "mangle": "js_mallocz_rt", + "c++": "js_mallocz_rt(JSRuntime *, size_t)", + "go": "(*JSRuntime).JsMalloczRt" + }, { + "mangle": "js_module_loader", + "c++": "js_module_loader(JSContext *, const char *, void *)", + "go": "(*JSContext).JsModuleLoader" + }, { + "mangle": "js_module_set_import_meta", + "c++": "js_module_set_import_meta(JSContext *, JSValue, int, int)", + "go": "(*JSContext).JsModuleSetImportMeta" + }, { + "mangle": "js_realloc", + "c++": "js_realloc(JSContext *, void *, size_t)", + "go": "(*JSContext).JsRealloc" + }, { + "mangle": "js_realloc2", + "c++": "js_realloc2(JSContext *, void *, size_t, size_t *)", + "go": "(*JSContext).JsRealloc2" + }, { + "mangle": "js_realloc_rt", + "c++": "js_realloc_rt(JSRuntime *, void *, size_t)", + "go": "(*JSRuntime).JsReallocRt" + }, { + "mangle": "js_std_add_helpers", + "c++": "js_std_add_helpers(JSContext *, int, char **)", + "go": "(*JSContext).JsStdAddHelpers" + }, { + "mangle": "js_std_dump_error", + "c++": "js_std_dump_error(JSContext *)", + "go": "(*JSContext).JsStdDumpError" + }, { + "mangle": "js_std_eval_binary", + "c++": "js_std_eval_binary(JSContext *, const uint8_t *, size_t, int)", + "go": "(*JSContext).JsStdEvalBinary" + }, { + "mangle": "js_std_free_handlers", + "c++": "js_std_free_handlers(JSRuntime *)", + "go": "(*JSRuntime).JsStdFreeHandlers" + }, { + "mangle": "js_std_init_handlers", + "c++": "js_std_init_handlers(JSRuntime *)", + "go": "(*JSRuntime).JsStdInitHandlers" + }, { + "mangle": "js_std_loop", + "c++": "js_std_loop(JSContext *)", + "go": "(*JSContext).JsStdLoop" + }, { + "mangle": "js_std_promise_rejection_tracker", + "c++": "js_std_promise_rejection_tracker(JSContext *, JSValue, JSValue, int, void *)", + "go": "(*JSContext).JsStdPromiseRejectionTracker" + }, { + "mangle": "js_std_set_worker_new_context_func", + "c++": "js_std_set_worker_new_context_func(JSContext *(*)(JSRuntime *))", + "go": "JsStdSetWorkerNewContextFunc" + }, { + "mangle": "js_strdup", + "c++": "js_strdup(JSContext *, const char *)", + "go": "(*JSContext).JsStrdup" + }, { + "mangle": "js_string_codePointRange", + "c++": "js_string_codePointRange(JSContext *, JSValue, int, JSValue *)", + "go": "(*JSContext).JsStringCodePointRange" + }, { + "mangle": "js_strndup", + "c++": "js_strndup(JSContext *, const char *, size_t)", + "go": "(*JSContext).JsStrndup" + }, { + "mangle": "lre_canonicalize", + "c++": "lre_canonicalize(uint32_t, int)", + "go": "LreCanonicalize" + }, { + "mangle": "lre_case_conv", + "c++": "lre_case_conv(uint32_t *, uint32_t, int)", + "go": "LreCaseConv" + }, { + "mangle": "lre_check_stack_overflow", + "c++": "lre_check_stack_overflow(void *, size_t)", + "go": "LreCheckStackOverflow" + }, { + "mangle": "lre_compile", + "c++": "lre_compile(int *, char *, int, const char *, size_t, int, void *)", + "go": "LreCompile" + }, { + "mangle": "lre_exec", + "c++": "lre_exec(uint8_t **, const uint8_t *, const uint8_t *, int, int, int, void *)", + "go": "LreExec" + }, { + "mangle": "lre_get_capture_count", + "c++": "lre_get_capture_count(const uint8_t *)", + "go": "LreGetCaptureCount" + }, { + "mangle": "lre_get_flags", + "c++": "lre_get_flags(const uint8_t *)", + "go": "LreGetFlags" + }, { + "mangle": "lre_get_groupnames", + "c++": "lre_get_groupnames(const uint8_t *)", + "go": "LreGetGroupnames" + }, { + "mangle": "lre_is_case_ignorable", + "c++": "lre_is_case_ignorable(uint32_t)", + "go": "LreIsCaseIgnorable" + }, { + "mangle": "lre_is_cased", + "c++": "lre_is_cased(uint32_t)", + "go": "LreIsCased" + }, { + "mangle": "lre_is_id_continue", + "c++": "lre_is_id_continue(uint32_t)", + "go": "LreIsIdContinue" + }, { + "mangle": "lre_is_id_start", + "c++": "lre_is_id_start(uint32_t)", + "go": "LreIsIdStart" + }, { + "mangle": "lre_is_space", + "c++": "lre_is_space(int)", + "go": "LreIsSpace" + }, { + "mangle": "lre_js_is_ident_next", + "c++": "lre_js_is_ident_next(int)", + "go": "LreJsIsIdentNext" + }, { + "mangle": "lre_parse_escape", + "c++": "lre_parse_escape(const uint8_t **, int)", + "go": "LreParseEscape" + }, { + "mangle": "lre_realloc", + "c++": "lre_realloc(void *, void *, size_t)", + "go": "LreRealloc" + }, { + "mangle": "pstrcat", + "c++": "pstrcat(char *, int, const char *)", + "go": "Pstrcat" + }, { + "mangle": "pstrcpy", + "c++": "pstrcpy(char *, int, const char *)", + "go": "Pstrcpy" + }, { + "mangle": "rqsort", + "c++": "rqsort(void *, size_t, size_t, int (*)(const void *, const void *, void *), void *)", + "go": "Rqsort" + }, { + "mangle": "strstart", + "c++": "strstart(const char *, const char *, const char **)", + "go": "Strstart" + }, { + "mangle": "unicode_from_utf8", + "c++": "unicode_from_utf8(const uint8_t *, int, const uint8_t **)", + "go": "UnicodeFromUtf8" + }, { + "mangle": "unicode_general_category", + "c++": "unicode_general_category(CharRange *, const char *)", + "go": "(*CharRange).UnicodeGeneralCategory" + }, { + "mangle": "unicode_normalize", + "c++": "unicode_normalize(uint32_t **, const uint32_t *, int, UnicodeNormalizationEnum, void *, void *(*)(void *, void *, size_t))", + "go": "UnicodeNormalize" + }, { + "mangle": "unicode_prop", + "c++": "unicode_prop(CharRange *, const char *)", + "go": "(*CharRange).UnicodeProp" + }, { + "mangle": "unicode_script", + "c++": "unicode_script(CharRange *, const char *, int)", + "go": "(*CharRange).UnicodeScript" + }, { + "mangle": "unicode_to_utf8", + "c++": "unicode_to_utf8(uint8_t *, unsigned int)", + "go": "UnicodeToUtf8" + }] \ No newline at end of file diff --git a/quickjs/llpkg.cfg b/quickjs/llpkg.cfg new file mode 100644 index 00000000..ee0e3f9b --- /dev/null +++ b/quickjs/llpkg.cfg @@ -0,0 +1,9 @@ + +{ + "upstream": { + "package": { + "name": "quickjs", + "version": "2024-01-13" + } + } +} \ No newline at end of file diff --git a/quickjs/quickjs-libc.go b/quickjs/quickjs-libc.go new file mode 100644 index 00000000..2e0e3804 --- /dev/null +++ b/quickjs/quickjs-libc.go @@ -0,0 +1,62 @@ +package quickjs + +import ( + "github.com/goplus/llgo/c" + "unsafe" +) + +// llgo:link (*JSContext).JsInitModuleStd C.js_init_module_std +func (recv_ *JSContext) JsInitModuleStd(module_name *int8) *JSModuleDef { + return nil +} + +// llgo:link (*JSContext).JsInitModuleOs C.js_init_module_os +func (recv_ *JSContext) JsInitModuleOs(module_name *int8) *JSModuleDef { + return nil +} + +// llgo:link (*JSContext).JsStdAddHelpers C.js_std_add_helpers +func (recv_ *JSContext) JsStdAddHelpers(argc c.Int, argv **int8) { +} + +// llgo:link (*JSContext).JsStdLoop C.js_std_loop +func (recv_ *JSContext) JsStdLoop() { +} + +// llgo:link (*JSRuntime).JsStdInitHandlers C.js_std_init_handlers +func (recv_ *JSRuntime) JsStdInitHandlers() { +} + +// llgo:link (*JSRuntime).JsStdFreeHandlers C.js_std_free_handlers +func (recv_ *JSRuntime) JsStdFreeHandlers() { +} + +// llgo:link (*JSContext).JsStdDumpError C.js_std_dump_error +func (recv_ *JSContext) JsStdDumpError() { +} + +// llgo:link (*JSContext).JsLoadFile C.js_load_file +func (recv_ *JSContext) JsLoadFile(pbuf_len *uintptr, filename *int8) *uint8 { + return nil +} + +// llgo:link (*JSContext).JsModuleSetImportMeta C.js_module_set_import_meta +func (recv_ *JSContext) JsModuleSetImportMeta(func_val JSValue, use_realpath c.Int, is_main c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JsModuleLoader C.js_module_loader +func (recv_ *JSContext) JsModuleLoader(module_name *int8, opaque unsafe.Pointer) *JSModuleDef { + return nil +} + +// llgo:link (*JSContext).JsStdEvalBinary C.js_std_eval_binary +func (recv_ *JSContext) JsStdEvalBinary(buf *uint8, buf_len uintptr, flags c.Int) { +} + +// llgo:link (*JSContext).JsStdPromiseRejectionTracker C.js_std_promise_rejection_tracker +func (recv_ *JSContext) JsStdPromiseRejectionTracker(promise JSValue, reason JSValue, is_handled c.Int, opaque unsafe.Pointer) { +} + +//go:linkname JsStdSetWorkerNewContextFunc C.js_std_set_worker_new_context_func +func JsStdSetWorkerNewContextFunc(func_ func(*JSRuntime) *JSContext) diff --git a/quickjs/quickjs.go b/quickjs/quickjs.go new file mode 100644 index 00000000..46a70e2f --- /dev/null +++ b/quickjs/quickjs.go @@ -0,0 +1,1246 @@ +package quickjs + +import ( + "github.com/goplus/llgo/c" + "unsafe" +) + +const JS_PROP_HAS_SHIFT = 8 +const JS_ATOM_NULL = 0 +const JS_DEF_CFUNC = 0 +const JS_DEF_CGETSET = 1 +const JS_DEF_CGETSET_MAGIC = 2 +const JS_DEF_PROP_STRING = 3 +const JS_DEF_PROP_INT32 = 4 +const JS_DEF_PROP_INT64 = 5 +const JS_DEF_PROP_DOUBLE = 6 +const JS_DEF_PROP_UNDEFINED = 7 +const JS_DEF_OBJECT = 8 +const JS_DEF_ALIAS = 9 + +type JSRuntime struct { + Unused [8]uint8 +} + +type JSContext struct { + Unused [8]uint8 +} + +type JSObject struct { + Unused [8]uint8 +} + +type JSClass struct { + Unused [8]uint8 +} +type JSClassID uint32 +type JSAtom uint32 + +const ( + JSTAGFIRST c.Int = -11 + JSTAGBIGDECIMAL c.Int = -11 + JSTAGBIGINT c.Int = -10 + JSTAGBIGFLOAT c.Int = -9 + JSTAGSYMBOL c.Int = -8 + JSTAGSTRING c.Int = -7 + JSTAGMODULE c.Int = -3 + JSTAGFUNCTIONBYTECODE c.Int = -2 + JSTAGOBJECT c.Int = -1 + JSTAGINT c.Int = 0 + JSTAGBOOL c.Int = 1 + JSTAGNULL c.Int = 2 + JSTAGUNDEFINED c.Int = 3 + JSTAGUNINITIALIZED c.Int = 4 + JSTAGCATCHOFFSET c.Int = 5 + JSTAGEXCEPTION c.Int = 6 + JSTAGFLOAT64 c.Int = 7 +) + +type JSRefCountHeader struct { + RefCount c.Int +} + +type JSValueUnion struct { + Float64 float64 +} + +type JSValue struct { + U JSValueUnion + Tag int64 +} + +// llgo:type C +type JSCFunction func(*JSContext, JSValue, c.Int, *JSValue) JSValue + +// llgo:type C +type JSCFunctionMagic func(*JSContext, JSValue, c.Int, *JSValue, c.Int) JSValue + +// llgo:type C +type JSCFunctionData func(*JSContext, JSValue, c.Int, *JSValue, c.Int, *JSValue) JSValue + +type JSMallocState struct { + MallocCount uintptr + MallocSize uintptr + MallocLimit uintptr + Opaque unsafe.Pointer +} + +type JSMallocFunctions struct { + JsMalloc unsafe.Pointer + JsFree unsafe.Pointer + JsRealloc unsafe.Pointer + JsMallocUsableSize unsafe.Pointer +} + +type JSGCObjectHeader struct { + Unused [8]uint8 +} + +//go:linkname JSNewRuntime C.JS_NewRuntime +func JSNewRuntime() *JSRuntime + +/* info lifetime must exceed that of rt */ +// llgo:link (*JSRuntime).JSSetRuntimeInfo C.JS_SetRuntimeInfo +func (recv_ *JSRuntime) JSSetRuntimeInfo(info *int8) { +} + +// llgo:link (*JSRuntime).JSSetMemoryLimit C.JS_SetMemoryLimit +func (recv_ *JSRuntime) JSSetMemoryLimit(limit uintptr) { +} + +// llgo:link (*JSRuntime).JSSetGCThreshold C.JS_SetGCThreshold +func (recv_ *JSRuntime) JSSetGCThreshold(gc_threshold uintptr) { +} + +/* use 0 to disable maximum stack size check */ +// llgo:link (*JSRuntime).JSSetMaxStackSize C.JS_SetMaxStackSize +func (recv_ *JSRuntime) JSSetMaxStackSize(stack_size uintptr) { +} + +/* should be called when changing thread to update the stack top value + used to check stack overflow. */ +// llgo:link (*JSRuntime).JSUpdateStackTop C.JS_UpdateStackTop +func (recv_ *JSRuntime) JSUpdateStackTop() { +} + +// llgo:link (*JSMallocFunctions).JSNewRuntime2 C.JS_NewRuntime2 +func (recv_ *JSMallocFunctions) JSNewRuntime2(opaque unsafe.Pointer) *JSRuntime { + return nil +} + +// llgo:link (*JSRuntime).JSFreeRuntime C.JS_FreeRuntime +func (recv_ *JSRuntime) JSFreeRuntime() { +} + +// llgo:link (*JSRuntime).JSGetRuntimeOpaque C.JS_GetRuntimeOpaque +func (recv_ *JSRuntime) JSGetRuntimeOpaque() unsafe.Pointer { + return nil +} + +// llgo:link (*JSRuntime).JSSetRuntimeOpaque C.JS_SetRuntimeOpaque +func (recv_ *JSRuntime) JSSetRuntimeOpaque(opaque unsafe.Pointer) { +} + +// llgo:type C +type JSMarkFunc func(*JSRuntime, *JSGCObjectHeader) + +// llgo:link (*JSRuntime).JSMarkValue C.JS_MarkValue +func (recv_ *JSRuntime) JSMarkValue(val JSValue, mark_func JSMarkFunc) { +} + +// llgo:link (*JSRuntime).JSRunGC C.JS_RunGC +func (recv_ *JSRuntime) JSRunGC() { +} + +// llgo:link (*JSRuntime).JSIsLiveObject C.JS_IsLiveObject +func (recv_ *JSRuntime) JSIsLiveObject(obj JSValue) c.Int { + return 0 +} + +// llgo:link (*JSRuntime).JSNewContext C.JS_NewContext +func (recv_ *JSRuntime) JSNewContext() *JSContext { + return nil +} + +// llgo:link (*JSContext).JSFreeContext C.JS_FreeContext +func (recv_ *JSContext) JSFreeContext() { +} + +// llgo:link (*JSContext).JSDupContext C.JS_DupContext +func (recv_ *JSContext) JSDupContext() *JSContext { + return nil +} + +// llgo:link (*JSContext).JSGetContextOpaque C.JS_GetContextOpaque +func (recv_ *JSContext) JSGetContextOpaque() unsafe.Pointer { + return nil +} + +// llgo:link (*JSContext).JSSetContextOpaque C.JS_SetContextOpaque +func (recv_ *JSContext) JSSetContextOpaque(opaque unsafe.Pointer) { +} + +// llgo:link (*JSContext).JSGetRuntime C.JS_GetRuntime +func (recv_ *JSContext) JSGetRuntime() *JSRuntime { + return nil +} + +// llgo:link (*JSContext).JSSetClassProto C.JS_SetClassProto +func (recv_ *JSContext) JSSetClassProto(class_id JSClassID, obj JSValue) { +} + +// llgo:link (*JSContext).JSGetClassProto C.JS_GetClassProto +func (recv_ *JSContext) JSGetClassProto(class_id JSClassID) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +/* the following functions are used to select the intrinsic object to + save memory */ +// llgo:link (*JSRuntime).JSNewContextRaw C.JS_NewContextRaw +func (recv_ *JSRuntime) JSNewContextRaw() *JSContext { + return nil +} + +// llgo:link (*JSContext).JSAddIntrinsicBaseObjects C.JS_AddIntrinsicBaseObjects +func (recv_ *JSContext) JSAddIntrinsicBaseObjects() { +} + +// llgo:link (*JSContext).JSAddIntrinsicDate C.JS_AddIntrinsicDate +func (recv_ *JSContext) JSAddIntrinsicDate() { +} + +// llgo:link (*JSContext).JSAddIntrinsicEval C.JS_AddIntrinsicEval +func (recv_ *JSContext) JSAddIntrinsicEval() { +} + +// llgo:link (*JSContext).JSAddIntrinsicStringNormalize C.JS_AddIntrinsicStringNormalize +func (recv_ *JSContext) JSAddIntrinsicStringNormalize() { +} + +// llgo:link (*JSContext).JSAddIntrinsicRegExpCompiler C.JS_AddIntrinsicRegExpCompiler +func (recv_ *JSContext) JSAddIntrinsicRegExpCompiler() { +} + +// llgo:link (*JSContext).JSAddIntrinsicRegExp C.JS_AddIntrinsicRegExp +func (recv_ *JSContext) JSAddIntrinsicRegExp() { +} + +// llgo:link (*JSContext).JSAddIntrinsicJSON C.JS_AddIntrinsicJSON +func (recv_ *JSContext) JSAddIntrinsicJSON() { +} + +// llgo:link (*JSContext).JSAddIntrinsicProxy C.JS_AddIntrinsicProxy +func (recv_ *JSContext) JSAddIntrinsicProxy() { +} + +// llgo:link (*JSContext).JSAddIntrinsicMapSet C.JS_AddIntrinsicMapSet +func (recv_ *JSContext) JSAddIntrinsicMapSet() { +} + +// llgo:link (*JSContext).JSAddIntrinsicTypedArrays C.JS_AddIntrinsicTypedArrays +func (recv_ *JSContext) JSAddIntrinsicTypedArrays() { +} + +// llgo:link (*JSContext).JSAddIntrinsicPromise C.JS_AddIntrinsicPromise +func (recv_ *JSContext) JSAddIntrinsicPromise() { +} + +// llgo:link (*JSContext).JSAddIntrinsicBigInt C.JS_AddIntrinsicBigInt +func (recv_ *JSContext) JSAddIntrinsicBigInt() { +} + +// llgo:link (*JSContext).JSAddIntrinsicBigFloat C.JS_AddIntrinsicBigFloat +func (recv_ *JSContext) JSAddIntrinsicBigFloat() { +} + +// llgo:link (*JSContext).JSAddIntrinsicBigDecimal C.JS_AddIntrinsicBigDecimal +func (recv_ *JSContext) JSAddIntrinsicBigDecimal() { +} + +/* enable operator overloading */ +// llgo:link (*JSContext).JSAddIntrinsicOperators C.JS_AddIntrinsicOperators +func (recv_ *JSContext) JSAddIntrinsicOperators() { +} + +/* enable "use math" */ +// llgo:link (*JSContext).JSEnableBignumExt C.JS_EnableBignumExt +func (recv_ *JSContext) JSEnableBignumExt(enable c.Int) { +} + +// llgo:link (*JSContext).JsStringCodePointRange C.js_string_codePointRange +func (recv_ *JSContext) JsStringCodePointRange(this_val JSValue, argc c.Int, argv *JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSRuntime).JsMallocRt C.js_malloc_rt +func (recv_ *JSRuntime) JsMallocRt(size uintptr) unsafe.Pointer { + return nil +} + +// llgo:link (*JSRuntime).JsFreeRt C.js_free_rt +func (recv_ *JSRuntime) JsFreeRt(ptr unsafe.Pointer) { +} + +// llgo:link (*JSRuntime).JsReallocRt C.js_realloc_rt +func (recv_ *JSRuntime) JsReallocRt(ptr unsafe.Pointer, size uintptr) unsafe.Pointer { + return nil +} + +// llgo:link (*JSRuntime).JsMallocUsableSizeRt C.js_malloc_usable_size_rt +func (recv_ *JSRuntime) JsMallocUsableSizeRt(ptr unsafe.Pointer) uintptr { + return 0 +} + +// llgo:link (*JSRuntime).JsMalloczRt C.js_mallocz_rt +func (recv_ *JSRuntime) JsMalloczRt(size uintptr) unsafe.Pointer { + return nil +} + +// llgo:link (*JSContext).JsMalloc C.js_malloc +func (recv_ *JSContext) JsMalloc(size uintptr) unsafe.Pointer { + return nil +} + +// llgo:link (*JSContext).JsFree C.js_free +func (recv_ *JSContext) JsFree(ptr unsafe.Pointer) { +} + +// llgo:link (*JSContext).JsRealloc C.js_realloc +func (recv_ *JSContext) JsRealloc(ptr unsafe.Pointer, size uintptr) unsafe.Pointer { + return nil +} + +// llgo:link (*JSContext).JsMallocUsableSize C.js_malloc_usable_size +func (recv_ *JSContext) JsMallocUsableSize(ptr unsafe.Pointer) uintptr { + return 0 +} + +// llgo:link (*JSContext).JsRealloc2 C.js_realloc2 +func (recv_ *JSContext) JsRealloc2(ptr unsafe.Pointer, size uintptr, pslack *uintptr) unsafe.Pointer { + return nil +} + +// llgo:link (*JSContext).JsMallocz C.js_mallocz +func (recv_ *JSContext) JsMallocz(size uintptr) unsafe.Pointer { + return nil +} + +// llgo:link (*JSContext).JsStrdup C.js_strdup +func (recv_ *JSContext) JsStrdup(str *int8) *int8 { + return nil +} + +// llgo:link (*JSContext).JsStrndup C.js_strndup +func (recv_ *JSContext) JsStrndup(s *int8, n uintptr) *int8 { + return nil +} + +type JSMemoryUsage struct { + MallocSize int64 + MallocLimit int64 + MemoryUsedSize int64 + MallocCount int64 + MemoryUsedCount int64 + AtomCount int64 + AtomSize int64 + StrCount int64 + StrSize int64 + ObjCount int64 + ObjSize int64 + PropCount int64 + PropSize int64 + ShapeCount int64 + ShapeSize int64 + JsFuncCount int64 + JsFuncSize int64 + JsFuncCodeSize int64 + JsFuncPc2lineCount int64 + JsFuncPc2lineSize int64 + CFuncCount int64 + ArrayCount int64 + FastArrayCount int64 + FastArrayElements int64 + BinaryObjectCount int64 + BinaryObjectSize int64 +} + +// llgo:link (*JSRuntime).JSComputeMemoryUsage C.JS_ComputeMemoryUsage +func (recv_ *JSRuntime) JSComputeMemoryUsage(s *JSMemoryUsage) { +} + +//go:linkname JSDumpMemoryUsage C.JS_DumpMemoryUsage +func JSDumpMemoryUsage(fp *c.FILE, s *JSMemoryUsage, rt *JSRuntime) + +// llgo:link (*JSContext).JSNewAtomLen C.JS_NewAtomLen +func (recv_ *JSContext) JSNewAtomLen(str *int8, len uintptr) JSAtom { + return 0 +} + +// llgo:link (*JSContext).JSNewAtom C.JS_NewAtom +func (recv_ *JSContext) JSNewAtom(str *int8) JSAtom { + return 0 +} + +// llgo:link (*JSContext).JSNewAtomUInt32 C.JS_NewAtomUInt32 +func (recv_ *JSContext) JSNewAtomUInt32(n uint32) JSAtom { + return 0 +} + +// llgo:link (*JSContext).JSDupAtom C.JS_DupAtom +func (recv_ *JSContext) JSDupAtom(v JSAtom) JSAtom { + return 0 +} + +// llgo:link (*JSContext).JSFreeAtom C.JS_FreeAtom +func (recv_ *JSContext) JSFreeAtom(v JSAtom) { +} + +// llgo:link (*JSRuntime).JSFreeAtomRT C.JS_FreeAtomRT +func (recv_ *JSRuntime) JSFreeAtomRT(v JSAtom) { +} + +// llgo:link (*JSContext).JSAtomToValue C.JS_AtomToValue +func (recv_ *JSContext) JSAtomToValue(atom JSAtom) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSAtomToString C.JS_AtomToString +func (recv_ *JSContext) JSAtomToString(atom JSAtom) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSAtomToCString C.JS_AtomToCString +func (recv_ *JSContext) JSAtomToCString(atom JSAtom) *int8 { + return nil +} + +// llgo:link (*JSContext).JSValueToAtom C.JS_ValueToAtom +func (recv_ *JSContext) JSValueToAtom(val JSValue) JSAtom { + return 0 +} + +/* object class support */ + +type JSPropertyEnum struct { + IsEnumerable c.Int + Atom JSAtom +} + +type JSPropertyDescriptor struct { + Flags c.Int + Value JSValue + Getter JSValue + Setter JSValue +} + +type JSClassExoticMethods struct { + GetOwnProperty unsafe.Pointer + GetOwnPropertyNames unsafe.Pointer + DeleteProperty unsafe.Pointer + DefineOwnProperty unsafe.Pointer + HasProperty unsafe.Pointer + GetProperty unsafe.Pointer + SetProperty unsafe.Pointer +} + +// llgo:type C +type JSClassFinalizer func(*JSRuntime, JSValue) + +// llgo:type C +type JSClassGCMark func(*JSRuntime, JSValue, JSMarkFunc) + +// llgo:type C +type JSClassCall func(*JSContext, JSValue, JSValue, c.Int, *JSValue, c.Int) JSValue + +type JSClassDef struct { + ClassName *int8 + Finalizer *unsafe.Pointer + GcMark *unsafe.Pointer + Call *unsafe.Pointer + Exotic *JSClassExoticMethods +} + +// llgo:link (*JSClassID).JSNewClassID C.JS_NewClassID +func (recv_ *JSClassID) JSNewClassID() JSClassID { + return 0 +} + +// llgo:link (*JSRuntime).JSNewClass C.JS_NewClass +func (recv_ *JSRuntime) JSNewClass(class_id JSClassID, class_def *JSClassDef) c.Int { + return 0 +} + +// llgo:link (*JSRuntime).JSIsRegisteredClass C.JS_IsRegisteredClass +func (recv_ *JSRuntime) JSIsRegisteredClass(class_id JSClassID) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSNewBigInt64 C.JS_NewBigInt64 +func (recv_ *JSContext) JSNewBigInt64(v int64) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSNewBigUint64 C.JS_NewBigUint64 +func (recv_ *JSContext) JSNewBigUint64(v uint64) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSThrow C.JS_Throw +func (recv_ *JSContext) JSThrow(obj JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSGetException C.JS_GetException +func (recv_ *JSContext) JSGetException() JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSIsError C.JS_IsError +func (recv_ *JSContext) JSIsError(val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSResetUncatchableError C.JS_ResetUncatchableError +func (recv_ *JSContext) JSResetUncatchableError() { +} + +// llgo:link (*JSContext).JSNewError C.JS_NewError +func (recv_ *JSContext) JSNewError() JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSThrowSyntaxError C.JS_ThrowSyntaxError +func (recv_ *JSContext) JSThrowSyntaxError(fmt *int8, __llgo_va_list ...interface{}) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSThrowTypeError C.JS_ThrowTypeError +func (recv_ *JSContext) JSThrowTypeError(fmt *int8, __llgo_va_list ...interface{}) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSThrowReferenceError C.JS_ThrowReferenceError +func (recv_ *JSContext) JSThrowReferenceError(fmt *int8, __llgo_va_list ...interface{}) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSThrowRangeError C.JS_ThrowRangeError +func (recv_ *JSContext) JSThrowRangeError(fmt *int8, __llgo_va_list ...interface{}) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSThrowInternalError C.JS_ThrowInternalError +func (recv_ *JSContext) JSThrowInternalError(fmt *int8, __llgo_va_list ...interface{}) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSThrowOutOfMemory C.JS_ThrowOutOfMemory +func (recv_ *JSContext) JSThrowOutOfMemory() JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).X__JSFreeValue C.__JS_FreeValue +func (recv_ *JSContext) X__JSFreeValue(v JSValue) { +} + +// llgo:link (*JSRuntime).X__JSFreeValueRT C.__JS_FreeValueRT +func (recv_ *JSRuntime) X__JSFreeValueRT(v JSValue) { +} + +// llgo:link (*JSContext).JSToBool C.JS_ToBool +func (recv_ *JSContext) JSToBool(val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSToInt32 C.JS_ToInt32 +func (recv_ *JSContext) JSToInt32(pres *int32, val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSToInt64 C.JS_ToInt64 +func (recv_ *JSContext) JSToInt64(pres *int64, val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSToIndex C.JS_ToIndex +func (recv_ *JSContext) JSToIndex(plen *uint64, val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSToFloat64 C.JS_ToFloat64 +func (recv_ *JSContext) JSToFloat64(pres *float64, val JSValue) c.Int { + return 0 +} + +/* return an exception if 'val' is a Number */ +// llgo:link (*JSContext).JSToBigInt64 C.JS_ToBigInt64 +func (recv_ *JSContext) JSToBigInt64(pres *int64, val JSValue) c.Int { + return 0 +} + +/* same as JS_ToInt64() but allow BigInt */ +// llgo:link (*JSContext).JSToInt64Ext C.JS_ToInt64Ext +func (recv_ *JSContext) JSToInt64Ext(pres *int64, val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSNewStringLen C.JS_NewStringLen +func (recv_ *JSContext) JSNewStringLen(str1 *int8, len1 uintptr) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSNewString C.JS_NewString +func (recv_ *JSContext) JSNewString(str *int8) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSNewAtomString C.JS_NewAtomString +func (recv_ *JSContext) JSNewAtomString(str *int8) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSToString C.JS_ToString +func (recv_ *JSContext) JSToString(val JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSToPropertyKey C.JS_ToPropertyKey +func (recv_ *JSContext) JSToPropertyKey(val JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSToCStringLen2 C.JS_ToCStringLen2 +func (recv_ *JSContext) JSToCStringLen2(plen *uintptr, val1 JSValue, cesu8 c.Int) *int8 { + return nil +} + +// llgo:link (*JSContext).JSFreeCString C.JS_FreeCString +func (recv_ *JSContext) JSFreeCString(ptr *int8) { +} + +// llgo:link (*JSContext).JSNewObjectProtoClass C.JS_NewObjectProtoClass +func (recv_ *JSContext) JSNewObjectProtoClass(proto JSValue, class_id JSClassID) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSNewObjectClass C.JS_NewObjectClass +func (recv_ *JSContext) JSNewObjectClass(class_id c.Int) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSNewObjectProto C.JS_NewObjectProto +func (recv_ *JSContext) JSNewObjectProto(proto JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSNewObject C.JS_NewObject +func (recv_ *JSContext) JSNewObject() JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSIsFunction C.JS_IsFunction +func (recv_ *JSContext) JSIsFunction(val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSIsConstructor C.JS_IsConstructor +func (recv_ *JSContext) JSIsConstructor(val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSSetConstructorBit C.JS_SetConstructorBit +func (recv_ *JSContext) JSSetConstructorBit(func_obj JSValue, val c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSNewArray C.JS_NewArray +func (recv_ *JSContext) JSNewArray() JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSIsArray C.JS_IsArray +func (recv_ *JSContext) JSIsArray(val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSGetPropertyInternal C.JS_GetPropertyInternal +func (recv_ *JSContext) JSGetPropertyInternal(obj JSValue, prop JSAtom, receiver JSValue, throw_ref_error c.Int) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSGetPropertyStr C.JS_GetPropertyStr +func (recv_ *JSContext) JSGetPropertyStr(this_obj JSValue, prop *int8) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSGetPropertyUint32 C.JS_GetPropertyUint32 +func (recv_ *JSContext) JSGetPropertyUint32(this_obj JSValue, idx uint32) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSSetPropertyInternal C.JS_SetPropertyInternal +func (recv_ *JSContext) JSSetPropertyInternal(obj JSValue, prop JSAtom, val JSValue, this_obj JSValue, flags c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSSetPropertyUint32 C.JS_SetPropertyUint32 +func (recv_ *JSContext) JSSetPropertyUint32(this_obj JSValue, idx uint32, val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSSetPropertyInt64 C.JS_SetPropertyInt64 +func (recv_ *JSContext) JSSetPropertyInt64(this_obj JSValue, idx int64, val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSSetPropertyStr C.JS_SetPropertyStr +func (recv_ *JSContext) JSSetPropertyStr(this_obj JSValue, prop *int8, val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSHasProperty C.JS_HasProperty +func (recv_ *JSContext) JSHasProperty(this_obj JSValue, prop JSAtom) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSIsExtensible C.JS_IsExtensible +func (recv_ *JSContext) JSIsExtensible(obj JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSPreventExtensions C.JS_PreventExtensions +func (recv_ *JSContext) JSPreventExtensions(obj JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSDeleteProperty C.JS_DeleteProperty +func (recv_ *JSContext) JSDeleteProperty(obj JSValue, prop JSAtom, flags c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSSetPrototype C.JS_SetPrototype +func (recv_ *JSContext) JSSetPrototype(obj JSValue, proto_val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSGetPrototype C.JS_GetPrototype +func (recv_ *JSContext) JSGetPrototype(val JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSGetOwnPropertyNames C.JS_GetOwnPropertyNames +func (recv_ *JSContext) JSGetOwnPropertyNames(ptab **JSPropertyEnum, plen *uint32, obj JSValue, flags c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSGetOwnProperty C.JS_GetOwnProperty +func (recv_ *JSContext) JSGetOwnProperty(desc *JSPropertyDescriptor, obj JSValue, prop JSAtom) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSCall C.JS_Call +func (recv_ *JSContext) JSCall(func_obj JSValue, this_obj JSValue, argc c.Int, argv *JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSInvoke C.JS_Invoke +func (recv_ *JSContext) JSInvoke(this_val JSValue, atom JSAtom, argc c.Int, argv *JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSCallConstructor C.JS_CallConstructor +func (recv_ *JSContext) JSCallConstructor(func_obj JSValue, argc c.Int, argv *JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSCallConstructor2 C.JS_CallConstructor2 +func (recv_ *JSContext) JSCallConstructor2(func_obj JSValue, new_target JSValue, argc c.Int, argv *JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +//go:linkname JSDetectModule C.JS_DetectModule +func JSDetectModule(input *int8, input_len uintptr) c.Int + +/* 'input' must be zero terminated i.e. input[input_len] = '\0'. */ +// llgo:link (*JSContext).JSEval C.JS_Eval +func (recv_ *JSContext) JSEval(input *int8, input_len uintptr, filename *int8, eval_flags c.Int) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +/* same as JS_Eval() but with an explicit 'this_obj' parameter */ +// llgo:link (*JSContext).JSEvalThis C.JS_EvalThis +func (recv_ *JSContext) JSEvalThis(this_obj JSValue, input *int8, input_len uintptr, filename *int8, eval_flags c.Int) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSGetGlobalObject C.JS_GetGlobalObject +func (recv_ *JSContext) JSGetGlobalObject() JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSIsInstanceOf C.JS_IsInstanceOf +func (recv_ *JSContext) JSIsInstanceOf(val JSValue, obj JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSDefineProperty C.JS_DefineProperty +func (recv_ *JSContext) JSDefineProperty(this_obj JSValue, prop JSAtom, val JSValue, getter JSValue, setter JSValue, flags c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSDefinePropertyValue C.JS_DefinePropertyValue +func (recv_ *JSContext) JSDefinePropertyValue(this_obj JSValue, prop JSAtom, val JSValue, flags c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSDefinePropertyValueUint32 C.JS_DefinePropertyValueUint32 +func (recv_ *JSContext) JSDefinePropertyValueUint32(this_obj JSValue, idx uint32, val JSValue, flags c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSDefinePropertyValueStr C.JS_DefinePropertyValueStr +func (recv_ *JSContext) JSDefinePropertyValueStr(this_obj JSValue, prop *int8, val JSValue, flags c.Int) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSDefinePropertyGetSet C.JS_DefinePropertyGetSet +func (recv_ *JSContext) JSDefinePropertyGetSet(this_obj JSValue, prop JSAtom, getter JSValue, setter JSValue, flags c.Int) c.Int { + return 0 +} + +// llgo:link JSValue.JSSetOpaque C.JS_SetOpaque +func (recv_ JSValue) JSSetOpaque(opaque unsafe.Pointer) { +} + +// llgo:link JSValue.JSGetOpaque C.JS_GetOpaque +func (recv_ JSValue) JSGetOpaque(class_id JSClassID) unsafe.Pointer { + return nil +} + +// llgo:link (*JSContext).JSGetOpaque2 C.JS_GetOpaque2 +func (recv_ *JSContext) JSGetOpaque2(obj JSValue, class_id JSClassID) unsafe.Pointer { + return nil +} + +/* 'buf' must be zero terminated i.e. buf[buf_len] = '\0'. */ +// llgo:link (*JSContext).JSParseJSON C.JS_ParseJSON +func (recv_ *JSContext) JSParseJSON(buf *int8, buf_len uintptr, filename *int8) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSParseJSON2 C.JS_ParseJSON2 +func (recv_ *JSContext) JSParseJSON2(buf *int8, buf_len uintptr, filename *int8, flags c.Int) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSJSONStringify C.JS_JSONStringify +func (recv_ *JSContext) JSJSONStringify(obj JSValue, replacer JSValue, space0 JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:type C +type JSFreeArrayBufferDataFunc func(*JSRuntime, unsafe.Pointer, unsafe.Pointer) + +// llgo:link (*JSContext).JSNewArrayBuffer C.JS_NewArrayBuffer +func (recv_ *JSContext) JSNewArrayBuffer(buf *uint8, len uintptr, free_func JSFreeArrayBufferDataFunc, opaque unsafe.Pointer, is_shared c.Int) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSNewArrayBufferCopy C.JS_NewArrayBufferCopy +func (recv_ *JSContext) JSNewArrayBufferCopy(buf *uint8, len uintptr) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSDetachArrayBuffer C.JS_DetachArrayBuffer +func (recv_ *JSContext) JSDetachArrayBuffer(obj JSValue) { +} + +// llgo:link (*JSContext).JSGetArrayBuffer C.JS_GetArrayBuffer +func (recv_ *JSContext) JSGetArrayBuffer(psize *uintptr, obj JSValue) *uint8 { + return nil +} + +// llgo:link (*JSContext).JSGetTypedArrayBuffer C.JS_GetTypedArrayBuffer +func (recv_ *JSContext) JSGetTypedArrayBuffer(obj JSValue, pbyte_offset *uintptr, pbyte_length *uintptr, pbytes_per_element *uintptr) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +type JSSharedArrayBufferFunctions struct { + SabAlloc unsafe.Pointer + SabFree unsafe.Pointer + SabDup unsafe.Pointer + SabOpaque unsafe.Pointer +} + +// llgo:link (*JSRuntime).JSSetSharedArrayBufferFunctions C.JS_SetSharedArrayBufferFunctions +func (recv_ *JSRuntime) JSSetSharedArrayBufferFunctions(sf *JSSharedArrayBufferFunctions) { +} + +type JSPromiseStateEnum c.Int + +const ( + JSPROMISEPENDING JSPromiseStateEnum = 0 + JSPROMISEFULFILLED JSPromiseStateEnum = 1 + JSPROMISEREJECTED JSPromiseStateEnum = 2 +) + +// llgo:link (*JSContext).JSNewPromiseCapability C.JS_NewPromiseCapability +func (recv_ *JSContext) JSNewPromiseCapability(resolving_funcs *JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSPromiseState C.JS_PromiseState +func (recv_ *JSContext) JSPromiseState(promise JSValue) JSPromiseStateEnum { + return 0 +} + +// llgo:link (*JSContext).JSPromiseResult C.JS_PromiseResult +func (recv_ *JSContext) JSPromiseResult(promise JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:type C +type JSHostPromiseRejectionTracker func(*JSContext, JSValue, JSValue, c.Int, unsafe.Pointer) + +// llgo:link (*JSRuntime).JSSetHostPromiseRejectionTracker C.JS_SetHostPromiseRejectionTracker +func (recv_ *JSRuntime) JSSetHostPromiseRejectionTracker(cb JSHostPromiseRejectionTracker, opaque unsafe.Pointer) { +} + +// llgo:type C +type JSInterruptHandler func(*JSRuntime, unsafe.Pointer) c.Int + +// llgo:link (*JSRuntime).JSSetInterruptHandler C.JS_SetInterruptHandler +func (recv_ *JSRuntime) JSSetInterruptHandler(cb JSInterruptHandler, opaque unsafe.Pointer) { +} + +/* if can_block is TRUE, Atomics.wait() can be used */ +// llgo:link (*JSRuntime).JSSetCanBlock C.JS_SetCanBlock +func (recv_ *JSRuntime) JSSetCanBlock(can_block c.Int) { +} + +/* set the [IsHTMLDDA] internal slot */ +// llgo:link (*JSContext).JSSetIsHTMLDDA C.JS_SetIsHTMLDDA +func (recv_ *JSContext) JSSetIsHTMLDDA(obj JSValue) { +} + +type JSModuleDef struct { + Unused [8]uint8 +} + +// llgo:type C +type JSModuleNormalizeFunc func(*JSContext, *int8, *int8, unsafe.Pointer) *int8 + +// llgo:type C +type JSModuleLoaderFunc func(*JSContext, *int8, unsafe.Pointer) *JSModuleDef + +/* module_normalize = NULL is allowed and invokes the default module + filename normalizer */ +// llgo:link (*JSRuntime).JSSetModuleLoaderFunc C.JS_SetModuleLoaderFunc +func (recv_ *JSRuntime) JSSetModuleLoaderFunc(module_normalize JSModuleNormalizeFunc, module_loader JSModuleLoaderFunc, opaque unsafe.Pointer) { +} + +/* return the import.meta object of a module */ +// llgo:link (*JSContext).JSGetImportMeta C.JS_GetImportMeta +func (recv_ *JSContext) JSGetImportMeta(m *JSModuleDef) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSGetModuleName C.JS_GetModuleName +func (recv_ *JSContext) JSGetModuleName(m *JSModuleDef) JSAtom { + return 0 +} + +// llgo:type C +type JSJobFunc func(*JSContext, c.Int, *JSValue) JSValue + +// llgo:link (*JSContext).JSEnqueueJob C.JS_EnqueueJob +func (recv_ *JSContext) JSEnqueueJob(job_func JSJobFunc, argc c.Int, argv *JSValue) c.Int { + return 0 +} + +// llgo:link (*JSRuntime).JSIsJobPending C.JS_IsJobPending +func (recv_ *JSRuntime) JSIsJobPending() c.Int { + return 0 +} + +// llgo:link (*JSRuntime).JSExecutePendingJob C.JS_ExecutePendingJob +func (recv_ *JSRuntime) JSExecutePendingJob(pctx **JSContext) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSWriteObject C.JS_WriteObject +func (recv_ *JSContext) JSWriteObject(psize *uintptr, obj JSValue, flags c.Int) *uint8 { + return nil +} + +// llgo:link (*JSContext).JSWriteObject2 C.JS_WriteObject2 +func (recv_ *JSContext) JSWriteObject2(psize *uintptr, obj JSValue, flags c.Int, psab_tab ***uint8, psab_tab_len *uintptr) *uint8 { + return nil +} + +// llgo:link (*JSContext).JSReadObject C.JS_ReadObject +func (recv_ *JSContext) JSReadObject(buf *uint8, buf_len uintptr, flags c.Int) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +/* instantiate and evaluate a bytecode function. Only used when + reading a script or module with JS_ReadObject() */ +// llgo:link (*JSContext).JSEvalFunction C.JS_EvalFunction +func (recv_ *JSContext) JSEvalFunction(fun_obj JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +/* load the dependencies of the module 'obj'. Useful when JS_ReadObject() + returns a module. */ +// llgo:link (*JSContext).JSResolveModule C.JS_ResolveModule +func (recv_ *JSContext) JSResolveModule(obj JSValue) c.Int { + return 0 +} + +/* only exported for os.Worker() */ +// llgo:link (*JSContext).JSGetScriptOrModuleName C.JS_GetScriptOrModuleName +func (recv_ *JSContext) JSGetScriptOrModuleName(n_stack_levels c.Int) JSAtom { + return 0 +} + +/* only exported for os.Worker() */ +// llgo:link (*JSContext).JSLoadModule C.JS_LoadModule +func (recv_ *JSContext) JSLoadModule(basename *int8, filename *int8) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +type JSCFunctionEnum c.Int + +const ( + JSCFUNCGeneric JSCFunctionEnum = 0 + JSCFUNCGenericMagic JSCFunctionEnum = 1 + JSCFUNCConstructor JSCFunctionEnum = 2 + JSCFUNCConstructorMagic JSCFunctionEnum = 3 + JSCFUNCConstructorOrFunc JSCFunctionEnum = 4 + JSCFUNCConstructorOrFuncMagic JSCFunctionEnum = 5 + JSCFUNCFF JSCFunctionEnum = 6 + JSCFUNCFFF JSCFunctionEnum = 7 + JSCFUNCGetter JSCFunctionEnum = 8 + JSCFUNCSetter JSCFunctionEnum = 9 + JSCFUNCGetterMagic JSCFunctionEnum = 10 + JSCFUNCSetterMagic JSCFunctionEnum = 11 + JSCFUNCIteratorNext JSCFunctionEnum = 12 +) + +type JSCFunctionType struct { + Generic *unsafe.Pointer +} + +// llgo:link (*JSContext).JSNewCFunction2 C.JS_NewCFunction2 +func (recv_ *JSContext) JSNewCFunction2(func_ JSCFunction, name *int8, length c.Int, cproto JSCFunctionEnum, magic c.Int) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSNewCFunctionData C.JS_NewCFunctionData +func (recv_ *JSContext) JSNewCFunctionData(func_ JSCFunctionData, length c.Int, magic c.Int, data_len c.Int, data *JSValue) JSValue { + return struct { + U JSValueUnion + Tag int64 + }{} +} + +// llgo:link (*JSContext).JSSetConstructor C.JS_SetConstructor +func (recv_ *JSContext) JSSetConstructor(func_obj JSValue, proto JSValue) { +} + +/* C property definition */ + +type JSCFunctionListEntry struct { + Name *int8 + PropFlags uint8 + DefType uint8 + Magic int16 + U struct { + Func struct { + Length uint8 + Cproto uint8 + Cfunc JSCFunctionType + } + } +} + +// llgo:link (*JSContext).JSSetPropertyFunctionList C.JS_SetPropertyFunctionList +func (recv_ *JSContext) JSSetPropertyFunctionList(obj JSValue, tab *JSCFunctionListEntry, len c.Int) { +} + +// llgo:type C +type JSModuleInitFunc func(*JSContext, *JSModuleDef) c.Int + +// llgo:link (*JSContext).JSNewCModule C.JS_NewCModule +func (recv_ *JSContext) JSNewCModule(name_str *int8, func_ JSModuleInitFunc) *JSModuleDef { + return nil +} + +/* can only be called before the module is instantiated */ +// llgo:link (*JSContext).JSAddModuleExport C.JS_AddModuleExport +func (recv_ *JSContext) JSAddModuleExport(m *JSModuleDef, name_str *int8) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSAddModuleExportList C.JS_AddModuleExportList +func (recv_ *JSContext) JSAddModuleExportList(m *JSModuleDef, tab *JSCFunctionListEntry, len c.Int) c.Int { + return 0 +} + +/* can only be called after the module is instantiated */ +// llgo:link (*JSContext).JSSetModuleExport C.JS_SetModuleExport +func (recv_ *JSContext) JSSetModuleExport(m *JSModuleDef, export_name *int8, val JSValue) c.Int { + return 0 +} + +// llgo:link (*JSContext).JSSetModuleExportList C.JS_SetModuleExportList +func (recv_ *JSContext) JSSetModuleExportList(m *JSModuleDef, tab *JSCFunctionListEntry, len c.Int) c.Int { + return 0 +} diff --git a/quickjs/quickjs_autogen_link.go b/quickjs/quickjs_autogen_link.go new file mode 100644 index 00000000..717c9c43 --- /dev/null +++ b/quickjs/quickjs_autogen_link.go @@ -0,0 +1,3 @@ +package quickjs + +const LLGoPackage string = "link: $(pkg-config --libs quickjs);" From b1faa68bc764377d1c2d64e579e20b4c813036a0 Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Thu, 5 Jun 2025 12:13:43 +0800 Subject: [PATCH 2/3] refine test & llcppg v0.5.1 --- quickjs/_demo/add/main.go | 5 +- quickjs/cutils.go | 52 +-- quickjs/go.mod | 2 +- quickjs/go.sum | 4 +- quickjs/libregexp.go | 20 +- quickjs/libunicode-table.go | 552 ++++++++++++++--------------- quickjs/libunicode.go | 50 +-- quickjs/quickjs-libc.go | 18 +- quickjs/quickjs.go | 600 ++++++++++++-------------------- quickjs/quickjs_autogen_link.go | 2 + 10 files changed, 578 insertions(+), 727 deletions(-) diff --git a/quickjs/_demo/add/main.go b/quickjs/_demo/add/main.go index 416e962e..d74109a9 100644 --- a/quickjs/_demo/add/main.go +++ b/quickjs/_demo/add/main.go @@ -1,7 +1,7 @@ package main import ( - "github.com/goplus/llgo/c" + "github.com/goplus/lib/c" "github.com/goplus/llpkg/quickjs" ) @@ -17,8 +17,7 @@ func main() { } ctx.JsStdAddHelpers(0, nil) jsCode := c.Str("console.log('Hello from QuickJS! 1 + 2 =', 1 + 2);") - result := ctx.JSEval(jsCode, c.Strlen(jsCode), c.Str(""), 0) - ctx.X__JSFreeValue(result) + ctx.JSEval(jsCode, c.Strlen(jsCode), c.Str(""), 0) ctx.JSFreeContext() rt.JSFreeRuntime() } diff --git a/quickjs/cutils.go b/quickjs/cutils.go index c4afb80d..4a4a75c5 100644 --- a/quickjs/cutils.go +++ b/quickjs/cutils.go @@ -1,8 +1,8 @@ package quickjs import ( - "github.com/goplus/llgo/c" - "unsafe" + "github.com/goplus/lib/c" + _ "unsafe" ) const UTF8_CHAR_LEN_MAX = 6 @@ -15,39 +15,39 @@ const ( ) //go:linkname Pstrcpy C.pstrcpy -func Pstrcpy(buf *int8, buf_size c.Int, str *int8) +func Pstrcpy(buf *c.Char, buf_size c.Int, str *c.Char) //go:linkname Pstrcat C.pstrcat -func Pstrcat(buf *int8, buf_size c.Int, s *int8) *int8 +func Pstrcat(buf *c.Char, buf_size c.Int, s *c.Char) *c.Char //go:linkname Strstart C.strstart -func Strstart(str *int8, val *int8, ptr **int8) c.Int +func Strstart(str *c.Char, val *c.Char, ptr **c.Char) c.Int //go:linkname HasSuffix C.has_suffix -func HasSuffix(str *int8, suffix *int8) c.Int +func HasSuffix(str *c.Char, suffix *c.Char) c.Int type PackedU64 struct { - V uint64 + V c.Uint64T } type PackedU32 struct { - V uint32 + V c.Uint32T } type PackedU16 struct { - V uint16 + V c.Uint16T } // llgo:type C -type DynBufReallocFunc func(unsafe.Pointer, unsafe.Pointer, uintptr) unsafe.Pointer +type DynBufReallocFunc func(c.Pointer, c.Pointer, c.SizeT) c.Pointer type DynBuf struct { - Buf *uint8 - Size uintptr - AllocatedSize uintptr + Buf *c.Uint8T + Size c.SizeT + AllocatedSize c.SizeT Error BOOL - ReallocFunc *unsafe.Pointer - Opaque unsafe.Pointer + ReallocFunc *c.Pointer + Opaque c.Pointer } // llgo:link (*DynBuf).DbufInit C.dbuf_init @@ -55,41 +55,41 @@ func (recv_ *DynBuf) DbufInit() { } // llgo:link (*DynBuf).DbufInit2 C.dbuf_init2 -func (recv_ *DynBuf) DbufInit2(opaque unsafe.Pointer, realloc_func DynBufReallocFunc) { +func (recv_ *DynBuf) DbufInit2(opaque c.Pointer, realloc_func DynBufReallocFunc) { } // llgo:link (*DynBuf).DbufRealloc C.dbuf_realloc -func (recv_ *DynBuf) DbufRealloc(new_size uintptr) c.Int { +func (recv_ *DynBuf) DbufRealloc(new_size c.SizeT) c.Int { return 0 } // llgo:link (*DynBuf).DbufWrite C.dbuf_write -func (recv_ *DynBuf) DbufWrite(offset uintptr, data *uint8, len uintptr) c.Int { +func (recv_ *DynBuf) DbufWrite(offset c.SizeT, data *c.Uint8T, len c.SizeT) c.Int { return 0 } // llgo:link (*DynBuf).DbufPut C.dbuf_put -func (recv_ *DynBuf) DbufPut(data *uint8, len uintptr) c.Int { +func (recv_ *DynBuf) DbufPut(data *c.Uint8T, len c.SizeT) c.Int { return 0 } // llgo:link (*DynBuf).DbufPutSelf C.dbuf_put_self -func (recv_ *DynBuf) DbufPutSelf(offset uintptr, len uintptr) c.Int { +func (recv_ *DynBuf) DbufPutSelf(offset c.SizeT, len c.SizeT) c.Int { return 0 } // llgo:link (*DynBuf).DbufPutc C.dbuf_putc -func (recv_ *DynBuf) DbufPutc(c uint8) c.Int { +func (recv_ *DynBuf) DbufPutc(c c.Uint8T) c.Int { return 0 } // llgo:link (*DynBuf).DbufPutstr C.dbuf_putstr -func (recv_ *DynBuf) DbufPutstr(str *int8) c.Int { +func (recv_ *DynBuf) DbufPutstr(str *c.Char) c.Int { return 0 } // llgo:link (*DynBuf).DbufPrintf C.dbuf_printf -func (recv_ *DynBuf) DbufPrintf(fmt *int8, __llgo_va_list ...interface{}) c.Int { +func (recv_ *DynBuf) DbufPrintf(fmt *c.Char, __llgo_va_list ...interface{}) c.Int { return 0 } @@ -98,10 +98,10 @@ func (recv_ *DynBuf) DbufFree() { } //go:linkname UnicodeToUtf8 C.unicode_to_utf8 -func UnicodeToUtf8(buf *uint8, c c.Uint) c.Int +func UnicodeToUtf8(buf *c.Uint8T, c c.Uint) c.Int //go:linkname UnicodeFromUtf8 C.unicode_from_utf8 -func UnicodeFromUtf8(p *uint8, max_len c.Int, pp **uint8) c.Int +func UnicodeFromUtf8(p *c.Uint8T, max_len c.Int, pp **c.Uint8T) c.Int //go:linkname Rqsort C.rqsort -func Rqsort(base unsafe.Pointer, nmemb uintptr, size uintptr, cmp func(unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) c.Int, arg unsafe.Pointer) +func Rqsort(base c.Pointer, nmemb c.SizeT, size c.SizeT, cmp func(c.Pointer, c.Pointer, c.Pointer) c.Int, arg c.Pointer) diff --git a/quickjs/go.mod b/quickjs/go.mod index 1789908c..ddcce4f2 100644 --- a/quickjs/go.mod +++ b/quickjs/go.mod @@ -2,4 +2,4 @@ module github.com/goplus/llpkg/quickjs go 1.20 -require github.com/goplus/llgo v0.10.0 +require github.com/goplus/lib v0.2.0 diff --git a/quickjs/go.sum b/quickjs/go.sum index 3288b429..512980a5 100644 --- a/quickjs/go.sum +++ b/quickjs/go.sum @@ -1,2 +1,2 @@ -github.com/goplus/llgo v0.10.0 h1:s3U3cnO3cploF1xCCJleAb16NQFAmHxdUmdrNhRH3hY= -github.com/goplus/llgo v0.10.0/go.mod h1:YfOHsT/g3lc9b4GclLj812YzdSsJr0kd3CCB830TqHE= +github.com/goplus/lib v0.2.0 h1:AjqkN1XK5H23wZMMlpaUYAMCDAdSBQ2NMFrLtSh7W4g= +github.com/goplus/lib v0.2.0/go.mod h1:SgJv3oPqLLHCu0gcL46ejOP3x7/2ry2Jtxu7ta32kp0= diff --git a/quickjs/libregexp.go b/quickjs/libregexp.go index bd3e6ff5..43e218b1 100644 --- a/quickjs/libregexp.go +++ b/quickjs/libregexp.go @@ -1,37 +1,37 @@ package quickjs import ( - "github.com/goplus/llgo/c" - "unsafe" + "github.com/goplus/lib/c" + _ "unsafe" ) //go:linkname LreCompile C.lre_compile -func LreCompile(plen *c.Int, error_msg *int8, error_msg_size c.Int, buf *int8, buf_len uintptr, re_flags c.Int, opaque unsafe.Pointer) *uint8 +func LreCompile(plen *c.Int, error_msg *c.Char, error_msg_size c.Int, buf *c.Char, buf_len c.SizeT, re_flags c.Int, opaque c.Pointer) *c.Uint8T //go:linkname LreGetCaptureCount C.lre_get_capture_count -func LreGetCaptureCount(bc_buf *uint8) c.Int +func LreGetCaptureCount(bc_buf *c.Uint8T) c.Int //go:linkname LreGetFlags C.lre_get_flags -func LreGetFlags(bc_buf *uint8) c.Int +func LreGetFlags(bc_buf *c.Uint8T) c.Int //go:linkname LreGetGroupnames C.lre_get_groupnames -func LreGetGroupnames(bc_buf *uint8) *int8 +func LreGetGroupnames(bc_buf *c.Uint8T) *c.Char //go:linkname LreExec C.lre_exec -func LreExec(capture **uint8, bc_buf *uint8, cbuf *uint8, cindex c.Int, clen c.Int, cbuf_type c.Int, opaque unsafe.Pointer) c.Int +func LreExec(capture **c.Uint8T, bc_buf *c.Uint8T, cbuf *c.Uint8T, cindex c.Int, clen c.Int, cbuf_type c.Int, opaque c.Pointer) c.Int //go:linkname LreParseEscape C.lre_parse_escape -func LreParseEscape(pp **uint8, allow_utf16 c.Int) c.Int +func LreParseEscape(pp **c.Uint8T, allow_utf16 c.Int) c.Int //go:linkname LreIsSpace C.lre_is_space func LreIsSpace(c c.Int) c.Int /* must be provided by the user */ //go:linkname LreCheckStackOverflow C.lre_check_stack_overflow -func LreCheckStackOverflow(opaque unsafe.Pointer, alloca_size uintptr) c.Int +func LreCheckStackOverflow(opaque c.Pointer, alloca_size c.SizeT) c.Int //go:linkname LreRealloc C.lre_realloc -func LreRealloc(opaque unsafe.Pointer, ptr unsafe.Pointer, size uintptr) unsafe.Pointer +func LreRealloc(opaque c.Pointer, ptr c.Pointer, size c.SizeT) c.Pointer //go:linkname LreJsIsIdentNext C.lre_js_is_ident_next func LreJsIsIdentNext(c c.Int) c.Int diff --git a/quickjs/libunicode-table.go b/quickjs/libunicode-table.go index 71a20f61..ed428bf7 100644 --- a/quickjs/libunicode-table.go +++ b/quickjs/libunicode-table.go @@ -1,296 +1,296 @@ package quickjs import ( - "github.com/goplus/llgo/c" + "github.com/goplus/lib/c" _ "unsafe" ) type UnicodeGCEnum c.Int const ( - UNICODEGCCn UnicodeGCEnum = 0 - UNICODEGCLu UnicodeGCEnum = 1 - UNICODEGCLl UnicodeGCEnum = 2 - UNICODEGCLt UnicodeGCEnum = 3 - UNICODEGCLm UnicodeGCEnum = 4 - UNICODEGCLo UnicodeGCEnum = 5 - UNICODEGCMn UnicodeGCEnum = 6 - UNICODEGCMc UnicodeGCEnum = 7 - UNICODEGCMe UnicodeGCEnum = 8 - UNICODEGCNd UnicodeGCEnum = 9 - UNICODEGCNl UnicodeGCEnum = 10 - UNICODEGCNo UnicodeGCEnum = 11 - UNICODEGCSm UnicodeGCEnum = 12 - UNICODEGCSc UnicodeGCEnum = 13 - UNICODEGCSk UnicodeGCEnum = 14 - UNICODEGCSo UnicodeGCEnum = 15 - UNICODEGCPc UnicodeGCEnum = 16 - UNICODEGCPd UnicodeGCEnum = 17 - UNICODEGCPs UnicodeGCEnum = 18 - UNICODEGCPe UnicodeGCEnum = 19 - UNICODEGCPi UnicodeGCEnum = 20 - UNICODEGCPf UnicodeGCEnum = 21 - UNICODEGCPo UnicodeGCEnum = 22 - UNICODEGCZs UnicodeGCEnum = 23 - UNICODEGCZl UnicodeGCEnum = 24 - UNICODEGCZp UnicodeGCEnum = 25 - UNICODEGCCc UnicodeGCEnum = 26 - UNICODEGCCf UnicodeGCEnum = 27 - UNICODEGCCs UnicodeGCEnum = 28 - UNICODEGCCo UnicodeGCEnum = 29 - UNICODEGCLC UnicodeGCEnum = 30 - UNICODEGCL UnicodeGCEnum = 31 - UNICODEGCM UnicodeGCEnum = 32 - UNICODEGCN UnicodeGCEnum = 33 - UNICODEGCS UnicodeGCEnum = 34 - UNICODEGCP UnicodeGCEnum = 35 - UNICODEGCZ UnicodeGCEnum = 36 - UNICODEGCC UnicodeGCEnum = 37 - UNICODEGCCOUNT UnicodeGCEnum = 38 + UNICODE_GC_Cn UnicodeGCEnum = 0 + UNICODE_GC_Lu UnicodeGCEnum = 1 + UNICODE_GC_Ll UnicodeGCEnum = 2 + UNICODE_GC_Lt UnicodeGCEnum = 3 + UNICODE_GC_Lm UnicodeGCEnum = 4 + UNICODE_GC_Lo UnicodeGCEnum = 5 + UNICODE_GC_Mn UnicodeGCEnum = 6 + UNICODE_GC_Mc UnicodeGCEnum = 7 + UNICODE_GC_Me UnicodeGCEnum = 8 + UNICODE_GC_Nd UnicodeGCEnum = 9 + UNICODE_GC_Nl UnicodeGCEnum = 10 + UNICODE_GC_No UnicodeGCEnum = 11 + UNICODE_GC_Sm UnicodeGCEnum = 12 + UNICODE_GC_Sc UnicodeGCEnum = 13 + UNICODE_GC_Sk UnicodeGCEnum = 14 + UNICODE_GC_So UnicodeGCEnum = 15 + UNICODE_GC_Pc UnicodeGCEnum = 16 + UNICODE_GC_Pd UnicodeGCEnum = 17 + UNICODE_GC_Ps UnicodeGCEnum = 18 + UNICODE_GC_Pe UnicodeGCEnum = 19 + UNICODE_GC_Pi UnicodeGCEnum = 20 + UNICODE_GC_Pf UnicodeGCEnum = 21 + UNICODE_GC_Po UnicodeGCEnum = 22 + UNICODE_GC_Zs UnicodeGCEnum = 23 + UNICODE_GC_Zl UnicodeGCEnum = 24 + UNICODE_GC_Zp UnicodeGCEnum = 25 + UNICODE_GC_Cc UnicodeGCEnum = 26 + UNICODE_GC_Cf UnicodeGCEnum = 27 + UNICODE_GC_Cs UnicodeGCEnum = 28 + UNICODE_GC_Co UnicodeGCEnum = 29 + UNICODE_GC_LC UnicodeGCEnum = 30 + UNICODE_GC_L UnicodeGCEnum = 31 + UNICODE_GC_M UnicodeGCEnum = 32 + UNICODE_GC_N UnicodeGCEnum = 33 + UNICODE_GC_S UnicodeGCEnum = 34 + UNICODE_GC_P UnicodeGCEnum = 35 + UNICODE_GC_Z UnicodeGCEnum = 36 + UNICODE_GC_C UnicodeGCEnum = 37 + UNICODE_GC_COUNT UnicodeGCEnum = 38 ) type UnicodeScriptEnum c.Int const ( - UNICODESCRIPTUnknown UnicodeScriptEnum = 0 - UNICODESCRIPTAdlam UnicodeScriptEnum = 1 - UNICODESCRIPTAhom UnicodeScriptEnum = 2 - UNICODESCRIPTAnatolianHieroglyphs UnicodeScriptEnum = 3 - UNICODESCRIPTArabic UnicodeScriptEnum = 4 - UNICODESCRIPTArmenian UnicodeScriptEnum = 5 - UNICODESCRIPTAvestan UnicodeScriptEnum = 6 - UNICODESCRIPTBalinese UnicodeScriptEnum = 7 - UNICODESCRIPTBamum UnicodeScriptEnum = 8 - UNICODESCRIPTBassaVah UnicodeScriptEnum = 9 - UNICODESCRIPTBatak UnicodeScriptEnum = 10 - UNICODESCRIPTBengali UnicodeScriptEnum = 11 - UNICODESCRIPTBhaiksuki UnicodeScriptEnum = 12 - UNICODESCRIPTBopomofo UnicodeScriptEnum = 13 - UNICODESCRIPTBrahmi UnicodeScriptEnum = 14 - UNICODESCRIPTBraille UnicodeScriptEnum = 15 - UNICODESCRIPTBuginese UnicodeScriptEnum = 16 - UNICODESCRIPTBuhid UnicodeScriptEnum = 17 - UNICODESCRIPTCanadianAboriginal UnicodeScriptEnum = 18 - UNICODESCRIPTCarian UnicodeScriptEnum = 19 - UNICODESCRIPTCaucasianAlbanian UnicodeScriptEnum = 20 - UNICODESCRIPTChakma UnicodeScriptEnum = 21 - UNICODESCRIPTCham UnicodeScriptEnum = 22 - UNICODESCRIPTCherokee UnicodeScriptEnum = 23 - UNICODESCRIPTChorasmian UnicodeScriptEnum = 24 - UNICODESCRIPTCommon UnicodeScriptEnum = 25 - UNICODESCRIPTCoptic UnicodeScriptEnum = 26 - UNICODESCRIPTCuneiform UnicodeScriptEnum = 27 - UNICODESCRIPTCypriot UnicodeScriptEnum = 28 - UNICODESCRIPTCyrillic UnicodeScriptEnum = 29 - UNICODESCRIPTCyproMinoan UnicodeScriptEnum = 30 - UNICODESCRIPTDeseret UnicodeScriptEnum = 31 - UNICODESCRIPTDevanagari UnicodeScriptEnum = 32 - UNICODESCRIPTDivesAkuru UnicodeScriptEnum = 33 - UNICODESCRIPTDogra UnicodeScriptEnum = 34 - UNICODESCRIPTDuployan UnicodeScriptEnum = 35 - UNICODESCRIPTEgyptianHieroglyphs UnicodeScriptEnum = 36 - UNICODESCRIPTElbasan UnicodeScriptEnum = 37 - UNICODESCRIPTElymaic UnicodeScriptEnum = 38 - UNICODESCRIPTEthiopic UnicodeScriptEnum = 39 - UNICODESCRIPTGeorgian UnicodeScriptEnum = 40 - UNICODESCRIPTGlagolitic UnicodeScriptEnum = 41 - UNICODESCRIPTGothic UnicodeScriptEnum = 42 - UNICODESCRIPTGrantha UnicodeScriptEnum = 43 - UNICODESCRIPTGreek UnicodeScriptEnum = 44 - UNICODESCRIPTGujarati UnicodeScriptEnum = 45 - UNICODESCRIPTGunjalaGondi UnicodeScriptEnum = 46 - UNICODESCRIPTGurmukhi UnicodeScriptEnum = 47 - UNICODESCRIPTHan UnicodeScriptEnum = 48 - UNICODESCRIPTHangul UnicodeScriptEnum = 49 - UNICODESCRIPTHanifiRohingya UnicodeScriptEnum = 50 - UNICODESCRIPTHanunoo UnicodeScriptEnum = 51 - UNICODESCRIPTHatran UnicodeScriptEnum = 52 - UNICODESCRIPTHebrew UnicodeScriptEnum = 53 - UNICODESCRIPTHiragana UnicodeScriptEnum = 54 - UNICODESCRIPTImperialAramaic UnicodeScriptEnum = 55 - UNICODESCRIPTInherited UnicodeScriptEnum = 56 - UNICODESCRIPTInscriptionalPahlavi UnicodeScriptEnum = 57 - UNICODESCRIPTInscriptionalParthian UnicodeScriptEnum = 58 - UNICODESCRIPTJavanese UnicodeScriptEnum = 59 - UNICODESCRIPTKaithi UnicodeScriptEnum = 60 - UNICODESCRIPTKannada UnicodeScriptEnum = 61 - UNICODESCRIPTKatakana UnicodeScriptEnum = 62 - UNICODESCRIPTKawi UnicodeScriptEnum = 63 - UNICODESCRIPTKayahLi UnicodeScriptEnum = 64 - UNICODESCRIPTKharoshthi UnicodeScriptEnum = 65 - UNICODESCRIPTKhmer UnicodeScriptEnum = 66 - UNICODESCRIPTKhojki UnicodeScriptEnum = 67 - UNICODESCRIPTKhitanSmallScript UnicodeScriptEnum = 68 - UNICODESCRIPTKhudawadi UnicodeScriptEnum = 69 - UNICODESCRIPTLao UnicodeScriptEnum = 70 - UNICODESCRIPTLatin UnicodeScriptEnum = 71 - UNICODESCRIPTLepcha UnicodeScriptEnum = 72 - UNICODESCRIPTLimbu UnicodeScriptEnum = 73 - UNICODESCRIPTLinearA UnicodeScriptEnum = 74 - UNICODESCRIPTLinearB UnicodeScriptEnum = 75 - UNICODESCRIPTLisu UnicodeScriptEnum = 76 - UNICODESCRIPTLycian UnicodeScriptEnum = 77 - UNICODESCRIPTLydian UnicodeScriptEnum = 78 - UNICODESCRIPTMakasar UnicodeScriptEnum = 79 - UNICODESCRIPTMahajani UnicodeScriptEnum = 80 - UNICODESCRIPTMalayalam UnicodeScriptEnum = 81 - UNICODESCRIPTMandaic UnicodeScriptEnum = 82 - UNICODESCRIPTManichaean UnicodeScriptEnum = 83 - UNICODESCRIPTMarchen UnicodeScriptEnum = 84 - UNICODESCRIPTMasaramGondi UnicodeScriptEnum = 85 - UNICODESCRIPTMedefaidrin UnicodeScriptEnum = 86 - UNICODESCRIPTMeeteiMayek UnicodeScriptEnum = 87 - UNICODESCRIPTMendeKikakui UnicodeScriptEnum = 88 - UNICODESCRIPTMeroiticCursive UnicodeScriptEnum = 89 - UNICODESCRIPTMeroiticHieroglyphs UnicodeScriptEnum = 90 - UNICODESCRIPTMiao UnicodeScriptEnum = 91 - UNICODESCRIPTModi UnicodeScriptEnum = 92 - UNICODESCRIPTMongolian UnicodeScriptEnum = 93 - UNICODESCRIPTMro UnicodeScriptEnum = 94 - UNICODESCRIPTMultani UnicodeScriptEnum = 95 - UNICODESCRIPTMyanmar UnicodeScriptEnum = 96 - UNICODESCRIPTNabataean UnicodeScriptEnum = 97 - UNICODESCRIPTNagMundari UnicodeScriptEnum = 98 - UNICODESCRIPTNandinagari UnicodeScriptEnum = 99 - UNICODESCRIPTNewTaiLue UnicodeScriptEnum = 100 - UNICODESCRIPTNewa UnicodeScriptEnum = 101 - UNICODESCRIPTNko UnicodeScriptEnum = 102 - UNICODESCRIPTNushu UnicodeScriptEnum = 103 - UNICODESCRIPTNyiakengPuachueHmong UnicodeScriptEnum = 104 - UNICODESCRIPTOgham UnicodeScriptEnum = 105 - UNICODESCRIPTOlChiki UnicodeScriptEnum = 106 - UNICODESCRIPTOldHungarian UnicodeScriptEnum = 107 - UNICODESCRIPTOldItalic UnicodeScriptEnum = 108 - UNICODESCRIPTOldNorthArabian UnicodeScriptEnum = 109 - UNICODESCRIPTOldPermic UnicodeScriptEnum = 110 - UNICODESCRIPTOldPersian UnicodeScriptEnum = 111 - UNICODESCRIPTOldSogdian UnicodeScriptEnum = 112 - UNICODESCRIPTOldSouthArabian UnicodeScriptEnum = 113 - UNICODESCRIPTOldTurkic UnicodeScriptEnum = 114 - UNICODESCRIPTOldUyghur UnicodeScriptEnum = 115 - UNICODESCRIPTOriya UnicodeScriptEnum = 116 - UNICODESCRIPTOsage UnicodeScriptEnum = 117 - UNICODESCRIPTOsmanya UnicodeScriptEnum = 118 - UNICODESCRIPTPahawhHmong UnicodeScriptEnum = 119 - UNICODESCRIPTPalmyrene UnicodeScriptEnum = 120 - UNICODESCRIPTPauCinHau UnicodeScriptEnum = 121 - UNICODESCRIPTPhagsPa UnicodeScriptEnum = 122 - UNICODESCRIPTPhoenician UnicodeScriptEnum = 123 - UNICODESCRIPTPsalterPahlavi UnicodeScriptEnum = 124 - UNICODESCRIPTRejang UnicodeScriptEnum = 125 - UNICODESCRIPTRunic UnicodeScriptEnum = 126 - UNICODESCRIPTSamaritan UnicodeScriptEnum = 127 - UNICODESCRIPTSaurashtra UnicodeScriptEnum = 128 - UNICODESCRIPTSharada UnicodeScriptEnum = 129 - UNICODESCRIPTShavian UnicodeScriptEnum = 130 - UNICODESCRIPTSiddham UnicodeScriptEnum = 131 - UNICODESCRIPTSignWriting UnicodeScriptEnum = 132 - UNICODESCRIPTSinhala UnicodeScriptEnum = 133 - UNICODESCRIPTSogdian UnicodeScriptEnum = 134 - UNICODESCRIPTSoraSompeng UnicodeScriptEnum = 135 - UNICODESCRIPTSoyombo UnicodeScriptEnum = 136 - UNICODESCRIPTSundanese UnicodeScriptEnum = 137 - UNICODESCRIPTSylotiNagri UnicodeScriptEnum = 138 - UNICODESCRIPTSyriac UnicodeScriptEnum = 139 - UNICODESCRIPTTagalog UnicodeScriptEnum = 140 - UNICODESCRIPTTagbanwa UnicodeScriptEnum = 141 - UNICODESCRIPTTaiLe UnicodeScriptEnum = 142 - UNICODESCRIPTTaiTham UnicodeScriptEnum = 143 - UNICODESCRIPTTaiViet UnicodeScriptEnum = 144 - UNICODESCRIPTTakri UnicodeScriptEnum = 145 - UNICODESCRIPTTamil UnicodeScriptEnum = 146 - UNICODESCRIPTTangut UnicodeScriptEnum = 147 - UNICODESCRIPTTelugu UnicodeScriptEnum = 148 - UNICODESCRIPTThaana UnicodeScriptEnum = 149 - UNICODESCRIPTThai UnicodeScriptEnum = 150 - UNICODESCRIPTTibetan UnicodeScriptEnum = 151 - UNICODESCRIPTTifinagh UnicodeScriptEnum = 152 - UNICODESCRIPTTirhuta UnicodeScriptEnum = 153 - UNICODESCRIPTTangsa UnicodeScriptEnum = 154 - UNICODESCRIPTToto UnicodeScriptEnum = 155 - UNICODESCRIPTUgaritic UnicodeScriptEnum = 156 - UNICODESCRIPTVai UnicodeScriptEnum = 157 - UNICODESCRIPTVithkuqi UnicodeScriptEnum = 158 - UNICODESCRIPTWancho UnicodeScriptEnum = 159 - UNICODESCRIPTWarangCiti UnicodeScriptEnum = 160 - UNICODESCRIPTYezidi UnicodeScriptEnum = 161 - UNICODESCRIPTYi UnicodeScriptEnum = 162 - UNICODESCRIPTZanabazarSquare UnicodeScriptEnum = 163 - UNICODESCRIPTCOUNT UnicodeScriptEnum = 164 + UNICODE_SCRIPT_Unknown UnicodeScriptEnum = 0 + UNICODE_SCRIPT_Adlam UnicodeScriptEnum = 1 + UNICODE_SCRIPT_Ahom UnicodeScriptEnum = 2 + UNICODE_SCRIPT_Anatolian_Hieroglyphs UnicodeScriptEnum = 3 + UNICODE_SCRIPT_Arabic UnicodeScriptEnum = 4 + UNICODE_SCRIPT_Armenian UnicodeScriptEnum = 5 + UNICODE_SCRIPT_Avestan UnicodeScriptEnum = 6 + UNICODE_SCRIPT_Balinese UnicodeScriptEnum = 7 + UNICODE_SCRIPT_Bamum UnicodeScriptEnum = 8 + UNICODE_SCRIPT_Bassa_Vah UnicodeScriptEnum = 9 + UNICODE_SCRIPT_Batak UnicodeScriptEnum = 10 + UNICODE_SCRIPT_Bengali UnicodeScriptEnum = 11 + UNICODE_SCRIPT_Bhaiksuki UnicodeScriptEnum = 12 + UNICODE_SCRIPT_Bopomofo UnicodeScriptEnum = 13 + UNICODE_SCRIPT_Brahmi UnicodeScriptEnum = 14 + UNICODE_SCRIPT_Braille UnicodeScriptEnum = 15 + UNICODE_SCRIPT_Buginese UnicodeScriptEnum = 16 + UNICODE_SCRIPT_Buhid UnicodeScriptEnum = 17 + UNICODE_SCRIPT_Canadian_Aboriginal UnicodeScriptEnum = 18 + UNICODE_SCRIPT_Carian UnicodeScriptEnum = 19 + UNICODE_SCRIPT_Caucasian_Albanian UnicodeScriptEnum = 20 + UNICODE_SCRIPT_Chakma UnicodeScriptEnum = 21 + UNICODE_SCRIPT_Cham UnicodeScriptEnum = 22 + UNICODE_SCRIPT_Cherokee UnicodeScriptEnum = 23 + UNICODE_SCRIPT_Chorasmian UnicodeScriptEnum = 24 + UNICODE_SCRIPT_Common UnicodeScriptEnum = 25 + UNICODE_SCRIPT_Coptic UnicodeScriptEnum = 26 + UNICODE_SCRIPT_Cuneiform UnicodeScriptEnum = 27 + UNICODE_SCRIPT_Cypriot UnicodeScriptEnum = 28 + UNICODE_SCRIPT_Cyrillic UnicodeScriptEnum = 29 + UNICODE_SCRIPT_Cypro_Minoan UnicodeScriptEnum = 30 + UNICODE_SCRIPT_Deseret UnicodeScriptEnum = 31 + UNICODE_SCRIPT_Devanagari UnicodeScriptEnum = 32 + UNICODE_SCRIPT_Dives_Akuru UnicodeScriptEnum = 33 + UNICODE_SCRIPT_Dogra UnicodeScriptEnum = 34 + UNICODE_SCRIPT_Duployan UnicodeScriptEnum = 35 + UNICODE_SCRIPT_Egyptian_Hieroglyphs UnicodeScriptEnum = 36 + UNICODE_SCRIPT_Elbasan UnicodeScriptEnum = 37 + UNICODE_SCRIPT_Elymaic UnicodeScriptEnum = 38 + UNICODE_SCRIPT_Ethiopic UnicodeScriptEnum = 39 + UNICODE_SCRIPT_Georgian UnicodeScriptEnum = 40 + UNICODE_SCRIPT_Glagolitic UnicodeScriptEnum = 41 + UNICODE_SCRIPT_Gothic UnicodeScriptEnum = 42 + UNICODE_SCRIPT_Grantha UnicodeScriptEnum = 43 + UNICODE_SCRIPT_Greek UnicodeScriptEnum = 44 + UNICODE_SCRIPT_Gujarati UnicodeScriptEnum = 45 + UNICODE_SCRIPT_Gunjala_Gondi UnicodeScriptEnum = 46 + UNICODE_SCRIPT_Gurmukhi UnicodeScriptEnum = 47 + UNICODE_SCRIPT_Han UnicodeScriptEnum = 48 + UNICODE_SCRIPT_Hangul UnicodeScriptEnum = 49 + UNICODE_SCRIPT_Hanifi_Rohingya UnicodeScriptEnum = 50 + UNICODE_SCRIPT_Hanunoo UnicodeScriptEnum = 51 + UNICODE_SCRIPT_Hatran UnicodeScriptEnum = 52 + UNICODE_SCRIPT_Hebrew UnicodeScriptEnum = 53 + UNICODE_SCRIPT_Hiragana UnicodeScriptEnum = 54 + UNICODE_SCRIPT_Imperial_Aramaic UnicodeScriptEnum = 55 + UNICODE_SCRIPT_Inherited UnicodeScriptEnum = 56 + UNICODE_SCRIPT_Inscriptional_Pahlavi UnicodeScriptEnum = 57 + UNICODE_SCRIPT_Inscriptional_Parthian UnicodeScriptEnum = 58 + UNICODE_SCRIPT_Javanese UnicodeScriptEnum = 59 + UNICODE_SCRIPT_Kaithi UnicodeScriptEnum = 60 + UNICODE_SCRIPT_Kannada UnicodeScriptEnum = 61 + UNICODE_SCRIPT_Katakana UnicodeScriptEnum = 62 + UNICODE_SCRIPT_Kawi UnicodeScriptEnum = 63 + UNICODE_SCRIPT_Kayah_Li UnicodeScriptEnum = 64 + UNICODE_SCRIPT_Kharoshthi UnicodeScriptEnum = 65 + UNICODE_SCRIPT_Khmer UnicodeScriptEnum = 66 + UNICODE_SCRIPT_Khojki UnicodeScriptEnum = 67 + UNICODE_SCRIPT_Khitan_Small_Script UnicodeScriptEnum = 68 + UNICODE_SCRIPT_Khudawadi UnicodeScriptEnum = 69 + UNICODE_SCRIPT_Lao UnicodeScriptEnum = 70 + UNICODE_SCRIPT_Latin UnicodeScriptEnum = 71 + UNICODE_SCRIPT_Lepcha UnicodeScriptEnum = 72 + UNICODE_SCRIPT_Limbu UnicodeScriptEnum = 73 + UNICODE_SCRIPT_Linear_A UnicodeScriptEnum = 74 + UNICODE_SCRIPT_Linear_B UnicodeScriptEnum = 75 + UNICODE_SCRIPT_Lisu UnicodeScriptEnum = 76 + UNICODE_SCRIPT_Lycian UnicodeScriptEnum = 77 + UNICODE_SCRIPT_Lydian UnicodeScriptEnum = 78 + UNICODE_SCRIPT_Makasar UnicodeScriptEnum = 79 + UNICODE_SCRIPT_Mahajani UnicodeScriptEnum = 80 + UNICODE_SCRIPT_Malayalam UnicodeScriptEnum = 81 + UNICODE_SCRIPT_Mandaic UnicodeScriptEnum = 82 + UNICODE_SCRIPT_Manichaean UnicodeScriptEnum = 83 + UNICODE_SCRIPT_Marchen UnicodeScriptEnum = 84 + UNICODE_SCRIPT_Masaram_Gondi UnicodeScriptEnum = 85 + UNICODE_SCRIPT_Medefaidrin UnicodeScriptEnum = 86 + UNICODE_SCRIPT_Meetei_Mayek UnicodeScriptEnum = 87 + UNICODE_SCRIPT_Mende_Kikakui UnicodeScriptEnum = 88 + UNICODE_SCRIPT_Meroitic_Cursive UnicodeScriptEnum = 89 + UNICODE_SCRIPT_Meroitic_Hieroglyphs UnicodeScriptEnum = 90 + UNICODE_SCRIPT_Miao UnicodeScriptEnum = 91 + UNICODE_SCRIPT_Modi UnicodeScriptEnum = 92 + UNICODE_SCRIPT_Mongolian UnicodeScriptEnum = 93 + UNICODE_SCRIPT_Mro UnicodeScriptEnum = 94 + UNICODE_SCRIPT_Multani UnicodeScriptEnum = 95 + UNICODE_SCRIPT_Myanmar UnicodeScriptEnum = 96 + UNICODE_SCRIPT_Nabataean UnicodeScriptEnum = 97 + UNICODE_SCRIPT_Nag_Mundari UnicodeScriptEnum = 98 + UNICODE_SCRIPT_Nandinagari UnicodeScriptEnum = 99 + UNICODE_SCRIPT_New_Tai_Lue UnicodeScriptEnum = 100 + UNICODE_SCRIPT_Newa UnicodeScriptEnum = 101 + UNICODE_SCRIPT_Nko UnicodeScriptEnum = 102 + UNICODE_SCRIPT_Nushu UnicodeScriptEnum = 103 + UNICODE_SCRIPT_Nyiakeng_Puachue_Hmong UnicodeScriptEnum = 104 + UNICODE_SCRIPT_Ogham UnicodeScriptEnum = 105 + UNICODE_SCRIPT_Ol_Chiki UnicodeScriptEnum = 106 + UNICODE_SCRIPT_Old_Hungarian UnicodeScriptEnum = 107 + UNICODE_SCRIPT_Old_Italic UnicodeScriptEnum = 108 + UNICODE_SCRIPT_Old_North_Arabian UnicodeScriptEnum = 109 + UNICODE_SCRIPT_Old_Permic UnicodeScriptEnum = 110 + UNICODE_SCRIPT_Old_Persian UnicodeScriptEnum = 111 + UNICODE_SCRIPT_Old_Sogdian UnicodeScriptEnum = 112 + UNICODE_SCRIPT_Old_South_Arabian UnicodeScriptEnum = 113 + UNICODE_SCRIPT_Old_Turkic UnicodeScriptEnum = 114 + UNICODE_SCRIPT_Old_Uyghur UnicodeScriptEnum = 115 + UNICODE_SCRIPT_Oriya UnicodeScriptEnum = 116 + UNICODE_SCRIPT_Osage UnicodeScriptEnum = 117 + UNICODE_SCRIPT_Osmanya UnicodeScriptEnum = 118 + UNICODE_SCRIPT_Pahawh_Hmong UnicodeScriptEnum = 119 + UNICODE_SCRIPT_Palmyrene UnicodeScriptEnum = 120 + UNICODE_SCRIPT_Pau_Cin_Hau UnicodeScriptEnum = 121 + UNICODE_SCRIPT_Phags_Pa UnicodeScriptEnum = 122 + UNICODE_SCRIPT_Phoenician UnicodeScriptEnum = 123 + UNICODE_SCRIPT_Psalter_Pahlavi UnicodeScriptEnum = 124 + UNICODE_SCRIPT_Rejang UnicodeScriptEnum = 125 + UNICODE_SCRIPT_Runic UnicodeScriptEnum = 126 + UNICODE_SCRIPT_Samaritan UnicodeScriptEnum = 127 + UNICODE_SCRIPT_Saurashtra UnicodeScriptEnum = 128 + UNICODE_SCRIPT_Sharada UnicodeScriptEnum = 129 + UNICODE_SCRIPT_Shavian UnicodeScriptEnum = 130 + UNICODE_SCRIPT_Siddham UnicodeScriptEnum = 131 + UNICODE_SCRIPT_SignWriting UnicodeScriptEnum = 132 + UNICODE_SCRIPT_Sinhala UnicodeScriptEnum = 133 + UNICODE_SCRIPT_Sogdian UnicodeScriptEnum = 134 + UNICODE_SCRIPT_Sora_Sompeng UnicodeScriptEnum = 135 + UNICODE_SCRIPT_Soyombo UnicodeScriptEnum = 136 + UNICODE_SCRIPT_Sundanese UnicodeScriptEnum = 137 + UNICODE_SCRIPT_Syloti_Nagri UnicodeScriptEnum = 138 + UNICODE_SCRIPT_Syriac UnicodeScriptEnum = 139 + UNICODE_SCRIPT_Tagalog UnicodeScriptEnum = 140 + UNICODE_SCRIPT_Tagbanwa UnicodeScriptEnum = 141 + UNICODE_SCRIPT_Tai_Le UnicodeScriptEnum = 142 + UNICODE_SCRIPT_Tai_Tham UnicodeScriptEnum = 143 + UNICODE_SCRIPT_Tai_Viet UnicodeScriptEnum = 144 + UNICODE_SCRIPT_Takri UnicodeScriptEnum = 145 + UNICODE_SCRIPT_Tamil UnicodeScriptEnum = 146 + UNICODE_SCRIPT_Tangut UnicodeScriptEnum = 147 + UNICODE_SCRIPT_Telugu UnicodeScriptEnum = 148 + UNICODE_SCRIPT_Thaana UnicodeScriptEnum = 149 + UNICODE_SCRIPT_Thai UnicodeScriptEnum = 150 + UNICODE_SCRIPT_Tibetan UnicodeScriptEnum = 151 + UNICODE_SCRIPT_Tifinagh UnicodeScriptEnum = 152 + UNICODE_SCRIPT_Tirhuta UnicodeScriptEnum = 153 + UNICODE_SCRIPT_Tangsa UnicodeScriptEnum = 154 + UNICODE_SCRIPT_Toto UnicodeScriptEnum = 155 + UNICODE_SCRIPT_Ugaritic UnicodeScriptEnum = 156 + UNICODE_SCRIPT_Vai UnicodeScriptEnum = 157 + UNICODE_SCRIPT_Vithkuqi UnicodeScriptEnum = 158 + UNICODE_SCRIPT_Wancho UnicodeScriptEnum = 159 + UNICODE_SCRIPT_Warang_Citi UnicodeScriptEnum = 160 + UNICODE_SCRIPT_Yezidi UnicodeScriptEnum = 161 + UNICODE_SCRIPT_Yi UnicodeScriptEnum = 162 + UNICODE_SCRIPT_Zanabazar_Square UnicodeScriptEnum = 163 + UNICODE_SCRIPT_COUNT UnicodeScriptEnum = 164 ) type UnicodePropertyEnum c.Int const ( - UNICODEPROPHyphen UnicodePropertyEnum = 0 - UNICODEPROPOtherMath UnicodePropertyEnum = 1 - UNICODEPROPOtherAlphabetic UnicodePropertyEnum = 2 - UNICODEPROPOtherLowercase UnicodePropertyEnum = 3 - UNICODEPROPOtherUppercase UnicodePropertyEnum = 4 - UNICODEPROPOtherGraphemeExtend UnicodePropertyEnum = 5 - UNICODEPROPOtherDefaultIgnorableCodePoint UnicodePropertyEnum = 6 - UNICODEPROPOtherIDStart UnicodePropertyEnum = 7 - UNICODEPROPOtherIDContinue UnicodePropertyEnum = 8 - UNICODEPROPPrependedConcatenationMark UnicodePropertyEnum = 9 - UNICODEPROPIDContinue1 UnicodePropertyEnum = 10 - UNICODEPROPXIDStart1 UnicodePropertyEnum = 11 - UNICODEPROPXIDContinue1 UnicodePropertyEnum = 12 - UNICODEPROPChangesWhenTitlecased1 UnicodePropertyEnum = 13 - UNICODEPROPChangesWhenCasefolded1 UnicodePropertyEnum = 14 - UNICODEPROPChangesWhenNFKCCasefolded1 UnicodePropertyEnum = 15 - UNICODEPROPASCIIHexDigit UnicodePropertyEnum = 16 - UNICODEPROPBidiControl UnicodePropertyEnum = 17 - UNICODEPROPDash UnicodePropertyEnum = 18 - UNICODEPROPDeprecated UnicodePropertyEnum = 19 - UNICODEPROPDiacritic UnicodePropertyEnum = 20 - UNICODEPROPExtender UnicodePropertyEnum = 21 - UNICODEPROPHexDigit UnicodePropertyEnum = 22 - UNICODEPROPIDSBinaryOperator UnicodePropertyEnum = 23 - UNICODEPROPIDSTrinaryOperator UnicodePropertyEnum = 24 - UNICODEPROPIdeographic UnicodePropertyEnum = 25 - UNICODEPROPJoinControl UnicodePropertyEnum = 26 - UNICODEPROPLogicalOrderException UnicodePropertyEnum = 27 - UNICODEPROPNoncharacterCodePoint UnicodePropertyEnum = 28 - UNICODEPROPPatternSyntax UnicodePropertyEnum = 29 - UNICODEPROPPatternWhiteSpace UnicodePropertyEnum = 30 - UNICODEPROPQuotationMark UnicodePropertyEnum = 31 - UNICODEPROPRadical UnicodePropertyEnum = 32 - UNICODEPROPRegionalIndicator UnicodePropertyEnum = 33 - UNICODEPROPSentenceTerminal UnicodePropertyEnum = 34 - UNICODEPROPSoftDotted UnicodePropertyEnum = 35 - UNICODEPROPTerminalPunctuation UnicodePropertyEnum = 36 - UNICODEPROPUnifiedIdeograph UnicodePropertyEnum = 37 - UNICODEPROPVariationSelector UnicodePropertyEnum = 38 - UNICODEPROPWhiteSpace UnicodePropertyEnum = 39 - UNICODEPROPBidiMirrored UnicodePropertyEnum = 40 - UNICODEPROPEmoji UnicodePropertyEnum = 41 - UNICODEPROPEmojiComponent UnicodePropertyEnum = 42 - UNICODEPROPEmojiModifier UnicodePropertyEnum = 43 - UNICODEPROPEmojiModifierBase UnicodePropertyEnum = 44 - UNICODEPROPEmojiPresentation UnicodePropertyEnum = 45 - UNICODEPROPExtendedPictographic UnicodePropertyEnum = 46 - UNICODEPROPDefaultIgnorableCodePoint UnicodePropertyEnum = 47 - UNICODEPROPIDStart UnicodePropertyEnum = 48 - UNICODEPROPCaseIgnorable UnicodePropertyEnum = 49 - UNICODEPROPASCII UnicodePropertyEnum = 50 - UNICODEPROPAlphabetic UnicodePropertyEnum = 51 - UNICODEPROPAny UnicodePropertyEnum = 52 - UNICODEPROPAssigned UnicodePropertyEnum = 53 - UNICODEPROPCased UnicodePropertyEnum = 54 - UNICODEPROPChangesWhenCasefolded UnicodePropertyEnum = 55 - UNICODEPROPChangesWhenCasemapped UnicodePropertyEnum = 56 - UNICODEPROPChangesWhenLowercased UnicodePropertyEnum = 57 - UNICODEPROPChangesWhenNFKCCasefolded UnicodePropertyEnum = 58 - UNICODEPROPChangesWhenTitlecased UnicodePropertyEnum = 59 - UNICODEPROPChangesWhenUppercased UnicodePropertyEnum = 60 - UNICODEPROPGraphemeBase UnicodePropertyEnum = 61 - UNICODEPROPGraphemeExtend UnicodePropertyEnum = 62 - UNICODEPROPIDContinue UnicodePropertyEnum = 63 - UNICODEPROPLowercase UnicodePropertyEnum = 64 - UNICODEPROPMath UnicodePropertyEnum = 65 - UNICODEPROPUppercase UnicodePropertyEnum = 66 - UNICODEPROPXIDContinue UnicodePropertyEnum = 67 - UNICODEPROPXIDStart UnicodePropertyEnum = 68 - UNICODEPROPCased1 UnicodePropertyEnum = 69 - UNICODEPROPCOUNT UnicodePropertyEnum = 70 + UNICODE_PROP_Hyphen UnicodePropertyEnum = 0 + UNICODE_PROP_Other_Math UnicodePropertyEnum = 1 + UNICODE_PROP_Other_Alphabetic UnicodePropertyEnum = 2 + UNICODE_PROP_Other_Lowercase UnicodePropertyEnum = 3 + UNICODE_PROP_Other_Uppercase UnicodePropertyEnum = 4 + UNICODE_PROP_Other_Grapheme_Extend UnicodePropertyEnum = 5 + UNICODE_PROP_Other_Default_Ignorable_Code_Point UnicodePropertyEnum = 6 + UNICODE_PROP_Other_ID_Start UnicodePropertyEnum = 7 + UNICODE_PROP_Other_ID_Continue UnicodePropertyEnum = 8 + UNICODE_PROP_Prepended_Concatenation_Mark UnicodePropertyEnum = 9 + UNICODE_PROP_ID_Continue1 UnicodePropertyEnum = 10 + UNICODE_PROP_XID_Start1 UnicodePropertyEnum = 11 + UNICODE_PROP_XID_Continue1 UnicodePropertyEnum = 12 + UNICODE_PROP_Changes_When_Titlecased1 UnicodePropertyEnum = 13 + UNICODE_PROP_Changes_When_Casefolded1 UnicodePropertyEnum = 14 + UNICODE_PROP_Changes_When_NFKC_Casefolded1 UnicodePropertyEnum = 15 + UNICODE_PROP_ASCII_Hex_Digit UnicodePropertyEnum = 16 + UNICODE_PROP_Bidi_Control UnicodePropertyEnum = 17 + UNICODE_PROP_Dash UnicodePropertyEnum = 18 + UNICODE_PROP_Deprecated UnicodePropertyEnum = 19 + UNICODE_PROP_Diacritic UnicodePropertyEnum = 20 + UNICODE_PROP_Extender UnicodePropertyEnum = 21 + UNICODE_PROP_Hex_Digit UnicodePropertyEnum = 22 + UNICODE_PROP_IDS_Binary_Operator UnicodePropertyEnum = 23 + UNICODE_PROP_IDS_Trinary_Operator UnicodePropertyEnum = 24 + UNICODE_PROP_Ideographic UnicodePropertyEnum = 25 + UNICODE_PROP_Join_Control UnicodePropertyEnum = 26 + UNICODE_PROP_Logical_Order_Exception UnicodePropertyEnum = 27 + UNICODE_PROP_Noncharacter_Code_Point UnicodePropertyEnum = 28 + UNICODE_PROP_Pattern_Syntax UnicodePropertyEnum = 29 + UNICODE_PROP_Pattern_White_Space UnicodePropertyEnum = 30 + UNICODE_PROP_Quotation_Mark UnicodePropertyEnum = 31 + UNICODE_PROP_Radical UnicodePropertyEnum = 32 + UNICODE_PROP_Regional_Indicator UnicodePropertyEnum = 33 + UNICODE_PROP_Sentence_Terminal UnicodePropertyEnum = 34 + UNICODE_PROP_Soft_Dotted UnicodePropertyEnum = 35 + UNICODE_PROP_Terminal_Punctuation UnicodePropertyEnum = 36 + UNICODE_PROP_Unified_Ideograph UnicodePropertyEnum = 37 + UNICODE_PROP_Variation_Selector UnicodePropertyEnum = 38 + UNICODE_PROP_White_Space UnicodePropertyEnum = 39 + UNICODE_PROP_Bidi_Mirrored UnicodePropertyEnum = 40 + UNICODE_PROP_Emoji UnicodePropertyEnum = 41 + UNICODE_PROP_Emoji_Component UnicodePropertyEnum = 42 + UNICODE_PROP_Emoji_Modifier UnicodePropertyEnum = 43 + UNICODE_PROP_Emoji_Modifier_Base UnicodePropertyEnum = 44 + UNICODE_PROP_Emoji_Presentation UnicodePropertyEnum = 45 + UNICODE_PROP_Extended_Pictographic UnicodePropertyEnum = 46 + UNICODE_PROP_Default_Ignorable_Code_Point UnicodePropertyEnum = 47 + UNICODE_PROP_ID_Start UnicodePropertyEnum = 48 + UNICODE_PROP_Case_Ignorable UnicodePropertyEnum = 49 + UNICODE_PROP_ASCII UnicodePropertyEnum = 50 + UNICODE_PROP_Alphabetic UnicodePropertyEnum = 51 + UNICODE_PROP_Any UnicodePropertyEnum = 52 + UNICODE_PROP_Assigned UnicodePropertyEnum = 53 + UNICODE_PROP_Cased UnicodePropertyEnum = 54 + UNICODE_PROP_Changes_When_Casefolded UnicodePropertyEnum = 55 + UNICODE_PROP_Changes_When_Casemapped UnicodePropertyEnum = 56 + UNICODE_PROP_Changes_When_Lowercased UnicodePropertyEnum = 57 + UNICODE_PROP_Changes_When_NFKC_Casefolded UnicodePropertyEnum = 58 + UNICODE_PROP_Changes_When_Titlecased UnicodePropertyEnum = 59 + UNICODE_PROP_Changes_When_Uppercased UnicodePropertyEnum = 60 + UNICODE_PROP_Grapheme_Base UnicodePropertyEnum = 61 + UNICODE_PROP_Grapheme_Extend UnicodePropertyEnum = 62 + UNICODE_PROP_ID_Continue UnicodePropertyEnum = 63 + UNICODE_PROP_Lowercase UnicodePropertyEnum = 64 + UNICODE_PROP_Math UnicodePropertyEnum = 65 + UNICODE_PROP_Uppercase UnicodePropertyEnum = 66 + UNICODE_PROP_XID_Continue UnicodePropertyEnum = 67 + UNICODE_PROP_XID_Start UnicodePropertyEnum = 68 + UNICODE_PROP_Cased1 UnicodePropertyEnum = 69 + UNICODE_PROP_COUNT UnicodePropertyEnum = 70 ) diff --git a/quickjs/libunicode.go b/quickjs/libunicode.go index d9f9bcdd..366a1df2 100644 --- a/quickjs/libunicode.go +++ b/quickjs/libunicode.go @@ -1,8 +1,8 @@ package quickjs import ( - "github.com/goplus/llgo/c" - "unsafe" + "github.com/goplus/lib/c" + _ "unsafe" ) const LRE_CC_RES_LEN_MAX = 3 @@ -10,43 +10,43 @@ const LRE_CC_RES_LEN_MAX = 3 type UnicodeNormalizationEnum c.Int const ( - UNICODENFC UnicodeNormalizationEnum = 0 - UNICODENFD UnicodeNormalizationEnum = 1 - UNICODENFKC UnicodeNormalizationEnum = 2 - UNICODENFKD UnicodeNormalizationEnum = 3 + UNICODE_NFC UnicodeNormalizationEnum = 0 + UNICODE_NFD UnicodeNormalizationEnum = 1 + UNICODE_NFKC UnicodeNormalizationEnum = 2 + UNICODE_NFKD UnicodeNormalizationEnum = 3 ) //go:linkname LreCaseConv C.lre_case_conv -func LreCaseConv(res *uint32, c uint32, conv_type c.Int) c.Int +func LreCaseConv(res *c.Uint32T, c c.Uint32T, conv_type c.Int) c.Int //go:linkname LreCanonicalize C.lre_canonicalize -func LreCanonicalize(c uint32, is_unicode c.Int) c.Int +func LreCanonicalize(c c.Uint32T, is_unicode c.Int) c.Int //go:linkname LreIsCased C.lre_is_cased -func LreIsCased(c uint32) c.Int +func LreIsCased(c c.Uint32T) c.Int //go:linkname LreIsCaseIgnorable C.lre_is_case_ignorable -func LreIsCaseIgnorable(c uint32) c.Int +func LreIsCaseIgnorable(c c.Uint32T) c.Int /* char ranges */ type CharRange struct { Len c.Int Size c.Int - Points *uint32 - MemOpaque unsafe.Pointer - ReallocFunc unsafe.Pointer + Points *c.Uint32T + MemOpaque c.Pointer + ReallocFunc c.Pointer } type CharRangeOpEnum c.Int const ( - CROPUNION CharRangeOpEnum = 0 - CROPINTER CharRangeOpEnum = 1 - CROPXOR CharRangeOpEnum = 2 + CR_OP_UNION CharRangeOpEnum = 0 + CR_OP_INTER CharRangeOpEnum = 1 + CR_OP_XOR CharRangeOpEnum = 2 ) // llgo:link (*CharRange).CrInit C.cr_init -func (recv_ *CharRange) CrInit(mem_opaque unsafe.Pointer, realloc_func func(unsafe.Pointer, unsafe.Pointer, uintptr) unsafe.Pointer) { +func (recv_ *CharRange) CrInit(mem_opaque c.Pointer, realloc_func func(c.Pointer, c.Pointer, c.SizeT) c.Pointer) { } // llgo:link (*CharRange).CrFree C.cr_free @@ -64,12 +64,12 @@ func (recv_ *CharRange) CrCopy(cr1 *CharRange) c.Int { } // llgo:link (*CharRange).CrUnion1 C.cr_union1 -func (recv_ *CharRange) CrUnion1(b_pt *uint32, b_len c.Int) c.Int { +func (recv_ *CharRange) CrUnion1(b_pt *c.Uint32T, b_len c.Int) c.Int { return 0 } // llgo:link (*CharRange).CrOp C.cr_op -func (recv_ *CharRange) CrOp(a_pt *uint32, a_len c.Int, b_pt *uint32, b_len c.Int, op c.Int) c.Int { +func (recv_ *CharRange) CrOp(a_pt *c.Uint32T, a_len c.Int, b_pt *c.Uint32T, b_len c.Int, op c.Int) c.Int { return 0 } @@ -84,26 +84,26 @@ func (recv_ *CharRange) CrRegexpCanonicalize(is_unicode c.Int) c.Int { } //go:linkname LreIsIdStart C.lre_is_id_start -func LreIsIdStart(c uint32) c.Int +func LreIsIdStart(c c.Uint32T) c.Int //go:linkname LreIsIdContinue C.lre_is_id_continue -func LreIsIdContinue(c uint32) c.Int +func LreIsIdContinue(c c.Uint32T) c.Int //go:linkname UnicodeNormalize C.unicode_normalize -func UnicodeNormalize(pdst **uint32, src *uint32, src_len c.Int, n_type UnicodeNormalizationEnum, opaque unsafe.Pointer, realloc_func func(unsafe.Pointer, unsafe.Pointer, uintptr) unsafe.Pointer) c.Int +func UnicodeNormalize(pdst **c.Uint32T, src *c.Uint32T, src_len c.Int, n_type UnicodeNormalizationEnum, opaque c.Pointer, realloc_func func(c.Pointer, c.Pointer, c.SizeT) c.Pointer) c.Int /* Unicode character range functions */ // llgo:link (*CharRange).UnicodeScript C.unicode_script -func (recv_ *CharRange) UnicodeScript(script_name *int8, is_ext c.Int) c.Int { +func (recv_ *CharRange) UnicodeScript(script_name *c.Char, is_ext c.Int) c.Int { return 0 } // llgo:link (*CharRange).UnicodeGeneralCategory C.unicode_general_category -func (recv_ *CharRange) UnicodeGeneralCategory(gc_name *int8) c.Int { +func (recv_ *CharRange) UnicodeGeneralCategory(gc_name *c.Char) c.Int { return 0 } // llgo:link (*CharRange).UnicodeProp C.unicode_prop -func (recv_ *CharRange) UnicodeProp(prop_name *int8) c.Int { +func (recv_ *CharRange) UnicodeProp(prop_name *c.Char) c.Int { return 0 } diff --git a/quickjs/quickjs-libc.go b/quickjs/quickjs-libc.go index 2e0e3804..01ec9f71 100644 --- a/quickjs/quickjs-libc.go +++ b/quickjs/quickjs-libc.go @@ -1,22 +1,22 @@ package quickjs import ( - "github.com/goplus/llgo/c" - "unsafe" + "github.com/goplus/lib/c" + _ "unsafe" ) // llgo:link (*JSContext).JsInitModuleStd C.js_init_module_std -func (recv_ *JSContext) JsInitModuleStd(module_name *int8) *JSModuleDef { +func (recv_ *JSContext) JsInitModuleStd(module_name *c.Char) *JSModuleDef { return nil } // llgo:link (*JSContext).JsInitModuleOs C.js_init_module_os -func (recv_ *JSContext) JsInitModuleOs(module_name *int8) *JSModuleDef { +func (recv_ *JSContext) JsInitModuleOs(module_name *c.Char) *JSModuleDef { return nil } // llgo:link (*JSContext).JsStdAddHelpers C.js_std_add_helpers -func (recv_ *JSContext) JsStdAddHelpers(argc c.Int, argv **int8) { +func (recv_ *JSContext) JsStdAddHelpers(argc c.Int, argv **c.Char) { } // llgo:link (*JSContext).JsStdLoop C.js_std_loop @@ -36,7 +36,7 @@ func (recv_ *JSContext) JsStdDumpError() { } // llgo:link (*JSContext).JsLoadFile C.js_load_file -func (recv_ *JSContext) JsLoadFile(pbuf_len *uintptr, filename *int8) *uint8 { +func (recv_ *JSContext) JsLoadFile(pbuf_len *c.SizeT, filename *c.Char) *c.Uint8T { return nil } @@ -46,16 +46,16 @@ func (recv_ *JSContext) JsModuleSetImportMeta(func_val JSValue, use_realpath c.I } // llgo:link (*JSContext).JsModuleLoader C.js_module_loader -func (recv_ *JSContext) JsModuleLoader(module_name *int8, opaque unsafe.Pointer) *JSModuleDef { +func (recv_ *JSContext) JsModuleLoader(module_name *c.Char, opaque c.Pointer) *JSModuleDef { return nil } // llgo:link (*JSContext).JsStdEvalBinary C.js_std_eval_binary -func (recv_ *JSContext) JsStdEvalBinary(buf *uint8, buf_len uintptr, flags c.Int) { +func (recv_ *JSContext) JsStdEvalBinary(buf *c.Uint8T, buf_len c.SizeT, flags c.Int) { } // llgo:link (*JSContext).JsStdPromiseRejectionTracker C.js_std_promise_rejection_tracker -func (recv_ *JSContext) JsStdPromiseRejectionTracker(promise JSValue, reason JSValue, is_handled c.Int, opaque unsafe.Pointer) { +func (recv_ *JSContext) JsStdPromiseRejectionTracker(promise JSValue, reason JSValue, is_handled c.Int, opaque c.Pointer) { } //go:linkname JsStdSetWorkerNewContextFunc C.js_std_set_worker_new_context_func diff --git a/quickjs/quickjs.go b/quickjs/quickjs.go index 46a70e2f..829d144a 100644 --- a/quickjs/quickjs.go +++ b/quickjs/quickjs.go @@ -1,8 +1,8 @@ package quickjs import ( - "github.com/goplus/llgo/c" - "unsafe" + "github.com/goplus/lib/c" + _ "unsafe" ) const JS_PROP_HAS_SHIFT = 8 @@ -33,27 +33,27 @@ type JSObject struct { type JSClass struct { Unused [8]uint8 } -type JSClassID uint32 -type JSAtom uint32 +type JSClassID c.Uint32T +type JSAtom c.Uint32T const ( - JSTAGFIRST c.Int = -11 - JSTAGBIGDECIMAL c.Int = -11 - JSTAGBIGINT c.Int = -10 - JSTAGBIGFLOAT c.Int = -9 - JSTAGSYMBOL c.Int = -8 - JSTAGSTRING c.Int = -7 - JSTAGMODULE c.Int = -3 - JSTAGFUNCTIONBYTECODE c.Int = -2 - JSTAGOBJECT c.Int = -1 - JSTAGINT c.Int = 0 - JSTAGBOOL c.Int = 1 - JSTAGNULL c.Int = 2 - JSTAGUNDEFINED c.Int = 3 - JSTAGUNINITIALIZED c.Int = 4 - JSTAGCATCHOFFSET c.Int = 5 - JSTAGEXCEPTION c.Int = 6 - JSTAGFLOAT64 c.Int = 7 + JS_TAG_FIRST c.Int = -11 + JS_TAG_BIG_DECIMAL c.Int = -11 + JS_TAG_BIG_INT c.Int = -10 + JS_TAG_BIG_FLOAT c.Int = -9 + JS_TAG_SYMBOL c.Int = -8 + JS_TAG_STRING c.Int = -7 + JS_TAG_MODULE c.Int = -3 + JS_TAG_FUNCTION_BYTECODE c.Int = -2 + JS_TAG_OBJECT c.Int = -1 + JS_TAG_INT c.Int = 0 + JS_TAG_BOOL c.Int = 1 + JS_TAG_NULL c.Int = 2 + JS_TAG_UNDEFINED c.Int = 3 + JS_TAG_UNINITIALIZED c.Int = 4 + JS_TAG_CATCH_OFFSET c.Int = 5 + JS_TAG_EXCEPTION c.Int = 6 + JS_TAG_FLOAT64 c.Int = 7 ) type JSRefCountHeader struct { @@ -61,12 +61,12 @@ type JSRefCountHeader struct { } type JSValueUnion struct { - Float64 float64 + Float64 c.Double } type JSValue struct { U JSValueUnion - Tag int64 + Tag c.Int64T } // llgo:type C @@ -79,17 +79,17 @@ type JSCFunctionMagic func(*JSContext, JSValue, c.Int, *JSValue, c.Int) JSValue type JSCFunctionData func(*JSContext, JSValue, c.Int, *JSValue, c.Int, *JSValue) JSValue type JSMallocState struct { - MallocCount uintptr - MallocSize uintptr - MallocLimit uintptr - Opaque unsafe.Pointer + MallocCount c.SizeT + MallocSize c.SizeT + MallocLimit c.SizeT + Opaque c.Pointer } type JSMallocFunctions struct { - JsMalloc unsafe.Pointer - JsFree unsafe.Pointer - JsRealloc unsafe.Pointer - JsMallocUsableSize unsafe.Pointer + JsMalloc c.Pointer + JsFree c.Pointer + JsRealloc c.Pointer + JsMallocUsableSize c.Pointer } type JSGCObjectHeader struct { @@ -101,20 +101,20 @@ func JSNewRuntime() *JSRuntime /* info lifetime must exceed that of rt */ // llgo:link (*JSRuntime).JSSetRuntimeInfo C.JS_SetRuntimeInfo -func (recv_ *JSRuntime) JSSetRuntimeInfo(info *int8) { +func (recv_ *JSRuntime) JSSetRuntimeInfo(info *c.Char) { } // llgo:link (*JSRuntime).JSSetMemoryLimit C.JS_SetMemoryLimit -func (recv_ *JSRuntime) JSSetMemoryLimit(limit uintptr) { +func (recv_ *JSRuntime) JSSetMemoryLimit(limit c.SizeT) { } // llgo:link (*JSRuntime).JSSetGCThreshold C.JS_SetGCThreshold -func (recv_ *JSRuntime) JSSetGCThreshold(gc_threshold uintptr) { +func (recv_ *JSRuntime) JSSetGCThreshold(gc_threshold c.SizeT) { } /* use 0 to disable maximum stack size check */ // llgo:link (*JSRuntime).JSSetMaxStackSize C.JS_SetMaxStackSize -func (recv_ *JSRuntime) JSSetMaxStackSize(stack_size uintptr) { +func (recv_ *JSRuntime) JSSetMaxStackSize(stack_size c.SizeT) { } /* should be called when changing thread to update the stack top value @@ -124,7 +124,7 @@ func (recv_ *JSRuntime) JSUpdateStackTop() { } // llgo:link (*JSMallocFunctions).JSNewRuntime2 C.JS_NewRuntime2 -func (recv_ *JSMallocFunctions) JSNewRuntime2(opaque unsafe.Pointer) *JSRuntime { +func (recv_ *JSMallocFunctions) JSNewRuntime2(opaque c.Pointer) *JSRuntime { return nil } @@ -133,12 +133,12 @@ func (recv_ *JSRuntime) JSFreeRuntime() { } // llgo:link (*JSRuntime).JSGetRuntimeOpaque C.JS_GetRuntimeOpaque -func (recv_ *JSRuntime) JSGetRuntimeOpaque() unsafe.Pointer { +func (recv_ *JSRuntime) JSGetRuntimeOpaque() c.Pointer { return nil } // llgo:link (*JSRuntime).JSSetRuntimeOpaque C.JS_SetRuntimeOpaque -func (recv_ *JSRuntime) JSSetRuntimeOpaque(opaque unsafe.Pointer) { +func (recv_ *JSRuntime) JSSetRuntimeOpaque(opaque c.Pointer) { } // llgo:type C @@ -172,12 +172,12 @@ func (recv_ *JSContext) JSDupContext() *JSContext { } // llgo:link (*JSContext).JSGetContextOpaque C.JS_GetContextOpaque -func (recv_ *JSContext) JSGetContextOpaque() unsafe.Pointer { +func (recv_ *JSContext) JSGetContextOpaque() c.Pointer { return nil } // llgo:link (*JSContext).JSSetContextOpaque C.JS_SetContextOpaque -func (recv_ *JSContext) JSSetContextOpaque(opaque unsafe.Pointer) { +func (recv_ *JSContext) JSSetContextOpaque(opaque c.Pointer) { } // llgo:link (*JSContext).JSGetRuntime C.JS_GetRuntime @@ -191,10 +191,7 @@ func (recv_ *JSContext) JSSetClassProto(class_id JSClassID, obj JSValue) { // llgo:link (*JSContext).JSGetClassProto C.JS_GetClassProto func (recv_ *JSContext) JSGetClassProto(class_id JSClassID) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } /* the following functions are used to select the intrinsic object to @@ -272,102 +269,99 @@ func (recv_ *JSContext) JSEnableBignumExt(enable c.Int) { // llgo:link (*JSContext).JsStringCodePointRange C.js_string_codePointRange func (recv_ *JSContext) JsStringCodePointRange(this_val JSValue, argc c.Int, argv *JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSRuntime).JsMallocRt C.js_malloc_rt -func (recv_ *JSRuntime) JsMallocRt(size uintptr) unsafe.Pointer { +func (recv_ *JSRuntime) JsMallocRt(size c.SizeT) c.Pointer { return nil } // llgo:link (*JSRuntime).JsFreeRt C.js_free_rt -func (recv_ *JSRuntime) JsFreeRt(ptr unsafe.Pointer) { +func (recv_ *JSRuntime) JsFreeRt(ptr c.Pointer) { } // llgo:link (*JSRuntime).JsReallocRt C.js_realloc_rt -func (recv_ *JSRuntime) JsReallocRt(ptr unsafe.Pointer, size uintptr) unsafe.Pointer { +func (recv_ *JSRuntime) JsReallocRt(ptr c.Pointer, size c.SizeT) c.Pointer { return nil } // llgo:link (*JSRuntime).JsMallocUsableSizeRt C.js_malloc_usable_size_rt -func (recv_ *JSRuntime) JsMallocUsableSizeRt(ptr unsafe.Pointer) uintptr { +func (recv_ *JSRuntime) JsMallocUsableSizeRt(ptr c.Pointer) c.SizeT { return 0 } // llgo:link (*JSRuntime).JsMalloczRt C.js_mallocz_rt -func (recv_ *JSRuntime) JsMalloczRt(size uintptr) unsafe.Pointer { +func (recv_ *JSRuntime) JsMalloczRt(size c.SizeT) c.Pointer { return nil } // llgo:link (*JSContext).JsMalloc C.js_malloc -func (recv_ *JSContext) JsMalloc(size uintptr) unsafe.Pointer { +func (recv_ *JSContext) JsMalloc(size c.SizeT) c.Pointer { return nil } // llgo:link (*JSContext).JsFree C.js_free -func (recv_ *JSContext) JsFree(ptr unsafe.Pointer) { +func (recv_ *JSContext) JsFree(ptr c.Pointer) { } // llgo:link (*JSContext).JsRealloc C.js_realloc -func (recv_ *JSContext) JsRealloc(ptr unsafe.Pointer, size uintptr) unsafe.Pointer { +func (recv_ *JSContext) JsRealloc(ptr c.Pointer, size c.SizeT) c.Pointer { return nil } // llgo:link (*JSContext).JsMallocUsableSize C.js_malloc_usable_size -func (recv_ *JSContext) JsMallocUsableSize(ptr unsafe.Pointer) uintptr { +func (recv_ *JSContext) JsMallocUsableSize(ptr c.Pointer) c.SizeT { return 0 } // llgo:link (*JSContext).JsRealloc2 C.js_realloc2 -func (recv_ *JSContext) JsRealloc2(ptr unsafe.Pointer, size uintptr, pslack *uintptr) unsafe.Pointer { +func (recv_ *JSContext) JsRealloc2(ptr c.Pointer, size c.SizeT, pslack *c.SizeT) c.Pointer { return nil } // llgo:link (*JSContext).JsMallocz C.js_mallocz -func (recv_ *JSContext) JsMallocz(size uintptr) unsafe.Pointer { +func (recv_ *JSContext) JsMallocz(size c.SizeT) c.Pointer { return nil } // llgo:link (*JSContext).JsStrdup C.js_strdup -func (recv_ *JSContext) JsStrdup(str *int8) *int8 { +func (recv_ *JSContext) JsStrdup(str *c.Char) *c.Char { return nil } // llgo:link (*JSContext).JsStrndup C.js_strndup -func (recv_ *JSContext) JsStrndup(s *int8, n uintptr) *int8 { +func (recv_ *JSContext) JsStrndup(s *c.Char, n c.SizeT) *c.Char { return nil } type JSMemoryUsage struct { - MallocSize int64 - MallocLimit int64 - MemoryUsedSize int64 - MallocCount int64 - MemoryUsedCount int64 - AtomCount int64 - AtomSize int64 - StrCount int64 - StrSize int64 - ObjCount int64 - ObjSize int64 - PropCount int64 - PropSize int64 - ShapeCount int64 - ShapeSize int64 - JsFuncCount int64 - JsFuncSize int64 - JsFuncCodeSize int64 - JsFuncPc2lineCount int64 - JsFuncPc2lineSize int64 - CFuncCount int64 - ArrayCount int64 - FastArrayCount int64 - FastArrayElements int64 - BinaryObjectCount int64 - BinaryObjectSize int64 + MallocSize c.Int64T + MallocLimit c.Int64T + MemoryUsedSize c.Int64T + MallocCount c.Int64T + MemoryUsedCount c.Int64T + AtomCount c.Int64T + AtomSize c.Int64T + StrCount c.Int64T + StrSize c.Int64T + ObjCount c.Int64T + ObjSize c.Int64T + PropCount c.Int64T + PropSize c.Int64T + ShapeCount c.Int64T + ShapeSize c.Int64T + JsFuncCount c.Int64T + JsFuncSize c.Int64T + JsFuncCodeSize c.Int64T + JsFuncPc2lineCount c.Int64T + JsFuncPc2lineSize c.Int64T + CFuncCount c.Int64T + ArrayCount c.Int64T + FastArrayCount c.Int64T + FastArrayElements c.Int64T + BinaryObjectCount c.Int64T + BinaryObjectSize c.Int64T } // llgo:link (*JSRuntime).JSComputeMemoryUsage C.JS_ComputeMemoryUsage @@ -378,17 +372,17 @@ func (recv_ *JSRuntime) JSComputeMemoryUsage(s *JSMemoryUsage) { func JSDumpMemoryUsage(fp *c.FILE, s *JSMemoryUsage, rt *JSRuntime) // llgo:link (*JSContext).JSNewAtomLen C.JS_NewAtomLen -func (recv_ *JSContext) JSNewAtomLen(str *int8, len uintptr) JSAtom { +func (recv_ *JSContext) JSNewAtomLen(str *c.Char, len c.SizeT) JSAtom { return 0 } // llgo:link (*JSContext).JSNewAtom C.JS_NewAtom -func (recv_ *JSContext) JSNewAtom(str *int8) JSAtom { +func (recv_ *JSContext) JSNewAtom(str *c.Char) JSAtom { return 0 } // llgo:link (*JSContext).JSNewAtomUInt32 C.JS_NewAtomUInt32 -func (recv_ *JSContext) JSNewAtomUInt32(n uint32) JSAtom { +func (recv_ *JSContext) JSNewAtomUInt32(n c.Uint32T) JSAtom { return 0 } @@ -407,22 +401,16 @@ func (recv_ *JSRuntime) JSFreeAtomRT(v JSAtom) { // llgo:link (*JSContext).JSAtomToValue C.JS_AtomToValue func (recv_ *JSContext) JSAtomToValue(atom JSAtom) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSAtomToString C.JS_AtomToString func (recv_ *JSContext) JSAtomToString(atom JSAtom) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSAtomToCString C.JS_AtomToCString -func (recv_ *JSContext) JSAtomToCString(atom JSAtom) *int8 { +func (recv_ *JSContext) JSAtomToCString(atom JSAtom) *c.Char { return nil } @@ -446,13 +434,13 @@ type JSPropertyDescriptor struct { } type JSClassExoticMethods struct { - GetOwnProperty unsafe.Pointer - GetOwnPropertyNames unsafe.Pointer - DeleteProperty unsafe.Pointer - DefineOwnProperty unsafe.Pointer - HasProperty unsafe.Pointer - GetProperty unsafe.Pointer - SetProperty unsafe.Pointer + GetOwnProperty c.Pointer + GetOwnPropertyNames c.Pointer + DeleteProperty c.Pointer + DefineOwnProperty c.Pointer + HasProperty c.Pointer + GetProperty c.Pointer + SetProperty c.Pointer } // llgo:type C @@ -465,10 +453,10 @@ type JSClassGCMark func(*JSRuntime, JSValue, JSMarkFunc) type JSClassCall func(*JSContext, JSValue, JSValue, c.Int, *JSValue, c.Int) JSValue type JSClassDef struct { - ClassName *int8 - Finalizer *unsafe.Pointer - GcMark *unsafe.Pointer - Call *unsafe.Pointer + ClassName *c.Char + Finalizer *c.Pointer + GcMark *c.Pointer + Call *c.Pointer Exotic *JSClassExoticMethods } @@ -488,35 +476,23 @@ func (recv_ *JSRuntime) JSIsRegisteredClass(class_id JSClassID) c.Int { } // llgo:link (*JSContext).JSNewBigInt64 C.JS_NewBigInt64 -func (recv_ *JSContext) JSNewBigInt64(v int64) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSNewBigInt64(v c.Int64T) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSNewBigUint64 C.JS_NewBigUint64 -func (recv_ *JSContext) JSNewBigUint64(v uint64) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSNewBigUint64(v c.Uint64T) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSThrow C.JS_Throw func (recv_ *JSContext) JSThrow(obj JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSGetException C.JS_GetException func (recv_ *JSContext) JSGetException() JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSIsError C.JS_IsError @@ -530,58 +506,37 @@ func (recv_ *JSContext) JSResetUncatchableError() { // llgo:link (*JSContext).JSNewError C.JS_NewError func (recv_ *JSContext) JSNewError() JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSThrowSyntaxError C.JS_ThrowSyntaxError -func (recv_ *JSContext) JSThrowSyntaxError(fmt *int8, __llgo_va_list ...interface{}) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSThrowSyntaxError(fmt *c.Char, __llgo_va_list ...interface{}) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSThrowTypeError C.JS_ThrowTypeError -func (recv_ *JSContext) JSThrowTypeError(fmt *int8, __llgo_va_list ...interface{}) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSThrowTypeError(fmt *c.Char, __llgo_va_list ...interface{}) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSThrowReferenceError C.JS_ThrowReferenceError -func (recv_ *JSContext) JSThrowReferenceError(fmt *int8, __llgo_va_list ...interface{}) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSThrowReferenceError(fmt *c.Char, __llgo_va_list ...interface{}) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSThrowRangeError C.JS_ThrowRangeError -func (recv_ *JSContext) JSThrowRangeError(fmt *int8, __llgo_va_list ...interface{}) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSThrowRangeError(fmt *c.Char, __llgo_va_list ...interface{}) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSThrowInternalError C.JS_ThrowInternalError -func (recv_ *JSContext) JSThrowInternalError(fmt *int8, __llgo_va_list ...interface{}) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSThrowInternalError(fmt *c.Char, __llgo_va_list ...interface{}) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSThrowOutOfMemory C.JS_ThrowOutOfMemory func (recv_ *JSContext) JSThrowOutOfMemory() JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).X__JSFreeValue C.__JS_FreeValue @@ -598,116 +553,89 @@ func (recv_ *JSContext) JSToBool(val JSValue) c.Int { } // llgo:link (*JSContext).JSToInt32 C.JS_ToInt32 -func (recv_ *JSContext) JSToInt32(pres *int32, val JSValue) c.Int { +func (recv_ *JSContext) JSToInt32(pres *c.Int32T, val JSValue) c.Int { return 0 } // llgo:link (*JSContext).JSToInt64 C.JS_ToInt64 -func (recv_ *JSContext) JSToInt64(pres *int64, val JSValue) c.Int { +func (recv_ *JSContext) JSToInt64(pres *c.Int64T, val JSValue) c.Int { return 0 } // llgo:link (*JSContext).JSToIndex C.JS_ToIndex -func (recv_ *JSContext) JSToIndex(plen *uint64, val JSValue) c.Int { +func (recv_ *JSContext) JSToIndex(plen *c.Uint64T, val JSValue) c.Int { return 0 } // llgo:link (*JSContext).JSToFloat64 C.JS_ToFloat64 -func (recv_ *JSContext) JSToFloat64(pres *float64, val JSValue) c.Int { +func (recv_ *JSContext) JSToFloat64(pres *c.Double, val JSValue) c.Int { return 0 } /* return an exception if 'val' is a Number */ // llgo:link (*JSContext).JSToBigInt64 C.JS_ToBigInt64 -func (recv_ *JSContext) JSToBigInt64(pres *int64, val JSValue) c.Int { +func (recv_ *JSContext) JSToBigInt64(pres *c.Int64T, val JSValue) c.Int { return 0 } /* same as JS_ToInt64() but allow BigInt */ // llgo:link (*JSContext).JSToInt64Ext C.JS_ToInt64Ext -func (recv_ *JSContext) JSToInt64Ext(pres *int64, val JSValue) c.Int { +func (recv_ *JSContext) JSToInt64Ext(pres *c.Int64T, val JSValue) c.Int { return 0 } // llgo:link (*JSContext).JSNewStringLen C.JS_NewStringLen -func (recv_ *JSContext) JSNewStringLen(str1 *int8, len1 uintptr) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSNewStringLen(str1 *c.Char, len1 c.SizeT) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSNewString C.JS_NewString -func (recv_ *JSContext) JSNewString(str *int8) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSNewString(str *c.Char) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSNewAtomString C.JS_NewAtomString -func (recv_ *JSContext) JSNewAtomString(str *int8) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSNewAtomString(str *c.Char) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSToString C.JS_ToString func (recv_ *JSContext) JSToString(val JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSToPropertyKey C.JS_ToPropertyKey func (recv_ *JSContext) JSToPropertyKey(val JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSToCStringLen2 C.JS_ToCStringLen2 -func (recv_ *JSContext) JSToCStringLen2(plen *uintptr, val1 JSValue, cesu8 c.Int) *int8 { +func (recv_ *JSContext) JSToCStringLen2(plen *c.SizeT, val1 JSValue, cesu8 c.Int) *c.Char { return nil } // llgo:link (*JSContext).JSFreeCString C.JS_FreeCString -func (recv_ *JSContext) JSFreeCString(ptr *int8) { +func (recv_ *JSContext) JSFreeCString(ptr *c.Char) { } // llgo:link (*JSContext).JSNewObjectProtoClass C.JS_NewObjectProtoClass func (recv_ *JSContext) JSNewObjectProtoClass(proto JSValue, class_id JSClassID) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSNewObjectClass C.JS_NewObjectClass func (recv_ *JSContext) JSNewObjectClass(class_id c.Int) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSNewObjectProto C.JS_NewObjectProto func (recv_ *JSContext) JSNewObjectProto(proto JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSNewObject C.JS_NewObject func (recv_ *JSContext) JSNewObject() JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSIsFunction C.JS_IsFunction @@ -727,10 +655,7 @@ func (recv_ *JSContext) JSSetConstructorBit(func_obj JSValue, val c.Int) c.Int { // llgo:link (*JSContext).JSNewArray C.JS_NewArray func (recv_ *JSContext) JSNewArray() JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSIsArray C.JS_IsArray @@ -740,26 +665,17 @@ func (recv_ *JSContext) JSIsArray(val JSValue) c.Int { // llgo:link (*JSContext).JSGetPropertyInternal C.JS_GetPropertyInternal func (recv_ *JSContext) JSGetPropertyInternal(obj JSValue, prop JSAtom, receiver JSValue, throw_ref_error c.Int) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSGetPropertyStr C.JS_GetPropertyStr -func (recv_ *JSContext) JSGetPropertyStr(this_obj JSValue, prop *int8) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSGetPropertyStr(this_obj JSValue, prop *c.Char) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSGetPropertyUint32 C.JS_GetPropertyUint32 -func (recv_ *JSContext) JSGetPropertyUint32(this_obj JSValue, idx uint32) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSGetPropertyUint32(this_obj JSValue, idx c.Uint32T) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSSetPropertyInternal C.JS_SetPropertyInternal @@ -768,17 +684,17 @@ func (recv_ *JSContext) JSSetPropertyInternal(obj JSValue, prop JSAtom, val JSVa } // llgo:link (*JSContext).JSSetPropertyUint32 C.JS_SetPropertyUint32 -func (recv_ *JSContext) JSSetPropertyUint32(this_obj JSValue, idx uint32, val JSValue) c.Int { +func (recv_ *JSContext) JSSetPropertyUint32(this_obj JSValue, idx c.Uint32T, val JSValue) c.Int { return 0 } // llgo:link (*JSContext).JSSetPropertyInt64 C.JS_SetPropertyInt64 -func (recv_ *JSContext) JSSetPropertyInt64(this_obj JSValue, idx int64, val JSValue) c.Int { +func (recv_ *JSContext) JSSetPropertyInt64(this_obj JSValue, idx c.Int64T, val JSValue) c.Int { return 0 } // llgo:link (*JSContext).JSSetPropertyStr C.JS_SetPropertyStr -func (recv_ *JSContext) JSSetPropertyStr(this_obj JSValue, prop *int8, val JSValue) c.Int { +func (recv_ *JSContext) JSSetPropertyStr(this_obj JSValue, prop *c.Char, val JSValue) c.Int { return 0 } @@ -809,14 +725,11 @@ func (recv_ *JSContext) JSSetPrototype(obj JSValue, proto_val JSValue) c.Int { // llgo:link (*JSContext).JSGetPrototype C.JS_GetPrototype func (recv_ *JSContext) JSGetPrototype(val JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSGetOwnPropertyNames C.JS_GetOwnPropertyNames -func (recv_ *JSContext) JSGetOwnPropertyNames(ptab **JSPropertyEnum, plen *uint32, obj JSValue, flags c.Int) c.Int { +func (recv_ *JSContext) JSGetOwnPropertyNames(ptab **JSPropertyEnum, plen *c.Uint32T, obj JSValue, flags c.Int) c.Int { return 0 } @@ -827,63 +740,42 @@ func (recv_ *JSContext) JSGetOwnProperty(desc *JSPropertyDescriptor, obj JSValue // llgo:link (*JSContext).JSCall C.JS_Call func (recv_ *JSContext) JSCall(func_obj JSValue, this_obj JSValue, argc c.Int, argv *JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSInvoke C.JS_Invoke func (recv_ *JSContext) JSInvoke(this_val JSValue, atom JSAtom, argc c.Int, argv *JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSCallConstructor C.JS_CallConstructor func (recv_ *JSContext) JSCallConstructor(func_obj JSValue, argc c.Int, argv *JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSCallConstructor2 C.JS_CallConstructor2 func (recv_ *JSContext) JSCallConstructor2(func_obj JSValue, new_target JSValue, argc c.Int, argv *JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } //go:linkname JSDetectModule C.JS_DetectModule -func JSDetectModule(input *int8, input_len uintptr) c.Int +func JSDetectModule(input *c.Char, input_len c.SizeT) c.Int /* 'input' must be zero terminated i.e. input[input_len] = '\0'. */ // llgo:link (*JSContext).JSEval C.JS_Eval -func (recv_ *JSContext) JSEval(input *int8, input_len uintptr, filename *int8, eval_flags c.Int) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSEval(input *c.Char, input_len c.SizeT, filename *c.Char, eval_flags c.Int) JSValue { + return JSValue{} } /* same as JS_Eval() but with an explicit 'this_obj' parameter */ // llgo:link (*JSContext).JSEvalThis C.JS_EvalThis -func (recv_ *JSContext) JSEvalThis(this_obj JSValue, input *int8, input_len uintptr, filename *int8, eval_flags c.Int) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSEvalThis(this_obj JSValue, input *c.Char, input_len c.SizeT, filename *c.Char, eval_flags c.Int) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSGetGlobalObject C.JS_GetGlobalObject func (recv_ *JSContext) JSGetGlobalObject() JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSIsInstanceOf C.JS_IsInstanceOf @@ -902,12 +794,12 @@ func (recv_ *JSContext) JSDefinePropertyValue(this_obj JSValue, prop JSAtom, val } // llgo:link (*JSContext).JSDefinePropertyValueUint32 C.JS_DefinePropertyValueUint32 -func (recv_ *JSContext) JSDefinePropertyValueUint32(this_obj JSValue, idx uint32, val JSValue, flags c.Int) c.Int { +func (recv_ *JSContext) JSDefinePropertyValueUint32(this_obj JSValue, idx c.Uint32T, val JSValue, flags c.Int) c.Int { return 0 } // llgo:link (*JSContext).JSDefinePropertyValueStr C.JS_DefinePropertyValueStr -func (recv_ *JSContext) JSDefinePropertyValueStr(this_obj JSValue, prop *int8, val JSValue, flags c.Int) c.Int { +func (recv_ *JSContext) JSDefinePropertyValueStr(this_obj JSValue, prop *c.Char, val JSValue, flags c.Int) c.Int { return 0 } @@ -917,61 +809,46 @@ func (recv_ *JSContext) JSDefinePropertyGetSet(this_obj JSValue, prop JSAtom, ge } // llgo:link JSValue.JSSetOpaque C.JS_SetOpaque -func (recv_ JSValue) JSSetOpaque(opaque unsafe.Pointer) { +func (recv_ JSValue) JSSetOpaque(opaque c.Pointer) { } // llgo:link JSValue.JSGetOpaque C.JS_GetOpaque -func (recv_ JSValue) JSGetOpaque(class_id JSClassID) unsafe.Pointer { +func (recv_ JSValue) JSGetOpaque(class_id JSClassID) c.Pointer { return nil } // llgo:link (*JSContext).JSGetOpaque2 C.JS_GetOpaque2 -func (recv_ *JSContext) JSGetOpaque2(obj JSValue, class_id JSClassID) unsafe.Pointer { +func (recv_ *JSContext) JSGetOpaque2(obj JSValue, class_id JSClassID) c.Pointer { return nil } /* 'buf' must be zero terminated i.e. buf[buf_len] = '\0'. */ // llgo:link (*JSContext).JSParseJSON C.JS_ParseJSON -func (recv_ *JSContext) JSParseJSON(buf *int8, buf_len uintptr, filename *int8) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSParseJSON(buf *c.Char, buf_len c.SizeT, filename *c.Char) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSParseJSON2 C.JS_ParseJSON2 -func (recv_ *JSContext) JSParseJSON2(buf *int8, buf_len uintptr, filename *int8, flags c.Int) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSParseJSON2(buf *c.Char, buf_len c.SizeT, filename *c.Char, flags c.Int) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSJSONStringify C.JS_JSONStringify func (recv_ *JSContext) JSJSONStringify(obj JSValue, replacer JSValue, space0 JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:type C -type JSFreeArrayBufferDataFunc func(*JSRuntime, unsafe.Pointer, unsafe.Pointer) +type JSFreeArrayBufferDataFunc func(*JSRuntime, c.Pointer, c.Pointer) // llgo:link (*JSContext).JSNewArrayBuffer C.JS_NewArrayBuffer -func (recv_ *JSContext) JSNewArrayBuffer(buf *uint8, len uintptr, free_func JSFreeArrayBufferDataFunc, opaque unsafe.Pointer, is_shared c.Int) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSNewArrayBuffer(buf *c.Uint8T, len c.SizeT, free_func JSFreeArrayBufferDataFunc, opaque c.Pointer, is_shared c.Int) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSNewArrayBufferCopy C.JS_NewArrayBufferCopy -func (recv_ *JSContext) JSNewArrayBufferCopy(buf *uint8, len uintptr) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSNewArrayBufferCopy(buf *c.Uint8T, len c.SizeT) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSDetachArrayBuffer C.JS_DetachArrayBuffer @@ -979,23 +856,20 @@ func (recv_ *JSContext) JSDetachArrayBuffer(obj JSValue) { } // llgo:link (*JSContext).JSGetArrayBuffer C.JS_GetArrayBuffer -func (recv_ *JSContext) JSGetArrayBuffer(psize *uintptr, obj JSValue) *uint8 { +func (recv_ *JSContext) JSGetArrayBuffer(psize *c.SizeT, obj JSValue) *c.Uint8T { return nil } // llgo:link (*JSContext).JSGetTypedArrayBuffer C.JS_GetTypedArrayBuffer -func (recv_ *JSContext) JSGetTypedArrayBuffer(obj JSValue, pbyte_offset *uintptr, pbyte_length *uintptr, pbytes_per_element *uintptr) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSGetTypedArrayBuffer(obj JSValue, pbyte_offset *c.SizeT, pbyte_length *c.SizeT, pbytes_per_element *c.SizeT) JSValue { + return JSValue{} } type JSSharedArrayBufferFunctions struct { - SabAlloc unsafe.Pointer - SabFree unsafe.Pointer - SabDup unsafe.Pointer - SabOpaque unsafe.Pointer + SabAlloc c.Pointer + SabFree c.Pointer + SabDup c.Pointer + SabOpaque c.Pointer } // llgo:link (*JSRuntime).JSSetSharedArrayBufferFunctions C.JS_SetSharedArrayBufferFunctions @@ -1005,17 +879,14 @@ func (recv_ *JSRuntime) JSSetSharedArrayBufferFunctions(sf *JSSharedArrayBufferF type JSPromiseStateEnum c.Int const ( - JSPROMISEPENDING JSPromiseStateEnum = 0 - JSPROMISEFULFILLED JSPromiseStateEnum = 1 - JSPROMISEREJECTED JSPromiseStateEnum = 2 + JS_PROMISE_PENDING JSPromiseStateEnum = 0 + JS_PROMISE_FULFILLED JSPromiseStateEnum = 1 + JS_PROMISE_REJECTED JSPromiseStateEnum = 2 ) // llgo:link (*JSContext).JSNewPromiseCapability C.JS_NewPromiseCapability func (recv_ *JSContext) JSNewPromiseCapability(resolving_funcs *JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSPromiseState C.JS_PromiseState @@ -1025,24 +896,21 @@ func (recv_ *JSContext) JSPromiseState(promise JSValue) JSPromiseStateEnum { // llgo:link (*JSContext).JSPromiseResult C.JS_PromiseResult func (recv_ *JSContext) JSPromiseResult(promise JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:type C -type JSHostPromiseRejectionTracker func(*JSContext, JSValue, JSValue, c.Int, unsafe.Pointer) +type JSHostPromiseRejectionTracker func(*JSContext, JSValue, JSValue, c.Int, c.Pointer) // llgo:link (*JSRuntime).JSSetHostPromiseRejectionTracker C.JS_SetHostPromiseRejectionTracker -func (recv_ *JSRuntime) JSSetHostPromiseRejectionTracker(cb JSHostPromiseRejectionTracker, opaque unsafe.Pointer) { +func (recv_ *JSRuntime) JSSetHostPromiseRejectionTracker(cb JSHostPromiseRejectionTracker, opaque c.Pointer) { } // llgo:type C -type JSInterruptHandler func(*JSRuntime, unsafe.Pointer) c.Int +type JSInterruptHandler func(*JSRuntime, c.Pointer) c.Int // llgo:link (*JSRuntime).JSSetInterruptHandler C.JS_SetInterruptHandler -func (recv_ *JSRuntime) JSSetInterruptHandler(cb JSInterruptHandler, opaque unsafe.Pointer) { +func (recv_ *JSRuntime) JSSetInterruptHandler(cb JSInterruptHandler, opaque c.Pointer) { } /* if can_block is TRUE, Atomics.wait() can be used */ @@ -1060,24 +928,21 @@ type JSModuleDef struct { } // llgo:type C -type JSModuleNormalizeFunc func(*JSContext, *int8, *int8, unsafe.Pointer) *int8 +type JSModuleNormalizeFunc func(*JSContext, *c.Char, *c.Char, c.Pointer) *c.Char // llgo:type C -type JSModuleLoaderFunc func(*JSContext, *int8, unsafe.Pointer) *JSModuleDef +type JSModuleLoaderFunc func(*JSContext, *c.Char, c.Pointer) *JSModuleDef /* module_normalize = NULL is allowed and invokes the default module filename normalizer */ // llgo:link (*JSRuntime).JSSetModuleLoaderFunc C.JS_SetModuleLoaderFunc -func (recv_ *JSRuntime) JSSetModuleLoaderFunc(module_normalize JSModuleNormalizeFunc, module_loader JSModuleLoaderFunc, opaque unsafe.Pointer) { +func (recv_ *JSRuntime) JSSetModuleLoaderFunc(module_normalize JSModuleNormalizeFunc, module_loader JSModuleLoaderFunc, opaque c.Pointer) { } /* return the import.meta object of a module */ // llgo:link (*JSContext).JSGetImportMeta C.JS_GetImportMeta func (recv_ *JSContext) JSGetImportMeta(m *JSModuleDef) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSGetModuleName C.JS_GetModuleName @@ -1104,31 +969,25 @@ func (recv_ *JSRuntime) JSExecutePendingJob(pctx **JSContext) c.Int { } // llgo:link (*JSContext).JSWriteObject C.JS_WriteObject -func (recv_ *JSContext) JSWriteObject(psize *uintptr, obj JSValue, flags c.Int) *uint8 { +func (recv_ *JSContext) JSWriteObject(psize *c.SizeT, obj JSValue, flags c.Int) *c.Uint8T { return nil } // llgo:link (*JSContext).JSWriteObject2 C.JS_WriteObject2 -func (recv_ *JSContext) JSWriteObject2(psize *uintptr, obj JSValue, flags c.Int, psab_tab ***uint8, psab_tab_len *uintptr) *uint8 { +func (recv_ *JSContext) JSWriteObject2(psize *c.SizeT, obj JSValue, flags c.Int, psab_tab ***c.Uint8T, psab_tab_len *c.SizeT) *c.Uint8T { return nil } // llgo:link (*JSContext).JSReadObject C.JS_ReadObject -func (recv_ *JSContext) JSReadObject(buf *uint8, buf_len uintptr, flags c.Int) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSReadObject(buf *c.Uint8T, buf_len c.SizeT, flags c.Int) JSValue { + return JSValue{} } /* instantiate and evaluate a bytecode function. Only used when reading a script or module with JS_ReadObject() */ // llgo:link (*JSContext).JSEvalFunction C.JS_EvalFunction func (recv_ *JSContext) JSEvalFunction(fun_obj JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } /* load the dependencies of the module 'obj'. Useful when JS_ReadObject() @@ -1146,49 +1005,40 @@ func (recv_ *JSContext) JSGetScriptOrModuleName(n_stack_levels c.Int) JSAtom { /* only exported for os.Worker() */ // llgo:link (*JSContext).JSLoadModule C.JS_LoadModule -func (recv_ *JSContext) JSLoadModule(basename *int8, filename *int8) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSLoadModule(basename *c.Char, filename *c.Char) JSValue { + return JSValue{} } type JSCFunctionEnum c.Int const ( - JSCFUNCGeneric JSCFunctionEnum = 0 - JSCFUNCGenericMagic JSCFunctionEnum = 1 - JSCFUNCConstructor JSCFunctionEnum = 2 - JSCFUNCConstructorMagic JSCFunctionEnum = 3 - JSCFUNCConstructorOrFunc JSCFunctionEnum = 4 - JSCFUNCConstructorOrFuncMagic JSCFunctionEnum = 5 - JSCFUNCFF JSCFunctionEnum = 6 - JSCFUNCFFF JSCFunctionEnum = 7 - JSCFUNCGetter JSCFunctionEnum = 8 - JSCFUNCSetter JSCFunctionEnum = 9 - JSCFUNCGetterMagic JSCFunctionEnum = 10 - JSCFUNCSetterMagic JSCFunctionEnum = 11 - JSCFUNCIteratorNext JSCFunctionEnum = 12 + JS_CFUNC_generic JSCFunctionEnum = 0 + JS_CFUNC_generic_magic JSCFunctionEnum = 1 + JS_CFUNC_constructor JSCFunctionEnum = 2 + JS_CFUNC_constructor_magic JSCFunctionEnum = 3 + JS_CFUNC_constructor_or_func JSCFunctionEnum = 4 + JS_CFUNC_constructor_or_func_magic JSCFunctionEnum = 5 + JS_CFUNC_f_f JSCFunctionEnum = 6 + JS_CFUNC_f_f_f JSCFunctionEnum = 7 + JS_CFUNC_getter JSCFunctionEnum = 8 + JS_CFUNC_setter JSCFunctionEnum = 9 + JS_CFUNC_getter_magic JSCFunctionEnum = 10 + JS_CFUNC_setter_magic JSCFunctionEnum = 11 + JS_CFUNC_iterator_next JSCFunctionEnum = 12 ) type JSCFunctionType struct { - Generic *unsafe.Pointer + Generic *c.Pointer } // llgo:link (*JSContext).JSNewCFunction2 C.JS_NewCFunction2 -func (recv_ *JSContext) JSNewCFunction2(func_ JSCFunction, name *int8, length c.Int, cproto JSCFunctionEnum, magic c.Int) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} +func (recv_ *JSContext) JSNewCFunction2(func_ JSCFunction, name *c.Char, length c.Int, cproto JSCFunctionEnum, magic c.Int) JSValue { + return JSValue{} } // llgo:link (*JSContext).JSNewCFunctionData C.JS_NewCFunctionData func (recv_ *JSContext) JSNewCFunctionData(func_ JSCFunctionData, length c.Int, magic c.Int, data_len c.Int, data *JSValue) JSValue { - return struct { - U JSValueUnion - Tag int64 - }{} + return JSValue{} } // llgo:link (*JSContext).JSSetConstructor C.JS_SetConstructor @@ -1198,14 +1048,14 @@ func (recv_ *JSContext) JSSetConstructor(func_obj JSValue, proto JSValue) { /* C property definition */ type JSCFunctionListEntry struct { - Name *int8 - PropFlags uint8 - DefType uint8 - Magic int16 + Name *c.Char + PropFlags c.Uint8T + DefType c.Uint8T + Magic c.Int16T U struct { Func struct { - Length uint8 - Cproto uint8 + Length c.Uint8T + Cproto c.Uint8T Cfunc JSCFunctionType } } @@ -1219,13 +1069,13 @@ func (recv_ *JSContext) JSSetPropertyFunctionList(obj JSValue, tab *JSCFunctionL type JSModuleInitFunc func(*JSContext, *JSModuleDef) c.Int // llgo:link (*JSContext).JSNewCModule C.JS_NewCModule -func (recv_ *JSContext) JSNewCModule(name_str *int8, func_ JSModuleInitFunc) *JSModuleDef { +func (recv_ *JSContext) JSNewCModule(name_str *c.Char, func_ JSModuleInitFunc) *JSModuleDef { return nil } /* can only be called before the module is instantiated */ // llgo:link (*JSContext).JSAddModuleExport C.JS_AddModuleExport -func (recv_ *JSContext) JSAddModuleExport(m *JSModuleDef, name_str *int8) c.Int { +func (recv_ *JSContext) JSAddModuleExport(m *JSModuleDef, name_str *c.Char) c.Int { return 0 } @@ -1236,7 +1086,7 @@ func (recv_ *JSContext) JSAddModuleExportList(m *JSModuleDef, tab *JSCFunctionLi /* can only be called after the module is instantiated */ // llgo:link (*JSContext).JSSetModuleExport C.JS_SetModuleExport -func (recv_ *JSContext) JSSetModuleExport(m *JSModuleDef, export_name *int8, val JSValue) c.Int { +func (recv_ *JSContext) JSSetModuleExport(m *JSModuleDef, export_name *c.Char, val JSValue) c.Int { return 0 } diff --git a/quickjs/quickjs_autogen_link.go b/quickjs/quickjs_autogen_link.go index 717c9c43..ab211ab6 100644 --- a/quickjs/quickjs_autogen_link.go +++ b/quickjs/quickjs_autogen_link.go @@ -1,3 +1,5 @@ package quickjs +import _ "github.com/goplus/lib/c" + const LLGoPackage string = "link: $(pkg-config --libs quickjs);" From a0b01f0c8b5feed082e671d585026b046cafb3bc Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Thu, 5 Jun 2025 14:18:12 +0800 Subject: [PATCH 3/3] ignore:lre_js_is_ident_next --- quickjs/libregexp.go | 3 - quickjs/llcppg.cfg | 17 +- quickjs/llcppg.symb.json | 933 --------------------------------------- 3 files changed, 3 insertions(+), 950 deletions(-) delete mode 100644 quickjs/llcppg.symb.json diff --git a/quickjs/libregexp.go b/quickjs/libregexp.go index 43e218b1..c509b3e3 100644 --- a/quickjs/libregexp.go +++ b/quickjs/libregexp.go @@ -32,6 +32,3 @@ func LreCheckStackOverflow(opaque c.Pointer, alloca_size c.SizeT) c.Int //go:linkname LreRealloc C.lre_realloc func LreRealloc(opaque c.Pointer, ptr c.Pointer, size c.SizeT) c.Pointer - -//go:linkname LreJsIsIdentNext C.lre_js_is_ident_next -func LreJsIsIdentNext(c c.Int) c.Int diff --git a/quickjs/llcppg.cfg b/quickjs/llcppg.cfg index 2921786d..c5cec5dc 100644 --- a/quickjs/llcppg.cfg +++ b/quickjs/llcppg.cfg @@ -15,18 +15,7 @@ "quickjs/quickjs.h", "quickjs/unicode_gen_def.h" ], - "trimPrefixes": [], - "cplusplus": false, - "deps": [], - "keepUnderScore": false, - "impl": [ - { - "files": [], - "cond": { - "os": [], - "arch": [] - } - } - ], - "mix": false + "symMap": { + "lre_js_is_ident_next": "-" + } } diff --git a/quickjs/llcppg.symb.json b/quickjs/llcppg.symb.json deleted file mode 100644 index 86db5ee3..00000000 --- a/quickjs/llcppg.symb.json +++ /dev/null @@ -1,933 +0,0 @@ -[{ - "mangle": "JS_AddIntrinsicBaseObjects", - "c++": "JS_AddIntrinsicBaseObjects(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicBaseObjects" - }, { - "mangle": "JS_AddIntrinsicBigDecimal", - "c++": "JS_AddIntrinsicBigDecimal(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicBigDecimal" - }, { - "mangle": "JS_AddIntrinsicBigFloat", - "c++": "JS_AddIntrinsicBigFloat(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicBigFloat" - }, { - "mangle": "JS_AddIntrinsicBigInt", - "c++": "JS_AddIntrinsicBigInt(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicBigInt" - }, { - "mangle": "JS_AddIntrinsicDate", - "c++": "JS_AddIntrinsicDate(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicDate" - }, { - "mangle": "JS_AddIntrinsicEval", - "c++": "JS_AddIntrinsicEval(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicEval" - }, { - "mangle": "JS_AddIntrinsicJSON", - "c++": "JS_AddIntrinsicJSON(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicJSON" - }, { - "mangle": "JS_AddIntrinsicMapSet", - "c++": "JS_AddIntrinsicMapSet(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicMapSet" - }, { - "mangle": "JS_AddIntrinsicOperators", - "c++": "JS_AddIntrinsicOperators(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicOperators" - }, { - "mangle": "JS_AddIntrinsicPromise", - "c++": "JS_AddIntrinsicPromise(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicPromise" - }, { - "mangle": "JS_AddIntrinsicProxy", - "c++": "JS_AddIntrinsicProxy(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicProxy" - }, { - "mangle": "JS_AddIntrinsicRegExp", - "c++": "JS_AddIntrinsicRegExp(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicRegExp" - }, { - "mangle": "JS_AddIntrinsicRegExpCompiler", - "c++": "JS_AddIntrinsicRegExpCompiler(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicRegExpCompiler" - }, { - "mangle": "JS_AddIntrinsicStringNormalize", - "c++": "JS_AddIntrinsicStringNormalize(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicStringNormalize" - }, { - "mangle": "JS_AddIntrinsicTypedArrays", - "c++": "JS_AddIntrinsicTypedArrays(JSContext *)", - "go": "(*JSContext).JSAddIntrinsicTypedArrays" - }, { - "mangle": "JS_AddModuleExport", - "c++": "JS_AddModuleExport(JSContext *, JSModuleDef *, const char *)", - "go": "(*JSContext).JSAddModuleExport" - }, { - "mangle": "JS_AddModuleExportList", - "c++": "JS_AddModuleExportList(JSContext *, JSModuleDef *, const JSCFunctionListEntry *, int)", - "go": "(*JSContext).JSAddModuleExportList" - }, { - "mangle": "JS_AtomToCString", - "c++": "JS_AtomToCString(JSContext *, JSAtom)", - "go": "(*JSContext).JSAtomToCString" - }, { - "mangle": "JS_AtomToString", - "c++": "JS_AtomToString(JSContext *, JSAtom)", - "go": "(*JSContext).JSAtomToString" - }, { - "mangle": "JS_AtomToValue", - "c++": "JS_AtomToValue(JSContext *, JSAtom)", - "go": "(*JSContext).JSAtomToValue" - }, { - "mangle": "JS_Call", - "c++": "JS_Call(JSContext *, JSValue, JSValue, int, JSValue *)", - "go": "(*JSContext).JSCall" - }, { - "mangle": "JS_CallConstructor", - "c++": "JS_CallConstructor(JSContext *, JSValue, int, JSValue *)", - "go": "(*JSContext).JSCallConstructor" - }, { - "mangle": "JS_CallConstructor2", - "c++": "JS_CallConstructor2(JSContext *, JSValue, JSValue, int, JSValue *)", - "go": "(*JSContext).JSCallConstructor2" - }, { - "mangle": "JS_ComputeMemoryUsage", - "c++": "JS_ComputeMemoryUsage(JSRuntime *, JSMemoryUsage *)", - "go": "(*JSRuntime).JSComputeMemoryUsage" - }, { - "mangle": "JS_DefineProperty", - "c++": "JS_DefineProperty(JSContext *, JSValue, JSAtom, JSValue, JSValue, JSValue, int)", - "go": "(*JSContext).JSDefineProperty" - }, { - "mangle": "JS_DefinePropertyGetSet", - "c++": "JS_DefinePropertyGetSet(JSContext *, JSValue, JSAtom, JSValue, JSValue, int)", - "go": "(*JSContext).JSDefinePropertyGetSet" - }, { - "mangle": "JS_DefinePropertyValue", - "c++": "JS_DefinePropertyValue(JSContext *, JSValue, JSAtom, JSValue, int)", - "go": "(*JSContext).JSDefinePropertyValue" - }, { - "mangle": "JS_DefinePropertyValueStr", - "c++": "JS_DefinePropertyValueStr(JSContext *, JSValue, const char *, JSValue, int)", - "go": "(*JSContext).JSDefinePropertyValueStr" - }, { - "mangle": "JS_DefinePropertyValueUint32", - "c++": "JS_DefinePropertyValueUint32(JSContext *, JSValue, uint32_t, JSValue, int)", - "go": "(*JSContext).JSDefinePropertyValueUint32" - }, { - "mangle": "JS_DeleteProperty", - "c++": "JS_DeleteProperty(JSContext *, JSValue, JSAtom, int)", - "go": "(*JSContext).JSDeleteProperty" - }, { - "mangle": "JS_DetachArrayBuffer", - "c++": "JS_DetachArrayBuffer(JSContext *, JSValue)", - "go": "(*JSContext).JSDetachArrayBuffer" - }, { - "mangle": "JS_DetectModule", - "c++": "JS_DetectModule(const char *, size_t)", - "go": "JSDetectModule" - }, { - "mangle": "JS_DumpMemoryUsage", - "c++": "JS_DumpMemoryUsage(FILE *, const JSMemoryUsage *, JSRuntime *)", - "go": "JSDumpMemoryUsage" - }, { - "mangle": "JS_DupAtom", - "c++": "JS_DupAtom(JSContext *, JSAtom)", - "go": "(*JSContext).JSDupAtom" - }, { - "mangle": "JS_DupContext", - "c++": "JS_DupContext(JSContext *)", - "go": "(*JSContext).JSDupContext" - }, { - "mangle": "JS_EnableBignumExt", - "c++": "JS_EnableBignumExt(JSContext *, int)", - "go": "(*JSContext).JSEnableBignumExt" - }, { - "mangle": "JS_EnqueueJob", - "c++": "JS_EnqueueJob(JSContext *, JSJobFunc *, int, JSValue *)", - "go": "(*JSContext).JSEnqueueJob" - }, { - "mangle": "JS_Eval", - "c++": "JS_Eval(JSContext *, const char *, size_t, const char *, int)", - "go": "(*JSContext).JSEval" - }, { - "mangle": "JS_EvalFunction", - "c++": "JS_EvalFunction(JSContext *, JSValue)", - "go": "(*JSContext).JSEvalFunction" - }, { - "mangle": "JS_EvalThis", - "c++": "JS_EvalThis(JSContext *, JSValue, const char *, size_t, const char *, int)", - "go": "(*JSContext).JSEvalThis" - }, { - "mangle": "JS_ExecutePendingJob", - "c++": "JS_ExecutePendingJob(JSRuntime *, JSContext **)", - "go": "(*JSRuntime).JSExecutePendingJob" - }, { - "mangle": "JS_FreeAtom", - "c++": "JS_FreeAtom(JSContext *, JSAtom)", - "go": "(*JSContext).JSFreeAtom" - }, { - "mangle": "JS_FreeAtomRT", - "c++": "JS_FreeAtomRT(JSRuntime *, JSAtom)", - "go": "(*JSRuntime).JSFreeAtomRT" - }, { - "mangle": "JS_FreeCString", - "c++": "JS_FreeCString(JSContext *, const char *)", - "go": "(*JSContext).JSFreeCString" - }, { - "mangle": "JS_FreeContext", - "c++": "JS_FreeContext(JSContext *)", - "go": "(*JSContext).JSFreeContext" - }, { - "mangle": "JS_FreeRuntime", - "c++": "JS_FreeRuntime(JSRuntime *)", - "go": "(*JSRuntime).JSFreeRuntime" - }, { - "mangle": "JS_GetArrayBuffer", - "c++": "JS_GetArrayBuffer(JSContext *, size_t *, JSValue)", - "go": "(*JSContext).JSGetArrayBuffer" - }, { - "mangle": "JS_GetClassProto", - "c++": "JS_GetClassProto(JSContext *, JSClassID)", - "go": "(*JSContext).JSGetClassProto" - }, { - "mangle": "JS_GetContextOpaque", - "c++": "JS_GetContextOpaque(JSContext *)", - "go": "(*JSContext).JSGetContextOpaque" - }, { - "mangle": "JS_GetException", - "c++": "JS_GetException(JSContext *)", - "go": "(*JSContext).JSGetException" - }, { - "mangle": "JS_GetGlobalObject", - "c++": "JS_GetGlobalObject(JSContext *)", - "go": "(*JSContext).JSGetGlobalObject" - }, { - "mangle": "JS_GetImportMeta", - "c++": "JS_GetImportMeta(JSContext *, JSModuleDef *)", - "go": "(*JSContext).JSGetImportMeta" - }, { - "mangle": "JS_GetModuleName", - "c++": "JS_GetModuleName(JSContext *, JSModuleDef *)", - "go": "(*JSContext).JSGetModuleName" - }, { - "mangle": "JS_GetOpaque", - "c++": "JS_GetOpaque(JSValue, JSClassID)", - "go": "JSValue.JSGetOpaque" - }, { - "mangle": "JS_GetOpaque2", - "c++": "JS_GetOpaque2(JSContext *, JSValue, JSClassID)", - "go": "(*JSContext).JSGetOpaque2" - }, { - "mangle": "JS_GetOwnProperty", - "c++": "JS_GetOwnProperty(JSContext *, JSPropertyDescriptor *, JSValue, JSAtom)", - "go": "(*JSContext).JSGetOwnProperty" - }, { - "mangle": "JS_GetOwnPropertyNames", - "c++": "JS_GetOwnPropertyNames(JSContext *, JSPropertyEnum **, uint32_t *, JSValue, int)", - "go": "(*JSContext).JSGetOwnPropertyNames" - }, { - "mangle": "JS_GetPropertyInternal", - "c++": "JS_GetPropertyInternal(JSContext *, JSValue, JSAtom, JSValue, int)", - "go": "(*JSContext).JSGetPropertyInternal" - }, { - "mangle": "JS_GetPropertyStr", - "c++": "JS_GetPropertyStr(JSContext *, JSValue, const char *)", - "go": "(*JSContext).JSGetPropertyStr" - }, { - "mangle": "JS_GetPropertyUint32", - "c++": "JS_GetPropertyUint32(JSContext *, JSValue, uint32_t)", - "go": "(*JSContext).JSGetPropertyUint32" - }, { - "mangle": "JS_GetPrototype", - "c++": "JS_GetPrototype(JSContext *, JSValue)", - "go": "(*JSContext).JSGetPrototype" - }, { - "mangle": "JS_GetRuntime", - "c++": "JS_GetRuntime(JSContext *)", - "go": "(*JSContext).JSGetRuntime" - }, { - "mangle": "JS_GetRuntimeOpaque", - "c++": "JS_GetRuntimeOpaque(JSRuntime *)", - "go": "(*JSRuntime).JSGetRuntimeOpaque" - }, { - "mangle": "JS_GetScriptOrModuleName", - "c++": "JS_GetScriptOrModuleName(JSContext *, int)", - "go": "(*JSContext).JSGetScriptOrModuleName" - }, { - "mangle": "JS_GetTypedArrayBuffer", - "c++": "JS_GetTypedArrayBuffer(JSContext *, JSValue, size_t *, size_t *, size_t *)", - "go": "(*JSContext).JSGetTypedArrayBuffer" - }, { - "mangle": "JS_HasProperty", - "c++": "JS_HasProperty(JSContext *, JSValue, JSAtom)", - "go": "(*JSContext).JSHasProperty" - }, { - "mangle": "JS_Invoke", - "c++": "JS_Invoke(JSContext *, JSValue, JSAtom, int, JSValue *)", - "go": "(*JSContext).JSInvoke" - }, { - "mangle": "JS_IsArray", - "c++": "JS_IsArray(JSContext *, JSValue)", - "go": "(*JSContext).JSIsArray" - }, { - "mangle": "JS_IsConstructor", - "c++": "JS_IsConstructor(JSContext *, JSValue)", - "go": "(*JSContext).JSIsConstructor" - }, { - "mangle": "JS_IsError", - "c++": "JS_IsError(JSContext *, JSValue)", - "go": "(*JSContext).JSIsError" - }, { - "mangle": "JS_IsExtensible", - "c++": "JS_IsExtensible(JSContext *, JSValue)", - "go": "(*JSContext).JSIsExtensible" - }, { - "mangle": "JS_IsFunction", - "c++": "JS_IsFunction(JSContext *, JSValue)", - "go": "(*JSContext).JSIsFunction" - }, { - "mangle": "JS_IsInstanceOf", - "c++": "JS_IsInstanceOf(JSContext *, JSValue, JSValue)", - "go": "(*JSContext).JSIsInstanceOf" - }, { - "mangle": "JS_IsJobPending", - "c++": "JS_IsJobPending(JSRuntime *)", - "go": "(*JSRuntime).JSIsJobPending" - }, { - "mangle": "JS_IsLiveObject", - "c++": "JS_IsLiveObject(JSRuntime *, JSValue)", - "go": "(*JSRuntime).JSIsLiveObject" - }, { - "mangle": "JS_IsRegisteredClass", - "c++": "JS_IsRegisteredClass(JSRuntime *, JSClassID)", - "go": "(*JSRuntime).JSIsRegisteredClass" - }, { - "mangle": "JS_JSONStringify", - "c++": "JS_JSONStringify(JSContext *, JSValue, JSValue, JSValue)", - "go": "(*JSContext).JSJSONStringify" - }, { - "mangle": "JS_LoadModule", - "c++": "JS_LoadModule(JSContext *, const char *, const char *)", - "go": "(*JSContext).JSLoadModule" - }, { - "mangle": "JS_MarkValue", - "c++": "JS_MarkValue(JSRuntime *, JSValue, JS_MarkFunc *)", - "go": "(*JSRuntime).JSMarkValue" - }, { - "mangle": "JS_NewArray", - "c++": "JS_NewArray(JSContext *)", - "go": "(*JSContext).JSNewArray" - }, { - "mangle": "JS_NewArrayBuffer", - "c++": "JS_NewArrayBuffer(JSContext *, uint8_t *, size_t, JSFreeArrayBufferDataFunc *, void *, int)", - "go": "(*JSContext).JSNewArrayBuffer" - }, { - "mangle": "JS_NewArrayBufferCopy", - "c++": "JS_NewArrayBufferCopy(JSContext *, const uint8_t *, size_t)", - "go": "(*JSContext).JSNewArrayBufferCopy" - }, { - "mangle": "JS_NewAtom", - "c++": "JS_NewAtom(JSContext *, const char *)", - "go": "(*JSContext).JSNewAtom" - }, { - "mangle": "JS_NewAtomLen", - "c++": "JS_NewAtomLen(JSContext *, const char *, size_t)", - "go": "(*JSContext).JSNewAtomLen" - }, { - "mangle": "JS_NewAtomString", - "c++": "JS_NewAtomString(JSContext *, const char *)", - "go": "(*JSContext).JSNewAtomString" - }, { - "mangle": "JS_NewAtomUInt32", - "c++": "JS_NewAtomUInt32(JSContext *, uint32_t)", - "go": "(*JSContext).JSNewAtomUInt32" - }, { - "mangle": "JS_NewBigInt64", - "c++": "JS_NewBigInt64(JSContext *, int64_t)", - "go": "(*JSContext).JSNewBigInt64" - }, { - "mangle": "JS_NewBigUint64", - "c++": "JS_NewBigUint64(JSContext *, uint64_t)", - "go": "(*JSContext).JSNewBigUint64" - }, { - "mangle": "JS_NewCFunction2", - "c++": "JS_NewCFunction2(JSContext *, JSCFunction *, const char *, int, JSCFunctionEnum, int)", - "go": "(*JSContext).JSNewCFunction2" - }, { - "mangle": "JS_NewCFunctionData", - "c++": "JS_NewCFunctionData(JSContext *, JSCFunctionData *, int, int, int, JSValue *)", - "go": "(*JSContext).JSNewCFunctionData" - }, { - "mangle": "JS_NewCModule", - "c++": "JS_NewCModule(JSContext *, const char *, JSModuleInitFunc *)", - "go": "(*JSContext).JSNewCModule" - }, { - "mangle": "JS_NewClass", - "c++": "JS_NewClass(JSRuntime *, JSClassID, const JSClassDef *)", - "go": "(*JSRuntime).JSNewClass" - }, { - "mangle": "JS_NewClassID", - "c++": "JS_NewClassID(JSClassID *)", - "go": "(*JSClassID).JSNewClassID" - }, { - "mangle": "JS_NewContext", - "c++": "JS_NewContext(JSRuntime *)", - "go": "(*JSRuntime).JSNewContext" - }, { - "mangle": "JS_NewContextRaw", - "c++": "JS_NewContextRaw(JSRuntime *)", - "go": "(*JSRuntime).JSNewContextRaw" - }, { - "mangle": "JS_NewError", - "c++": "JS_NewError(JSContext *)", - "go": "(*JSContext).JSNewError" - }, { - "mangle": "JS_NewObject", - "c++": "JS_NewObject(JSContext *)", - "go": "(*JSContext).JSNewObject" - }, { - "mangle": "JS_NewObjectClass", - "c++": "JS_NewObjectClass(JSContext *, int)", - "go": "(*JSContext).JSNewObjectClass" - }, { - "mangle": "JS_NewObjectProto", - "c++": "JS_NewObjectProto(JSContext *, JSValue)", - "go": "(*JSContext).JSNewObjectProto" - }, { - "mangle": "JS_NewObjectProtoClass", - "c++": "JS_NewObjectProtoClass(JSContext *, JSValue, JSClassID)", - "go": "(*JSContext).JSNewObjectProtoClass" - }, { - "mangle": "JS_NewPromiseCapability", - "c++": "JS_NewPromiseCapability(JSContext *, JSValue *)", - "go": "(*JSContext).JSNewPromiseCapability" - }, { - "mangle": "JS_NewRuntime", - "c++": "JS_NewRuntime()", - "go": "JSNewRuntime" - }, { - "mangle": "JS_NewRuntime2", - "c++": "JS_NewRuntime2(const JSMallocFunctions *, void *)", - "go": "(*JSMallocFunctions).JSNewRuntime2" - }, { - "mangle": "JS_NewString", - "c++": "JS_NewString(JSContext *, const char *)", - "go": "(*JSContext).JSNewString" - }, { - "mangle": "JS_NewStringLen", - "c++": "JS_NewStringLen(JSContext *, const char *, size_t)", - "go": "(*JSContext).JSNewStringLen" - }, { - "mangle": "JS_ParseJSON", - "c++": "JS_ParseJSON(JSContext *, const char *, size_t, const char *)", - "go": "(*JSContext).JSParseJSON" - }, { - "mangle": "JS_ParseJSON2", - "c++": "JS_ParseJSON2(JSContext *, const char *, size_t, const char *, int)", - "go": "(*JSContext).JSParseJSON2" - }, { - "mangle": "JS_PreventExtensions", - "c++": "JS_PreventExtensions(JSContext *, JSValue)", - "go": "(*JSContext).JSPreventExtensions" - }, { - "mangle": "JS_PromiseResult", - "c++": "JS_PromiseResult(JSContext *, JSValue)", - "go": "(*JSContext).JSPromiseResult" - }, { - "mangle": "JS_PromiseState", - "c++": "JS_PromiseState(JSContext *, JSValue)", - "go": "(*JSContext).JSPromiseState" - }, { - "mangle": "JS_ReadObject", - "c++": "JS_ReadObject(JSContext *, const uint8_t *, size_t, int)", - "go": "(*JSContext).JSReadObject" - }, { - "mangle": "JS_ResetUncatchableError", - "c++": "JS_ResetUncatchableError(JSContext *)", - "go": "(*JSContext).JSResetUncatchableError" - }, { - "mangle": "JS_ResolveModule", - "c++": "JS_ResolveModule(JSContext *, JSValue)", - "go": "(*JSContext).JSResolveModule" - }, { - "mangle": "JS_RunGC", - "c++": "JS_RunGC(JSRuntime *)", - "go": "(*JSRuntime).JSRunGC" - }, { - "mangle": "JS_SetCanBlock", - "c++": "JS_SetCanBlock(JSRuntime *, int)", - "go": "(*JSRuntime).JSSetCanBlock" - }, { - "mangle": "JS_SetClassProto", - "c++": "JS_SetClassProto(JSContext *, JSClassID, JSValue)", - "go": "(*JSContext).JSSetClassProto" - }, { - "mangle": "JS_SetConstructor", - "c++": "JS_SetConstructor(JSContext *, JSValue, JSValue)", - "go": "(*JSContext).JSSetConstructor" - }, { - "mangle": "JS_SetConstructorBit", - "c++": "JS_SetConstructorBit(JSContext *, JSValue, int)", - "go": "(*JSContext).JSSetConstructorBit" - }, { - "mangle": "JS_SetContextOpaque", - "c++": "JS_SetContextOpaque(JSContext *, void *)", - "go": "(*JSContext).JSSetContextOpaque" - }, { - "mangle": "JS_SetGCThreshold", - "c++": "JS_SetGCThreshold(JSRuntime *, size_t)", - "go": "(*JSRuntime).JSSetGCThreshold" - }, { - "mangle": "JS_SetHostPromiseRejectionTracker", - "c++": "JS_SetHostPromiseRejectionTracker(JSRuntime *, JSHostPromiseRejectionTracker *, void *)", - "go": "(*JSRuntime).JSSetHostPromiseRejectionTracker" - }, { - "mangle": "JS_SetInterruptHandler", - "c++": "JS_SetInterruptHandler(JSRuntime *, JSInterruptHandler *, void *)", - "go": "(*JSRuntime).JSSetInterruptHandler" - }, { - "mangle": "JS_SetIsHTMLDDA", - "c++": "JS_SetIsHTMLDDA(JSContext *, JSValue)", - "go": "(*JSContext).JSSetIsHTMLDDA" - }, { - "mangle": "JS_SetMaxStackSize", - "c++": "JS_SetMaxStackSize(JSRuntime *, size_t)", - "go": "(*JSRuntime).JSSetMaxStackSize" - }, { - "mangle": "JS_SetMemoryLimit", - "c++": "JS_SetMemoryLimit(JSRuntime *, size_t)", - "go": "(*JSRuntime).JSSetMemoryLimit" - }, { - "mangle": "JS_SetModuleExport", - "c++": "JS_SetModuleExport(JSContext *, JSModuleDef *, const char *, JSValue)", - "go": "(*JSContext).JSSetModuleExport" - }, { - "mangle": "JS_SetModuleExportList", - "c++": "JS_SetModuleExportList(JSContext *, JSModuleDef *, const JSCFunctionListEntry *, int)", - "go": "(*JSContext).JSSetModuleExportList" - }, { - "mangle": "JS_SetModuleLoaderFunc", - "c++": "JS_SetModuleLoaderFunc(JSRuntime *, JSModuleNormalizeFunc *, JSModuleLoaderFunc *, void *)", - "go": "(*JSRuntime).JSSetModuleLoaderFunc" - }, { - "mangle": "JS_SetOpaque", - "c++": "JS_SetOpaque(JSValue, void *)", - "go": "JSValue.JSSetOpaque" - }, { - "mangle": "JS_SetPropertyFunctionList", - "c++": "JS_SetPropertyFunctionList(JSContext *, JSValue, const JSCFunctionListEntry *, int)", - "go": "(*JSContext).JSSetPropertyFunctionList" - }, { - "mangle": "JS_SetPropertyInt64", - "c++": "JS_SetPropertyInt64(JSContext *, JSValue, int64_t, JSValue)", - "go": "(*JSContext).JSSetPropertyInt64" - }, { - "mangle": "JS_SetPropertyInternal", - "c++": "JS_SetPropertyInternal(JSContext *, JSValue, JSAtom, JSValue, JSValue, int)", - "go": "(*JSContext).JSSetPropertyInternal" - }, { - "mangle": "JS_SetPropertyStr", - "c++": "JS_SetPropertyStr(JSContext *, JSValue, const char *, JSValue)", - "go": "(*JSContext).JSSetPropertyStr" - }, { - "mangle": "JS_SetPropertyUint32", - "c++": "JS_SetPropertyUint32(JSContext *, JSValue, uint32_t, JSValue)", - "go": "(*JSContext).JSSetPropertyUint32" - }, { - "mangle": "JS_SetPrototype", - "c++": "JS_SetPrototype(JSContext *, JSValue, JSValue)", - "go": "(*JSContext).JSSetPrototype" - }, { - "mangle": "JS_SetRuntimeInfo", - "c++": "JS_SetRuntimeInfo(JSRuntime *, const char *)", - "go": "(*JSRuntime).JSSetRuntimeInfo" - }, { - "mangle": "JS_SetRuntimeOpaque", - "c++": "JS_SetRuntimeOpaque(JSRuntime *, void *)", - "go": "(*JSRuntime).JSSetRuntimeOpaque" - }, { - "mangle": "JS_SetSharedArrayBufferFunctions", - "c++": "JS_SetSharedArrayBufferFunctions(JSRuntime *, const JSSharedArrayBufferFunctions *)", - "go": "(*JSRuntime).JSSetSharedArrayBufferFunctions" - }, { - "mangle": "JS_Throw", - "c++": "JS_Throw(JSContext *, JSValue)", - "go": "(*JSContext).JSThrow" - }, { - "mangle": "JS_ThrowInternalError", - "c++": "JS_ThrowInternalError(JSContext *, const char *, ...)", - "go": "(*JSContext).JSThrowInternalError" - }, { - "mangle": "JS_ThrowOutOfMemory", - "c++": "JS_ThrowOutOfMemory(JSContext *)", - "go": "(*JSContext).JSThrowOutOfMemory" - }, { - "mangle": "JS_ThrowRangeError", - "c++": "JS_ThrowRangeError(JSContext *, const char *, ...)", - "go": "(*JSContext).JSThrowRangeError" - }, { - "mangle": "JS_ThrowReferenceError", - "c++": "JS_ThrowReferenceError(JSContext *, const char *, ...)", - "go": "(*JSContext).JSThrowReferenceError" - }, { - "mangle": "JS_ThrowSyntaxError", - "c++": "JS_ThrowSyntaxError(JSContext *, const char *, ...)", - "go": "(*JSContext).JSThrowSyntaxError" - }, { - "mangle": "JS_ThrowTypeError", - "c++": "JS_ThrowTypeError(JSContext *, const char *, ...)", - "go": "(*JSContext).JSThrowTypeError" - }, { - "mangle": "JS_ToBigInt64", - "c++": "JS_ToBigInt64(JSContext *, int64_t *, JSValue)", - "go": "(*JSContext).JSToBigInt64" - }, { - "mangle": "JS_ToBool", - "c++": "JS_ToBool(JSContext *, JSValue)", - "go": "(*JSContext).JSToBool" - }, { - "mangle": "JS_ToCStringLen2", - "c++": "JS_ToCStringLen2(JSContext *, size_t *, JSValue, int)", - "go": "(*JSContext).JSToCStringLen2" - }, { - "mangle": "JS_ToFloat64", - "c++": "JS_ToFloat64(JSContext *, double *, JSValue)", - "go": "(*JSContext).JSToFloat64" - }, { - "mangle": "JS_ToIndex", - "c++": "JS_ToIndex(JSContext *, uint64_t *, JSValue)", - "go": "(*JSContext).JSToIndex" - }, { - "mangle": "JS_ToInt32", - "c++": "JS_ToInt32(JSContext *, int32_t *, JSValue)", - "go": "(*JSContext).JSToInt32" - }, { - "mangle": "JS_ToInt64", - "c++": "JS_ToInt64(JSContext *, int64_t *, JSValue)", - "go": "(*JSContext).JSToInt64" - }, { - "mangle": "JS_ToInt64Ext", - "c++": "JS_ToInt64Ext(JSContext *, int64_t *, JSValue)", - "go": "(*JSContext).JSToInt64Ext" - }, { - "mangle": "JS_ToPropertyKey", - "c++": "JS_ToPropertyKey(JSContext *, JSValue)", - "go": "(*JSContext).JSToPropertyKey" - }, { - "mangle": "JS_ToString", - "c++": "JS_ToString(JSContext *, JSValue)", - "go": "(*JSContext).JSToString" - }, { - "mangle": "JS_UpdateStackTop", - "c++": "JS_UpdateStackTop(JSRuntime *)", - "go": "(*JSRuntime).JSUpdateStackTop" - }, { - "mangle": "JS_ValueToAtom", - "c++": "JS_ValueToAtom(JSContext *, JSValue)", - "go": "(*JSContext).JSValueToAtom" - }, { - "mangle": "JS_WriteObject", - "c++": "JS_WriteObject(JSContext *, size_t *, JSValue, int)", - "go": "(*JSContext).JSWriteObject" - }, { - "mangle": "JS_WriteObject2", - "c++": "JS_WriteObject2(JSContext *, size_t *, JSValue, int, uint8_t ***, size_t *)", - "go": "(*JSContext).JSWriteObject2" - }, { - "mangle": "__JS_FreeValue", - "c++": "__JS_FreeValue(JSContext *, JSValue)", - "go": "(*JSContext).X__JSFreeValue" - }, { - "mangle": "__JS_FreeValueRT", - "c++": "__JS_FreeValueRT(JSRuntime *, JSValue)", - "go": "(*JSRuntime).X__JSFreeValueRT" - }, { - "mangle": "cr_copy", - "c++": "cr_copy(CharRange *, const CharRange *)", - "go": "(*CharRange).CrCopy" - }, { - "mangle": "cr_free", - "c++": "cr_free(CharRange *)", - "go": "(*CharRange).CrFree" - }, { - "mangle": "cr_init", - "c++": "cr_init(CharRange *, void *, void *(*)(void *, void *, size_t))", - "go": "(*CharRange).CrInit" - }, { - "mangle": "cr_invert", - "c++": "cr_invert(CharRange *)", - "go": "(*CharRange).CrInvert" - }, { - "mangle": "cr_op", - "c++": "cr_op(CharRange *, const uint32_t *, int, const uint32_t *, int, int)", - "go": "(*CharRange).CrOp" - }, { - "mangle": "cr_realloc", - "c++": "cr_realloc(CharRange *, int)", - "go": "(*CharRange).CrRealloc" - }, { - "mangle": "cr_regexp_canonicalize", - "c++": "cr_regexp_canonicalize(CharRange *, int)", - "go": "(*CharRange).CrRegexpCanonicalize" - }, { - "mangle": "cr_union1", - "c++": "cr_union1(CharRange *, const uint32_t *, int)", - "go": "(*CharRange).CrUnion1" - }, { - "mangle": "dbuf_free", - "c++": "dbuf_free(DynBuf *)", - "go": "(*DynBuf).DbufFree" - }, { - "mangle": "dbuf_init", - "c++": "dbuf_init(DynBuf *)", - "go": "(*DynBuf).DbufInit" - }, { - "mangle": "dbuf_init2", - "c++": "dbuf_init2(DynBuf *, void *, DynBufReallocFunc *)", - "go": "(*DynBuf).DbufInit2" - }, { - "mangle": "dbuf_printf", - "c++": "dbuf_printf(DynBuf *, const char *, ...)", - "go": "(*DynBuf).DbufPrintf" - }, { - "mangle": "dbuf_put", - "c++": "dbuf_put(DynBuf *, const uint8_t *, size_t)", - "go": "(*DynBuf).DbufPut" - }, { - "mangle": "dbuf_put_self", - "c++": "dbuf_put_self(DynBuf *, size_t, size_t)", - "go": "(*DynBuf).DbufPutSelf" - }, { - "mangle": "dbuf_putc", - "c++": "dbuf_putc(DynBuf *, uint8_t)", - "go": "(*DynBuf).DbufPutc" - }, { - "mangle": "dbuf_putstr", - "c++": "dbuf_putstr(DynBuf *, const char *)", - "go": "(*DynBuf).DbufPutstr" - }, { - "mangle": "dbuf_realloc", - "c++": "dbuf_realloc(DynBuf *, size_t)", - "go": "(*DynBuf).DbufRealloc" - }, { - "mangle": "dbuf_write", - "c++": "dbuf_write(DynBuf *, size_t, const uint8_t *, size_t)", - "go": "(*DynBuf).DbufWrite" - }, { - "mangle": "has_suffix", - "c++": "has_suffix(const char *, const char *)", - "go": "HasSuffix" - }, { - "mangle": "js_free", - "c++": "js_free(JSContext *, void *)", - "go": "(*JSContext).JsFree" - }, { - "mangle": "js_free_rt", - "c++": "js_free_rt(JSRuntime *, void *)", - "go": "(*JSRuntime).JsFreeRt" - }, { - "mangle": "js_init_module_os", - "c++": "js_init_module_os(JSContext *, const char *)", - "go": "(*JSContext).JsInitModuleOs" - }, { - "mangle": "js_init_module_std", - "c++": "js_init_module_std(JSContext *, const char *)", - "go": "(*JSContext).JsInitModuleStd" - }, { - "mangle": "js_load_file", - "c++": "js_load_file(JSContext *, size_t *, const char *)", - "go": "(*JSContext).JsLoadFile" - }, { - "mangle": "js_malloc", - "c++": "js_malloc(JSContext *, size_t)", - "go": "(*JSContext).JsMalloc" - }, { - "mangle": "js_malloc_rt", - "c++": "js_malloc_rt(JSRuntime *, size_t)", - "go": "(*JSRuntime).JsMallocRt" - }, { - "mangle": "js_malloc_usable_size", - "c++": "js_malloc_usable_size(JSContext *, const void *)", - "go": "(*JSContext).JsMallocUsableSize" - }, { - "mangle": "js_malloc_usable_size_rt", - "c++": "js_malloc_usable_size_rt(JSRuntime *, const void *)", - "go": "(*JSRuntime).JsMallocUsableSizeRt" - }, { - "mangle": "js_mallocz", - "c++": "js_mallocz(JSContext *, size_t)", - "go": "(*JSContext).JsMallocz" - }, { - "mangle": "js_mallocz_rt", - "c++": "js_mallocz_rt(JSRuntime *, size_t)", - "go": "(*JSRuntime).JsMalloczRt" - }, { - "mangle": "js_module_loader", - "c++": "js_module_loader(JSContext *, const char *, void *)", - "go": "(*JSContext).JsModuleLoader" - }, { - "mangle": "js_module_set_import_meta", - "c++": "js_module_set_import_meta(JSContext *, JSValue, int, int)", - "go": "(*JSContext).JsModuleSetImportMeta" - }, { - "mangle": "js_realloc", - "c++": "js_realloc(JSContext *, void *, size_t)", - "go": "(*JSContext).JsRealloc" - }, { - "mangle": "js_realloc2", - "c++": "js_realloc2(JSContext *, void *, size_t, size_t *)", - "go": "(*JSContext).JsRealloc2" - }, { - "mangle": "js_realloc_rt", - "c++": "js_realloc_rt(JSRuntime *, void *, size_t)", - "go": "(*JSRuntime).JsReallocRt" - }, { - "mangle": "js_std_add_helpers", - "c++": "js_std_add_helpers(JSContext *, int, char **)", - "go": "(*JSContext).JsStdAddHelpers" - }, { - "mangle": "js_std_dump_error", - "c++": "js_std_dump_error(JSContext *)", - "go": "(*JSContext).JsStdDumpError" - }, { - "mangle": "js_std_eval_binary", - "c++": "js_std_eval_binary(JSContext *, const uint8_t *, size_t, int)", - "go": "(*JSContext).JsStdEvalBinary" - }, { - "mangle": "js_std_free_handlers", - "c++": "js_std_free_handlers(JSRuntime *)", - "go": "(*JSRuntime).JsStdFreeHandlers" - }, { - "mangle": "js_std_init_handlers", - "c++": "js_std_init_handlers(JSRuntime *)", - "go": "(*JSRuntime).JsStdInitHandlers" - }, { - "mangle": "js_std_loop", - "c++": "js_std_loop(JSContext *)", - "go": "(*JSContext).JsStdLoop" - }, { - "mangle": "js_std_promise_rejection_tracker", - "c++": "js_std_promise_rejection_tracker(JSContext *, JSValue, JSValue, int, void *)", - "go": "(*JSContext).JsStdPromiseRejectionTracker" - }, { - "mangle": "js_std_set_worker_new_context_func", - "c++": "js_std_set_worker_new_context_func(JSContext *(*)(JSRuntime *))", - "go": "JsStdSetWorkerNewContextFunc" - }, { - "mangle": "js_strdup", - "c++": "js_strdup(JSContext *, const char *)", - "go": "(*JSContext).JsStrdup" - }, { - "mangle": "js_string_codePointRange", - "c++": "js_string_codePointRange(JSContext *, JSValue, int, JSValue *)", - "go": "(*JSContext).JsStringCodePointRange" - }, { - "mangle": "js_strndup", - "c++": "js_strndup(JSContext *, const char *, size_t)", - "go": "(*JSContext).JsStrndup" - }, { - "mangle": "lre_canonicalize", - "c++": "lre_canonicalize(uint32_t, int)", - "go": "LreCanonicalize" - }, { - "mangle": "lre_case_conv", - "c++": "lre_case_conv(uint32_t *, uint32_t, int)", - "go": "LreCaseConv" - }, { - "mangle": "lre_check_stack_overflow", - "c++": "lre_check_stack_overflow(void *, size_t)", - "go": "LreCheckStackOverflow" - }, { - "mangle": "lre_compile", - "c++": "lre_compile(int *, char *, int, const char *, size_t, int, void *)", - "go": "LreCompile" - }, { - "mangle": "lre_exec", - "c++": "lre_exec(uint8_t **, const uint8_t *, const uint8_t *, int, int, int, void *)", - "go": "LreExec" - }, { - "mangle": "lre_get_capture_count", - "c++": "lre_get_capture_count(const uint8_t *)", - "go": "LreGetCaptureCount" - }, { - "mangle": "lre_get_flags", - "c++": "lre_get_flags(const uint8_t *)", - "go": "LreGetFlags" - }, { - "mangle": "lre_get_groupnames", - "c++": "lre_get_groupnames(const uint8_t *)", - "go": "LreGetGroupnames" - }, { - "mangle": "lre_is_case_ignorable", - "c++": "lre_is_case_ignorable(uint32_t)", - "go": "LreIsCaseIgnorable" - }, { - "mangle": "lre_is_cased", - "c++": "lre_is_cased(uint32_t)", - "go": "LreIsCased" - }, { - "mangle": "lre_is_id_continue", - "c++": "lre_is_id_continue(uint32_t)", - "go": "LreIsIdContinue" - }, { - "mangle": "lre_is_id_start", - "c++": "lre_is_id_start(uint32_t)", - "go": "LreIsIdStart" - }, { - "mangle": "lre_is_space", - "c++": "lre_is_space(int)", - "go": "LreIsSpace" - }, { - "mangle": "lre_js_is_ident_next", - "c++": "lre_js_is_ident_next(int)", - "go": "LreJsIsIdentNext" - }, { - "mangle": "lre_parse_escape", - "c++": "lre_parse_escape(const uint8_t **, int)", - "go": "LreParseEscape" - }, { - "mangle": "lre_realloc", - "c++": "lre_realloc(void *, void *, size_t)", - "go": "LreRealloc" - }, { - "mangle": "pstrcat", - "c++": "pstrcat(char *, int, const char *)", - "go": "Pstrcat" - }, { - "mangle": "pstrcpy", - "c++": "pstrcpy(char *, int, const char *)", - "go": "Pstrcpy" - }, { - "mangle": "rqsort", - "c++": "rqsort(void *, size_t, size_t, int (*)(const void *, const void *, void *), void *)", - "go": "Rqsort" - }, { - "mangle": "strstart", - "c++": "strstart(const char *, const char *, const char **)", - "go": "Strstart" - }, { - "mangle": "unicode_from_utf8", - "c++": "unicode_from_utf8(const uint8_t *, int, const uint8_t **)", - "go": "UnicodeFromUtf8" - }, { - "mangle": "unicode_general_category", - "c++": "unicode_general_category(CharRange *, const char *)", - "go": "(*CharRange).UnicodeGeneralCategory" - }, { - "mangle": "unicode_normalize", - "c++": "unicode_normalize(uint32_t **, const uint32_t *, int, UnicodeNormalizationEnum, void *, void *(*)(void *, void *, size_t))", - "go": "UnicodeNormalize" - }, { - "mangle": "unicode_prop", - "c++": "unicode_prop(CharRange *, const char *)", - "go": "(*CharRange).UnicodeProp" - }, { - "mangle": "unicode_script", - "c++": "unicode_script(CharRange *, const char *, int)", - "go": "(*CharRange).UnicodeScript" - }, { - "mangle": "unicode_to_utf8", - "c++": "unicode_to_utf8(uint8_t *, unsigned int)", - "go": "UnicodeToUtf8" - }] \ No newline at end of file