Skip to content

Commit 7b65e73

Browse files
committed
But no space before func opening paren to match convention
1 parent c7823c0 commit 7b65e73

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

design/mvp/CanonicalABI.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1432,14 +1432,14 @@ Function and value types are recursively mangled into
14321432
[`wit`](WIT.md)-compatible syntax:
14331433
```python
14341434
def mangle_funcname(name, ft):
1435-
return '{name}: func {params} -> {results}'.format(
1435+
return '{name}: func{params} -> {results}'.format(
14361436
name = name,
1437-
params = mangle_funcvec(ft.params),
1438-
results = mangle_funcvec(ft.results))
1437+
params = mangle_funcvec(ft.params, pre_space = False),
1438+
results = mangle_funcvec(ft.results, pre_space = True))
14391439

1440-
def mangle_funcvec(es):
1440+
def mangle_funcvec(es, pre_space):
14411441
if len(es) == 1 and isinstance(es[0], ValType):
1442-
return mangle_valtype(es[0])
1442+
return (' ' if not pre_space else '') + mangle_valtype(es[0])
14431443
assert(all(type(e) == tuple and len(e) == 2 for e in es))
14441444
mangled_elems = (e[0] + ': ' + mangle_valtype(e[1]) for e in es)
14451445
return '(' + ', '.join(mangled_elems) + ')'
@@ -1508,19 +1508,19 @@ As an example, given a component type:
15081508
(export "bar" (func (param "x" u32) (param "y" u32) (result u32)))
15091509
))
15101510
(import "v1" (value string))
1511-
(export "baz" (func (result string)))
1511+
(export "baz" (func (param string) (result string)))
15121512
(export "v2" (value list<list<string>>))
15131513
)
15141514
```
15151515
the `canonical_module_type` would be:
15161516
```wasm
15171517
(module
1518-
(import "" "foo: func () -> ()" (func))
1519-
(import "" "a.bar: func (x: u32, y: u32) -> u32" (func param i32 i32) (result i32))
1518+
(import "" "foo: func() -> ()" (func))
1519+
(import "" "a.bar: func(x: u32, y: u32) -> u32" (func param i32 i32) (result i32))
15201520
(export "cabi_memory" (memory 0))
15211521
(export "cabi_realloc" (func (param i32 i32 i32 i32) (result i32)))
15221522
(export "cabi_start{cabi=0.1}: func (v1: string) -> (v2: list<list<string>>)" (func (param i32 i32) (result i32)))
1523-
(export "baz: func () -> string" (func (result i32)))
1523+
(export "baz: func string -> string" (func (param i32 i32) (result i32)))
15241524
(export "cabi_post_baz" (func (param i32)))
15251525
)
15261526
```

design/mvp/canonical-abi/definitions.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,14 +1079,14 @@ def mangle_instances(xs, path = ''):
10791079
#
10801080

10811081
def mangle_funcname(name, ft):
1082-
return '{name}: func {params} -> {results}'.format(
1082+
return '{name}: func{params} -> {results}'.format(
10831083
name = name,
1084-
params = mangle_funcvec(ft.params),
1085-
results = mangle_funcvec(ft.results))
1084+
params = mangle_funcvec(ft.params, pre_space = False),
1085+
results = mangle_funcvec(ft.results, pre_space = True))
10861086

1087-
def mangle_funcvec(es):
1087+
def mangle_funcvec(es, pre_space):
10881088
if len(es) == 1 and isinstance(es[0], ValType):
1089-
return mangle_valtype(es[0])
1089+
return (' ' if not pre_space else '') + mangle_valtype(es[0])
10901090
assert(all(type(e) == tuple and len(e) == 2 for e in es))
10911091
mangled_elems = (e[0] + ': ' + mangle_valtype(e[1]) for e in es)
10921092
return '(' + ', '.join(mangled_elems) + ')'

design/mvp/canonical-abi/run_tests.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -375,11 +375,11 @@ def test_mangle_functype(params, results, expect):
375375

