From dd944756e413b0097b2392979f11c6257a374032 Mon Sep 17 00:00:00 2001 From: otya128 Date: Tue, 4 Jul 2017 20:40:01 +0900 Subject: [PATCH] Fix SWAP integer,double --- SMILEBASIC/TEST.txt | 12 ++++++------ SMILEBASIC/VM.d | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/SMILEBASIC/TEST.txt b/SMILEBASIC/TEST.txt index dbc87d2..a01d5d2 100644 --- a/SMILEBASIC/TEST.txt +++ b/SMILEBASIC/TEST.txt @@ -60,18 +60,18 @@ DEF SWAPTEST VAR A=1 VAR B=2 SWAP A,B - ASSERT__ B==1, "SWAP" - ASSERT__ A==2, "SWAP" + ASSERT__ B==1, "SWAP1" + ASSERT__ A==2, "SWAP2" VAR A$="1 VAR B$="2 SWAP A$,B$ - ASSERT__ B$=="1", "SWAP" - ASSERT__ A$=="2", "SWAP" + ASSERT__ B$=="1", "SWAP3" + ASSERT__ A$=="2", "SWAP4" VAR A%=1 VAR B#=2.34567 SWAP A%,B# - ASSERT__ B#==1, "SWAP" - ASSERT__ A%==2, "SWAP" + ASSERT__ B#==1, "SWAP5" + ASSERT__ A%==2, "SWAP6" END 'REPEAT TEST diff --git a/SMILEBASIC/VM.d b/SMILEBASIC/VM.d index ec6304f..07c55bf 100644 --- a/SMILEBASIC/VM.d +++ b/SMILEBASIC/VM.d @@ -2293,7 +2293,7 @@ class SwapCode : Code if (refitem1.reference.type == ValueType.Double && refitem2.reference.type == ValueType.Integer) { integer = refitem2.reference.castInteger; - refitem2.reference.integerValue = refitem1.reference.integerValue; + refitem2.reference.integerValue = refitem1.reference.castInteger; refitem1.reference.doubleValue = integer; return; }