Parent inventory: #8108
Objective
Consolidate duplicated native diagnostic construction, normalization-adjacent helpers, and diagnostic coordinate parsing.
Shared Module Specification
Migration Checklist
Complete Replacement Inventory
Performance And Reliability Requirements
Fast Tests
End-To-End Completion Criteria
Parent inventory: #8108
Objective
Consolidate duplicated native diagnostic construction, normalization-adjacent helpers, and diagnostic coordinate parsing.
Shared Module Specification
native/objc3c/src/diag/objc3_diag_utils.*or add a dependency-neutral diagnostic helper module if that avoids cycles.MakeDiag-equivalent formatter preserving exactline:column: message [CODE]semantics.Migration Checklist
MakeDiagimplementations where dependency direction allows.FlattenStageDiagnosticsonly if the shared diagnostic utility is the correct owner.Complete Replacement Inventory
MakeDiag- 6 definition(s)/local occurrence(s) to replace or explicitly document as intentionally local if semantics differ.native/objc3c/src/lex/objc3_lexer.cpp:54native/objc3c/src/parse/objc3_parse_support.cpp:109native/objc3c/src/pipeline/objc3_frontend_artifacts.cpp:11077native/objc3c/src/sema/objc3_pure_contract.cpp:10native/objc3c/src/sema/objc3_sema_pass_manager.cpp:36native/objc3c/src/sema/objc3_semantic_passes.cpp:16FlattenStageDiagnostics- 2 definition(s)/local occurrence(s) to replace or explicitly document as intentionally local if semantics differ.native/objc3c/src/io/objc3_diagnostics_artifacts.cpp:56native/objc3c/src/pipeline/objc3_frontend_artifacts.cpp:11083StartsWith- 2 definition(s)/local occurrence(s) to replace or explicitly document as intentionally local if semantics differ.native/objc3c/src/parse/objc3_diagnostic_grammar_hooks_core_feature.cpp:9native/objc3c/src/parse/objc3_diagnostic_source_precision_scaffold.cpp:8TryParseUnsignedSegment- 2 definition(s)/local occurrence(s) to replace or explicitly document as intentionally local if semantics differ.native/objc3c/src/parse/objc3_diagnostic_grammar_hooks_core_feature.cpp:14native/objc3c/src/parse/objc3_diagnostic_source_precision_scaffold.cpp:13TryParseDiagnosticCoordinateAndCode- 2 definition(s)/local occurrence(s) to replace or explicitly document as intentionally local if semantics differ.native/objc3c/src/parse/objc3_diagnostic_grammar_hooks_core_feature.cpp:34native/objc3c/src/parse/objc3_diagnostic_source_precision_scaffold.cpp:34Performance And Reliability Requirements
tmp/as durable source-of-truth; generated temporary files are allowed only as transient command inputs.Fast Tests
MakeDiagchanges.git diff --check.End-To-End Completion Criteria