From 0efc8c0dad4d99cf92250de64b1b8c9b637cee48 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 4 Sep 2021 13:35:23 -0600 Subject: [PATCH] &public and &private --- kiss/src/kiss/FieldForms.hx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/kiss/src/kiss/FieldForms.hx b/kiss/src/kiss/FieldForms.hx index 3b9a9ebb..061e8c22 100644 --- a/kiss/src/kiss/FieldForms.hx +++ b/kiss/src/kiss/FieldForms.hx @@ -68,11 +68,21 @@ class FieldForms { case MetaExp("final", nameExp): access.push(AFinal); fieldAccess(formName, fieldName, nameExp, access); + case MetaExp("public", nameExp): + access.push(APublic); + fieldAccess(formName, fieldName, nameExp, access); + case MetaExp("private", nameExp): + access.push(APrivate); + fieldAccess(formName, fieldName, nameExp, access); default: if (["defvar", "defun", "var", "function"].indexOf(formName) != -1) { access.push(AStatic); } - access.push(if (fieldName.startsWith("_")) APrivate else APublic); + // If &public or &private is not used, a shortcut to make a private field is + // to start its name with _ + if (access.indexOf(APrivate) == -1 && access.indexOf(APublic) == -1) { + access.push(if (fieldName.startsWith("_")) APrivate else APublic); + } access; }; }