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

stats rework #152

Merged
merged 17 commits into from
Sep 30, 2023
Merged

stats rework #152

merged 17 commits into from
Sep 30, 2023

Conversation

ix0rai
Copy link
Member

@ix0rai ix0rai commented Sep 27, 2023

  • adds stats to packages
  • improves speed for individual class generation via discovering entries recursively for each class
  • will decrease speed for full-project stats gen but it's a tradeoff to make the more common stats usage work better
  • stats dialog opens instantly
  • stats tree opens instantly
  • stats for the full project are generated at startup, so it takes longer to populate but is overall a better experience

todo

  • reimplement progress listener
  • testing
  • documentation
  • pretty sure that bug where it shows as unmapped during gen is back

notes:

  • should check if the recursive discovery logic is totally duplicated from MappingValidator

@ix0rai ix0rai added enhancement New feature or request backend affects the enigma backend user interface affects the enigma ui labels Sep 27, 2023
@ix0rai ix0rai added this to the 2.0.0 milestone Sep 27, 2023
Copy link
Member

@IotaBread IotaBread left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work

@ix0rai ix0rai merged commit 81ed275 into QuiltMC:develop/2.0 Sep 30, 2023
2 checks passed
@ix0rai ix0rai deleted the 2.0/stats-refactor branch September 30, 2023 01:19
ix0rai added a commit that referenced this pull request Dec 28, 2023
* Bump to 2.0

* allow either slashes or dots in package filter

* fix mapping validator adding far too many class siblings

(cherry picked from commit 92dab41)

* fix checkstyle

* fix drop invalid mappings command dropping every mapping (oops)

* bump version to 1.8.9

* methods could conflict with themselves lol

(cherry picked from commit 313cb08)

* fix drop invalid mappings command dropping every mapping (oops)

(cherry picked from commit 8b6f9fa)
(cherry picked from commit a2763ad)

