From f2013695f31b0e63c9a5d7324f5a55fde5d6f080 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Fri, 11 Dec 2020 22:26:07 -0700 Subject: [PATCH] Solve AOC Day 10 part 2 --- src/kiss/FieldForms.hx | 3 +++ src/kiss/Helpers.hx | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/src/kiss/FieldForms.hx b/src/kiss/FieldForms.hx index 21eba5f..45213a0 100644 --- a/src/kiss/FieldForms.hx +++ b/src/kiss/FieldForms.hx @@ -41,6 +41,9 @@ class FieldForms { case MetaExp("mut", nameExp): access.remove(AFinal); fieldAccess(formName, fieldName, nameExp, access); + case MetaExp("dynamic", nameExp): + access.push(ADynamic); + fieldAccess(formName, fieldName, nameExp, access); default: if (formName == "defvar" || formName == "defun") { access.push(AStatic); diff --git a/src/kiss/Helpers.hx b/src/kiss/Helpers.hx index 5cb497c..d2f2a35 100644 --- a/src/kiss/Helpers.hx +++ b/src/kiss/Helpers.hx @@ -59,6 +59,13 @@ class Helpers { // TODO generic type parameter declarations public static function makeFunction(?name:ReaderExp, argList:ReaderExp, body:List, k:KissState):Function { + if (name != null) { + switch (name.def) { + case MetaExp(_, name): + return makeFunction(name, argList, body, k); + default: + } + } var funcName = if (name != null) { switch (name.def) { case Symbol(name) | TypedExp(_, {pos: _, def: Symbol(name)}):