assemblyscript/tests/parser/string-binding.ts
2018-09-30 22:21:34 +02:00

52 lines
2.2 KiB
TypeScript

// a host-bindings syntax experiment
@binding(BindingCall.NEW, [ BindingType.STRING ], BindingType.OBJECT_HANDLE)
export class ExternalString {
@binding(BindingCall.FUNCTION, [ BindingType.U32, BindingType.U32 ], BindingType.OBJECT_HANDLE)
static fromCharCode(char: u16, schar: u16 = <u16>-1): String { return unreachable(); }
@binding(BindingCall.FUNCTION, [ BindingType.U32 ], BindingType.OBJECT_HANDLE)
static fromCodePoint(codepoint: u32): String { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.U32 ], BindingType.OBJECT_HANDLE)
charAt(index: u32): String { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.U32 ], BindingType.PASS_THRU)
charCodeAt(index: u32): u16 { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.U32 ], BindingType.PASS_THRU)
codePointAt(index: u32): u32 { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.OBJECT_HANDLE)
@operator("+")
concat(other: String): String { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU)
endsWith(other: String): bool { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU)
indexOf(other: String): i32 { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU)
startsWith(other: String): bool { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.U32, BindingType.U32 ], BindingType.OBJECT_HANDLE)
substr(start: i32, length: i32): String { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.U32, BindingType.U32 ], BindingType.OBJECT_HANDLE)
substring(start: i32, end: i32): String { return unreachable(); }
@binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE)
trim(): String { return unreachable(); }
@binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE)
trimStart(): String { return unreachable(); }
@binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE)
trimEnd(): String { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU)
@operator("==")
equals(other: String): bool { return unreachable(); }
}