constants and static #102
This commit is contained in:
@@ -167,6 +167,26 @@ impl GenMist for TopLevelKind {
|
||||
fn gen_mist(&self, ctx: &mut Context, cg: &mut MistCodegen) {
|
||||
match self {
|
||||
Self::ModAttribute => {}
|
||||
Self::StaticDecl(decl) => {
|
||||
cg.add("static ");
|
||||
decl.decl.gen_mist(ctx, cg);
|
||||
|
||||
if let Some(init) = &decl.init {
|
||||
cg.add(" = ");
|
||||
init.gen_mist(ctx, cg);
|
||||
}
|
||||
cg.add(";");
|
||||
}
|
||||
Self::ConstDecl(decl) => {
|
||||
cg.add("const ");
|
||||
decl.decl.gen_mist(ctx, cg);
|
||||
|
||||
if let Some(init) = &decl.init {
|
||||
cg.add(" = ");
|
||||
init.gen_mist(ctx, cg);
|
||||
}
|
||||
cg.add(";");
|
||||
}
|
||||
Self::Import(vis, path) => {
|
||||
cg.addln(&format!("{}use {};", vis.get_mist(), path.get_mist()))
|
||||
}
|
||||
|
||||
@@ -191,6 +191,28 @@ impl GenRust for TopLevelKind {
|
||||
fn gen_rust(&self, ctx: &mut Context, cg: &mut RustCodegen) {
|
||||
match self {
|
||||
Self::ModAttribute => {}
|
||||
Self::ConstDecl(decl) => {
|
||||
cg.add("const ");
|
||||
decl.decl.gen_rust(ctx, cg);
|
||||
|
||||
if let Some(init) = &decl.init {
|
||||
cg.add(" = ");
|
||||
init.gen_rust(ctx, cg);
|
||||
}
|
||||
|
||||
cg.add(";");
|
||||
}
|
||||
Self::StaticDecl(decl) => {
|
||||
cg.add("static ");
|
||||
decl.decl.gen_rust(ctx, cg);
|
||||
|
||||
if let Some(init) = &decl.init {
|
||||
cg.add(" = ");
|
||||
init.gen_rust(ctx, cg);
|
||||
}
|
||||
|
||||
cg.add(";");
|
||||
}
|
||||
Self::Import(vis, path) => {
|
||||
cg.addln(&format!("{}use {};", vis.get_rust(), path.get_rust()))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user