Skip to content

Commit 2927bae

Browse files
committed
[[ Bug ]] Ensure java param string is parsed correctly
1 parent 6ac4e6a commit 2927bae

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

libfoundation/src/foundation-java-private.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@ static bool __NextArgument(MCStringRef p_arguments, MCRange& x_range)
112112
{
113113
if (!MCStringFirstIndexOfChar(p_arguments, ';', x_range . offset, kMCStringOptionCompareExact, t_length))
114114
return false;
115+
116+
// Consume the ;
117+
t_length++;
115118
}
116119

117120
x_range . length = t_length;

tests/lcb/stdlib/java.lcb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,4 +233,15 @@ public handler TestNullJObjectParam()
233233
MCUnitTestHandlerThrows(NullParamJObject, "type mismatch when passing NULL as non-optional JObject")
234234
end handler
235235

236-
end module
236+
foreign handler StringCodepointAt(in pSequence as JObject, in pIndex as CInt) returns CInt binds to "java:java.lang.Character>codePointAt(Ljava/lang/CharSequence;I)I!static"
237+
238+
public handler TestNativeTypeAfterObjectType()
239+
unsafe
240+
variable tCodepoint as Integer
241+
put StringCodepointAt(StringToJString("a"), 0) into tCodepoint
242+
243+
test "called foreign handler with signature Ljava/lang/CharSequence;I" when tCodepoint is 97
244+
end unsafe
245+
end handler
246+
247+
end module

0 commit comments

Comments
 (0)