protected void writeCssTo(Writer writer, Output output) throws IOException { Object[] results; Mapper mapper; Node node; if (output.getMuted()) { throw new IllegalArgumentException(); } mapper = SSASS.newInstance(); mapper.setErrorHandler(new ExceptionErrorHandler()); for (int i = 0; i < nodes.size(); i++) { node = nodes.get(i); if (i > 0) { writer.write(LF); } if (!overallMinimize) { writer.write(type.comment(location(node))); } results = mapper.run(node); if (results == null) { throw new IOException(node.toString() + ": css/sass error"); } output.setMuted(declarationsOnly.get(i)); try { ((Stylesheet) results[0]).toCss(output); } catch (GenericException e) { throw new IOException(node.toString() + ": css generation failed: " + e.getMessage(), e); } if (output.getMuted() != declarationsOnly.get(i)) { throw new IllegalStateException(); } } }
static { SSASS = new Mapper("net.oneandone.ssass.Mapper"); SSASS.load(); }