1
0
mirror of https://github.com/fluencelabs/assemblyscript synced 2025-07-08 11:01:52 +00:00
Files
bin
examples
lib
scripts
src
std
tests
binaryen
compiler
parser
class.ts
class.ts.fixture.ts
continue-on-error.ts
continue-on-error.ts.fixture.ts
do.ts
do.ts.fixture.ts
enum.ts
enum.ts.fixture.ts
for.ts
for.ts.fixture.ts
function.ts
function.ts.fixture.ts
import.ts
import.ts.fixture.ts
literals.ts
literals.ts.fixture.ts
namespace.ts
namespace.ts.fixture.ts
propertyelementaccess.ts
propertyelementaccess.ts.fixture.ts
regexp.ts
regexp.ts.fixture.ts
string-binding.ts
string-binding.ts.fixture.ts
tsconfig.json
type.ts
type.ts.fixture.ts
var.ts
var.ts.fixture.ts
while.ts
while.ts.fixture.ts
util
README.md
compiler.js
decompiler.js
i64.ts
parser.js
path.ts
tokenizer.ts
.gitignore
.travis.yml
LICENSE
NOTICE
README.md
index.d.ts
index.js
package-lock.json
package.json
tsconfig-base.json
tslint.json
webpack.config.js
assemblyscript/tests/parser/string-binding.ts

53 lines
2.2 KiB
TypeScript
Raw Normal View History

// 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)
trimLeft(): String { return unreachable(); }
@binding(BindingCall.THIS, [], BindingType.OBJECT_HANDLE)
trimRight(): String { return unreachable(); }
@binding(BindingCall.THIS, [ BindingType.OBJECT_HANDLE ], BindingType.PASS_THRU)
@operator("==")
equals(other: String): bool { return unreachable(); }
}