| # Copyright 2022 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Remove Log.d(), Log.v(), and corresponding isLoggable() calls. |
| # Log.DEBUG = 3, Log.VERBOSE = 2. |
| # https://stackoverflow.com/questions/73876633/what-does-the-r8-maximumremovedandroidloglevel-option |
| -maximumremovedandroidloglevel 3 |
| |
| # Makes try-with-resources less inefficient. Saved 3.8kb when added. |
| -assumenosideeffects class java.lang.Throwable { |
| void addSuppressed(...); |
| } |
| |
| # Remove all logging calls via JDK Loggers. They are generally from |
| # unused parts of third-party libraries. |
| -assumenosideeffects class java.util.logging.Logger { |
| void finest(...); |
| void finer(...); |
| void fine(...); |
| void info(...); |
| void warning(...); |
| void severe(...); |
| void throwing(...); |
| void log(...); |
| void logp(...); |
| static java.util.logging.Logger getLogger(...) return _NONNULL_; |
| boolean isLoggable(...) return false; |
| } |
| |
| # Remove accesses to Level.<thing> that go unused. |
| -assumenosideeffects class java.util.logging.Level { |
| <fields>; |
| # Flogger uses Level objects, so do not set a return value for intValue(). |
| int intValue(); |
| } |
| |
| # Remove fields of type Logger. |
| -assumenosideeffects class * { |
| java.util.logging.Logger * return _NONNULL_; |
| } |