forked from JetBrains/kotlin
-
Notifications
You must be signed in to change notification settings - Fork 1
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
Remove unneeded lowerings and refactor needed ones #94
Labels
cleanliness
Let's polish our code!
development
Anything related to making development more pleasant. No real influence on the product itself.
optimization
This change would result in a more optimal Python; "Pythonification".
Milestone
Comments
krzema12
added a commit
that referenced
this issue
Dec 23, 2021
krzema12
added a commit
that referenced
this issue
Dec 24, 2021
* [#94] Remove commented out code Co-authored-by: Sergei Bulgakov <[email protected]>
krzema12
added a commit
that referenced
this issue
Dec 27, 2021
krzema12
added a commit
that referenced
this issue
Dec 27, 2021
krzema12
added a commit
that referenced
this issue
Dec 27, 2021
krzema12
added a commit
that referenced
this issue
Dec 27, 2021
krzema12
added a commit
that referenced
this issue
Dec 27, 2021
Thanks to the below snippet I was able to generate a dependency diagram of lowerings: (to be pasted in fun main() {
println("@startuml")
println("skinparam componentStyle rectangle")
println("left to right direction")
loweringList.forEach { lowering ->
println("component \"${lowering.modulePhase.name}\"")
lowering.modulePhase.prerequisite.forEach { prerequisite ->
println("component \"${prerequisite.name}\"")
println("[${lowering.modulePhase.name}] --> [${prerequisite.name}]")
}
}
println("@enduml")
} The generated code can be rendered with any PlantUML renderer, e.g. http://www.plantuml.com/ |
krzema12
added a commit
that referenced
this issue
Dec 27, 2021
Anything that was marked as unused in IntelliJ was removed. The analysis was very shallow, and didn't check e.g. if actually a lowering is used. It's in scope of the next changes.
krzema12
added a commit
that referenced
this issue
Dec 27, 2021
krzema12
added a commit
that referenced
this issue
Dec 28, 2021
Anything that was marked as unused in IntelliJ was removed. The analysis was very shallow, and didn't check e.g. if actually a lowering is used. It's in scope of the next changes. The only exceptions are some entities which symbols are not used in compile time, but they are somehow used in runtime. Each such occurrence was marked with a comment.
krzema12
added a commit
that referenced
this issue
Dec 29, 2021
SerVB
pushed a commit
that referenced
this issue
Jan 29, 2022
Anything that was marked as unused in IntelliJ was removed. The analysis was very shallow, and didn't check e.g. if actually a lowering is used. It's in scope of the next changes. The only exceptions are some entities which symbols are not used in compile time, but they are somehow used in runtime. Each such occurrence was marked with a comment.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
cleanliness
Let's polish our code!
development
Anything related to making development more pleasant. No real influence on the product itself.
optimization
This change would result in a more optimal Python; "Pythonification".
Lowerings are a big part of backend logic, so let's ensure we know what happens there and that we don't have anything surplus or weird.
The text was updated successfully, but these errors were encountered: