func (v *Codegen) genDecl(n parser.Decl) { switch n := n.(type) { case *parser.FunctionDecl: v.genFunctionDecl(n) case *parser.VariableDecl: v.genVariableDecl(n, true) case *parser.TypeDecl: // TODO nothing to gen? default: v.err("unimplemented decl found: `%s`", n.NodeName()) } }
func (v *Codegen) genDecl(n parser.Decl) { switch n.(type) { case *parser.FunctionDecl: v.genFunctionDecl(n.(*parser.FunctionDecl)) case *parser.UseDecl: v.genUseDecl(n.(*parser.UseDecl)) case *parser.StructDecl: //return v.genStructDecl(n.(*parser.StructDecl)) not used case *parser.TraitDecl: // nothing to gen case *parser.ImplDecl: v.genImplDecl(n.(*parser.ImplDecl)) case *parser.EnumDecl: // todo case *parser.VariableDecl: v.genVariableDecl(n.(*parser.VariableDecl), true) default: v.err("unimplimented decl found: `%s`", n.NodeName()) } }