Commit Graph

5491 Commits

Author SHA1 Message Date
Pavel Marek
239029a15a MiniPassFactory.createForInlineCompilation can return null. 2024-11-21 18:44:53 +01:00
Pavel Marek
6d2f6c673c PassManager.runInline also chains mini passes.
Make the algorithm for running passes generic
2024-11-21 18:37:29 +01:00
Pavel Marek
0a4ac1f922 Move MiniPassTraverserTest back into runtime-compiler/Test 2024-11-21 17:39:17 +01:00
Pavel Marek
3033462498 Remove EventRecorder, MockMiniPass is not IRProcessingPass 2024-11-21 17:36:28 +01:00
Pavel Marek
2b5c76c238 MockMiniPass uses builder pattern 2024-11-21 14:50:21 +01:00
Pavel Marek
e27a59f190 Move tests from runtime-compiler to runtime-integration-tests 2024-11-21 14:49:48 +01:00
Pavel Marek
62cecbb558 MiniPassTest does not call PassManager.runModule directly.
This violates the consistency between IR from ModuleContext.
2024-11-21 12:19:09 +01:00
Pavel Marek
92a07254c7 Remove unnecessary isntancdeof 2024-11-21 11:56:46 +01:00
Pavel Marek
5a74cc1e0c Fix errors in polyglot imports 2024-11-21 11:56:26 +01:00
Pavel Marek
a204ed2db3 Fix NPE 2024-11-21 11:56:14 +01:00
Pavel Marek
7a047bb5bf Merge branch 'develop' into wip/akirathan/11326-more-mini-passes 2024-11-21 11:35:22 +01:00
Pavel Marek
e0eba27073 Fix compilation error in PasesTest 2024-11-21 11:35:08 +01:00
Pavel Marek
84a02d9bcb ChainedMiniPass handles null passes 2024-11-21 11:32:42 +01:00
Dmitry Bushev
3a4ac4f381
Fix compilation error in integration tests (#11611) 2024-11-21 09:59:39 +00:00
Ilya Bogdanov
b166336022
Component menu improvements (#11592)
Closes #11431

<img width="283" alt="Screenshot 2024-11-19 at 5 29 22 PM" src="https://github.com/user-attachments/assets/f46fb5a2-7668-4bc7-9cb4-fbde26417b79">

# Important Notes
- I changed readable names for mouse buttons. Now they are `Click`, `Right click`, `Middle click` instead of `Mouse Left`, `MouseRight`, `Mouse Middle`. I would like to go with `LMB`, `RMB`, etc. but I understand it can be confusing. @AdRiley if you have some specific names in mind let me know.
2024-11-21 09:40:12 +00:00
somebody1234
0e51ce63f8
"Save" and "Cancel" buttons for settings sections (#11290) 2024-11-21 08:26:42 +00:00
Gregory Michael Travis
39a176e61b
Don't log stack trace in cache tests (#11610) 2024-11-21 08:22:41 +00:00
marthasharkey
76ad3475c8
fix filter node drilldown for number columns (#11572) 2024-11-21 00:02:36 +00:00
somebody1234
2fd29a5825
Make sure "new label" button is always visible even when labels panel has scrollbar (#11586)
- Move "new label" button outside of scroll container so that it is always visible

# Important Notes
None
2024-11-20 21:59:13 +00:00
somebody1234
96b21f2b97
Fix dialog entry animations and size (#11565)
- Stop resizing when `Dialog`s first render
- Fix `Dialog type="fullscreen"`s being smaller than before
- Check the "Discover" button in the top left to see a fullscreen modal.

# Important Notes
None
2024-11-20 21:47:11 +00:00
somebody1234
59493c94cb
Fix keyboard shortcuts settings display (#11467)
- Add border to keyboard shortcuts to make them more distinct from each other
- Move scrollbar to table so the header becomes sticky

# Important Notes
None
2024-11-20 20:43:49 +00:00
AdRiley
a9ec0e36a2
Enable Union feature and make tests pass (#11587) 2024-11-20 19:48:00 +00:00
Pavel Marek
549358614d Add some tests for chained passes 2024-11-20 19:38:12 +01:00
Pavel Marek
edcd10ba30 Migrate AmbiguousImportsAnalysis to mini pass and to Java 2024-11-20 19:07:22 +01:00
Jaroslav Tulach
afe4203f6a
Invoke Warning.getValue().to_text and use it from ReplDebuggerInstrument (#11591)
Fixes #11569 by using `.to_text` on the right _warning's value_ (as introduced by #10842) and sharing the code with the instrument.
2024-11-20 17:31:33 +00:00
Pavel Marek
eaf10e803d Merge branch 'develop' into wip/akirathan/11326-more-mini-passes 2024-11-20 17:55:21 +01:00
Pavel Marek
806406cbd5 ImportSymbolAnalysis skips processing 2024-11-20 17:48:47 +01:00
somebody1234
f0a04b4e52
Wrap asset creation in a Promise (#11396)
- Close https://github.com/enso-org/cloud-v2/issues/1560
- Switch from "event"s to async functions so that new asset creation can be awaited

# Important Notes
None
2024-11-20 16:44:11 +00:00
somebody1234
d8330c9bc5
Use proxied auth endpoint for Cognito (#11387)
- Close https://github.com/enso-org/cloud-v2/issues/1552
- Switch to proxied endpoint for Cognito to enforce account lockout rate limits

# Important Notes
None
2024-11-20 15:54:48 +00:00
Jaroslav Tulach
b3588490db
Give DebugBreakpointNode some section to prevent NPE (#11594)
Fixes `NullPointerException` by giving `DebugBreakpointNode` a source section.
2024-11-20 15:20:10 +00:00
Pavel Marek
abc32ad8c4 Fix MockMiniPass - stopExpression is not even prepared 2024-11-20 14:37:47 +01:00
Pavel Marek
deadad5c14 MiniPassTraverser supports end of the traversal 2024-11-20 14:35:54 +01:00
Pavel Marek
04075c5ed7
Implement hasLanguage interop message for all enso objects (#11538)
* EnsoObject is an abstract class, not an interface.

- Also, EnsoObject exports hasLanguage and getLanguage interop messages.
- BranchRecord converted to class

* Implement public getters in BranchResult

* Fix compilation of EnsoFile

* Add test that all enso values must have language

* Revert EnsoException - remove

* DataflowError and PanicException implement hasLanguage and getLanguage

* DataflowError is not EnsoObject - change signatures in some builtins

* Add more members to Module.isMemberInvocable.

Keep in sync with doInvoke.

* Revert "DataflowError and PanicException implement hasLanguage and getLanguage"

This reverts commit b30f3961b7.

* Update the test - test only non-primitive and non-exception values

* Fix indexes in CodeLocationsTest

* Add more members to Function.isMemberInvocable

Keep in sync with doInvoke.

* EnsoObject.toDisplayString delegates to toString method

* EnsoObject.toDisplayString is behind TruffleBoundary

* Warning exports InteropLibrary which delegates to value.

With the exception of toDisplayString message.

* WithWarnings needs to explicitly export toDisplayString.

It is not automatically delegated because it is implemented in the super type.

* EnsoObject.toDisplayString just throws AssertionError

* AssertionError is behind TruffleBoundary

* Implement toDisplayString on some truffle objects

* Warning exports WarningsLibrary

* Revert "Warning exports WarningsLibrary"

This reverts commit a06c672db5.

* Add some warnings test

* Warning.isNull is always false

Even if it wraps Nothing

* Add some unnecessary methods to fix the compilation

* EnsoObject.toDisplayString is abstract

* ImportExportScope.toDisplayString is behind TruffleBoundary.

This fixes native-image build of engine-runner.

* Hide some toDisplayString methods behind TruffleBoundary

This fixes native-image build of engine-runner.
Bypassing failing test.
2024-11-20 13:23:33 +00:00
Pavel Marek
494975dd01 Add MiniPassTraverserTest 2024-11-20 14:23:33 +01:00
Adam Obuchowicz
2ae1c904ef
Ignore E2E CI tests on Windows (#11602)
The integration tests are constantly failing on Windows. For the time of investigation, they should be suppressed.
2024-11-20 12:25:52 +00:00
somebody1234
c72cef305d
Fix Datalink inputs (#11376)
* Stop validating optional Data Link fields

* Fix incorrect default value in Datalink input

* Stop `Autocomplete` fields from opening automatically without
`autoFocus`

* Increase E2E test timeout

* Fix E2E test race condition?

* Fix error message for empty string input

* Highlight active Datalink input

* Show description when Datalink input is invalid

* Fix Datalink input unfocusing when errors appear

* Fix `enso://` path error text

* Fix hover display of autocomplete items

* Move `Autocomplete` tooltip above Dropdown container

* Update Enso path validation

* Update test file and Enso File datalink regex

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Bypassing failing tests.
2024-11-20 11:02:46 +00:00
AdRiley
7327df88c3
Complete migration to Dialect/Feature flags + SQLServer support for Datetime (#11527)
* Supports_Sort_Digits_As_Numbers

* case_insensitive_ordering

* Case_Insensitive_Ordering

* Case_Insensitive_Ordering

* Enable tests

* Case_Insensitive_Non_Ascii

* Order_By_Unicode_Normalization_By_Default

* Allows_Mixed_Type_Comparisons

* Supports_Unicode_Normalization

* NaN_Non_Comparable

* Distinct_Returns_First_Row_From_Group_If_Ordered

* Datetime support

* refactor

* refactor

* Refactor

* Move remaining flags

* Cleanup

* sbt javafmtAll

* Fix

* Fix tests

* Code review changes

* More date_diff month tests

* Fix sowflake

* Fix snowflake tests

Bypassing failing test.
2024-11-20 10:41:49 +00:00
Kaz Wesley
70253e73ed
Render tables in documentation. (#11564)
* Render tables in documentation.

Also:
- Separate parser for our flavor of Markdown from the CodeMirror integration;
  move the parser into ydoc-shared and use for Markdown line-wrapping.
- Introduce our own version of yCollab extension; initially just the upstream
  version translated to Typescript and our code style.
- Refactor CodeEditor.

* CHANGELOG, prettier

* Apply @farmaazon review.

* Fix

* Lint

* Cleanup

* Integration tests for GraphNodeComment

Also a little refactoring in preparation for new implementation.

* Workaround stuck CI

* Revert "Workaround stuck CI"

This reverts commit 74313842ba.

* Fix merge

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-11-20 10:40:24 +00:00
Ilya Bogdanov
d71781f9bd
New node colors (#11578)
* Show halo only on hover

* Fix numeric input widget. (#11561)

* Invert node colors, make edited widgets more prominent

---------

Co-authored-by: Paweł Grabarz <frizi09@gmail.com>

Skipping failing test in GUI packaging.
Nothing changes in Microsoft space.
2024-11-20 10:38:10 +00:00
Ilya Bogdanov
21cbf25067
Edges always end with arrows (#11590)
Bypassing the failing test.
2024-11-20 09:54:20 +00:00
Jaroslav Tulach
d862a3cf08
HostValueToEnsoNode is not a builtin (#11593)
Bypassing failing check.
2024-11-20 08:15:36 +00:00
Jaroslav Tulach
ad9d0e5ab5
Allow (42 : Text & Integer) at the end of function (#11588)
Bypassing failing check.
2024-11-20 08:14:38 +00:00
somebody1234
bab9addeb4
Bump Node version in Nix flake (#11580)
- Bump Node.JS version to match `.node-version`:

6b810ee1e6/.node-version (L1)
2024-11-19 17:44:58 +00:00
Pavel Marek
289a255f4b runtime-integration-tests accesses PassManager field via reflection 2024-11-19 18:10:53 +01:00
Jaroslav Tulach
3d8a0e1b90
Multi value Complex test and robustness refactoring (#11525)
While working on #11482 and enhancing the tests suite with more tests based on `type Complex` a [getRootNode() did not terminate in 100000 iterations](https://github.com/enso-org/enso/pull/11525#issuecomment-2476171597) problem was discovered. Detailed investigation revealed that the existing `ReadArgumentCheckNode` infrastructure was able to create a **cycle** of parent pointers in the Truffle AST.

The problem was in intricate manipulation of the AST while rewriting internals in `ReadArgumentCheckNode`. This PR avoids such manipulation by _refactoring the type checking code_. `ReadArgumentNode` knows nothing about types anymore. When a type check is needed, `IrToTruffle` adds additional `TypeCheckValueNode.wrap` around the `ReadArgumentNode` - that breaks the **vicious circle**.

All the _type checks_ nodes are moved to its own package. All but one of the classes are made package private. The external API for doing _type checking_ is concentrated into `TypeCheckValueNode`.
2024-11-19 17:04:42 +00:00
Adam Obuchowicz
af39e0ec50
Pasting image in Documentation Editor (#11547)
Fixes #10059

https://github.com/user-attachments/assets/a528e26a-b388-4a2a-9bf4-3ccc734373f6

# Important Notes
* I put the logic for project's files management to a single composable "projectFiles"
2024-11-19 15:47:46 +00:00
Pavel Marek
546f17cde2 CompilerTestSetup explicitly changes IR in ModuleContext. 2024-11-19 15:07:50 +01:00
Pavel Marek
1935b9e486 Consistency validation has better error message. 2024-11-19 14:26:55 +01:00
Ilya Bogdanov
c52b8f9455
Disable EditContext API (#11554)
Fixes #11239

https://github.com/user-attachments/assets/eb57fb34-11f4-489b-9849-c93c7aa5e870
2024-11-19 11:36:59 +00:00
Pavel Marek
9a49a02e3f
--jvm tries to find Java executable system-wide. (#11500)
Fixes `--jvm` option, given to the native image. This was failing on my machine, because when given `--jvm` option, the runner was trying to find the `java` executable from the distribution manager's runtime (on my system located in `~/.local/share/enso/runtime`) and it used the first runtime found. But the first runtime on my system is JDK 17.

The `--jvm` option now tries to:
- Find a JDK from the distribution manager that has the same version as the JDK used for building the engine.
- If there is not an exact version match, it tries to find a runtime from distribution manager that is *newer*.
- If none, fallback to system-wide search
- System-wide search tries to find `java` from `$JAVA_HOME` and from `$PATH`. But this is just a fallback.

# Important Notes
- Added test to Engine CI jobs that pass `--jvm` argument to a native image of engine-runner
- ea3af5ffbc
- `runtime-version-manager` sbt project migrated to a JPMS module
- `engine-runner` now depends on `runtime-version-manager`.
- Removed unnecessary stuff in `runtime-version-manager` dealing with outdated `gu` Graal Updater utility.
- Extracted [GraalVersionManager](1455b025cb/lib/scala/runtime-version-manager/src/main/java/org/enso/runtimeversionmanager/components/GraalVersionManager.java) from [RuntimeVersionManager](d2e8994700/lib/scala/runtime-version-manager/src/main/scala/org/enso/runtimeversionmanager/components/RuntimeVersionManager.scala)
2024-11-18 22:44:54 +00:00