From a733bd0dfaee91a3dee88ed8ae53f6d708e5f2e0 Mon Sep 17 00:00:00 2001 From: Nathan Braswell Date: Wed, 24 Feb 2016 03:51:50 -0500 Subject: [PATCH] Fix bug where templated methods (and maybe objects) were always having their bodies instantiated --- stdlib/ast_transformation.krak | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stdlib/ast_transformation.krak b/stdlib/ast_transformation.krak index 93b591c..104372a 100644 --- a/stdlib/ast_transformation.krak +++ b/stdlib/ast_transformation.krak @@ -191,9 +191,12 @@ obj ast_transformation (Object) { ast_node::type_def(backing) { // make sure not a template? or the method not a template? // also same body problem as below - node->type_def.methods.for_each(fun(method: *ast_node) { - method->function.body_statement = transform_statement(get_node("statement", ast_to_syntax[method]), method, map()) - }) + if (!is_template(node)) { + node->type_def.methods.for_each(fun(method: *ast_node) { + if (!is_template(method)) + method->function.body_statement = transform_statement(get_node("statement", ast_to_syntax[method]), method, map()) + }) + } } ast_node::function(backing) { // make sure not a template