diff --git a/build.gradle b/build.gradle index 8d7b453..44712e0 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ import com.github.jk1.license.filter.* import io.github.spencerpark.gradle.* group = 'io.github.spencerpark' -version = '1.1.1' +version = '1.1.2' wrapper { gradleVersion = '4.8.1' diff --git a/src/main/java/io/github/spencerpark/ijava/execution/CodeEvaluator.java b/src/main/java/io/github/spencerpark/ijava/execution/CodeEvaluator.java index ab90d96..b6a2d09 100644 --- a/src/main/java/io/github/spencerpark/ijava/execution/CodeEvaluator.java +++ b/src/main/java/io/github/spencerpark/ijava/execution/CodeEvaluator.java @@ -75,8 +75,16 @@ public class CodeEvaluator { String key = event.value(); if (key == null) continue; - Object value = executionControl.takeResult(key); - switch (event.snippet().subKind()) { + Snippet.SubKind subKind = event.snippet().subKind(); + + // Only executable snippets make their way through the machinery we have setup in the + // IJavaExecutionControl. Declarations for example simply take their default value without + // being executed. + Object value = subKind.isExecutable() + ? executionControl.takeResult(key) + : event.value(); + + switch (subKind) { case VAR_VALUE_SUBKIND: case OTHER_EXPRESSION_SUBKIND: case TEMP_VAR_EXPRESSION_SUBKIND: