Merge pull request #3323 from divmain/master
Source-map support for multiple input source files
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
export const defaultOptions: {
|
||||
sourceType: string,
|
||||
sourceFilename: any,
|
||||
allowReturnOutsideFunction: boolean,
|
||||
allowImportExportEverywhere: boolean,
|
||||
allowSuperOutsideMethod: boolean,
|
||||
@@ -11,6 +12,8 @@ export const defaultOptions: {
|
||||
} = {
|
||||
// Source type ("script" or "module") for different semantics
|
||||
sourceType: "script",
|
||||
// Source filename.
|
||||
sourceFilename: undefined,
|
||||
// When enabled, a return at the top level is not considered an
|
||||
// error.
|
||||
allowReturnOutsideFunction: false,
|
||||
|
||||
@@ -14,6 +14,7 @@ export default class Parser extends Tokenizer {
|
||||
this.isReservedWord = reservedWords[6];
|
||||
this.input = input;
|
||||
this.plugins = this.loadPlugins(this.options.plugins);
|
||||
this.filename = options.sourceFilename;
|
||||
|
||||
// If enabled, skip leading hashbang line.
|
||||
if (this.state.pos === 0 && this.input[0] === "#" && this.input[1] === "!") {
|
||||
|
||||
@@ -6,11 +6,12 @@ import { SourceLocation } from "../util/location";
|
||||
const pp = Parser.prototype;
|
||||
|
||||
class Node {
|
||||
constructor(pos?: number, loc?: SourceLocation) {
|
||||
constructor(pos?: number, loc?: SourceLocation, filename?: string) {
|
||||
this.type = "";
|
||||
this.start = pos;
|
||||
this.end = 0;
|
||||
this.loc = new SourceLocation(loc);
|
||||
if (filename) this.loc.filename = filename;
|
||||
}
|
||||
|
||||
type: string;
|
||||
@@ -26,11 +27,11 @@ class Node {
|
||||
}
|
||||
|
||||
pp.startNode = function () {
|
||||
return new Node(this.state.start, this.state.startLoc);
|
||||
return new Node(this.state.start, this.state.startLoc, this.filename);
|
||||
};
|
||||
|
||||
pp.startNodeAt = function (pos, loc) {
|
||||
return new Node(pos, loc);
|
||||
return new Node(pos, loc, this.filename);
|
||||
};
|
||||
|
||||
function finishNodeAt(node, type, pos, loc) {
|
||||
|
||||
Reference in New Issue
Block a user