Reland "[source_generator] Output project-wide metric dimension enums"
This is a reland of 331d505c8f877e9a25fa3ccd325dd08948ae3902
Original change's description:
> [source_generator] Output project-wide metric dimension enums
>
> To avoid name collisions this only happens when:
>
> 1. All identical event code enums have the same dimension name
> 2. No non-identical event code enums have the same dimension name
>
> The new enum is named '<project name>MetricDimension<dimension name>'
>
> Change-Id: Iae9eaaedc41bf1032a893c4db0cd2a092ef69fcd
Change-Id: I4bca3f8b55a312b1ca511c3f3bffade3d31f2099
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.go b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.go
index 7aa0f7c..46af5f2 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.go
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.go
@@ -45,50 +45,58 @@
// Alias for event groups (Metric Dimension The First Group) which has the same event codes
type EventGroupsMetricDimensionTheFirstGroup = TheOtherMetricNameMetricDimension0
-// Enum for event groups (Metric Dimension A second group)
-type EventGroupsMetricDimensionASecondGroup uint32
+// Enum for project (Metric Dimension A second group)
+type ProjectMetricDimensionASecondGroup uint32
const (
-_ EventGroupsMetricDimensionASecondGroup = iota
+_ ProjectMetricDimensionASecondGroup = iota
This = 1
Is = 2
Another = 3
Test = 4
)
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+type EventGroupsMetricDimensionASecondGroup = ProjectMetricDimensionASecondGroup
-// Enum for event groups (Metric Dimension 2)
-type EventGroupsMetricDimension2 uint32
+// Enum for project (Metric Dimension 2)
+type ProjectMetricDimension2 uint32
const (
-_ EventGroupsMetricDimension2 = iota
+_ ProjectMetricDimension2 = iota
ThisMetric = 0
HasNo = 2
Name = 4
)
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+type EventGroupsMetricDimension2 = ProjectMetricDimension2
-// Enum for metric (Metric Dimension First)
-type MetricMetricDimensionFirst uint32
+// Enum for project (Metric Dimension First)
+type ProjectMetricDimensionFirst uint32
const (
-_ MetricMetricDimensionFirst = iota
+_ ProjectMetricDimensionFirst = iota
A = 1
Set = 2
OfEvent = 3
Codes = 4
)
+// Alias for metric (Metric Dimension First) which has the same event codes
+type MetricMetricDimensionFirst = ProjectMetricDimensionFirst
// Alias for second metric (Metric Dimension First) which has the same event codes
-type SecondMetricMetricDimensionFirst = MetricMetricDimensionFirst
+type SecondMetricMetricDimensionFirst = ProjectMetricDimensionFirst
-// Enum for metric (Metric Dimension Second)
-type MetricMetricDimensionSecond uint32
+// Enum for project (Metric Dimension Second)
+type ProjectMetricDimensionSecond uint32
const (
-_ MetricMetricDimensionSecond = iota
+_ ProjectMetricDimensionSecond = iota
Some = 0
More = 4
Event = 8
Codes = 16
)
+// Alias for metric (Metric Dimension Second) which has the same event codes
+type MetricMetricDimensionSecond = ProjectMetricDimensionSecond
// Alias for second metric (Metric Dimension Second) which has the same event codes
-type SecondMetricMetricDimensionSecond = MetricMetricDimensionSecond
+type SecondMetricMetricDimensionSecond = ProjectMetricDimensionSecond
// The base64 encoding of the bytes of a serialized CobaltRegistry proto message.
const Config string = "KooHCghjdXN0b21lchAKGvsGCgdwcm9qZWN0EAUaVQoPdGhlX21ldHJpY19uYW1lEAoYBSBkYhEKCnRoZV9yZXBvcnQQChiPTmIWChB0aGVfb3RoZXJfcmVwb3J0EBQYA3IIY3VzdG9tZXJ6B3Byb2plY3QafwoVdGhlX290aGVyX21ldHJpY19uYW1lEAoYBSDIASgBUAFiEAoKdGhlX3JlcG9ydBAKGAdyCGN1c3RvbWVyegdwcm9qZWN0ggE1EgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYyAEa+gEKDGV2ZW50IGdyb3VwcxAKGAUgrAIoAVABYhAKCnRoZV9yZXBvcnQQHhgHcghjdXN0b21lcnoHcHJvamVjdIIBRQoPVGhlIEZpcnN0IEdyb3VwEgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYAoIBOQoOQSBzZWNvbmQgZ3JvdXASCAgBEgRUaGlzEgYIAhICSXMSCwgDEgdhbm90aGVyEggIBBIEVGVzdIIBNRIOCAASClRoaXNNZXRyaWMSCQgCEgVIYXNObxIICAQSBE5hbWUqDgoFSGFzTm8SBUFsaWFzGjMKDmxpbmVhciBidWNrZXRzEAoYBSCQA0IHEgUQjAEYBXIIY3VzdG9tZXJ6B3Byb2plY3QaRQoTZXhwb25lbnRpYWwgYnVja2V0cxAKGAUg9ANiFAoGcmVwb3J0EChSCAoGEAMYAiACcghjdXN0b21lcnoHcHJvamVjdBqJAQoGbWV0cmljEAoYBSDYBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVzGpABCg1zZWNvbmQgbWV0cmljEAoYBSDZBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVz";
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.h b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.h
index f7584e1..70d7880 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.h
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.h
@@ -56,75 +56,83 @@
const EventGroupsMetricDimensionTheFirstGroup EventGroupsMetricDimensionTheFirstGroup_AnotherEvent = EventGroupsMetricDimensionTheFirstGroup::AnotherEvent;
const EventGroupsMetricDimensionTheFirstGroup EventGroupsMetricDimensionTheFirstGroup_AThirdEvent = EventGroupsMetricDimensionTheFirstGroup::AThirdEvent;
-// Enum for event groups (Metric Dimension A second group)
-namespace __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension A second group)
+namespace __project_metric_dimension_a_second_group_internal_scope_do_not_use__ {
enum Enum {
This = 1,
Is = 2,
Another = 3,
Test = 4,
};
-} // __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__
-using EventGroupsMetricDimensionASecondGroup = __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_a_second_group_internal_scope_do_not_use__
+using ProjectMetricDimensionASecondGroup = __project_metric_dimension_a_second_group_internal_scope_do_not_use__::Enum;
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+using EventGroupsMetricDimensionASecondGroup = ProjectMetricDimensionASecondGroup;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_This = EventGroupsMetricDimensionASecondGroup::This;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Is = EventGroupsMetricDimensionASecondGroup::Is;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Another = EventGroupsMetricDimensionASecondGroup::Another;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Test = EventGroupsMetricDimensionASecondGroup::Test;
-// Enum for event groups (Metric Dimension 2)
-namespace __event_groups_metric_dimension_2_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension 2)
+namespace __project_metric_dimension_2_internal_scope_do_not_use__ {
enum Enum {
ThisMetric = 0,
HasNo = 2,
Name = 4,
Alias = HasNo,
};
-} // __event_groups_metric_dimension_2_internal_scope_do_not_use__
-using EventGroupsMetricDimension2 = __event_groups_metric_dimension_2_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_2_internal_scope_do_not_use__
+using ProjectMetricDimension2 = __project_metric_dimension_2_internal_scope_do_not_use__::Enum;
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+using EventGroupsMetricDimension2 = ProjectMetricDimension2;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_ThisMetric = EventGroupsMetricDimension2::ThisMetric;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_HasNo = EventGroupsMetricDimension2::HasNo;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_Name = EventGroupsMetricDimension2::Name;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_Alias = EventGroupsMetricDimension2::Alias;
-// Enum for metric (Metric Dimension First)
-namespace __metric_metric_dimension_first_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension First)
+namespace __project_metric_dimension_first_internal_scope_do_not_use__ {
enum Enum {
A = 1,
Set = 2,
OfEvent = 3,
Codes = 4,
};
-} // __metric_metric_dimension_first_internal_scope_do_not_use__
-using MetricMetricDimensionFirst = __metric_metric_dimension_first_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_first_internal_scope_do_not_use__
+using ProjectMetricDimensionFirst = __project_metric_dimension_first_internal_scope_do_not_use__::Enum;
+// Alias for metric (Metric Dimension First) which has the same event codes
+using MetricMetricDimensionFirst = ProjectMetricDimensionFirst;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_A = MetricMetricDimensionFirst::A;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_Set = MetricMetricDimensionFirst::Set;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_OfEvent = MetricMetricDimensionFirst::OfEvent;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_Codes = MetricMetricDimensionFirst::Codes;
// Alias for second metric (Metric Dimension First) which has the same event codes
-using SecondMetricMetricDimensionFirst = MetricMetricDimensionFirst;
+using SecondMetricMetricDimensionFirst = ProjectMetricDimensionFirst;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_A = SecondMetricMetricDimensionFirst::A;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_Set = SecondMetricMetricDimensionFirst::Set;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_OfEvent = SecondMetricMetricDimensionFirst::OfEvent;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_Codes = SecondMetricMetricDimensionFirst::Codes;
-// Enum for metric (Metric Dimension Second)
-namespace __metric_metric_dimension_second_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension Second)
+namespace __project_metric_dimension_second_internal_scope_do_not_use__ {
enum Enum {
Some = 0,
More = 4,
Event = 8,
Codes = 16,
};
-} // __metric_metric_dimension_second_internal_scope_do_not_use__
-using MetricMetricDimensionSecond = __metric_metric_dimension_second_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_second_internal_scope_do_not_use__
+using ProjectMetricDimensionSecond = __project_metric_dimension_second_internal_scope_do_not_use__::Enum;
+// Alias for metric (Metric Dimension Second) which has the same event codes
+using MetricMetricDimensionSecond = ProjectMetricDimensionSecond;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Some = MetricMetricDimensionSecond::Some;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_More = MetricMetricDimensionSecond::More;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Event = MetricMetricDimensionSecond::Event;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Codes = MetricMetricDimensionSecond::Codes;
// Alias for second metric (Metric Dimension Second) which has the same event codes
-using SecondMetricMetricDimensionSecond = MetricMetricDimensionSecond;
+using SecondMetricMetricDimensionSecond = ProjectMetricDimensionSecond;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_Some = SecondMetricMetricDimensionSecond::Some;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_More = SecondMetricMetricDimensionSecond::More;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_Event = SecondMetricMetricDimensionSecond::Event;
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.rs b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.rs
index ba779d1..e51e740 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.rs
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden.cb.rs
@@ -43,50 +43,58 @@
// Alias for event groups (Metric Dimension The First Group) which has the same event codes
pub use TheOtherMetricNameMetricDimension0 as EventGroupsMetricDimensionTheFirstGroup;
-// Enum for event groups (Metric Dimension A second group)
+// Enum for project (Metric Dimension A second group)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum EventGroupsMetricDimensionASecondGroup {
+pub enum ProjectMetricDimensionASecondGroup {
This = 1,
Is = 2,
Another = 3,
Test = 4,
}
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+pub use ProjectMetricDimensionASecondGroup as EventGroupsMetricDimensionASecondGroup;
-// Enum for event groups (Metric Dimension 2)
+// Enum for project (Metric Dimension 2)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum EventGroupsMetricDimension2 {
+pub enum ProjectMetricDimension2 {
ThisMetric = 0,
HasNo = 2,
Name = 4,
}
-impl EventGroupsMetricDimension2 {
+impl ProjectMetricDimension2 {
#[allow(non_upper_case_globals)]
- pub const Alias: EventGroupsMetricDimension2 = EventGroupsMetricDimension2::HasNo;
+ pub const Alias: ProjectMetricDimension2 = ProjectMetricDimension2::HasNo;
}
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+pub use ProjectMetricDimension2 as EventGroupsMetricDimension2;
-// Enum for metric (Metric Dimension First)
+// Enum for project (Metric Dimension First)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum MetricMetricDimensionFirst {
+pub enum ProjectMetricDimensionFirst {
A = 1,
Set = 2,
OfEvent = 3,
Codes = 4,
}
+// Alias for metric (Metric Dimension First) which has the same event codes
+pub use ProjectMetricDimensionFirst as MetricMetricDimensionFirst;
// Alias for second metric (Metric Dimension First) which has the same event codes
-pub use MetricMetricDimensionFirst as SecondMetricMetricDimensionFirst;
+pub use ProjectMetricDimensionFirst as SecondMetricMetricDimensionFirst;
-// Enum for metric (Metric Dimension Second)
+// Enum for project (Metric Dimension Second)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum MetricMetricDimensionSecond {
+pub enum ProjectMetricDimensionSecond {
Some = 0,
More = 4,
Event = 8,
Codes = 16,
}
+// Alias for metric (Metric Dimension Second) which has the same event codes
+pub use ProjectMetricDimensionSecond as MetricMetricDimensionSecond;
// Alias for second metric (Metric Dimension Second) which has the same event codes
-pub use MetricMetricDimensionSecond as SecondMetricMetricDimensionSecond;
+pub use ProjectMetricDimensionSecond as SecondMetricMetricDimensionSecond;
// The base64 encoding of the bytes of a serialized CobaltRegistry proto message.
pub const CONFIG: &str = "KooHCghjdXN0b21lchAKGvsGCgdwcm9qZWN0EAUaVQoPdGhlX21ldHJpY19uYW1lEAoYBSBkYhEKCnRoZV9yZXBvcnQQChiPTmIWChB0aGVfb3RoZXJfcmVwb3J0EBQYA3IIY3VzdG9tZXJ6B3Byb2plY3QafwoVdGhlX290aGVyX21ldHJpY19uYW1lEAoYBSDIASgBUAFiEAoKdGhlX3JlcG9ydBAKGAdyCGN1c3RvbWVyegdwcm9qZWN0ggE1EgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYyAEa+gEKDGV2ZW50IGdyb3VwcxAKGAUgrAIoAVABYhAKCnRoZV9yZXBvcnQQHhgHcghjdXN0b21lcnoHcHJvamVjdIIBRQoPVGhlIEZpcnN0IEdyb3VwEgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYAoIBOQoOQSBzZWNvbmQgZ3JvdXASCAgBEgRUaGlzEgYIAhICSXMSCwgDEgdhbm90aGVyEggIBBIEVGVzdIIBNRIOCAASClRoaXNNZXRyaWMSCQgCEgVIYXNObxIICAQSBE5hbWUqDgoFSGFzTm8SBUFsaWFzGjMKDmxpbmVhciBidWNrZXRzEAoYBSCQA0IHEgUQjAEYBXIIY3VzdG9tZXJ6B3Byb2plY3QaRQoTZXhwb25lbnRpYWwgYnVja2V0cxAKGAUg9ANiFAoGcmVwb3J0EChSCAoGEAMYAiACcghjdXN0b21lcnoHcHJvamVjdBqJAQoGbWV0cmljEAoYBSDYBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVzGpABCg1zZWNvbmQgbWV0cmljEAoYBSDZBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVz";
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.go b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.go
index 0bb936a..27918d9 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.go
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.go
@@ -45,50 +45,58 @@
// Alias for event groups (Metric Dimension The First Group) which has the same event codes
type EventGroupsMetricDimensionTheFirstGroup = TheOtherMetricNameMetricDimension0
-// Enum for event groups (Metric Dimension A second group)
-type EventGroupsMetricDimensionASecondGroup uint32
+// Enum for project (Metric Dimension A second group)
+type ProjectMetricDimensionASecondGroup uint32
const (
-_ EventGroupsMetricDimensionASecondGroup = iota
+_ ProjectMetricDimensionASecondGroup = iota
This = 1
Is = 2
Another = 3
Test = 4
)
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+type EventGroupsMetricDimensionASecondGroup = ProjectMetricDimensionASecondGroup
-// Enum for event groups (Metric Dimension 2)
-type EventGroupsMetricDimension2 uint32
+// Enum for project (Metric Dimension 2)
+type ProjectMetricDimension2 uint32
const (
-_ EventGroupsMetricDimension2 = iota
+_ ProjectMetricDimension2 = iota
ThisMetric = 0
HasNo = 2
Name = 4
)
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+type EventGroupsMetricDimension2 = ProjectMetricDimension2
-// Enum for metric (Metric Dimension First)
-type MetricMetricDimensionFirst uint32
+// Enum for project (Metric Dimension First)
+type ProjectMetricDimensionFirst uint32
const (
-_ MetricMetricDimensionFirst = iota
+_ ProjectMetricDimensionFirst = iota
A = 1
Set = 2
OfEvent = 3
Codes = 4
)
+// Alias for metric (Metric Dimension First) which has the same event codes
+type MetricMetricDimensionFirst = ProjectMetricDimensionFirst
// Alias for second metric (Metric Dimension First) which has the same event codes
-type SecondMetricMetricDimensionFirst = MetricMetricDimensionFirst
+type SecondMetricMetricDimensionFirst = ProjectMetricDimensionFirst
-// Enum for metric (Metric Dimension Second)
-type MetricMetricDimensionSecond uint32
+// Enum for project (Metric Dimension Second)
+type ProjectMetricDimensionSecond uint32
const (
-_ MetricMetricDimensionSecond = iota
+_ ProjectMetricDimensionSecond = iota
Some = 0
More = 4
Event = 8
Codes = 16
)
+// Alias for metric (Metric Dimension Second) which has the same event codes
+type MetricMetricDimensionSecond = ProjectMetricDimensionSecond
// Alias for second metric (Metric Dimension Second) which has the same event codes
-type SecondMetricMetricDimensionSecond = MetricMetricDimensionSecond
+type SecondMetricMetricDimensionSecond = ProjectMetricDimensionSecond
// The base64 encoding of the bytes of a serialized CobaltRegistry proto message.
const Config string = "KoMGCghjdXN0b21lchAKGvQFCgdwcm9qZWN0EAUaQgoPdGhlX21ldHJpY19uYW1lEAoYBSBkYhEKCnRoZV9yZXBvcnQQChiPTmIWChB0aGVfb3RoZXJfcmVwb3J0EBQYAxpsChV0aGVfb3RoZXJfbWV0cmljX25hbWUQChgFIMgBKAFQAWIQCgp0aGVfcmVwb3J0EAoYB4IBNRILCAASB0FuRXZlbnQSEAgBEgxBbm90aGVyRXZlbnQSEQgCEg1BIHRoaXJkIGV2ZW50GMgBGucBCgxldmVudCBncm91cHMQChgFIKwCKAFQAWIQCgp0aGVfcmVwb3J0EB4YB4IBRQoPVGhlIEZpcnN0IEdyb3VwEgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYAoIBOQoOQSBzZWNvbmQgZ3JvdXASCAgBEgRUaGlzEgYIAhICSXMSCwgDEgdhbm90aGVyEggIBBIEVGVzdIIBNRIOCAASClRoaXNNZXRyaWMSCQgCEgVIYXNObxIICAQSBE5hbWUqDgoFSGFzTm8SBUFsaWFzGiAKDmxpbmVhciBidWNrZXRzEAoYBSCQA0IHEgUQjAEYBRoyChNleHBvbmVudGlhbCBidWNrZXRzEAoYBSD0A2IUCgZyZXBvcnQQKFIICgYQAxgCIAIadgoGbWV0cmljEAoYBSDYBIIBLwoFRmlyc3QSBQgBEgFBEgcIAhIDU2V0EgsIAxIHT2ZFdmVudBIJCAQSBUNvZGVzggEyCgZTZWNvbmQSCAgAEgRTb21lEggIBBIETW9yZRIJCAgSBUV2ZW50EgkIEBIFQ29kZXMafQoNc2Vjb25kIG1ldHJpYxAKGAUg2QSCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVz";
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.h b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.h
index 71d99ab..b770db4 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.h
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.h
@@ -56,75 +56,83 @@
const EventGroupsMetricDimensionTheFirstGroup EventGroupsMetricDimensionTheFirstGroup_AnotherEvent = EventGroupsMetricDimensionTheFirstGroup::AnotherEvent;
const EventGroupsMetricDimensionTheFirstGroup EventGroupsMetricDimensionTheFirstGroup_AThirdEvent = EventGroupsMetricDimensionTheFirstGroup::AThirdEvent;
-// Enum for event groups (Metric Dimension A second group)
-namespace __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension A second group)
+namespace __project_metric_dimension_a_second_group_internal_scope_do_not_use__ {
enum Enum {
This = 1,
Is = 2,
Another = 3,
Test = 4,
};
-} // __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__
-using EventGroupsMetricDimensionASecondGroup = __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_a_second_group_internal_scope_do_not_use__
+using ProjectMetricDimensionASecondGroup = __project_metric_dimension_a_second_group_internal_scope_do_not_use__::Enum;
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+using EventGroupsMetricDimensionASecondGroup = ProjectMetricDimensionASecondGroup;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_This = EventGroupsMetricDimensionASecondGroup::This;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Is = EventGroupsMetricDimensionASecondGroup::Is;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Another = EventGroupsMetricDimensionASecondGroup::Another;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Test = EventGroupsMetricDimensionASecondGroup::Test;
-// Enum for event groups (Metric Dimension 2)
-namespace __event_groups_metric_dimension_2_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension 2)
+namespace __project_metric_dimension_2_internal_scope_do_not_use__ {
enum Enum {
ThisMetric = 0,
HasNo = 2,
Name = 4,
Alias = HasNo,
};
-} // __event_groups_metric_dimension_2_internal_scope_do_not_use__
-using EventGroupsMetricDimension2 = __event_groups_metric_dimension_2_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_2_internal_scope_do_not_use__
+using ProjectMetricDimension2 = __project_metric_dimension_2_internal_scope_do_not_use__::Enum;
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+using EventGroupsMetricDimension2 = ProjectMetricDimension2;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_ThisMetric = EventGroupsMetricDimension2::ThisMetric;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_HasNo = EventGroupsMetricDimension2::HasNo;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_Name = EventGroupsMetricDimension2::Name;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_Alias = EventGroupsMetricDimension2::Alias;
-// Enum for metric (Metric Dimension First)
-namespace __metric_metric_dimension_first_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension First)
+namespace __project_metric_dimension_first_internal_scope_do_not_use__ {
enum Enum {
A = 1,
Set = 2,
OfEvent = 3,
Codes = 4,
};
-} // __metric_metric_dimension_first_internal_scope_do_not_use__
-using MetricMetricDimensionFirst = __metric_metric_dimension_first_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_first_internal_scope_do_not_use__
+using ProjectMetricDimensionFirst = __project_metric_dimension_first_internal_scope_do_not_use__::Enum;
+// Alias for metric (Metric Dimension First) which has the same event codes
+using MetricMetricDimensionFirst = ProjectMetricDimensionFirst;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_A = MetricMetricDimensionFirst::A;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_Set = MetricMetricDimensionFirst::Set;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_OfEvent = MetricMetricDimensionFirst::OfEvent;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_Codes = MetricMetricDimensionFirst::Codes;
// Alias for second metric (Metric Dimension First) which has the same event codes
-using SecondMetricMetricDimensionFirst = MetricMetricDimensionFirst;
+using SecondMetricMetricDimensionFirst = ProjectMetricDimensionFirst;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_A = SecondMetricMetricDimensionFirst::A;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_Set = SecondMetricMetricDimensionFirst::Set;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_OfEvent = SecondMetricMetricDimensionFirst::OfEvent;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_Codes = SecondMetricMetricDimensionFirst::Codes;
-// Enum for metric (Metric Dimension Second)
-namespace __metric_metric_dimension_second_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension Second)
+namespace __project_metric_dimension_second_internal_scope_do_not_use__ {
enum Enum {
Some = 0,
More = 4,
Event = 8,
Codes = 16,
};
-} // __metric_metric_dimension_second_internal_scope_do_not_use__
-using MetricMetricDimensionSecond = __metric_metric_dimension_second_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_second_internal_scope_do_not_use__
+using ProjectMetricDimensionSecond = __project_metric_dimension_second_internal_scope_do_not_use__::Enum;
+// Alias for metric (Metric Dimension Second) which has the same event codes
+using MetricMetricDimensionSecond = ProjectMetricDimensionSecond;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Some = MetricMetricDimensionSecond::Some;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_More = MetricMetricDimensionSecond::More;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Event = MetricMetricDimensionSecond::Event;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Codes = MetricMetricDimensionSecond::Codes;
// Alias for second metric (Metric Dimension Second) which has the same event codes
-using SecondMetricMetricDimensionSecond = MetricMetricDimensionSecond;
+using SecondMetricMetricDimensionSecond = ProjectMetricDimensionSecond;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_Some = SecondMetricMetricDimensionSecond::Some;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_More = SecondMetricMetricDimensionSecond::More;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_Event = SecondMetricMetricDimensionSecond::Event;
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.rs b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.rs
index 28ea75c..36bbdc4 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.rs
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_filtered.cb.rs
@@ -43,50 +43,58 @@
// Alias for event groups (Metric Dimension The First Group) which has the same event codes
pub use TheOtherMetricNameMetricDimension0 as EventGroupsMetricDimensionTheFirstGroup;
-// Enum for event groups (Metric Dimension A second group)
+// Enum for project (Metric Dimension A second group)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum EventGroupsMetricDimensionASecondGroup {
+pub enum ProjectMetricDimensionASecondGroup {
This = 1,
Is = 2,
Another = 3,
Test = 4,
}
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+pub use ProjectMetricDimensionASecondGroup as EventGroupsMetricDimensionASecondGroup;
-// Enum for event groups (Metric Dimension 2)
+// Enum for project (Metric Dimension 2)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum EventGroupsMetricDimension2 {
+pub enum ProjectMetricDimension2 {
ThisMetric = 0,
HasNo = 2,
Name = 4,
}
-impl EventGroupsMetricDimension2 {
+impl ProjectMetricDimension2 {
#[allow(non_upper_case_globals)]
- pub const Alias: EventGroupsMetricDimension2 = EventGroupsMetricDimension2::HasNo;
+ pub const Alias: ProjectMetricDimension2 = ProjectMetricDimension2::HasNo;
}
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+pub use ProjectMetricDimension2 as EventGroupsMetricDimension2;
-// Enum for metric (Metric Dimension First)
+// Enum for project (Metric Dimension First)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum MetricMetricDimensionFirst {
+pub enum ProjectMetricDimensionFirst {
A = 1,
Set = 2,
OfEvent = 3,
Codes = 4,
}
+// Alias for metric (Metric Dimension First) which has the same event codes
+pub use ProjectMetricDimensionFirst as MetricMetricDimensionFirst;
// Alias for second metric (Metric Dimension First) which has the same event codes
-pub use MetricMetricDimensionFirst as SecondMetricMetricDimensionFirst;
+pub use ProjectMetricDimensionFirst as SecondMetricMetricDimensionFirst;
-// Enum for metric (Metric Dimension Second)
+// Enum for project (Metric Dimension Second)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum MetricMetricDimensionSecond {
+pub enum ProjectMetricDimensionSecond {
Some = 0,
More = 4,
Event = 8,
Codes = 16,
}
+// Alias for metric (Metric Dimension Second) which has the same event codes
+pub use ProjectMetricDimensionSecond as MetricMetricDimensionSecond;
// Alias for second metric (Metric Dimension Second) which has the same event codes
-pub use MetricMetricDimensionSecond as SecondMetricMetricDimensionSecond;
+pub use ProjectMetricDimensionSecond as SecondMetricMetricDimensionSecond;
// The base64 encoding of the bytes of a serialized CobaltRegistry proto message.
pub const CONFIG: &str = "KoMGCghjdXN0b21lchAKGvQFCgdwcm9qZWN0EAUaQgoPdGhlX21ldHJpY19uYW1lEAoYBSBkYhEKCnRoZV9yZXBvcnQQChiPTmIWChB0aGVfb3RoZXJfcmVwb3J0EBQYAxpsChV0aGVfb3RoZXJfbWV0cmljX25hbWUQChgFIMgBKAFQAWIQCgp0aGVfcmVwb3J0EAoYB4IBNRILCAASB0FuRXZlbnQSEAgBEgxBbm90aGVyRXZlbnQSEQgCEg1BIHRoaXJkIGV2ZW50GMgBGucBCgxldmVudCBncm91cHMQChgFIKwCKAFQAWIQCgp0aGVfcmVwb3J0EB4YB4IBRQoPVGhlIEZpcnN0IEdyb3VwEgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYAoIBOQoOQSBzZWNvbmQgZ3JvdXASCAgBEgRUaGlzEgYIAhICSXMSCwgDEgdhbm90aGVyEggIBBIEVGVzdIIBNRIOCAASClRoaXNNZXRyaWMSCQgCEgVIYXNObxIICAQSBE5hbWUqDgoFSGFzTm8SBUFsaWFzGiAKDmxpbmVhciBidWNrZXRzEAoYBSCQA0IHEgUQjAEYBRoyChNleHBvbmVudGlhbCBidWNrZXRzEAoYBSD0A2IUCgZyZXBvcnQQKFIICgYQAxgCIAIadgoGbWV0cmljEAoYBSDYBIIBLwoFRmlyc3QSBQgBEgFBEgcIAhIDU2V0EgsIAxIHT2ZFdmVudBIJCAQSBUNvZGVzggEyCgZTZWNvbmQSCAgAEgRTb21lEggIBBIETW9yZRIJCAgSBUV2ZW50EgkIEBIFQ29kZXMafQoNc2Vjb25kIG1ldHJpYxAKGAUg2QSCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVz";
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.go b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.go
index 5050a6a..16bf9a1 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.go
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.go
@@ -57,50 +57,58 @@
// Alias for event groups (Metric Dimension The First Group) which has the same event codes
type EventGroupsMetricDimensionTheFirstGroup = TheOtherMetricNameMetricDimension0
-// Enum for event groups (Metric Dimension A second group)
-type EventGroupsMetricDimensionASecondGroup uint32
+// Enum for project (Metric Dimension A second group)
+type ProjectMetricDimensionASecondGroup uint32
const (
-_ EventGroupsMetricDimensionASecondGroup = iota
+_ ProjectMetricDimensionASecondGroup = iota
This = 1
Is = 2
Another = 3
Test = 4
)
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+type EventGroupsMetricDimensionASecondGroup = ProjectMetricDimensionASecondGroup
-// Enum for event groups (Metric Dimension 2)
-type EventGroupsMetricDimension2 uint32
+// Enum for project (Metric Dimension 2)
+type ProjectMetricDimension2 uint32
const (
-_ EventGroupsMetricDimension2 = iota
+_ ProjectMetricDimension2 = iota
ThisMetric = 0
HasNo = 2
Name = 4
)
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+type EventGroupsMetricDimension2 = ProjectMetricDimension2
-// Enum for metric (Metric Dimension First)
-type MetricMetricDimensionFirst uint32
+// Enum for project (Metric Dimension First)
+type ProjectMetricDimensionFirst uint32
const (
-_ MetricMetricDimensionFirst = iota
+_ ProjectMetricDimensionFirst = iota
A = 1
Set = 2
OfEvent = 3
Codes = 4
)
+// Alias for metric (Metric Dimension First) which has the same event codes
+type MetricMetricDimensionFirst = ProjectMetricDimensionFirst
// Alias for second metric (Metric Dimension First) which has the same event codes
-type SecondMetricMetricDimensionFirst = MetricMetricDimensionFirst
+type SecondMetricMetricDimensionFirst = ProjectMetricDimensionFirst
-// Enum for metric (Metric Dimension Second)
-type MetricMetricDimensionSecond uint32
+// Enum for project (Metric Dimension Second)
+type ProjectMetricDimensionSecond uint32
const (
-_ MetricMetricDimensionSecond = iota
+_ ProjectMetricDimensionSecond = iota
Some = 0
More = 4
Event = 8
Codes = 16
)
+// Alias for metric (Metric Dimension Second) which has the same event codes
+type MetricMetricDimensionSecond = ProjectMetricDimensionSecond
// Alias for second metric (Metric Dimension Second) which has the same event codes
-type SecondMetricMetricDimensionSecond = MetricMetricDimensionSecond
+type SecondMetricMetricDimensionSecond = ProjectMetricDimensionSecond
// The base64 encoding of the bytes of a serialized CobaltRegistry proto message.
const Config string = "KooHCghjdXN0b21lchAKGvsGCgdwcm9qZWN0EAUaVQoPdGhlX21ldHJpY19uYW1lEAoYBSBkYhEKCnRoZV9yZXBvcnQQChiPTmIWChB0aGVfb3RoZXJfcmVwb3J0EBQYA3IIY3VzdG9tZXJ6B3Byb2plY3QafwoVdGhlX290aGVyX21ldHJpY19uYW1lEAoYBSDIASgBUAFiEAoKdGhlX3JlcG9ydBAKGAdyCGN1c3RvbWVyegdwcm9qZWN0ggE1EgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYyAEa+gEKDGV2ZW50IGdyb3VwcxAKGAUgrAIoAVABYhAKCnRoZV9yZXBvcnQQHhgHcghjdXN0b21lcnoHcHJvamVjdIIBRQoPVGhlIEZpcnN0IEdyb3VwEgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYAoIBOQoOQSBzZWNvbmQgZ3JvdXASCAgBEgRUaGlzEgYIAhICSXMSCwgDEgdhbm90aGVyEggIBBIEVGVzdIIBNRIOCAASClRoaXNNZXRyaWMSCQgCEgVIYXNObxIICAQSBE5hbWUqDgoFSGFzTm8SBUFsaWFzGjMKDmxpbmVhciBidWNrZXRzEAoYBSCQA0IHEgUQjAEYBXIIY3VzdG9tZXJ6B3Byb2plY3QaRQoTZXhwb25lbnRpYWwgYnVja2V0cxAKGAUg9ANiFAoGcmVwb3J0EChSCAoGEAMYAiACcghjdXN0b21lcnoHcHJvamVjdBqJAQoGbWV0cmljEAoYBSDYBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVzGpABCg1zZWNvbmQgbWV0cmljEAoYBSDZBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVz";
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.h b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.h
index c1190b4..841475d 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.h
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.h
@@ -68,75 +68,83 @@
const EventGroupsMetricDimensionTheFirstGroup EventGroupsMetricDimensionTheFirstGroup_AnotherEvent = EventGroupsMetricDimensionTheFirstGroup::AnotherEvent;
const EventGroupsMetricDimensionTheFirstGroup EventGroupsMetricDimensionTheFirstGroup_AThirdEvent = EventGroupsMetricDimensionTheFirstGroup::AThirdEvent;
-// Enum for event groups (Metric Dimension A second group)
-namespace __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension A second group)
+namespace __project_metric_dimension_a_second_group_internal_scope_do_not_use__ {
enum Enum {
This = 1,
Is = 2,
Another = 3,
Test = 4,
};
-} // __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__
-using EventGroupsMetricDimensionASecondGroup = __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_a_second_group_internal_scope_do_not_use__
+using ProjectMetricDimensionASecondGroup = __project_metric_dimension_a_second_group_internal_scope_do_not_use__::Enum;
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+using EventGroupsMetricDimensionASecondGroup = ProjectMetricDimensionASecondGroup;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_This = EventGroupsMetricDimensionASecondGroup::This;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Is = EventGroupsMetricDimensionASecondGroup::Is;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Another = EventGroupsMetricDimensionASecondGroup::Another;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Test = EventGroupsMetricDimensionASecondGroup::Test;
-// Enum for event groups (Metric Dimension 2)
-namespace __event_groups_metric_dimension_2_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension 2)
+namespace __project_metric_dimension_2_internal_scope_do_not_use__ {
enum Enum {
ThisMetric = 0,
HasNo = 2,
Name = 4,
Alias = HasNo,
};
-} // __event_groups_metric_dimension_2_internal_scope_do_not_use__
-using EventGroupsMetricDimension2 = __event_groups_metric_dimension_2_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_2_internal_scope_do_not_use__
+using ProjectMetricDimension2 = __project_metric_dimension_2_internal_scope_do_not_use__::Enum;
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+using EventGroupsMetricDimension2 = ProjectMetricDimension2;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_ThisMetric = EventGroupsMetricDimension2::ThisMetric;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_HasNo = EventGroupsMetricDimension2::HasNo;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_Name = EventGroupsMetricDimension2::Name;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_Alias = EventGroupsMetricDimension2::Alias;
-// Enum for metric (Metric Dimension First)
-namespace __metric_metric_dimension_first_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension First)
+namespace __project_metric_dimension_first_internal_scope_do_not_use__ {
enum Enum {
A = 1,
Set = 2,
OfEvent = 3,
Codes = 4,
};
-} // __metric_metric_dimension_first_internal_scope_do_not_use__
-using MetricMetricDimensionFirst = __metric_metric_dimension_first_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_first_internal_scope_do_not_use__
+using ProjectMetricDimensionFirst = __project_metric_dimension_first_internal_scope_do_not_use__::Enum;
+// Alias for metric (Metric Dimension First) which has the same event codes
+using MetricMetricDimensionFirst = ProjectMetricDimensionFirst;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_A = MetricMetricDimensionFirst::A;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_Set = MetricMetricDimensionFirst::Set;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_OfEvent = MetricMetricDimensionFirst::OfEvent;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_Codes = MetricMetricDimensionFirst::Codes;
// Alias for second metric (Metric Dimension First) which has the same event codes
-using SecondMetricMetricDimensionFirst = MetricMetricDimensionFirst;
+using SecondMetricMetricDimensionFirst = ProjectMetricDimensionFirst;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_A = SecondMetricMetricDimensionFirst::A;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_Set = SecondMetricMetricDimensionFirst::Set;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_OfEvent = SecondMetricMetricDimensionFirst::OfEvent;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_Codes = SecondMetricMetricDimensionFirst::Codes;
-// Enum for metric (Metric Dimension Second)
-namespace __metric_metric_dimension_second_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension Second)
+namespace __project_metric_dimension_second_internal_scope_do_not_use__ {
enum Enum {
Some = 0,
More = 4,
Event = 8,
Codes = 16,
};
-} // __metric_metric_dimension_second_internal_scope_do_not_use__
-using MetricMetricDimensionSecond = __metric_metric_dimension_second_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_second_internal_scope_do_not_use__
+using ProjectMetricDimensionSecond = __project_metric_dimension_second_internal_scope_do_not_use__::Enum;
+// Alias for metric (Metric Dimension Second) which has the same event codes
+using MetricMetricDimensionSecond = ProjectMetricDimensionSecond;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Some = MetricMetricDimensionSecond::Some;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_More = MetricMetricDimensionSecond::More;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Event = MetricMetricDimensionSecond::Event;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Codes = MetricMetricDimensionSecond::Codes;
// Alias for second metric (Metric Dimension Second) which has the same event codes
-using SecondMetricMetricDimensionSecond = MetricMetricDimensionSecond;
+using SecondMetricMetricDimensionSecond = ProjectMetricDimensionSecond;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_Some = SecondMetricMetricDimensionSecond::Some;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_More = SecondMetricMetricDimensionSecond::More;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_Event = SecondMetricMetricDimensionSecond::Event;
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.rs b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.rs
index 23d85fc..7ce06ca 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.rs
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_for_testing.cb.rs
@@ -55,50 +55,58 @@
// Alias for event groups (Metric Dimension The First Group) which has the same event codes
pub use TheOtherMetricNameMetricDimension0 as EventGroupsMetricDimensionTheFirstGroup;
-// Enum for event groups (Metric Dimension A second group)
+// Enum for project (Metric Dimension A second group)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum EventGroupsMetricDimensionASecondGroup {
+pub enum ProjectMetricDimensionASecondGroup {
This = 1,
Is = 2,
Another = 3,
Test = 4,
}
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+pub use ProjectMetricDimensionASecondGroup as EventGroupsMetricDimensionASecondGroup;
-// Enum for event groups (Metric Dimension 2)
+// Enum for project (Metric Dimension 2)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum EventGroupsMetricDimension2 {
+pub enum ProjectMetricDimension2 {
ThisMetric = 0,
HasNo = 2,
Name = 4,
}
-impl EventGroupsMetricDimension2 {
+impl ProjectMetricDimension2 {
#[allow(non_upper_case_globals)]
- pub const Alias: EventGroupsMetricDimension2 = EventGroupsMetricDimension2::HasNo;
+ pub const Alias: ProjectMetricDimension2 = ProjectMetricDimension2::HasNo;
}
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+pub use ProjectMetricDimension2 as EventGroupsMetricDimension2;
-// Enum for metric (Metric Dimension First)
+// Enum for project (Metric Dimension First)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum MetricMetricDimensionFirst {
+pub enum ProjectMetricDimensionFirst {
A = 1,
Set = 2,
OfEvent = 3,
Codes = 4,
}
+// Alias for metric (Metric Dimension First) which has the same event codes
+pub use ProjectMetricDimensionFirst as MetricMetricDimensionFirst;
// Alias for second metric (Metric Dimension First) which has the same event codes
-pub use MetricMetricDimensionFirst as SecondMetricMetricDimensionFirst;
+pub use ProjectMetricDimensionFirst as SecondMetricMetricDimensionFirst;
-// Enum for metric (Metric Dimension Second)
+// Enum for project (Metric Dimension Second)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum MetricMetricDimensionSecond {
+pub enum ProjectMetricDimensionSecond {
Some = 0,
More = 4,
Event = 8,
Codes = 16,
}
+// Alias for metric (Metric Dimension Second) which has the same event codes
+pub use ProjectMetricDimensionSecond as MetricMetricDimensionSecond;
// Alias for second metric (Metric Dimension Second) which has the same event codes
-pub use MetricMetricDimensionSecond as SecondMetricMetricDimensionSecond;
+pub use ProjectMetricDimensionSecond as SecondMetricMetricDimensionSecond;
// The base64 encoding of the bytes of a serialized CobaltRegistry proto message.
pub const CONFIG: &str = "KooHCghjdXN0b21lchAKGvsGCgdwcm9qZWN0EAUaVQoPdGhlX21ldHJpY19uYW1lEAoYBSBkYhEKCnRoZV9yZXBvcnQQChiPTmIWChB0aGVfb3RoZXJfcmVwb3J0EBQYA3IIY3VzdG9tZXJ6B3Byb2plY3QafwoVdGhlX290aGVyX21ldHJpY19uYW1lEAoYBSDIASgBUAFiEAoKdGhlX3JlcG9ydBAKGAdyCGN1c3RvbWVyegdwcm9qZWN0ggE1EgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYyAEa+gEKDGV2ZW50IGdyb3VwcxAKGAUgrAIoAVABYhAKCnRoZV9yZXBvcnQQHhgHcghjdXN0b21lcnoHcHJvamVjdIIBRQoPVGhlIEZpcnN0IEdyb3VwEgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYAoIBOQoOQSBzZWNvbmQgZ3JvdXASCAgBEgRUaGlzEgYIAhICSXMSCwgDEgdhbm90aGVyEggIBBIEVGVzdIIBNRIOCAASClRoaXNNZXRyaWMSCQgCEgVIYXNObxIICAQSBE5hbWUqDgoFSGFzTm8SBUFsaWFzGjMKDmxpbmVhciBidWNrZXRzEAoYBSCQA0IHEgUQjAEYBXIIY3VzdG9tZXJ6B3Byb2plY3QaRQoTZXhwb25lbnRpYWwgYnVja2V0cxAKGAUg9ANiFAoGcmVwb3J0EChSCAoGEAMYAiACcghjdXN0b21lcnoHcHJvamVjdBqJAQoGbWV0cmljEAoYBSDYBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVzGpABCg1zZWNvbmQgbWV0cmljEAoYBSDZBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVz";
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_with_ns.cb.h b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_with_ns.cb.h
index 1406e4c..e9076a5 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_with_ns.cb.h
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_with_ns.cb.h
@@ -57,75 +57,83 @@
const EventGroupsMetricDimensionTheFirstGroup EventGroupsMetricDimensionTheFirstGroup_AnotherEvent = EventGroupsMetricDimensionTheFirstGroup::AnotherEvent;
const EventGroupsMetricDimensionTheFirstGroup EventGroupsMetricDimensionTheFirstGroup_AThirdEvent = EventGroupsMetricDimensionTheFirstGroup::AThirdEvent;
-// Enum for event groups (Metric Dimension A second group)
-namespace __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension A second group)
+namespace __project_metric_dimension_a_second_group_internal_scope_do_not_use__ {
enum Enum {
This = 1,
Is = 2,
Another = 3,
Test = 4,
};
-} // __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__
-using EventGroupsMetricDimensionASecondGroup = __event_groups_metric_dimension_a_second_group_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_a_second_group_internal_scope_do_not_use__
+using ProjectMetricDimensionASecondGroup = __project_metric_dimension_a_second_group_internal_scope_do_not_use__::Enum;
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+using EventGroupsMetricDimensionASecondGroup = ProjectMetricDimensionASecondGroup;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_This = EventGroupsMetricDimensionASecondGroup::This;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Is = EventGroupsMetricDimensionASecondGroup::Is;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Another = EventGroupsMetricDimensionASecondGroup::Another;
const EventGroupsMetricDimensionASecondGroup EventGroupsMetricDimensionASecondGroup_Test = EventGroupsMetricDimensionASecondGroup::Test;
-// Enum for event groups (Metric Dimension 2)
-namespace __event_groups_metric_dimension_2_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension 2)
+namespace __project_metric_dimension_2_internal_scope_do_not_use__ {
enum Enum {
ThisMetric = 0,
HasNo = 2,
Name = 4,
Alias = HasNo,
};
-} // __event_groups_metric_dimension_2_internal_scope_do_not_use__
-using EventGroupsMetricDimension2 = __event_groups_metric_dimension_2_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_2_internal_scope_do_not_use__
+using ProjectMetricDimension2 = __project_metric_dimension_2_internal_scope_do_not_use__::Enum;
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+using EventGroupsMetricDimension2 = ProjectMetricDimension2;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_ThisMetric = EventGroupsMetricDimension2::ThisMetric;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_HasNo = EventGroupsMetricDimension2::HasNo;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_Name = EventGroupsMetricDimension2::Name;
const EventGroupsMetricDimension2 EventGroupsMetricDimension2_Alias = EventGroupsMetricDimension2::Alias;
-// Enum for metric (Metric Dimension First)
-namespace __metric_metric_dimension_first_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension First)
+namespace __project_metric_dimension_first_internal_scope_do_not_use__ {
enum Enum {
A = 1,
Set = 2,
OfEvent = 3,
Codes = 4,
};
-} // __metric_metric_dimension_first_internal_scope_do_not_use__
-using MetricMetricDimensionFirst = __metric_metric_dimension_first_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_first_internal_scope_do_not_use__
+using ProjectMetricDimensionFirst = __project_metric_dimension_first_internal_scope_do_not_use__::Enum;
+// Alias for metric (Metric Dimension First) which has the same event codes
+using MetricMetricDimensionFirst = ProjectMetricDimensionFirst;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_A = MetricMetricDimensionFirst::A;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_Set = MetricMetricDimensionFirst::Set;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_OfEvent = MetricMetricDimensionFirst::OfEvent;
const MetricMetricDimensionFirst MetricMetricDimensionFirst_Codes = MetricMetricDimensionFirst::Codes;
// Alias for second metric (Metric Dimension First) which has the same event codes
-using SecondMetricMetricDimensionFirst = MetricMetricDimensionFirst;
+using SecondMetricMetricDimensionFirst = ProjectMetricDimensionFirst;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_A = SecondMetricMetricDimensionFirst::A;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_Set = SecondMetricMetricDimensionFirst::Set;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_OfEvent = SecondMetricMetricDimensionFirst::OfEvent;
const SecondMetricMetricDimensionFirst SecondMetricMetricDimensionFirst_Codes = SecondMetricMetricDimensionFirst::Codes;
-// Enum for metric (Metric Dimension Second)
-namespace __metric_metric_dimension_second_internal_scope_do_not_use__ {
+// Enum for project (Metric Dimension Second)
+namespace __project_metric_dimension_second_internal_scope_do_not_use__ {
enum Enum {
Some = 0,
More = 4,
Event = 8,
Codes = 16,
};
-} // __metric_metric_dimension_second_internal_scope_do_not_use__
-using MetricMetricDimensionSecond = __metric_metric_dimension_second_internal_scope_do_not_use__::Enum;
+} // __project_metric_dimension_second_internal_scope_do_not_use__
+using ProjectMetricDimensionSecond = __project_metric_dimension_second_internal_scope_do_not_use__::Enum;
+// Alias for metric (Metric Dimension Second) which has the same event codes
+using MetricMetricDimensionSecond = ProjectMetricDimensionSecond;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Some = MetricMetricDimensionSecond::Some;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_More = MetricMetricDimensionSecond::More;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Event = MetricMetricDimensionSecond::Event;
const MetricMetricDimensionSecond MetricMetricDimensionSecond_Codes = MetricMetricDimensionSecond::Codes;
// Alias for second metric (Metric Dimension Second) which has the same event codes
-using SecondMetricMetricDimensionSecond = MetricMetricDimensionSecond;
+using SecondMetricMetricDimensionSecond = ProjectMetricDimensionSecond;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_Some = SecondMetricMetricDimensionSecond::Some;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_More = SecondMetricMetricDimensionSecond::More;
const SecondMetricMetricDimensionSecond SecondMetricMetricDimensionSecond_Event = SecondMetricMetricDimensionSecond::Event;
diff --git a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_with_ns.cb.rs b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_with_ns.cb.rs
index c105d6b..fe35271 100644
--- a/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_with_ns.cb.rs
+++ b/src/bin/config_parser/src/source_generator/source_generator_test_files/golden_with_ns.cb.rs
@@ -44,50 +44,58 @@
// Alias for event groups (Metric Dimension The First Group) which has the same event codes
pub use TheOtherMetricNameMetricDimension0 as EventGroupsMetricDimensionTheFirstGroup;
-// Enum for event groups (Metric Dimension A second group)
+// Enum for project (Metric Dimension A second group)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum EventGroupsMetricDimensionASecondGroup {
+pub enum ProjectMetricDimensionASecondGroup {
This = 1,
Is = 2,
Another = 3,
Test = 4,
}
+// Alias for event groups (Metric Dimension A second group) which has the same event codes
+pub use ProjectMetricDimensionASecondGroup as EventGroupsMetricDimensionASecondGroup;
-// Enum for event groups (Metric Dimension 2)
+// Enum for project (Metric Dimension 2)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum EventGroupsMetricDimension2 {
+pub enum ProjectMetricDimension2 {
ThisMetric = 0,
HasNo = 2,
Name = 4,
}
-impl EventGroupsMetricDimension2 {
+impl ProjectMetricDimension2 {
#[allow(non_upper_case_globals)]
- pub const Alias: EventGroupsMetricDimension2 = EventGroupsMetricDimension2::HasNo;
+ pub const Alias: ProjectMetricDimension2 = ProjectMetricDimension2::HasNo;
}
+// Alias for event groups (Metric Dimension 2) which has the same event codes
+pub use ProjectMetricDimension2 as EventGroupsMetricDimension2;
-// Enum for metric (Metric Dimension First)
+// Enum for project (Metric Dimension First)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum MetricMetricDimensionFirst {
+pub enum ProjectMetricDimensionFirst {
A = 1,
Set = 2,
OfEvent = 3,
Codes = 4,
}
+// Alias for metric (Metric Dimension First) which has the same event codes
+pub use ProjectMetricDimensionFirst as MetricMetricDimensionFirst;
// Alias for second metric (Metric Dimension First) which has the same event codes
-pub use MetricMetricDimensionFirst as SecondMetricMetricDimensionFirst;
+pub use ProjectMetricDimensionFirst as SecondMetricMetricDimensionFirst;
-// Enum for metric (Metric Dimension Second)
+// Enum for project (Metric Dimension Second)
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
-pub enum MetricMetricDimensionSecond {
+pub enum ProjectMetricDimensionSecond {
Some = 0,
More = 4,
Event = 8,
Codes = 16,
}
+// Alias for metric (Metric Dimension Second) which has the same event codes
+pub use ProjectMetricDimensionSecond as MetricMetricDimensionSecond;
// Alias for second metric (Metric Dimension Second) which has the same event codes
-pub use MetricMetricDimensionSecond as SecondMetricMetricDimensionSecond;
+pub use ProjectMetricDimensionSecond as SecondMetricMetricDimensionSecond;
// The base64 encoding of the bytes of a serialized CobaltRegistry proto message.
pub const CONFIG: &str = "KooHCghjdXN0b21lchAKGvsGCgdwcm9qZWN0EAUaVQoPdGhlX21ldHJpY19uYW1lEAoYBSBkYhEKCnRoZV9yZXBvcnQQChiPTmIWChB0aGVfb3RoZXJfcmVwb3J0EBQYA3IIY3VzdG9tZXJ6B3Byb2plY3QafwoVdGhlX290aGVyX21ldHJpY19uYW1lEAoYBSDIASgBUAFiEAoKdGhlX3JlcG9ydBAKGAdyCGN1c3RvbWVyegdwcm9qZWN0ggE1EgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYyAEa+gEKDGV2ZW50IGdyb3VwcxAKGAUgrAIoAVABYhAKCnRoZV9yZXBvcnQQHhgHcghjdXN0b21lcnoHcHJvamVjdIIBRQoPVGhlIEZpcnN0IEdyb3VwEgsIABIHQW5FdmVudBIQCAESDEFub3RoZXJFdmVudBIRCAISDUEgdGhpcmQgZXZlbnQYAoIBOQoOQSBzZWNvbmQgZ3JvdXASCAgBEgRUaGlzEgYIAhICSXMSCwgDEgdhbm90aGVyEggIBBIEVGVzdIIBNRIOCAASClRoaXNNZXRyaWMSCQgCEgVIYXNObxIICAQSBE5hbWUqDgoFSGFzTm8SBUFsaWFzGjMKDmxpbmVhciBidWNrZXRzEAoYBSCQA0IHEgUQjAEYBXIIY3VzdG9tZXJ6B3Byb2plY3QaRQoTZXhwb25lbnRpYWwgYnVja2V0cxAKGAUg9ANiFAoGcmVwb3J0EChSCAoGEAMYAiACcghjdXN0b21lcnoHcHJvamVjdBqJAQoGbWV0cmljEAoYBSDYBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVzGpABCg1zZWNvbmQgbWV0cmljEAoYBSDZBHIIY3VzdG9tZXJ6B3Byb2plY3SCAS8KBUZpcnN0EgUIARIBQRIHCAISA1NldBILCAMSB09mRXZlbnQSCQgEEgVDb2Rlc4IBMgoGU2Vjb25kEggIABIEU29tZRIICAQSBE1vcmUSCQgIEgVFdmVudBIJCBASBUNvZGVz";
diff --git a/src/bin/config_parser/src/source_generator/source_outputter.go b/src/bin/config_parser/src/source_generator/source_outputter.go
index 4a62693..2a850cc 100644
--- a/src/bin/config_parser/src/source_generator/source_outputter.go
+++ b/src/bin/config_parser/src/source_generator/source_outputter.go
@@ -129,7 +129,7 @@
// export the enum values. For a metric called "foo_bar" with a event named
// "baz", it would generate the constant:
// "FooBarEventCode_Baz = FooBarEventCode::Baz"
-func (so *sourceOutputter) writeEnum(entry EnumEntry) {
+func (so *sourceOutputter) writeEnum(entry EnumEntry, projectName string, allEnums []EnumEntry) {
if len(entry.events) == 0 {
return
}
@@ -144,23 +144,59 @@
}
sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] })
+ hasGlobalName := so.language.supportsTypeAlias()
+ firstSuffix := entry.names[0].suffix
+
+ if so.language.supportsTypeAlias() {
+ // Verify that all suffixes are the same for this entry
+ for _, name := range entry.names {
+ if name.suffix != firstSuffix {
+ hasGlobalName = false
+ }
+ }
+
+ // Verify that no other entry has this suffix
+ for _, enum := range allEnums {
+ if !reflect.DeepEqual(enum, entry) {
+ for _, name := range enum.names {
+ if name.suffix == firstSuffix {
+ hasGlobalName = false
+ }
+ }
+ }
+ }
+ }
+
+ projectNamePrefix := projectName
+
for i, name := range entry.names {
if i == 0 || !so.language.supportsTypeAlias() {
- so.writeCommentFmt("Enum for %s (%s)", name.prefix, name.suffix)
- so.language.writeEnumBegin(so, name.prefix, name.suffix)
+ prefix := name.prefix
+ if hasGlobalName {
+ prefix = projectNamePrefix
+ }
+ so.writeCommentFmt("Enum for %s (%s)", prefix, name.suffix)
+ so.language.writeEnumBegin(so, prefix, name.suffix)
for _, id := range keys {
name := entry.events[id]
so.language.writeEnumEntry(so, id, name)
}
if len(entry.aliases) > 0 {
- so.language.writeEnumAliasesBegin(so, name.prefix, name.suffix)
+ so.language.writeEnumAliasesBegin(so, prefix, name.suffix)
for from, to := range entry.aliases {
- so.language.writeEnumAlias(so, []string{name.prefix, name.suffix}, []string{from}, []string{to})
+ so.language.writeEnumAlias(so, []string{prefix, name.suffix}, []string{from}, []string{to})
}
}
- so.language.writeEnumEnd(so, name.prefix, name.suffix)
+ so.language.writeEnumEnd(so, prefix, name.suffix)
+ if hasGlobalName {
+ so.writeCommentFmt("Alias for %s (%s) which has the same event codes", name.prefix, name.suffix)
+ so.language.writeTypeAlias(so, []string{prefix, name.suffix}, []string{name.prefix, name.suffix})
+ }
} else {
first := entry.names[0]
+ if hasGlobalName {
+ first = EnumName{prefix: projectNamePrefix, suffix: first.suffix}
+ }
so.writeCommentFmt("Alias for %s (%s) which has the same event codes", name.prefix, name.suffix)
so.language.writeTypeAlias(so, []string{first.prefix, first.suffix}, []string{name.prefix, name.suffix})
}
@@ -269,7 +305,7 @@
}
for _, e := range enums {
- so.writeEnum(e)
+ so.writeEnum(e, c.Customers[0].Projects[0].ProjectName, enums)
}
return nil