Просмотр исходного кода

Refactor switch..case equality check to map stoObj to it's actual value

Lucas de Souza 5 лет назад
Родитель
Сommit
923d419eac
1 измененных файлов с 5 добавлено и 4 удалено
  1. 5 4
      js/processor/ivprogProcessor.js

+ 5 - 4
js/processor/ivprogProcessor.js

@@ -284,10 +284,11 @@ export class IVProgProcessor {
           return outerRef.executeCommands(tuple[1], next.commands)
             .then(nSto => Promise.resolve([true, nSto]));
         } else {
-          return outerRef.evaluateExpression(tuple[1],
-            new Expressions.InfixApp(Operators.EQ, cmd.expression, next.expression)
-            ).then(equalityResult => {
-              if (equalityResult.value) {
+          const equalityInfixApp = new Expressions.InfixApp(Operators.EQ, cmd.expression, next.expression);
+          equalityInfixApp.sourceInfo = next.sourceInfo;
+          return outerRef.evaluateExpression(tuple[1],equalityInfixApp).then(stoObj => stoObj.value)
+            .then(isEqual => {
+              if (isEqual) {
                 return this.executeCommands(tuple[1], next.commands)
                   .then(nSto => Promise.resolve([true, nSto]));
               } else {