From 2fc4e73232917745ae82d76ba3e275a6fcb80107 Mon Sep 17 00:00:00 2001 From: Giacomo Boldini Date: Wed, 7 Feb 2024 16:31:09 +0100 Subject: [PATCH] Fix type-checking errors in Addition and Remainder statements. --- .../it/unive/lisa/program/cfg/statement/numeric/Addition.java | 2 +- .../it/unive/lisa/program/cfg/statement/numeric/Remainder.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/numeric/Addition.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/numeric/Addition.java index 0d4b9197d..3f2a2a7db 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/numeric/Addition.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/numeric/Addition.java @@ -55,7 +55,7 @@ public > AnalysisState fwdBinarySemantics( SymbolicExpression right, StatementStore expressions) throws SemanticException { - if (state.getState().getRuntimeTypesOf(right, this, state.getState()).stream().noneMatch(Type::isNumericType)) + if (state.getState().getRuntimeTypesOf(left, this, state.getState()).stream().noneMatch(Type::isNumericType)) return state.bottom(); if (state.getState().getRuntimeTypesOf(right, this, state.getState()).stream().noneMatch(Type::isNumericType)) return state.bottom(); diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/numeric/Remainder.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/numeric/Remainder.java index 5f8a4fbef..41dfbca2d 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/numeric/Remainder.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/numeric/Remainder.java @@ -58,7 +58,7 @@ public > AnalysisState fwdBinarySemantics( throws SemanticException { if (state.getState().getRuntimeTypesOf(left, this, state.getState()).stream().noneMatch(Type::isNumericType)) return state.bottom(); - if (state.getState().getRuntimeTypesOf(left, this, state.getState()).stream().noneMatch(Type::isNumericType)) + if (state.getState().getRuntimeTypesOf(right, this, state.getState()).stream().noneMatch(Type::isNumericType)) return state.bottom(); return state.smallStepSemantics(