Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal dependency cleanup 2023 #11451

Merged
merged 10 commits into from
Dec 27, 2023
Merged

Conversation

Simn
Copy link
Member

@Simn Simn commented Dec 27, 2023

Improves various internal dependencies for #11449.

Genjvm dependencies before:

Code_Rcpg34DSVS

After:

genjvm after

That big Common subtree is a bit silly too, but at least the generator no longer depends on the entire typer like before.

I'll probably check some other modules and see if there's more to improve. It's not the most important task ever but I like graphs.

@Simn
Copy link
Member Author

Simn commented Dec 27, 2023

Genjs had a big subtree because of a small reference to typeloadCheck:

genjs before

genjs after

This is actually somewhat relevant because the macro context depends on genjs for setCustomJSGenerator.

Simn added 3 commits December 27, 2023 12:23
to lose a dependency between EvalDebugSocket and typecore
to lose macroContext -> filters because it brings a lot of other stuff
to lose the macroContext dependency
@Simn
Copy link
Member Author

Simn commented Dec 27, 2023

The typer itself is quite funny because it depends on macroContext for just two inits:

typer before

By simply moving out Typer.create we get a slightly smaller graph:

typer after

@Simn Simn merged commit 599e0ca into development Dec 27, 2023
@Simn Simn deleted the internal_dependency_cleanup_2023 branch December 27, 2023 15:10
@skial skial mentioned this pull request Dec 30, 2023
1 task
0b1kn00b pushed a commit to 0b1kn00b/haxe that referenced this pull request Jan 25, 2024
* factor out field call candidate

* load Std when creating typer instead of randomly when we need it

* slightly split up exceptions.ml

* lose genjs dependency on typeloadCheck

* factor out expr preprocessing

to lose a dependency between EvalDebugSocket and typecore

* split up filters.ml a bit

to lose macroContext -> filters because it brings a lot of other stuff

* separate Typer.create from the rest

to lose the macroContext dependency

* lose some weird dependencies from string formatting

* make Eval an isolated dependency

* bring back catch that breaks tink
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant