blob: a4f96d7c7f55e54b98ac0dbb16081f56fe62e2b1 [file] [log] [blame]
// Copyright (c) 2024, 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.keepanno.proto;
// All messages are placed under the outer class. This makes it a bit nicer to
// implement the AST <-> Proto conversions without type conflicts.
option java_multiple_files = false;
// Descriptive name of the outer class (default would have been `Keepanno`).
option java_outer_classname = "KeepAnnoProtos";
// Java package consistent with R8 convention.
option java_package = "com.android.tools.r8.keepanno.proto";
message Version {
uint32 major = 1;
uint32 minor = 2;
uint32 patch = 3;
}
message Context {
oneof context_oneof {
string class_descriptor = 1;
string method_descriptor = 2;
string field_descriptor = 3;
}
}
message MetaInfo {
Version version = 1;
Context context = 2;
}
message Declaration {
MetaInfo meta_info = 1;
oneof decl_oneof {
Edge edge = 2;
CheckRemoved check_removed = 3;
CheckDiscarded check_discarded = 4;
}
}
message CheckRemoved {
// TODO(b/343389186): Add content.
}
message CheckDiscarded {
// TODO(b/343389186): Add content.
}
message Edge {
// TODO(b/343389186): Add content.
}