Skip to content

Commit 4269fa4

Browse files
committed
ExecutionException was eliminated, now we have ScriptBasicException instead
1 parent 9e502c3 commit 4269fa4

91 files changed

Lines changed: 313 additions & 313 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/com/scriptbasic/Engine.java

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
import com.scriptbasic.context.ContextBuilder;
88
import com.scriptbasic.errors.BasicInterpreterInternalError;
99
import com.scriptbasic.executors.commands.CommandSub;
10-
import com.scriptbasic.interfaces.*;
10+
import com.scriptbasic.interfaces.AnalysisException;
11+
import com.scriptbasic.interfaces.SourcePath;
12+
import com.scriptbasic.interfaces.SourceProvider;
13+
import com.scriptbasic.interfaces.SourceReader;
1114
import com.scriptbasic.sourceproviders.BasicSourcePath;
1215
import com.scriptbasic.sourceproviders.FileSourceProvider;
1316
import com.scriptbasic.utility.RightValueUtility;
@@ -98,12 +101,7 @@ private void loadHelper(final SourceReader sourceReader) throws ScriptBasicExcep
98101
@Override
99102
public void execute() throws ScriptBasicException {
100103
assertCtxInitialized();
101-
try {
102-
ctx.interpreter.execute();
103-
} catch (final ExecutionException e) {
104-
throw new ScriptBasicException(e);
105-
}
106-
104+
ctx.interpreter.execute();
107105
}
108106

