JS: fix incremental generation of source maps

This commit is contained in:
Alexey Andreev
2017-02-28 20:41:27 +03:00
parent 0058d2fdf6
commit f4a9b99e4d
6 changed files with 56 additions and 70 deletions
@@ -464,7 +464,9 @@ public class JsToStringGenerationVisitor extends JsVisitor {
rightParen();
nestedPush(x.getBody());
accept(x.getBody());
if (x.getBody() != null) {
accept(x.getBody());
}
nestedPop(x.getBody());
}
@@ -19,11 +19,7 @@ import java.util.Map;
public final class JsProgram extends SourceInfoAwareJsNode {
private final JsGlobalBlock globalBlock = new JsGlobalBlock();
private final TDoubleObjectHashMap<JsDoubleLiteral> doubleLiteralMap = new TDoubleObjectHashMap<JsDoubleLiteral>();
private final TIntObjectHashMap<JsIntLiteral> intLiteralMap = new TIntObjectHashMap<JsIntLiteral>();
private final JsRootScope rootScope;
private final Map<String, JsStringLiteral> stringLiteralMap = new THashMap<String, JsStringLiteral>();
private final JsObjectScope topScope;
public JsProgram() {
@@ -36,23 +32,11 @@ public final class JsProgram extends SourceInfoAwareJsNode {
}
public JsNumberLiteral getNumberLiteral(double value) {
JsDoubleLiteral literal = doubleLiteralMap.get(value);
if (literal == null) {
literal = new JsDoubleLiteral(value);
doubleLiteralMap.put(value, literal);
}
return literal;
return new JsDoubleLiteral(value);
}
public JsNumberLiteral getNumberLiteral(int value) {
JsIntLiteral literal = intLiteralMap.get(value);
if (literal == null) {
literal = new JsIntLiteral(value);
intLiteralMap.put(value, literal);
}
return literal;
return new JsIntLiteral(value);
}
/**
@@ -77,12 +61,7 @@ public final class JsProgram extends SourceInfoAwareJsNode {
*/
@NotNull
public JsStringLiteral getStringLiteral(String value) {
JsStringLiteral literal = stringLiteralMap.get(value);
if (literal == null) {
literal = new JsStringLiteral(value);
stringLiteralMap.put(value, literal);
}
return literal;
return new JsStringLiteral(value);
}
@Override