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

Classes needed for lambda merging in ProGuard #36

Open
wants to merge 40 commits into
base: master
Choose a base branch
from

Commits on Dec 24, 2021

  1. Prevent DominatorCalculator from crashing when a method has an empty …

    …code attribute
    
    Summary: Methods can sometimes have empty code attributes, if Dex2Pro skips them due to some failure. Unfortunately, this made the DominatorCalculator crash with an ArrayIndexOutOfBoundsException. This has been fixed by making the analysis skip empty code attributes.
    
    Test Plan: New unit test
    
    Reviewers: james.hamilton, dennis.titze
    
    Reviewed By: dennis.titze
    
    Differential Revision: http://phabricator.guardsquare.com/D10236
    Masrepus authored and maqsoodahmadjan committed Dec 24, 2021
    Configuration menu
    Copy the full SHA
    ca6936c View commit details
    Browse the repository at this point in the history
  2. Fix CallResolver to not use unimplemented interface methods as viable…

    … targets
    
    Summary: When searching for call targets in superinterfaces the call resolver previously didn't enforce that any potential target must be non-abstract. Also, if any other resolution path results in a call to an abstract method, this is now logged as an error to catch bugs earlier.
    
    Test Plan: Existing tests
    
    Reviewers: james.hamilton, carlo.alberto.pozzoli, dennis.titze
    
    Reviewed By: dennis.titze
    
    Differential Revision: http://phabricator.guardsquare.com/D10245
    Masrepus authored and maqsoodahmadjan committed Dec 24, 2021
    Configuration menu
    Copy the full SHA
    f0ed6b2 View commit details
    Browse the repository at this point in the history
  3. Create getter for target method in ConcreteCall

    Test Plan: existing tests
    
    Reviewers: samuel.hopstock
    
    Reviewed By: samuel.hopstock
    
    Differential Revision: http://phabricator.guardsquare.com/D10254
    capoz authored and maqsoodahmadjan committed Dec 24, 2021
    Configuration menu
    Copy the full SHA
    7f1f0af View commit details
    Browse the repository at this point in the history
  4. Remove error logging for abstract call targets

    Summary: Previously an error was logged when the call target turned out to be an abstract method. Unfortunately, things like `myList.iterator().hasNext()` validly target an abstract method, which doesn't warrant an error log message. Keeping the logging in would create tons of log spam.
    
    Test Plan: N/A
    
    Reviewers: dennis.titze
    
    Reviewed By: dennis.titze
    
    Differential Revision: http://phabricator.guardsquare.com/D10252
    Masrepus authored and maqsoodahmadjan committed Dec 24, 2021
    Configuration menu
    Copy the full SHA
    b626bfc View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2021

  1. Add ClassMethodFilter from Nadeesh

    Joren Van Hecke committed Dec 28, 2021
    Configuration menu
    Copy the full SHA
    e92a27b View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2022

  1. Move PackageGrouper to ProGuard-CORE

    Joren Van Hecke committed Jan 5, 2022
    Configuration menu
    Copy the full SHA
    2acc29c View commit details
    Browse the repository at this point in the history
  2. Move MethodCopier to ProGuard-CORE

    Joren Van Hecke committed Jan 5, 2022
    Configuration menu
    Copy the full SHA
    e61c38d View commit details
    Browse the repository at this point in the history
  3. Create separate & extra tests for PackageGrouper

    Joren Van Hecke committed Jan 5, 2022
    Configuration menu
    Copy the full SHA
    e39c05e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5f24388 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2022

  1. Add Kotlin Unit name, type, INSTANCE field to ClassConstants

    Joren Van Hecke committed Jan 7, 2022
    Configuration menu
    Copy the full SHA
    3338829 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4f74d43 View commit details
    Browse the repository at this point in the history
  3. Visitor that visits referenced class of ClassConstant

    Joren Van Hecke committed Jan 7, 2022
    Configuration menu
    Copy the full SHA
    0d9cb78 View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branch 'Guardsquare/master'

    Joren Van Hecke committed Jan 7, 2022
    Configuration menu
    Copy the full SHA
    8c81564 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2022

  1. ModifiedAllInnerClassesInfoVisitor: revisit inner classes attribute w…

    …hen count has changed
    
    New classes: ModifiedAllInnerClassesInfoVisitor
    Joren Van Hecke committed Jan 9, 2022
    Configuration menu
    Copy the full SHA
    ea25197 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2022

  1. Configuration menu
    Copy the full SHA
    fc68b07 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2022

  1. Configuration menu
    Copy the full SHA
    cd4a6a3 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2022

  1. Configuration menu
    Copy the full SHA
    5550c96 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2022

  1. Configuration menu
    Copy the full SHA
    9860f9e View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2022

  1. New classes: FieldCopier & FieldRenamer

    Joren Van Hecke committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    fcfa75e View commit details
    Browse the repository at this point in the history
  2. Use a FieldCopier in the MethodCopier

    Joren Van Hecke committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    a33e5da View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2022

  1. FieldRenamer: use descriptor + index as new name

    Joren Van Hecke committed Mar 27, 2022
    Configuration menu
    Copy the full SHA
    bf8155b View commit details
    Browse the repository at this point in the history
  2. Don't print warning in FieldCopier

    Joren Van Hecke committed Mar 27, 2022
    Configuration menu
    Copy the full SHA
    b2877ea View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'Guardsquare/master'

    Joren Van Hecke committed Mar 27, 2022
    Configuration menu
    Copy the full SHA
    9d3bb0c View commit details
    Browse the repository at this point in the history

