diff --git a/src/de/inetsoftware/jwebassembly/module/WasmBlockInstruction.java b/src/de/inetsoftware/jwebassembly/module/WasmBlockInstruction.java index e2cde5d..86dd63c 100644 --- a/src/de/inetsoftware/jwebassembly/module/WasmBlockInstruction.java +++ b/src/de/inetsoftware/jwebassembly/module/WasmBlockInstruction.java @@ -1,5 +1,5 @@ /* - Copyright 2018 - 2021 Volker Berlin (i-net software) + Copyright 2018 - 2022 Volker Berlin (i-net software) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -103,6 +103,7 @@ class WasmBlockInstruction extends WasmInstruction { AnyType getPushValueType() { switch( op ) { case IF: + case BLOCK: return data != ValueType.empty ? (AnyType)data : null; case RETURN: return (AnyType)data; @@ -151,4 +152,12 @@ class WasmBlockInstruction extends WasmInstruction { return null; } } + + /** + * Only used for debugging + */ + @Override + public String toString() { + return getClass().getSimpleName() + ": " + op + (data == null || data == ValueType.empty ? "" : " " + data); + } } diff --git a/src/de/inetsoftware/jwebassembly/module/WasmConstInstruction.java b/src/de/inetsoftware/jwebassembly/module/WasmConstInstruction.java index 68513c1..b2a146d 100644 --- a/src/de/inetsoftware/jwebassembly/module/WasmConstInstruction.java +++ b/src/de/inetsoftware/jwebassembly/module/WasmConstInstruction.java @@ -1,5 +1,5 @@ /* - Copyright 2018 - 2021 Volker Berlin (i-net software) + Copyright 2018 - 2022 Volker Berlin (i-net software) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -129,4 +129,12 @@ class WasmConstInstruction extends WasmInstruction { AnyType[] getPopValueTypes() { return null; } + + /** + * Only used for debugging + */ + @Override + public String toString() { + return getClass().getSimpleName() + ": " + value; + } } diff --git a/src/de/inetsoftware/jwebassembly/module/WasmLocalInstruction.java b/src/de/inetsoftware/jwebassembly/module/WasmLocalInstruction.java index e1bfa8b..97b46bc 100644 --- a/src/de/inetsoftware/jwebassembly/module/WasmLocalInstruction.java +++ b/src/de/inetsoftware/jwebassembly/module/WasmLocalInstruction.java @@ -150,4 +150,12 @@ class WasmLocalInstruction extends WasmInstruction { AnyType[] getPopValueTypes() { return op == get ? null : new AnyType[] { localVariables.getValueType( getIndex() ) }; } + + /** + * Only used for debugging + */ + @Override + public String toString() { + return getClass().getSimpleName() + ": local." + op + ' ' + idx; + } } diff --git a/src/de/inetsoftware/jwebassembly/module/WasmNumericInstruction.java b/src/de/inetsoftware/jwebassembly/module/WasmNumericInstruction.java index 04a951a..be4a6b9 100644 --- a/src/de/inetsoftware/jwebassembly/module/WasmNumericInstruction.java +++ b/src/de/inetsoftware/jwebassembly/module/WasmNumericInstruction.java @@ -1,5 +1,5 @@ /* - Copyright 2018 - 2021 Volker Berlin (i-net software) + Copyright 2018 - 2022 Volker Berlin (i-net software) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -133,4 +133,12 @@ class WasmNumericInstruction extends WasmInstruction { return new AnyType[] { valueType, valueType }; } } + + /** + * Only used for debugging + */ + @Override + public String toString() { + return getClass().getSimpleName() + ": " + valueType + '.' + numOp; + } }