mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-24 12:11:50 +00:00
Make sure changetype works
This commit is contained in:
@ -3,14 +3,14 @@
|
||||
(type $fff (func (param f32 f32) (result f32)))
|
||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $ifff (func (param i32 f32 f32) (result f32)))
|
||||
(type $iv (func (param i32)))
|
||||
(type $ii (func (param i32) (result i32)))
|
||||
(type $v (func))
|
||||
(global $class/Animal.ONE (mut i32) (i32.const 1))
|
||||
(memory $0 1)
|
||||
(export "test" (func $class/test))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $class/test (; 0 ;) (type $iv) (param $0 i32)
|
||||
(func $class/test (; 0 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -63,6 +63,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(get_local $0)
|
||||
)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
(local $0 i32)
|
||||
|
@ -3,7 +3,7 @@
|
||||
(type $fff (func (param f32 f32) (result f32)))
|
||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $ifff (func (param i32 f32 f32) (result f32)))
|
||||
(type $iv (func (param i32)))
|
||||
(type $ii (func (param i32) (result i32)))
|
||||
(type $v (func))
|
||||
(global $class/Animal.ONE (mut i32) (i32.const 1))
|
||||
(memory $0 1)
|
||||
@ -50,7 +50,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $class/test (; 4 ;) (type $iv) (param $0 i32)
|
||||
(func $class/test (; 4 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(drop
|
||||
(call $class/Animal#instanceAdd
|
||||
(get_local $0)
|
||||
@ -65,6 +65,7 @@
|
||||
(f32.const 2)
|
||||
)
|
||||
)
|
||||
(get_local $0)
|
||||
)
|
||||
(func $start (; 5 ;) (type $v)
|
||||
(drop
|
||||
|
@ -16,7 +16,11 @@ Animal.ONE;
|
||||
Animal.add(1,2);
|
||||
Animal.sub<f32>(1, 2);
|
||||
|
||||
export function test(animal: Animal<f64>): void {
|
||||
export function test(animal: Animal<f64>): Animal<f64> {
|
||||
animal.instanceAdd(1, 2);
|
||||
animal.instanceSub<f32>(1, 2);
|
||||
|
||||
var ptr = changetype<usize>(animal);
|
||||
var cls = changetype<Animal<f64>>(ptr);
|
||||
return cls;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
(type $fff (func (param f32 f32) (result f32)))
|
||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $ifff (func (param i32 f32 f32) (result f32)))
|
||||
(type $iv (func (param i32)))
|
||||
(type $ii (func (param i32) (result i32)))
|
||||
(type $v (func))
|
||||
(global $class/Animal.ONE (mut i32) (i32.const 1))
|
||||
(global $HEAP_BASE i32 (i32.const 4))
|
||||
@ -59,7 +59,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $class/test (; 4 ;) (type $iv) (param $0 i32)
|
||||
(func $class/test (; 4 ;) (type $ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(drop
|
||||
(call $class/Animal#instanceAdd
|
||||
(get_local $0)
|
||||
@ -74,6 +76,19 @@
|
||||
(f32.const 2)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $1
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $2
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(return
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(func $start (; 5 ;) (type $v)
|
||||
(if
|
||||
|
Reference in New Issue
Block a user