Java源码示例:com.google.gwt.dev.util.DefaultTextOutput
示例1
@Override
protected EmittedArtifact emitSelectionScript(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException {
Set<WorkerScript> scripts = artifacts.find(WorkerScript.class);
if (scripts.size() != 1) {
logger.branch(TreeLogger.ERROR, "Too many scripts");
throw new UnableToCompleteException();
}
WorkerScript script = scripts.iterator().next();
DefaultTextOutput output = new DefaultTextOutput(true);
output.print(context.optimizeJavaScript(logger, generateSelectionScript(logger, context, artifacts)));
output.newlineOpt();
output.print(script.javascript);
output.newlineOpt();
output.print("gwtOnLoad(null, \"__MODULE_NAME__\", null);");
return emitString(logger, output.toString(), context.getModuleName() + ".worker.js");
}
示例2
public String toGss() throws UnableToCompleteException {
try {
CssStylesheet sheet = GenerateCssAst.exec(treeLogger, cssFile);
DefCollectorVisitor defCollectorVisitor = new DefCollectorVisitor(lenient, treeLogger);
defCollectorVisitor.accept(sheet);
defNameMapping = defCollectorVisitor.getDefMapping();
new UndefinedConstantVisitor(new HashSet<String>(defNameMapping.values()),
lenient, treeLogger).accept(sheet);
new ElseNodeCreator().accept(sheet);
new AlternateAnnotationCreatorVisitor().accept(sheet);
new FontFamilyVisitor().accept(sheet);
GssGenerationVisitor gssGenerationVisitor = new GssGenerationVisitor(
new DefaultTextOutput(false), defNameMapping, lenient, treeLogger);
gssGenerationVisitor.accept(sheet);
return gssGenerationVisitor.getContent();
} finally {
if (printWriter != null) {
printWriter.flush();
}
}
}
示例3
@Override
protected EmittedArtifact emitSelectionScript(TreeLogger logger,
LinkerContext context, ArtifactSet artifacts)
throws UnableToCompleteException {
// Find the single Script result
Script result = getScript(logger, artifacts);
DefaultTextOutput out = new DefaultTextOutput(true);
// Emit the selection script.
String bootstrap = generateSelectionScript(logger, context, artifacts);
bootstrap = context.optimizeJavaScript(logger, bootstrap);
out.print(bootstrap);
out.newlineOpt();
// Emit the module's JS a closure.
out.print("(function () {");
out.newlineOpt();
out.print("var $gwt_version = \"" + About.getGwtVersionNum() + "\";");
out.newlineOpt();
out.print("var $wnd = window;");
out.newlineOpt();
out.print("var $doc = $wnd.document;");
out.newlineOpt();
out.print("var $moduleName, $moduleBase;");
out.newlineOpt();
out.print(
"var $stats = $wnd.__gwtStatsEvent ? function(a) {$wnd.__gwtStatsEvent(a)} : null;");
out.newlineOpt();
out.print("var $strongName = '" + result.getStrongName() + "';");
out.newlineOpt();
out.print(result.getJavaScript());
// Generate the call to tell the bootstrap code that we're ready to go.
out.newlineOpt();
out.print("if (" + context.getModuleFunctionName() + ") "
+ context.getModuleFunctionName()
+ ".onScriptLoad(gwtOnLoad);");
out.newlineOpt();
out.print("})();");
out.newlineOpt();
return emitString(logger, out.toString(),
getJsFilename(context, result));
}