diff options
| author | krasimir <krasimir@chalmers.se> | 2016-06-03 07:14:52 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2016-06-03 07:14:52 +0000 |
| commit | e8fe5ad5f130864946bb5aab3c201279f042ff74 (patch) | |
| tree | d4660d0ef61e322246fa6337c1afeb0d9bf81a0a /src/ui | |
| parent | 5d516661f78c5da08de4efaa641c78fce77461c4 (diff) | |
bugfix in the Phrasebook UI
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/android/src/se/chalmers/phrasebook/backend/syntax/ChoiceContext.java | 10 | ||||
| -rw-r--r-- | src/ui/android/src/se/chalmers/phrasebook/backend/syntax/SyntaxTree.java | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/ui/android/src/se/chalmers/phrasebook/backend/syntax/ChoiceContext.java b/src/ui/android/src/se/chalmers/phrasebook/backend/syntax/ChoiceContext.java index c06d6c343..3995ad063 100644 --- a/src/ui/android/src/se/chalmers/phrasebook/backend/syntax/ChoiceContext.java +++ b/src/ui/android/src/se/chalmers/phrasebook/backend/syntax/ChoiceContext.java @@ -18,6 +18,11 @@ public class ChoiceContext { stack.clear(); } + public void trim() { + while (pos < choices.size()) + choices.remove(choices.size()-1); + } + public int choose(SyntaxNode node) { SyntacticChoice choice = null; @@ -25,8 +30,7 @@ public class ChoiceContext { if (choices.get(pos).getNode().unlink() == node.unlink()) { choice = choices.get(pos); } else { - while (pos < choices.size()) - choices.remove(choices.size()-1); + trim(); } } @@ -38,7 +42,7 @@ public class ChoiceContext { pos++; return choice.getChoice(); } - + public void push(SyntaxNode[] args) { stack.add(args); } diff --git a/src/ui/android/src/se/chalmers/phrasebook/backend/syntax/SyntaxTree.java b/src/ui/android/src/se/chalmers/phrasebook/backend/syntax/SyntaxTree.java index 5a685277c..964f07d0b 100644 --- a/src/ui/android/src/se/chalmers/phrasebook/backend/syntax/SyntaxTree.java +++ b/src/ui/android/src/se/chalmers/phrasebook/backend/syntax/SyntaxTree.java @@ -21,7 +21,9 @@ public class SyntaxTree implements Serializable { } public Expr getAbstractSyntax(ChoiceContext choices) { - return Expr.readExpr(root.getAbstractSyntax(choices)); + Expr expr = Expr.readExpr(root.getAbstractSyntax(choices)); + choices.trim(); + return expr; } @Override |
