# Copyright 2005 Kevin Reid, under the terms of the MIT X license # found at http://www.opensource.org/licenses/mit-license.html ................ pragma.enable("easy-return") pragma.disable("explicit-result-guard") def makeException := def defineException implements DeepFrozen { to run(typeIDs :List[String], printer :DeepFrozen) { def cprinter implements DeepFrozen { to run(tw :TextWriter, exception) { printer(tw, exception._getProperties()) }} def exceptionDefinition implements DeepFrozen { to run(properties :Map[String, any]) { return makeException(typeIDs, properties, cprinter) } } return exceptionDefinition } }