diff --git a/src/java/org/jastadd/Configuration.java b/src/java/org/jastadd/Configuration.java index b891cee3dfacc93f5d4bd22a08383e91a9746147..1328c61a30a6e76cbf5ed059afce8472cf680589 100644 --- a/src/java/org/jastadd/Configuration.java +++ b/src/java/org/jastadd/Configuration.java @@ -317,7 +317,8 @@ public class Configuration { .addAcceptedValue("full", "flushing of all computed values (combines attr, coll, and rewrite)") .addDefaultValue("attr", "adds flushing of attributes (syn,inh)") .addDefaultValue("coll", "adds flushing of collection attributes") - .addAcceptedValue("rewrite", "adds flushing of rewrites"); + .addAcceptedValue("rewrite", "adds flushing of rewrites") + .addAcceptedValue("api", "flushing is disabled, but generate methods"); ValueOption packageNameOption = new ValueOption("package", "optional package name for generated classes"); @@ -1155,10 +1156,10 @@ public class Configuration { } /** - * @return {@code true} if --flush=none + * @return {@code true} if not --flush=api */ public boolean flushEnabled() { - return !flushOption.hasValue("none"); + return !flushOption.hasValue("api"); } /** diff --git a/src/template/flush/Flush.tt b/src/template/flush/Flush.tt index 115dde284f57f4c45610cf76daed2fca6faafb01..4520b2ff604814164c2c9f1779afc4299e643ea2 100644 --- a/src/template/flush/Flush.tt +++ b/src/template/flush/Flush.tt @@ -26,10 +26,10 @@ # POSSIBILITY OF SUCH DAMAGE. ASTNode.flushTreeCacheMethod [[ -$if(FlushEnabled) $if(#isASTNodeDecl) /** @apilevel low-level */ public void $ASTNode.flushTreeCache() { +$if(FlushEnabled) flushCache(); if (children != null) { for (int i = 0; i < children.length; i++) { @@ -42,61 +42,65 @@ $if(#isASTNodeDecl) } } } - } $endif + } $endif ]] ASTDecl.flushCacheMethod [[ -$if(FlushEnabled) $if(#isASTNodeDecl) /** @apilevel low-level */ public void #name.flushCache() { +$if(FlushEnabled) flushAttrAndCollectionCache(); - } $endif + } $endif ]] ASTDecl.flushAttrAndCollectionCacheMethod [[ -$if(FlushEnabled) $if(#isASTNodeDecl) /** @apilevel internal */ public void #name.flushAttrAndCollectionCache() { +$if(FlushEnabled) $if(FlushAttr) flushAttrCache(); $endif $if(FlushColl) flushCollectionCache(); $endif - } $endif + } $endif ]] ASTDecl.flushAttrCacheMethod [[ -$if(FlushAttr) /** @apilevel internal */ public void #name.flushAttrCache() { +$if(FlushEnabled) + $if(FlushAttr) $if(!#isASTNodeDecl) super.flushAttrCache(); $endif $FlushAttrCacheBody - } + $endif $endif + } ]] ASTDecl.flushCollectionCacheMethod [[ -$if(FlushColl) /** @apilevel internal */ public void #name.flushCollectionCache() { +$if(FlushEnabled) + $if(FlushColl) $if(!#isASTNodeDecl) super.flushCollectionCache(); $endif #flushCollectionCacheCode - } + $endif $endif + } ]] # TODO: Figure out if this can be removed