diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-13 20:36:17 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-13 20:36:17 +0000 |
| commit | 6150fa0b469e54b7a211d0a4e585d3e37794df23 (patch) | |
| tree | a4d2b4378260ce10232b3c2568c78a9499c81182 /src/main | |
| parent | 2af848d7c4e9a39f7ddedf3d62046eabc9fe65a5 (diff) | |
Push temporary variable generation into Scope
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java | 3 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/Scope.java | 4 |
2 files changed, 5 insertions, 2 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 1b6d62a..1aa682a 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java @@ -92,8 +92,7 @@ class JavaStatementReader { private List<StatementNode> readSwitchStatement(SwitchStatement switchStatement) { ExpressionNode switchValue = readExpressionWithoutBoxing(switchStatement.getExpression()); - LocalVariableDeclarationNode switchValueAssignment = scope.localVariable( - "_couscous_tmp_0", + LocalVariableDeclarationNode switchValueAssignment = scope.temporaryVariable( switchValue.getType(), switchValue); 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 28cd6b6..de0a7b6 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/Scope.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/Scope.java @@ -65,6 +65,10 @@ public class Scope { return LocalVariableDeclarationNode.localVariableDeclaration(declaration, initialValue); } + public LocalVariableDeclarationNode temporaryVariable(TypeName type, ExpressionNode initialValue) { + return localVariable("_couscous_tmp_0", type, initialValue); + } + public ExpressionNode reference(String key) { VariableDeclaration variable = variablesByKey.get(key); if (variable == null) { |
