summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/ioutils/CLParameters.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/main/java/bjc/utils/ioutils/CLParameters.java')
-rw-r--r--base/src/main/java/bjc/utils/ioutils/CLParameters.java41
1 files changed, 24 insertions, 17 deletions
diff --git a/base/src/main/java/bjc/utils/ioutils/CLParameters.java b/base/src/main/java/bjc/utils/ioutils/CLParameters.java
index e4bb6fb..9d0c9c6 100644
--- a/base/src/main/java/bjc/utils/ioutils/CLParameters.java
+++ b/base/src/main/java/bjc/utils/ioutils/CLParameters.java
@@ -27,36 +27,42 @@ public class CLParameters {
* Mostly, this just fills in V and # parameters.
*
* @param params
- * The parameters of the directive.
+ * The parameters of the directive.
* @param dirParams
- * The parameters of the format string.
+ * The parameters of the format string.
*
* @return A set of CL parameters.
*/
public static CLParameters fromDirective(String[] params, Tape<Object> dirParams) {
List<String> parameters = new ArrayList<>();
- for(String param : params) {
- if(param.equalsIgnoreCase("V")) {
+ for (String param : params) {
+ if (param.equalsIgnoreCase("V")) {
Object par = dirParams.item();
boolean succ = dirParams.right();
- if(par == null) {
- throw new IllegalArgumentException("Expected a format parameter for V inline parameter");
+ if (!succ) {
+ throw new IllegalStateException("Couldn't advance tape for parameter");
}
- if(par instanceof Number) {
- int val = ((Number)par).intValue();
-
+ if (par == null) {
+ throw new IllegalArgumentException(
+ "Expected a format parameter for V inline parameter");
+ }
+
+ if (par instanceof Number) {
+ int val = ((Number) par).intValue();
+
parameters.add(Integer.toString(val));
- } else if(par instanceof Character) {
- char ch = ((Character)par);
+ } else if (par instanceof Character) {
+ char ch = ((Character) par);
parameters.add(Character.toString(ch));
} else {
- throw new IllegalArgumentException("Incorrect type of parameter for V inline parameter");
+ throw new IllegalArgumentException(
+ "Incorrect type of parameter for V inline parameter");
}
- } else if(param.equals("#")) {
+ } else if (param.equals("#")) {
parameters.add(Integer.toString(dirParams.position()));
} else {
parameters.add(param);
@@ -67,7 +73,7 @@ public class CLParameters {
}
public char getCharDefault(int idx, String paramName, char directive, char def) {
- if(!params[idx].equals("")) {
+ if (!params[idx].equals("")) {
return getChar(idx, paramName, directive);
}
@@ -77,15 +83,16 @@ public class CLParameters {
public char getChar(int idx, String paramName, char directive) {
String param = params[idx];
- if(!param.startsWith("'")) {
- throw new IllegalArgumentException(String.format("Invalid %s %s to %c directive", paramName, param, directive));
+ if (!param.startsWith("'")) {
+ throw new IllegalArgumentException(
+ String.format("Invalid %s %s to %c directive", paramName, param, directive));
}
return param.charAt(1);
}
public int getIntDefault(int idx, String paramName, char directive, int def) {
- if(!params[idx].equals("")) {
+ if (!params[idx].equals("")) {
}