private TCExplicitFunctionDefinition getPostDefinition() { TCPatternList last = new TCPatternList(); int psize = paramPatternList.size(); for (TCPattern p : paramPatternList.get(psize - 1)) { last.add(p); } last.add(new TCIdentifierPattern(name.getResultName(location))); TCPatternListList parameters = new TCPatternListList(); if (psize > 1) { parameters.addAll(paramPatternList.subList(0, psize - 1)); } parameters.add(last); TCExplicitFunctionDefinition def = new TCExplicitFunctionDefinition( accessSpecifier, name.getPostName(postcondition.location), typeParams, type.getCurriedPostType(isCurried), parameters, postcondition, null, null, false, null); def.classDefinition = classDefinition; return def; }