Move ModuleNameEnum into HeaderType

This commit is contained in:
Richard Feldman 2022-12-06 16:41:31 -05:00
parent e2137cc310
commit 97332e4af1
No known key found for this signature in database
GPG key ID: F1F21AA5B1D9E43B
3 changed files with 48 additions and 68 deletions

View file

@ -12,17 +12,21 @@ use std::fmt::Debug;
#[derive(Debug)]
pub enum HeaderType<'a> {
App {
output_name: StrLiteral<'a>,
to_platform: To<'a>,
},
Hosted {
name: ModuleName<'a>,
generates: UppercaseIdent<'a>,
generates_with: &'a [Loc<ExposedName<'a>>],
},
/// Only created during canonicalization, never actually parsed from source
Builtin {
name: ModuleName<'a>,
generates_with: &'a [Symbol],
},
Platform {
name: PackageName<'a>,
opt_app_module_id: Option<ModuleId>,
provides: &'a [Loc<ExposedName<'a>>],
requires: &'a [Loc<TypedIdent<'a>>],
@ -35,7 +39,9 @@ pub enum HeaderType<'a> {
#[allow(dead_code)]
platform_main_type: TypedIdent<'a>,
},
Interface,
Interface {
name: ModuleName<'a>,
},
}
#[derive(Copy, Clone, PartialEq, Eq, Debug, Hash)]
@ -99,15 +105,6 @@ impl<'a> ModuleName<'a> {
}
}
#[derive(Debug)]
pub enum ModuleNameEnum<'a> {
/// A filename
App(StrLiteral<'a>),
Interface(ModuleName<'a>),
Hosted(ModuleName<'a>),
Platform(PackageName<'a>),
}
#[derive(Copy, Clone, PartialEq, Eq, Debug, Hash)]
pub struct ExposedName<'a>(&'a str);