Skip to content

Commit 804623d

Browse files
committed
Function calls are case insensitive (e.g. might call: Left, left, LEFT)
1 parent c52da90 commit 804623d

3 files changed

Lines changed: 6 additions & 5 deletions

File tree

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,13 @@ private void registerGlobal(final String alias, final RegistryItem item)
135135
public void registerJavaMethod(final String alias, final Class<?> klass,
136136
final String methodName, final Class<?>[] argumentTypes)
137137
throws BasicRuntimeException {
138+
final var aliasLowerCase = alias.toLowerCase();
138139
final var item = new RegistryItem();
139140
item.methodName = methodName;
140141
item.klass = klass;
141142
item.args = argumentTypes.clone();
142-
registry.put(formKey(alias, klass), item);
143-
registerGlobal(alias, item);
143+
registry.put(formKey(aliasLowerCase, klass), item);
144+
registerGlobal(aliasLowerCase, item);
144145
}
145146

146147
private static class RegistryItem {

src/main/java/com/scriptbasic/executors/rightvalues/FunctionCall.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ private RightValue callBasicFunction(final Interpreter interpreter)
4646
private RightValue callJavaFunction(final Interpreter interpreter)
4747
throws ScriptBasicException {
4848
final RightValue result;
49-
final var functionName = getVariableName();
49+
final var functionName = getVariableName().toLowerCase();
5050
final List<RightValue> args = ExpressionUtility.evaluateExpressionList(
5151
interpreter, getExpressionList());
5252
final var method = interpreter.getJavaMethod(null, functionName);
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
v = "0123456789"
22
PRINT left(v,2)
3-
PRINT right(v,2)
4-
PRINT mid(v,2,3)
3+
PRINT RIGHT(v,2)
4+
PRINT Mid(v,2,3)

0 commit comments

Comments
 (0)