Why do I get this error? ``` java.lang.VerifyError...
# getting-started
b
Why do I get this error?
Copy code
java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    org/bh/tools/base/strings/TestUtils.concat(Ljava/lang/Object;Ljava/lang/CharSequence;)Ljava/lang/CharSequence; @28: invokevirtual
  Reason:
    Type 'java/lang/Object' (current frame, stack[1]) is not assignable to 'java/lang/String'
  Current Frame:
    bci: @28
    flags: { }
    locals: { 'java/lang/Object', 'java/lang/CharSequence' }
    stack: { 'java/lang/StringBuilder', 'java/lang/Object' }
  Bytecode:
    0x0000000: 2a12 59b8 0012 2b12 43b8 0012 2ac1 005b
    0x0000010: 9900 1a2a bb00 1659 b700 1a5f b600 512b
    0x0000020: b600 5eb6 0052 c000 23b0 2ac1 0016 9900
    0x0000030: 152a c000 162b b600 5e59 1260 b800 63c0
    0x0000040: 0023 b0bb 0016 59b7 001a 2ab6 0047 2bb6
    0x0000050: 005e 5912 65b8 0063 c000 23b0          
  Stackmap Table:
    same_frame(@42)
    same_frame(@67)


	at org.bh.tools.base.math.NumberConversionKtTestKt.assertNumbersClose(NumberConversionKtTest.kt:488)
	at org.bh.tools.base.math.NumberConversionKtTest.Number_float32Value(NumberConversionKtTest.kt:47)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:58)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
At this line: https://github.com/BlueHuskyStudios/Blue-Base/blob/dev/JVM/test/org/bh/tools/base/math/NumberConversionKtTest.kt#L47
r
Looks like your
concat
method fails to append
lhs
because it isn’t a string or stringbuilder
I’m just guessing based on digging around your repo since I can’t find a file called
TestUtils
anywhere
b
TestUtils
is in the
test
directory so it's only included in test builds https://github.com/BlueHuskyStudios/Blue-Base/blob/dev/JVM/test/org/bh/tools/base/util/Test%20Utils.kt