376376
test_mangle_functype([U8()], [U8()], 'func u8 -> u8')
377377
test_mangle_functype([U8()], [], 'func u8 -> ()')
378-
test_mangle_functype([], [U8()], 'func () -> u8')
379-
test_mangle_functype([('x',U8())], [('y',U8())], 'func (x: u8) -> (y: u8)')
378+
test_mangle_functype([], [U8()], 'func() -> u8')
379+
test_mangle_functype([('x',U8())], [('y',U8())], 'func(x: u8) -> (y: u8)')
380380
test_mangle_functype([('a',Bool()),('b',U8()),('c',S16()),('d',U32()),('e',S64())],
381381
[('a',S8()),('b',U16()),('c',S32()),('d',U64())],
382-
'func (a: bool, b: u8, c: s16, d: u32, e: s64) -> (a: s8, b: u16, c: s32, d: u64)')
382+
'func(a: bool, b: u8, c: s16, d: u32, e: s64) -> (a: s8, b: u16, c: s32, d: u64)')
383383
test_mangle_functype([List(List(String()))], [],
384384
'func list<list<string>> -> ()')
385385
test_mangle_functype([Record([Field('x',Record([Field('y',String())])),Field('z',U32())])], [],
@@ -393,7 +393,7 @@ def test_mangle_functype(params, results, expect):
393393
test_mangle_functype([Option(Bool())],[Option(List(U8()))],
394394
'func option<bool> -> option<list<u8>>')
395395
test_mangle_functype([], [('a',Result(None,None)),('b',Result(U8(),None)),('c',Result(None,U8()))],
396-
'func () -> (a: result<_, _>, b: result<u8, _>, c: result<_, u8>)')
396+
'func() -> (a: result<_, _>, b: result<u8, _>, c: result<_, u8>)')
397397

398398
def test_cabi(ct, expect):
399399
got = canonical_module_type(ct)
@@ -411,7 +411,7 @@ def test_cabi(ct, expect):
411411
[CoreImportDecl('','a: func u8 -> u8', CoreFuncType(['i32'],['i32']))],
412412
[CoreExportDecl('cabi_memory', CoreMemoryType(0, None)),
413413
CoreExportDecl('cabi_realloc', CoreFuncType(['i32','i32','i32','i32'],['i32'])),
414-
CoreExportDecl('cabi_start{cabi=0.1}: func (b: string) -> (d: list<u8>)',
414+
CoreExportDecl('cabi_start{cabi=0.1}: func(b: string) -> (d: list<u8>)',
415415
CoreFuncType(['i32','i32'],['i32'])),
416416
CoreExportDecl('c: func s8 -> s8', CoreFuncType(['i32'],['i32']))]
417417
)
@@ -431,9 +431,9 @@ def test_cabi(ct, expect):
431431
[CoreImportDecl('','a.b: func u8 -> u8', CoreFuncType(['i32'],['i32']))],
432432
[CoreExportDecl('cabi_memory', CoreMemoryType(0, None)),
433433
CoreExportDecl('cabi_realloc', CoreFuncType(['i32','i32','i32','i32'],['i32'])),
434-
CoreExportDecl('cabi_start{cabi=0.1}: func (a.c: float32) -> (d.f: float64)',
434+
CoreExportDecl('cabi_start{cabi=0.1}: func(a.c: float32) -> (d.f: float64)',
435435
CoreFuncType(['f32'],['f64'])),
436-
CoreExportDecl('d.e: func () -> list<string>', CoreFuncType([],['i32'])),
436+
CoreExportDecl('d.e: func() -> list<string>', CoreFuncType([],['i32'])),
437437
CoreExportDecl('cabi_post_d.e', CoreFuncType(['i32'],[]))]
438438
)
439439
)
@@ -444,17 +444,17 @@ def test_cabi(ct, expect):
444444
ExternDecl('bar', FuncType([('x', U32()),('y', U32())],[U32()]))
445445
])),
446446
ExternDecl('v1', ValueType(String()))],
447-
[ExternDecl('baz', FuncType([], [String()])),
447+
[ExternDecl('baz', FuncType([String()], [String()])),
448448
ExternDecl('v2', ValueType(List(List(String()))))]
449449
),
450450
ModuleType(
451-
[CoreImportDecl('','foo: func () -> ()', CoreFuncType([],[])),
452-
CoreImportDecl('','a.bar: func (x: u32, y: u32) -> u32', CoreFuncType(['i32','i32'],['i32']))],
451+
[CoreImportDecl('','foo: func() -> ()', CoreFuncType([],[])),
452+
CoreImportDecl('','a.bar: func(x: u32, y: u32) -> u32', CoreFuncType(['i32','i32'],['i32']))],
453453
[CoreExportDecl('cabi_memory', CoreMemoryType(0, None)),
454454
CoreExportDecl('cabi_realloc', CoreFuncType(['i32','i32','i32','i32'],['i32'])),
455-
CoreExportDecl('cabi_start{cabi=0.1}: func (v1: string) -> (v2: list<list<string>>)',
455+
CoreExportDecl('cabi_start{cabi=0.1}: func(v1: string) -> (v2: list<list<string>>)',
456456
CoreFuncType(['i32','i32'],['i32'])),
457-
CoreExportDecl('baz: func () -> string', CoreFuncType([],['i32'])),
457+
CoreExportDecl('baz: func string -> string', CoreFuncType(['i32','i32'],['i32'])),
458458
CoreExportDecl('cabi_post_baz', CoreFuncType(['i32'],[]))]
459459
)
460460
)

0 commit comments

Comments
 (0)