Closed aionbot closed 5 years ago
Comment by jeff-aion (on Friday Sep 28, 2018 at 21:25 GMT)
What is the rationale behind not providing BooleanArray
? That will cause lots of problems. For example, I just tried adding these 2 lines of code to a contract and it produced a ClassFormatError
:
public void foo(byte[] arg) {}
public void foo(boolean[] arg) {}
I would suspect that we absolutely need BooleanArray
so did we make a note of why we didn't think that we did or what the problem with it was? Was there some sort of difficulty with it?
Comment by nancyaion (on Friday Oct 05, 2018 at 15:35 GMT)
Was thinking if we could combine ArrayWrappingMethodAdapterRef
and ArrayWrappingMethodAdapter
and then realized it's better to keep them as is since they utilized different ways to generate/replace the bytecode. ArrayWrappingMethodAdapterRef
inherits from MethodNode
which has access to the stack frames; ArrayWrappingMethodAdapter
inherits from AdaptorVisitor
which provides a convenient way to generate method call bytecode with the invokeVirtual
method. So both are necessary.
Close this issue.
Issue created by nancyaion (on Thursday Sep 27, 2018 at 20:21 GMT)
We do not have the
BooleanArray
wrapper. I see the reason behind it; however, a user may still expect boolean[] while one can only get byte[].For example, in our test
shadowing.testString
line 44,