109107
private void assertCtxInitialized() throws ScriptBasicException {
@@ -199,23 +197,15 @@ public void eval(final String sourceName, final SourceProvider provider)
199197

200198
public void setVariable(final String name, final Object value)
201199
throws ScriptBasicException {
202-
try {
203-
ctx = ContextBuilder.from(ctx);
204-
ctx.interpreter.getVariables().setVariable(name,
205-
RightValueUtility.createRightValue(value));
206-
} catch (final ExecutionException e) {
207-
throw new ScriptBasicException(e);
208-
}
200+
ctx = ContextBuilder.from(ctx);
201+
ctx.interpreter.getVariables().setVariable(name,
202+
RightValueUtility.createRightValue(value));
209203
}
210204

211205
@Override
212206
public Object getVariable(final String name) throws ScriptBasicException {
213207
assertCtxInitialized();
214-
try {
215-
return ctx.interpreter.getVariable(name);
216-
} catch (final ExecutionException e) {
217-
throw new ScriptBasicException(e);
218-
}
208+
return ctx.interpreter.getVariable(name);
219209
}
220210

221211
@Override
@@ -313,11 +303,7 @@ public String getName() {
313303
@Override
314304
public Object call(final Object... args) throws ScriptBasicException {
315305
assertCtxInitialized();
316-
try {
317-
return ctx.interpreter.call(name, args);
318-
} catch (final ExecutionException e) {
319-
throw new ScriptBasicException(e);
320-
}
306+
return ctx.interpreter.call(name, args);
321307
}
322308

323309
@Override

src/main/java/com/scriptbasic/api/BasicArray.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package com.scriptbasic.api;
22

33
import com.scriptbasic.executors.rightvalues.BasicArrayValue;
4-
import com.scriptbasic.interfaces.ExecutionException;
54

65
public interface BasicArray {
76

87
static BasicArray create() {
98
return new BasicArrayValue();
109
}
10+
static BasicArray create(Object[] array) throws ScriptBasicException {
11+
BasicArray basicArray = new BasicArrayValue();
12+
basicArray.setArray(array);
13+
return basicArray;
14+
}
1115

1216
/**
1317
* Set the array object. This method is available as a convenience method
@@ -26,9 +30,9 @@ static BasicArray create() {
2630
*
2731
* @param index
2832
* @param object the new value for the array
29-
* @throws ExecutionException
33+
* @throws ScriptBasicException
3034
*/
31-
public void set(final Integer index, final Object object) throws ExecutionException;
35+
public void set(final Integer index, final Object object) throws ScriptBasicException;
3236

3337
/**
3438
* Get the {@code index}-th element of the array. Note that this method does
@@ -38,9 +42,9 @@ static BasicArray create() {
3842
*
3943
* @param index
4044
* @return the array element.
41-
* @throws ExecutionException
45+
* @throws ScriptBasicException
4246
*/
43-
Object get(final Integer index) throws ExecutionException;
47+
Object get(final Integer index) throws ScriptBasicException;
4448

4549
/**
4650
* Get the length of the array. This is not the length of the underlying

src/main/java/com/scriptbasic/api/script/ScriptEngine.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.scriptbasic.context.Context;
44
import com.scriptbasic.context.ContextBuilder;
55
import com.scriptbasic.interfaces.AnalysisException;
6-
import com.scriptbasic.interfaces.ExecutionException;
6+
import com.scriptbasic.api.ScriptBasicException;
77
import com.scriptbasic.interfaces.Interpreter;
88

99
import javax.script.*;
@@ -27,14 +27,14 @@ public ScriptEngine(final ScriptBasicEngineFactory scriptEngineFactory) {
2727
}
2828

2929
private static void unmergeBindings(final Interpreter interpreter,
30-
final Bindings bindings) throws ExecutionException {
30+
final Bindings bindings) throws ScriptBasicException {
3131
for (final String name : bindings.keySet()) {
3232
bindings.put(name, interpreter.getVariable(name));
3333
}
3434
}
3535

3636
private static void mergeBinding(final Interpreter interpreter,
37-
final Bindings bindings) throws ExecutionException {
37+
final Bindings bindings) throws ScriptBasicException {
3838
for (final String name : bindings.keySet()) {
3939
interpreter.setVariable(name, bindings.get(name));
4040
}
@@ -67,7 +67,7 @@ public Object eval(final Reader reader, final ScriptContext context) throws Scri
6767
ctx.interpreter.execute();
6868
unmergeBindings(ctx.interpreter, context.getBindings(ScriptContext.ENGINE_SCOPE));
6969
unmergeBindings(ctx.interpreter, context.getBindings(ScriptContext.GLOBAL_SCOPE));
70-
} catch (ExecutionException | AnalysisException e) {
70+
} catch (ScriptBasicException | AnalysisException e) {
7171
throw new ScriptException(e);
7272
}
7373
return null;

src/main/java/com/scriptbasic/executors/BasicInterpreter.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.scriptbasic.executors;
22

3-
import com.scriptbasic.api.BasicRuntimeException;
3+
import com.scriptbasic.api.ScriptBasicException;
44
import com.scriptbasic.context.Context;
55
import com.scriptbasic.errors.BasicInterpreterInternalError;
66
import com.scriptbasic.executors.commands.CommandSub;
@@ -165,7 +165,7 @@ public void registerFunctions(final Class<?> klass) {
165165
}
166166
}
167167

168-
private void preExecuteTask() throws ExecutionException {
168+
private void preExecuteTask() throws ScriptBasicException {
169169
if (executePreTask) {
170170
if (program == null) {
171171
throw new BasicRuntimeException("Program code was not loaded");
@@ -186,7 +186,7 @@ private void preExecuteTask() throws ExecutionException {
186186
* @see com.scriptbasic.interfaces.Interpreter#execute()
187187
*/
188188
@Override
189-
public void execute() throws ExecutionException {
189+
public void execute() throws ScriptBasicException {
190190
preExecuteTask();
191191
final Command command = program.getStartCommand();
192192
execute(command);
@@ -200,7 +200,7 @@ public void execute() throws ExecutionException {
200200
* .interfaces.Command)
201201
*/
202202
@Override
203-
public void execute(final Command startCommand) throws ExecutionException {
203+
public void execute(final Command startCommand) throws ScriptBasicException {
204204
preExecuteTask();
205205
Command command = startCommand;
206206
while (command != null) {
@@ -226,7 +226,7 @@ public void execute(final Command startCommand) throws ExecutionException {
226226
*/
227227
@Override
228228
public void setVariable(final String name, final Object value)
229-
throws ExecutionException {
229+
throws ScriptBasicException {
230230
final RightValue rightValue = RightValueUtility.createRightValue(value);
231231
getVariables().setVariable(name, rightValue);
232232
}
@@ -237,7 +237,7 @@ public void setVariable(final String name, final Object value)
237237
* @see com.scriptbasic.interfaces.Interpreter#getVariable(java.lang.String)
238238
*/
239239
@Override
240-
public Object getVariable(final String name) throws ExecutionException {
240+
public Object getVariable(final String name) throws ScriptBasicException {
241241
return CastUtility.toObject(getVariables().getVariableValue(name));
242242
}
243243

@@ -249,7 +249,7 @@ public Object getVariable(final String name) throws ExecutionException {
249249
*/
250250
@Override
251251
public Object call(final String functionName, final Object[] arguments)
252-
throws ExecutionException {
252+
throws ScriptBasicException {
253253
preExecuteTask();
254254
final CommandSub commandSub = getSubroutine(functionName);
255255
if (commandSub == null) {
@@ -330,7 +330,7 @@ public Map<String, Class<?>> getUseMap() {
330330
*/
331331
@Override
332332
public Method getJavaMethod(final Class<?> klass, final String methodName)
333-
throws ExecutionException {
333+
throws ScriptBasicException {
334334
return basicMethodRegistry.getJavaMethod(klass, methodName);
335335
}
336336

src/main/java/com/scriptbasic/executors/BasicMethodRegistry.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.scriptbasic.executors;
22

3-
import com.scriptbasic.api.BasicRuntimeException;
4-
import com.scriptbasic.interfaces.ExecutionException;
3+
import com.scriptbasic.interfaces.BasicRuntimeException;
4+
import com.scriptbasic.api.ScriptBasicException;
55
import com.scriptbasic.interfaces.MethodRegistry;
66

77
import java.lang.reflect.Method;
@@ -28,7 +28,7 @@ private static String formKey(final String alias, final Class<?> klass) {
2828
*/
2929
@Override
3030
public Method getJavaMethod(final Class<?> klass, final String alias)
31-
throws ExecutionException {
31+
throws ScriptBasicException {
3232
Method method = null;
3333
if (klass == null) {
3434
method = getJavaMethod(alias);
@@ -47,7 +47,7 @@ public Method getJavaMethod(final Class<?> klass, final String alias)
4747
return method;
4848
}
4949

50-
private Method getJavaMethod(final String alias) throws ExecutionException {
50+
private Method getJavaMethod(final String alias) throws ScriptBasicException {
5151
final RegistryItem item = globalRegistry.get(alias);
5252
Method method = null;
5353
if (item != null) {

src/main/java/com/scriptbasic/executors/commands/AbstractCommand.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.scriptbasic.executors.commands;
22

3+
import com.scriptbasic.api.ScriptBasicException;
34
import com.scriptbasic.interfaces.*;
45

56
public abstract class AbstractCommand implements Executor, Command,
@@ -9,10 +10,10 @@ public abstract class AbstractCommand implements Executor, Command,
910

1011
@Override
1112
public abstract void execute(Interpreter interpreter)
12-
throws ExecutionException;
13+
throws ScriptBasicException;
1314

1415
public void checkedExecute(final Interpreter interpreter)
15-
throws ExecutionException {
16+
throws ScriptBasicException {
1617
execute(interpreter);
1718
}
1819

src/main/java/com/scriptbasic/executors/commands/AbstractCommandIfKind.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.scriptbasic.executors.commands;
22

33
import com.scriptbasic.executors.rightvalues.BasicBooleanValue;
4-
import com.scriptbasic.interfaces.ExecutionException;
4+
import com.scriptbasic.api.ScriptBasicException;
55
import com.scriptbasic.interfaces.Expression;
66
import com.scriptbasic.interfaces.Interpreter;
77
import com.scriptbasic.interfaces.RightValue;
@@ -23,7 +23,7 @@ public void setCondition(final Expression condition) {
2323
}
2424

2525
protected Boolean theConditionIsTrue(final Interpreter interpreter)
26-
throws ExecutionException {
26+
throws ScriptBasicException {
2727
final RightValue conditionRightValue = getCondition().evaluate(interpreter);
2828
return BasicBooleanValue.asBoolean(conditionRightValue);
2929
}

src/main/java/com/scriptbasic/executors/commands/CommandCall.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.scriptbasic.executors.commands;
22

3+
import com.scriptbasic.api.ScriptBasicException;
34
import com.scriptbasic.executors.rightvalues.FunctionCall;
4-
import com.scriptbasic.interfaces.ExecutionException;
5+
import com.scriptbasic.api.ScriptBasicException;
56
import com.scriptbasic.interfaces.Interpreter;
67

78
public class CommandCall extends AbstractCommandExpressionListed {
@@ -13,7 +14,7 @@ public CommandCall(final FunctionCall functionCall) {
1314

1415
@Override
1516
public void execute(final Interpreter interpreter)
16-
throws ExecutionException {
17+
throws ScriptBasicException {
1718
functionCall.evaluate(interpreter);
1819
}
1920

src/main/java/com/scriptbasic/executors/commands/CommandElseIf.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.scriptbasic.executors.commands;
22

3-
import com.scriptbasic.interfaces.ExecutionException;
3+
import com.scriptbasic.api.ScriptBasicException;
44
import com.scriptbasic.interfaces.Interpreter;
55

66
public class CommandElseIf extends AbstractCommandIfKind {
77

88
@Override
99
public void execute(final Interpreter interpreter)
10-
throws ExecutionException {
10+
throws ScriptBasicException {
1111

1212
if (itWasConditionalJump(interpreter)) {
1313

0 commit comments

Comments
 (0)