summaryrefslogtreecommitdiff
path: root/dice/src/example/java/bjc/dicelang/neodice/statements
diff options
context:
space:
mode:
Diffstat (limited to 'dice/src/example/java/bjc/dicelang/neodice/statements')
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/ArrayStatementValue.java16
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/BooleanStatementValue.java7
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java19
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java19
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/IntArrayStatementValue.java50
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/IntegerStatementValue.java12
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java23
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/VoidStatementValue.java4
8 files changed, 91 insertions, 59 deletions
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/ArrayStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/ArrayStatementValue.java
index 66e14ad..1a54ca5 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/ArrayStatementValue.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/statements/ArrayStatementValue.java
@@ -4,10 +4,24 @@ import static bjc.dicelang.neodice.statements.StatementValue.Type.*;
import java.util.*;
+/**
+ * A statement value which represents an array of statement values.
+ * @author Ben Culkin
+ *
+ * @param <ElementType> The contained type of value.
+ */
public class ArrayStatementValue<ElementType extends StatementValue> extends StatementValue {
- public final Type elementType;
+ /** The type of the contained values. */
+ public final Type elementType;
+ /** The contained values. */
public final ElementType[] values;
+ /**
+ * Create a new array statement value.
+ *
+ * @param elementType The type of the contained values.
+ * @param values The contained values.
+ */
@SafeVarargs
public ArrayStatementValue(Type elementType, ElementType... values) {
super(ARRAY);
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/BooleanStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/BooleanStatementValue.java
index ba89893..aef912b 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/BooleanStatementValue.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/statements/BooleanStatementValue.java
@@ -4,10 +4,17 @@ import static bjc.dicelang.neodice.statements.StatementValue.Type.*;
import java.util.*;
+/**
+ * Represents the boolean type for diebox.
+ * @author Ben Culkin
+ *
+ */
public class BooleanStatementValue extends StatementValue {
private boolean value;
+ /** The true boolean instance. */
public static final BooleanStatementValue TRUE_INST = new BooleanStatementValue(true);
+ /** The false boolean instance. */
public static final BooleanStatementValue FALSE_INST = new BooleanStatementValue(false);
private BooleanStatementValue(boolean value) {
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java
index a4a9104..114475c 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java
@@ -6,12 +6,27 @@ import java.util.*;
import bjc.dicelang.neodice.*;
+/**
+ * A StatementValue that represesnts a die pool
+ * @author Ben Culkin
+ *
+ */
public class DiePoolStatementValue extends StatementValue {
- public final DiePool value;
+ /** The type of the contained value. */
+ public final Type elementType;
+ /** The die pool itself. */
+ public final DiePool<StatementValue> value;
- public DiePoolStatementValue(DiePool value) {
+ /**
+ * Create a new diepool value.
+ *
+ * @param elementType The contained type.
+ * @param value The die pool itself.
+ */
+ public DiePoolStatementValue(Type elementType, DiePool<StatementValue> value) {
super(DIEPOOL);
+ this.elementType = elementType;
this.value = value;
}
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java
index 55a6856..5662a59 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java
@@ -6,12 +6,27 @@ import java.util.*;
import bjc.dicelang.neodice.*;
+/**
+ * A StatementValue that represents a die.
+ * @author Ben Culkin
+ *
+ */
public class DieStatementValue extends StatementValue {
- public final Die value;
+ /** The type of values this die rolls. */
+ public final Type sideType;
+ /** The die itself. */
+ public final Die<StatementValue> value;
- public DieStatementValue(Die value) {
+ /**
+ * Create a new die StatementValue.
+ *
+ * @param sideType The type of value this die rolls.
+ * @param value The die itself.
+ */
+ public DieStatementValue(Type sideType, Die<StatementValue> value) {
super(DIE);
+ this.sideType = sideType;
this.value = value;
}
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/IntArrayStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/IntArrayStatementValue.java
deleted file mode 100644
index b313d42..0000000
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/IntArrayStatementValue.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package bjc.dicelang.neodice.statements;
-
-import static bjc.dicelang.neodice.statements.StatementValue.Type.*;
-
-import java.util.*;
-
-public class IntArrayStatementValue extends StatementValue {
- public final int[] values;
-
- public IntArrayStatementValue(int... values) {
- super(INT_ARRAY);
-
- this.values = values;
- }
-
- @Override
- public String toString() {
- StringBuilder buffer = new StringBuilder();
-
- buffer.append('(');
- for (int index = 0; index < values.length; index++) {
- int value = values[index];
-
- buffer.append(value);
- if (index < values.length - 1) buffer.append(", ");
- }
- buffer.append(')');
-
- return buffer.toString();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + Arrays.hashCode(values);
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (!super.equals(obj)) return false;
- if (getClass() != obj.getClass()) return false;
-
- IntArrayStatementValue other = (IntArrayStatementValue) obj;
-
- return Arrays.equals(values, other.values);
- }
-} \ No newline at end of file
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/IntegerStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/IntegerStatementValue.java
index 91e45b6..88508d2 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/IntegerStatementValue.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/statements/IntegerStatementValue.java
@@ -2,9 +2,19 @@ package bjc.dicelang.neodice.statements;
import static bjc.dicelang.neodice.statements.StatementValue.Type.*;
+/**
+ * Statement value that represents an integer.
+ * @author Ben Culkin
+ *
+ */
public class IntegerStatementValue extends StatementValue {
- public final int value;
+ /** The integer value. */
+ public final int value;
+ /**
+ * Create an integer statement value.
+ * @param value The int to use as the value.
+ */
public IntegerStatementValue(int value) {
super(INTEGER);
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java
index 5090bc7..d804a10 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java
@@ -2,22 +2,41 @@ package bjc.dicelang.neodice.statements;
import java.util.*;
+/**
+ * Represents a value for diebox, as a base class.
+ * @author Ben Culkin
+ *
+ */
public abstract class StatementValue {
+ /**
+ * The type of the value.
+ * @author Ben Culkin
+ *
+ */
public static enum Type {
+ /** The 'void' value. There is only one value of this type. */
VOID,
+ /** The 'boolean' type. There is one true value, and one false value. */
BOOLEAN,
+ /** Represents an integer. */
INTEGER,
- INT_ARRAY,
-
+ /** Represents a single die. */
DIE,
+ /** Represents a pool of dice. */
DIEPOOL,
+ /** Represents an array of some type. */
ARRAY,
}
+ /** The type of this value. */
public final Type type;
+ /**
+ * Create a new statement value.
+ * @param type The type of the value.
+ */
protected StatementValue(Type type) {
this.type = type;
}
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/VoidStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/VoidStatementValue.java
index 7e437e7..a71d49c 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/VoidStatementValue.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/statements/VoidStatementValue.java
@@ -3,11 +3,13 @@ package bjc.dicelang.neodice.statements;
import static bjc.dicelang.neodice.statements.StatementValue.Type.*;
/**
+ * The statement value of the null type.
* @author Ben Culkin
*
*/
public class VoidStatementValue extends StatementValue {
- public static final VoidStatementValue VOID_INST = new VoidStatementValue();
+ /** The singular instance of the null value. */
+ public static final VoidStatementValue VOID_INST = new VoidStatementValue();
private VoidStatementValue() {
super(VOID);