diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-13 20:45:26 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-13 20:45:26 +0000 |
| commit | 6f55b35b12c31e923170818ac0452e694465c68c (patch) | |
| tree | 5dc8e4c7c1921b8e89c9b6824f3681bd2fbac64f /src/main/java | |
| parent | 20fd6bebda70202767d4d150e0f0ae3749172206 (diff) | |
Add overload of Scope.temporaryVariable that infers type from value
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/Scope.java | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java index eecba36..d03c7c0 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java @@ -95,9 +95,7 @@ class JavaStatementReader { private List<StatementNode> readSwitchStatement(SwitchStatement switchStatement) { ExpressionNode switchValue = readExpressionWithoutBoxing(switchStatement.getExpression()); - LocalVariableDeclarationNode switchValueAssignment = scope.temporaryVariable( - switchValue.getType(), - switchValue); + LocalVariableDeclarationNode switchValueAssignment = scope.temporaryVariable(switchValue); List<Statement> statements = switchStatement.statements(); List<Map.Entry<Optional<ExpressionNode>, List<StatementNode>>> cases = new ArrayList<>(); diff --git a/src/main/java/org/zwobble/couscous/frontends/java/Scope.java b/src/main/java/org/zwobble/couscous/frontends/java/Scope.java index 1ca8599..7ddc8ca 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/Scope.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/Scope.java @@ -74,6 +74,10 @@ public class Scope { return LocalVariableDeclarationNode.localVariableDeclaration(declaration, initialValue); } + public LocalVariableDeclarationNode temporaryVariable(ExpressionNode initialValue) { + return temporaryVariable(initialValue.getType(), initialValue); + } + public LocalVariableDeclarationNode temporaryVariable(TypeName type, ExpressionNode initialValue) { return localVariable("_couscous_tmp_" + temporaryCounter.next(), type, initialValue); } |
