diff options
Diffstat (limited to 'dice-lang/src/main/java')
5 files changed, 28 insertions, 17 deletions
diff --git a/dice-lang/src/main/java/bjc/dicelang/BindingDiceExpression.java b/dice-lang/src/main/java/bjc/dicelang/BindingDiceExpression.java index 1813e97..90ca5a4 100644 --- a/dice-lang/src/main/java/bjc/dicelang/BindingDiceExpression.java +++ b/dice-lang/src/main/java/bjc/dicelang/BindingDiceExpression.java @@ -38,11 +38,11 @@ public class BindingDiceExpression implements IDiceExpression { throw new UnsupportedOperationException( "Binding to non-references is unsupported." + " Problematic expression is " + left); - } else { - String varName = ((ReferenceDiceExpression) left).getName(); - - initialize(varName, right, env); } + + String varName = ((ReferenceDiceExpression) left).getName(); + + initialize(varName, right, env); } /** diff --git a/dice-lang/src/main/java/bjc/dicelang/ComplexDice.java b/dice-lang/src/main/java/bjc/dicelang/ComplexDice.java index 9fa324b..9b8f0bd 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ComplexDice.java +++ b/dice-lang/src/main/java/bjc/dicelang/ComplexDice.java @@ -28,7 +28,8 @@ public class ComplexDice implements IDiceExpression { return new ComplexDice( new ScalarDie(Integer.parseInt(strangs[0])), new Die(Integer.parseInt(strangs[1]))); - } catch (NumberFormatException nfex) { + } catch (@SuppressWarnings("unused") NumberFormatException nfex) { + // We don't care about details /* * Tell the user the expression is invalid */ @@ -111,10 +112,10 @@ public class ComplexDice implements IDiceExpression { public String toString() { if (nDice instanceof ScalarDie && die instanceof Die) { return nDice.toString() + die.toString(); - } else { - return "complex[n=" + nDice.toString() + ", d=" - + die.toString() + "]"; } + + return "complex[n=" + nDice.toString() + ", d=" + die.toString() + + "]"; } @Override diff --git a/dice-lang/src/main/java/bjc/dicelang/OperatorDiceExpression.java b/dice-lang/src/main/java/bjc/dicelang/OperatorDiceExpression.java index e8cf871..4779bb9 100644 --- a/dice-lang/src/main/java/bjc/dicelang/OperatorDiceExpression.java +++ b/dice-lang/src/main/java/bjc/dicelang/OperatorDiceExpression.java @@ -64,10 +64,15 @@ public class OperatorDiceExpression implements IDiceExpression { try { return right.roll() / left.roll(); } catch (ArithmeticException aex) { - throw new UnsupportedOperationException( - "Attempted to divide by zero." - + " Problematic expression is " - + left); + UnsupportedOperationException usex = + new UnsupportedOperationException( + "Attempted to divide by zero." + + " Problematic expression is " + + left); + + usex.initCause(aex); + + throw usex; } default: throw new IllegalArgumentException( diff --git a/dice-lang/src/main/java/bjc/dicelang/ReferenceDiceExpression.java b/dice-lang/src/main/java/bjc/dicelang/ReferenceDiceExpression.java index 866747a..b7be527 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ReferenceDiceExpression.java +++ b/dice-lang/src/main/java/bjc/dicelang/ReferenceDiceExpression.java @@ -55,7 +55,7 @@ public class ReferenceDiceExpression implements IDiceExpression { throw new UnsupportedOperationException( "Attempted to reference undefined variable " + name); } - + return env.get(name).roll(); } @@ -68,8 +68,8 @@ public class ReferenceDiceExpression implements IDiceExpression { public String toString() { if (env.containsKey(name)) { return env.get(name).toString(); - } else { - return name; } + + return name; } }
\ No newline at end of file diff --git a/dice-lang/src/main/java/bjc/dicelang/ScalarDiceExpression.java b/dice-lang/src/main/java/bjc/dicelang/ScalarDiceExpression.java index 185ff5f..d28633f 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ScalarDiceExpression.java +++ b/dice-lang/src/main/java/bjc/dicelang/ScalarDiceExpression.java @@ -57,8 +57,13 @@ public class ScalarDiceExpression implements IDiceExpression { try { return exp.roll() / scalar; } catch (ArithmeticException aex) { - throw new UnsupportedOperationException( - "Attempted to divide by zero."); + UnsupportedOperationException usex = + new UnsupportedOperationException( + "Attempted to divide by zero."); + + usex.initCause(aex); + + throw usex; } default: throw new IllegalStateException( |
