Closed TwitchBronBron closed 1 year ago
@TwitchBronBron shouldn't that variable be an array so that there is zero type conversion from the expression based on the discovery we did?
No, based on our discovery a few weeks ago both arrays and AAs properly support the zero type conversion issue, as long as you do the assignment separately from the AA/Array declaration. Also, if we use an array, then we have to maintain array indexing in the debugger, whereas arbitrary AA keys can be auto-generated in the debugger without needing to know what index we're at.
So, you're right. I mis-remembered that AAs lose the proper type. Yeah, then we need to use arrays instead. Ugh, that complicates this a bit because now we need to keep the array length in sync in the roku-debug side of things.
The debug protocol does not currently support complex expressions in the REPL or watch panel. To work around this, we should do the following:
alpha
,alpha.beta
,alpha[0]
,alpha[0].beta
, etc...), or a more complex expression such as function calls, string concatenation, etc.__rokuDebug__evalVars
) which will contain a collection of evaluated expressions. It'll end up looking something like this: