Fix proto comparison for fields mapped to type table

This commit is contained in:
Alexey Tsvetkov
2019-10-28 04:25:18 +03:00
committed by romanart
parent c694752b4f
commit 28e6219b0b
8 changed files with 407 additions and 310 deletions
+1
View File
@@ -25,4 +25,5 @@ extend google.protobuf.FieldOptions {
optional bool name_id_in_table = 50001;
optional bool fq_name_id_in_table = 50002;
optional bool string_id_in_table = 50003;
optional bool type_id_in_table = 50004;
}
+15 -15
View File
@@ -123,7 +123,7 @@ message Type {
// When projection is STAR, no type is written, otherwise type must be specified
optional Type type = 2;
optional int32 type_id = 3;
optional int32 type_id = 3 [(type_id_in_table) = true];
}
repeated Argument argument = 2;
@@ -135,7 +135,7 @@ message Type {
optional int32 flexible_type_capabilities_id = 4 [(string_id_in_table) = true];
optional Type flexible_upper_bound = 5;
optional int32 flexible_upper_bound_id = 8;
optional int32 flexible_upper_bound_id = 8 [(type_id_in_table) = true];
// Only one of [class_name, type_parameter, type_parameter_name, type_alias_name] should be present
@@ -150,10 +150,10 @@ message Type {
// Outer type may be present only if class_name or type_alias_name is present
optional Type outer_type = 10;
optional int32 outer_type_id = 11;
optional int32 outer_type_id = 11 [(type_id_in_table) = true];
optional Type abbreviated_type = 13;
optional int32 abbreviated_type_id = 14;
optional int32 abbreviated_type_id = 14 [(type_id_in_table) = true];
/*
suspend
@@ -178,7 +178,7 @@ message TypeParameter {
optional Variance variance = 4 [default = INV];
repeated Type upper_bound = 5;
repeated int32 upper_bound_id = 6 [packed = true];
repeated int32 upper_bound_id = 6 [packed = true, (type_id_in_table) = true];
extensions 100 to 999;
}
@@ -215,7 +215,7 @@ message Class {
repeated TypeParameter type_parameter = 5;
repeated Type supertype = 6;
repeated int32 supertype_id = 2 [packed = true];
repeated int32 supertype_id = 2 [packed = true, (type_id_in_table) = true];
repeated int32 nested_class_name = 7 [packed = true, (name_id_in_table) = true];
@@ -294,12 +294,12 @@ message Function {
required int32 name = 2 [(name_id_in_table) = true];
optional Type return_type = 3;
optional int32 return_type_id = 7;
optional int32 return_type_id = 7 [(type_id_in_table) = true];
repeated TypeParameter type_parameter = 4;
optional Type receiver_type = 5;
optional int32 receiver_type_id = 8;
optional int32 receiver_type_id = 8 [(type_id_in_table) = true];
repeated ValueParameter value_parameter = 6;
@@ -335,12 +335,12 @@ message Property {
required int32 name = 2 [(name_id_in_table) = true];
optional Type return_type = 3;
optional int32 return_type_id = 9;
optional int32 return_type_id = 9 [(type_id_in_table) = true];
repeated TypeParameter type_parameter = 4;
optional Type receiver_type = 5;
optional int32 receiver_type_id = 10;
optional int32 receiver_type_id = 10 [(type_id_in_table) = true];
optional ValueParameter setter_value_parameter = 6;
@@ -377,10 +377,10 @@ message ValueParameter {
required int32 name = 2 [(name_id_in_table) = true];
optional Type type = 3;
optional int32 type_id = 5;
optional int32 type_id = 5 [(type_id_in_table) = true];
optional Type vararg_element_type = 4;
optional int32 vararg_element_type_id = 6;
optional int32 vararg_element_type_id = 6 [(type_id_in_table) = true];
extensions 100 to 199;
}
@@ -397,10 +397,10 @@ message TypeAlias {
repeated TypeParameter type_parameter = 3;
optional Type underlying_type = 4;
optional int32 underlying_type_id = 5;
optional int32 underlying_type_id = 5 [(type_id_in_table) = true];
optional Type expanded_type = 6;
optional int32 expanded_type_id = 7;
optional int32 expanded_type_id = 7 [(type_id_in_table) = true];
repeated Annotation annotation = 8;
@@ -557,7 +557,7 @@ message Expression {
// present => this expression is IsInstancePredicate, with 'variableName' as LHS
// and with type encoded in either one of next two fields as RHS.
optional Type is_instance_type = 4;
optional int32 is_instance_type_id = 5;
optional int32 is_instance_type_id = 5 [(type_id_in_table) = true];
// non-empty => this expression is boolean formula of form 'andArguments[0] && andArguments[1] && ...'
// Additionally, if first argument of formula is primitive expression (i.e. predicate or value),