diff options
author | 2023-05-17 18:51:50 -0700 | |
---|---|---|
committer | 2023-05-17 18:51:50 -0700 | |
commit | 25447426f19702a0fff808b3d426d66f4d8e558d (patch) | |
tree | aa98cd928a6ee0db015b98bee9041cbf4575167d /src/bun.js/resolve_message.classes.ts | |
parent | 67f543daa79c142cf6ea1451fa0c5d691b468c40 (diff) | |
download | bun-25447426f19702a0fff808b3d426d66f4d8e558d.tar.gz bun-25447426f19702a0fff808b3d426d66f4d8e558d.tar.zst bun-25447426f19702a0fff808b3d426d66f4d8e558d.zip |
Make `BuildError` and `ResolveError` use C++ instead of JSC C API
Fixes memory leak with private data never being cleared
Fixes a case where a ResolveError could actually be a BuildError
Diffstat (limited to 'src/bun.js/resolve_message.classes.ts')
-rw-r--r-- | src/bun.js/resolve_message.classes.ts | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/bun.js/resolve_message.classes.ts b/src/bun.js/resolve_message.classes.ts new file mode 100644 index 000000000..734e766ba --- /dev/null +++ b/src/bun.js/resolve_message.classes.ts @@ -0,0 +1,94 @@ +import { define } from "./scripts/class-definitions"; + +export default [ + define({ + name: "ResolveMessage", + construct: true, + finalize: true, + configurable: false, + klass: {}, + JSType: "0b11101110", + proto: { + message: { + getter: "getMessage", + cache: true, + }, + name: { + value: "ResolveMessage", + }, + level: { + getter: "getLevel", + cache: true, + }, + referrer: { + getter: "getReferrer", + cache: true, + }, + specifier: { + getter: "getSpecifier", + cache: true, + }, + importKind: { + getter: "getImportKind", + cache: true, + }, + code: { + value: "ERR_MODULE_NOT_FOUND", + }, + position: { + getter: "getPosition", + cache: true, + }, + ["@@toPrimitive"]: { + fn: "toPrimitive", + length: 1, + }, + ["toString"]: { + fn: "toString", + length: 0, + }, + ["toJSON"]: { + fn: "toJSON", + length: 0, + }, + }, + }), + + define({ + name: "BuildMessage", + construct: true, + finalize: true, + configurable: false, + klass: {}, + JSType: "0b11101110", + proto: { + message: { + getter: "getMessage", + cache: true, + }, + name: { + value: "BuildMessage", + }, + level: { + getter: "getLevel", + cache: true, + }, + position: { + getter: "getPosition", + cache: true, + }, + ["@@toPrimitive"]: { + fn: "toPrimitive", + length: 1, + }, + ["toString"]: { + fn: "toString", + length: 0, + }, + ["toJSON"]: { + fn: "toJSON", + length: 0, + }, + }, + }), +]; |