mirror of
https://github.com/enso-org/enso.git
synced 2024-12-28 14:42:25 +03:00
472580df4d
Expressions returning polyglot values were not reporting the type of the result because we have to do additional magic that infers the correct Enso type. Since this is exactly what `TypeOfNode` does, I re-used the logic. Straightforward solution failed in tests because of assertions: ``` [enso] WARNING: Execution of function main failed (Invalid library usage. Cached library must be adopted by a RootNode before it is executed.). java.lang.AssertionError: Invalid library usage. Cached library must be adopted by a RootNode before it is executed. ``` That is why this PR replaces `ExecutionEventListener` with `ExecutionEventNodeFactory`. # Important Notes Usage of `TypeOfNode` for programs that **do not** import stdlib means that we report types that do not involve stdlib e.g. `Standard.Builtins.Main.Integer` instead of `Standard.Base.Data.Numbers.Integer`. While surprising, this is correct and I would say desirable. While reviewing the code, notice the difference in expectations in our runtime tests. |
||
---|---|---|
.. | ||
bench | ||
main | ||
test |