changeset 18:d53cd4995bd4

Remember the return code of the last parsed instruction.
author Mikhail Kryshen <mikhail@kryshen.net>
date Thu, 26 Mar 2009 17:18:31 +0300
parents 5ebf123f3486
children 7b11f5174e29
files src/kryshen/tema/TemplateParser.java
diffstat 1 files changed, 11 insertions(+), 4 deletions(-) [+]
line diff
     1.1 --- a/src/kryshen/tema/TemplateParser.java	Tue Mar 24 19:36:09 2009 +0300
     1.2 +++ b/src/kryshen/tema/TemplateParser.java	Thu Mar 26 17:18:31 2009 +0300
     1.3 @@ -106,7 +106,8 @@
     1.4      };
     1.5      
     1.6      protected final Context context;
     1.7 -    
     1.8 +
     1.9 +    private int lastReturnCode = 0;
    1.10      private int termBracket = -1;
    1.11      
    1.12      public TemplateParser() {
    1.13 @@ -183,7 +184,9 @@
    1.14                      
    1.15                      int tb = termBracket;
    1.16                      termBracket = openBracket;
    1.17 -                    result.retCode += Math.abs(parseFunction(in, out, format));
    1.18 +                    int returnCode = Math.abs(parseFunction(in, out, format));
    1.19 +                    lastReturnCode = returnCode;
    1.20 +                    result.retCode += returnCode;
    1.21                      result.empty = false;
    1.22                      termBracket = tb;
    1.23                      
    1.24 @@ -414,7 +417,7 @@
    1.25          
    1.26          return r;
    1.27      }
    1.28 -          
    1.29 +    
    1.30      public int invoke(String name, FunctionDataParser fdp, Writer out)
    1.31      throws IOException, TemplateException {
    1.32          Object value = context.get(name);
    1.33 @@ -436,7 +439,11 @@
    1.34          
    1.35          return parseValue(value, out);
    1.36      }
    1.37 -    
    1.38 +
    1.39 +    public int getLastReturnCode() {
    1.40 +        return lastReturnCode;
    1.41 +    }
    1.42 +
    1.43      public Context getContext() {
    1.44          return context;
    1.45      }