* remove access modifier editing (#135)

* remove access modifiers - probably broken edition

* fix checkstyle

* ZACCESS

* fix class parsing for enigma format

* oops

* remove tiny v1 and improve commands to use automatic format detection (#138)

* bye

* fix command descs

* Update enigma-cli/src/main/java/cuchaz/enigma/command/MappingCommandsUtil.java

Co-authored-by: Iota <[email protected]>

---------

Co-authored-by: Iota <[email protected]>

* improve command help (#142)

* improve command help

* add help command, simplify arg parsing

* add descriptions for most commands (still need help), move stuff to abstract methods

* suggestions from @IotaBread

Co-authored-by: Iota <[email protected]>

* address remaining comments

---------

Co-authored-by: Iota <[email protected]>

* rough version of obf entry navigator

* Revert "rough version of obf entry navigator"

This reverts commit ae662f9.

* better highlight box sizes: fix overlap (#148)

* decrease box highlight size by 2 pixels

* update box highlight size to no longer overlap other characters

* stats rework (#152)

* wip fixing stat perf

* wip wip

* fix bugs

* refactors

* working!

* working better!

* wip packages

* woag package stats real

* imports oops

* bye useless code

* reimplement filter

* reimplement graph and add class data recursively

* check the style baybee

* add progress listening

* docs

* fix oops

* public static gson

* add "move package" option to context menu (#151)

* add "move package" context option

* fix style

* entry navigator (#146)

* obf entry navigator

* fix checkstyle

* add support for different token types

* put navigator in tabs

* fix checkstyle

* overlay navigator on code

* add keybinds and remove background for navigator panel

* 2.0/syntaxpane replacement (#150)

* start moving away from sciss syntaxpane

* hardcode configuration stuff

* fix more nonsense

* new jflex, fix some nonsense

* fix checkstyle, remove nonsense, fix scaling

* fix gradle

* move onto "syntaxpain" library

* improve quick find dialog

* use chevrons on navigator panel

* Update .gitignore

* Update build.gradle

* update syntaxpain

* rename package to `org.quiltmc.enigma` (#153)

* rename package to `org.quiltmc.enigma`

* thanks intellij very cool

* dlete unused inport

* delete unused inport part 2

* fix tests

* fix issues

* fix plural package names, move some enigma-swing things around

* commit you fools

* toss everything deprecated (#155)

* remove deprecations

* remove deprecated `getSource` method

* Revert "remove deprecated `getSource` method"

This reverts commit a8dba3f.

* rename `getSource` to `getUndocumentedSource`

* thanks automatic overload renaming!

* Api/impl separation (#154)

* Move classes which clearly are either api or impl

* Finish api/impl separation

* Move `Decompilers` to api

* add mappings indexing (#156)

* add mappings indexing

* add package name index

* add reindexing

* add translations

* clean up mappings indexing, implement @IotaBread's suggestion

* implement new system for getting indexers onto JarIndex

* fix commands

* implement some changes from Fabric upstream, with permission from @YanisBft

- index more class references (#531)
- fix documenting constructors (#530)
- search dialog improvements (#529)

* fixes (#157)

- fix wrong order of indexers being run
- fix renaming packages creating warnings

* Allow using json lists for service args (#158)

* Allow using json lists for service args

* Fix checkstyle error

* fix untranslated `tiny_v2.loading` string

* redo name proposal (#163)

* rework interface

* work

* work

* somewhat functional

* fix and improve server stuff

* check the style

* fix rare npe due to mishandling of flatlaf

* misc

* restore old save/load behaviour

* fully working I think :D

* fix checkstyle

* port enigma-cli

* delete recaf (it broke and I'm lazy)

* fix

* error handling for invalid token types

* fix navigator issues

* clarify javadoc

* priority

* fix npe

* store proposed mappings separately

* store proposed mappings separately

* add a test for service ordering

* malformed json test

* resolve easy comments

* fix potential crash

* add more tests

* resolve todo (it didn't actually need fixing after some other changes I made)

* fix test

* put overall stats in stats dialog (#166)

* add `getId` method to `EnigmaService` (#164)

* rework interface

* work

* work

* somewhat functional

* fix and improve server stuff

* check the style

* fix rare npe due to mishandling of flatlaf

* misc

* restore old save/load behaviour

* fully working I think :D

* fix checkstyle

* port enigma-cli

* delete recaf (it broke and I'm lazy)

* fix

* error handling for invalid token types

* fix navigator issues

* clarify javadoc

* priority

* fix npe

* store proposed mappings separately

* store proposed mappings separately

* add a test for service ordering

* malformed json test

* start moving plugin ID into plugin code

* fix error

* finish

* fix

* lol

* resolve comments

* address review from iota

* check the style

* move to quilt config (#167)

* toss current config stuff

* wip migrating config to quilt-config

* more work

* wip stuff

* grinding

* progress

* progress 2!

* fix checkstyle

* progress

* qconf 1.1.0

* nearly working

* [mad scientist voice] it boots!

* check the style

* some refactors

* more reorg

* tentative update to new qconf

* cleanups

* laf stuff

* strip out some pointless laf stuff

* fix divider states

* save docker selections

* reimplement default non-bold font

* fix some stuff being ignored

* update qconf version

* add some comments

* 2.0 API and impl changes for name proposal (#168)

* Add a getParameters method in MethodEntry

* Partial MergedEntryMappingTree implementation

* Fix checkstyle errors

* migrate EntryRemapper to MergedEntryMappingTree

* Add a dialog to test mapping trees

* It works??

* Fix broken test

* Fixes for Mark as deobf/obf

* Fix close button in print mapping tree dialog

* Apply suggestions from code review

Co-authored-by: ix0rai <[email protected]>

---------

Co-authored-by: ix0rai <[email protected]>

* merge

* Keep JAR_PROPOSED mappings separate from other proposals (#169)

* Keep JAR_PROPOSED mappings separate from other proposals

* Fix wording of a javadoc

* bump qconf

* re-add a util method that shouldn't have been tossed, fix a crash

* bye

* final config polish

* non-breaking improvements to docker config

* they used to call me ./gradlew checkstyleMain checkstyleTest back in college

* Upgrade ASM

* fix entry navigator misreporting token types

* fix deobf outline alpha

* properly scale fonts

* add missing translations

---------

Co-authored-by: ByMartrixx <[email protected]>
Co-authored-by: Iota <[email protected]>
Co-authored-by: IotaBread <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend affects the enigma backend enhancement New feature or request user interface affects the enigma ui
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants