blob: 394027ed3e1a3ebee8c8a85f1fba0eb7448fceac [file]
// Copyright (c) 2026, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto3";
package com.android.tools.r8.libanalyzer.proto;
// Don't put all messages under the outer class.
option java_multiple_files = true;
// Camel-case the outer class name (default is `Libraryanalysisresult`).
option java_outer_classname = "LibraryAnalysisResultProtos";
// Java package consistent with R8 convention.
option java_package = "com.android.tools.r8.libanalyzer.proto";
// Analysis result produced by the library analyzer.
message LibraryAnalysisResult {
D8CompileResult d8_compile_result = 1;
R8CompileResult r8_compile_result = 2;
}
message D8CompileResult {
uint32 size_bytes = 1;
}
message R8CompileResult {
uint32 size_bytes = 1;
uint32 num_items = 2;
uint32 num_items_kept = 3;
uint32 num_keep_rules = 4;
uint32 num_keep_rules_package_wide = 5;
repeated KeepRuleBlastRadius keep_rule_blast_radius = 6;
repeated KeepRuleBlastRadius unused_package_wide_keep_rules = 7;
}
message KeepRuleBlastRadius {
string source = 1;
uint32 num_items_kept = 2;
}