Commits on May 7, 2022

  1. Configuration menu
    Copy the full SHA
    8c82796 View commit details
    Browse the repository at this point in the history
  2. PackageGrouper: pretty print package names in log

    Joren Van Hecke committed May 7, 2022
    Configuration menu
    Copy the full SHA
    758be93 View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'Guardsquare/master'

    Joren Van Hecke committed May 7, 2022
    Configuration menu
    Copy the full SHA
    528e7a7 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2022

  1. Test added for MethodCopier

    Joren Van Hecke committed Jun 6, 2022
    Configuration menu
    Copy the full SHA
    7821839 View commit details
    Browse the repository at this point in the history
  2. Apply ktlint formatting to new test classes

    Joren Van Hecke committed Jun 6, 2022
    Configuration menu
    Copy the full SHA
    b542b9b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    99065f7 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2022

  1. Inner classes of lambda merging moved to ProGuard CORE

    Joren Van Hecke committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    4ef0e59 View commit details
    Browse the repository at this point in the history
  2. New ConstantVisitor: FieldReferenceFinder

    Joren Van Hecke committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    67cde7f View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2022

  1. Configuration menu
    Copy the full SHA
    72a80b9 View commit details
    Browse the repository at this point in the history
  2. Add PGC header to ClassConstantToClassVisitor

    Joren Van Hecke committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    7eeff48 View commit details
    Browse the repository at this point in the history
  3. Open '{' on new line in ClassConstantToClassVisitor

    Joren Van Hecke committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    02e8fd0 View commit details
    Browse the repository at this point in the history
  4. Remove redundant ClassMethodFilter

    Joren Van Hecke committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    660a391 View commit details
    Browse the repository at this point in the history
  5. Move visitors to ProGuard

    Classes involved are: InnerClasssInfoClassConstantVisitor, ClassConstantReferenceUpdater, FieldReferenceFinder, FieldRenamer, MethodCopier, MethodReferenceFinder and PackageGrouper
    Joren Van Hecke committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    59f7999 View commit details
    Browse the repository at this point in the history
  6. Move ModifiedAllInnerClassesInfoVisitor from PGC to ProGuard

    Joren Van Hecke committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    7d34770 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7441f81 View commit details
    Browse the repository at this point in the history
  8. Move FieldCopier to ProGuard

    Joren Van Hecke committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    082b3a8 View commit details
    Browse the repository at this point in the history
  9. MethodCopierTest moved to ProGuard

    Joren Van Hecke committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    31f231d View commit details
    Browse the repository at this point in the history