diff options
author | Christian Poveda <christian.poveda@ferrous-systems.com> | 2022-09-27 13:43:33 -0500 |
---|---|---|
committer | Christian Poveda <christian.poveda@ferrous-systems.com> | 2022-09-27 13:43:33 -0500 |
commit | ddb319ce3579b687cdd06d934ac40c253e96221f (patch) | |
tree | e3a77f2d59ded3492055afb10ad6699fd25e3667 /src/codegen/postprocessing/sort_semantically.rs | |
parent | 06a6479e9e6fe9b556a54b3d7f28c23b1268b048 (diff) |
split `processing` module
Diffstat (limited to 'src/codegen/postprocessing/sort_semantically.rs')
-rw-r--r-- | src/codegen/postprocessing/sort_semantically.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/codegen/postprocessing/sort_semantically.rs b/src/codegen/postprocessing/sort_semantically.rs new file mode 100644 index 00000000..96596cb0 --- /dev/null +++ b/src/codegen/postprocessing/sort_semantically.rs @@ -0,0 +1,24 @@ +use syn::Item; + +pub(super) fn sort_semantically(items: &mut [Item]) { + items.sort_by_key(|item| match item { + Item::Type(_) => 0, + Item::Struct(_) => 1, + Item::Const(_) => 2, + Item::Fn(_) => 3, + Item::Enum(_) => 4, + Item::Union(_) => 5, + Item::Static(_) => 6, + Item::Trait(_) => 7, + Item::TraitAlias(_) => 8, + Item::Impl(_) => 9, + Item::Mod(_) => 10, + Item::Use(_) => 11, + Item::Verbatim(_) => 12, + Item::ExternCrate(_) => 13, + Item::ForeignMod(_) => 14, + Item::Macro(_) => 15, + Item::Macro2(_) => 16, + _ => 18, + }); +} |