}
}
public CompileResult compile(String coffeeScriptSource, String sourceName, boolean bare, SourceMap map, boolean header, boolean literate) {
Context context = Context.enter();
try {
Scriptable compileScope = context.newObject(coffeeScript);
compileScope.setParentScope(coffeeScript);
compileScope.put("coffeeScript", compileScope, coffeeScriptSource);
try {
boolean useMap = map != SourceMap.NONE;
String options = String.format("{bare: %s, sourceMap: %s, literate: %s, header: %s, filename: '%s'}", bare, useMap, literate, header, sourceName);
Object result = context.evaluateString(
compileScope,
String.format("compile(coffeeScript, %s);", options),
sourceName, 0, null);
if (map == SourceMap.NONE) {