Christian Humer
Christian Humer
Yes. Non enumerable JS properties currently don't show up in the member keys. We will change that but it needs some extension to our interop protocol, which will take a...
@MichaelHaibinXie yes it temporarily worked for RC5. But we had to roll back for RC6 as we have seen problems with this behavior. What exception does getMember it throw?
@quinton-hoole-2 Unfortunately no. It takes longer because it involves some interop protocol changes. The way to do this atm is by calling a JavaScript method that returns all the symbols....
isArrayElementWritable false only tells you that an element is not writable, not that it is immutable like you assume it. There is no immutable contract in interop you could reliably...
> Comparing implementation class is already used in the host interop package: That is done for performance reasons only. It's not observable by the user, as it would be if...
I don't have an idea how to do this safely without requiring a wrapper for the Object[]. If that is acceptable then we can expose a primitive for that. We...
Some class in Truffle: ``` public class NonNullArray { private final Object[] array; public NonNullArray(Object[] array) { Objects.requireNonNull(array); for (Object o : array) { Objects.requireNonNull(o); } this.array = Arrays.copyOf(array, array.length);...
@eregon feel free to propose it. You can access the injection with Engine|Instrument|Utilities|LanguageAccessor.RUNTIME.unsafeCast
@eregon we could do the same by storing a Class in the array wrapper and check any value that would flow in.
> Also the question whether the internal array should CompilationFinal/whether the interface should be read-only. No. If your array is read-only you should use a @CompilationFinal(dimensions=1) Object[] array in context...