private void handleSourceMapLink(ASTCssNode cssAst, StringBuilder css, Configuration options, LessSource source, String sourceMap) {
String cssResultLocation = getCssResultLocationName(options, source);
LessCompiler.SourceMapConfiguration sourceMapConfiguration = options.getSourceMapConfiguration();
if (!sourceMapConfiguration.shouldLinkSourceMap() && !sourceMapConfiguration.isInline())
return;
if (!sourceMapConfiguration.isInline() && cssResultLocation == null) {
problemsHandler.warnSourceMapLinkWithoutCssResultLocation(cssAst);
return;
}
addNewLine(css);
String commentText;
String encodingCharset = sourceMapConfiguration.getEncodingCharset();
if (sourceMapConfiguration.isInline()) {
String encodedSourceMap = PrintUtils.base64Encode(sourceMap, encodingCharset, problemsHandler, cssAst);
commentText = "/*# sourceMappingURL=data:application/json;base64," + encodedSourceMap + " */";
} else {
String url = sourceMapConfiguration.getSourceMapNameGenerator().generateUrl(cssResultLocation);
String encodedUrl = PrintUtils.urlEncode(url, encodingCharset, problemsHandler, cssAst);
commentText = "/*# sourceMappingURL=" + encodedUrl + " */";
}
css.append(commentText).append("\n");
}