Make Whitespace._findToken private and add comments
This commit is contained in:
parent
ed227a6c8a
commit
235d8397fd
@ -17,7 +17,7 @@ export default class Whitespace {
|
|||||||
let endToken;
|
let endToken;
|
||||||
let tokens = this.tokens;
|
let tokens = this.tokens;
|
||||||
|
|
||||||
let index = this.findToken(token => token.start - node.start, 0, tokens.length);
|
let index = this._findToken(token => token.start - node.start, 0, tokens.length);
|
||||||
if (typeof index === "number") {
|
if (typeof index === "number") {
|
||||||
while (index && node.start === tokens[index - 1].start) --index;
|
while (index && node.start === tokens[index - 1].start) --index;
|
||||||
startToken = tokens[index - 1];
|
startToken = tokens[index - 1];
|
||||||
@ -36,7 +36,7 @@ export default class Whitespace {
|
|||||||
let endToken;
|
let endToken;
|
||||||
let tokens = this.tokens;
|
let tokens = this.tokens;
|
||||||
|
|
||||||
let index = this.findToken(token => token.end - node.end, 0, tokens.length);
|
let index = this._findToken(token => token.end - node.end, 0, tokens.length);
|
||||||
if (typeof index === "number") {
|
if (typeof index === "number") {
|
||||||
while (index && node.end === tokens[index - 1].end) --index;
|
while (index && node.end === tokens[index - 1].end) --index;
|
||||||
startToken = tokens[index];
|
startToken = tokens[index];
|
||||||
@ -57,18 +57,6 @@ export default class Whitespace {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
findToken(test, start, end) {
|
|
||||||
const middle = (start + end) >>> 1;
|
|
||||||
const match = test(this.tokens[middle]);
|
|
||||||
if (match < 0 && end > middle) {
|
|
||||||
return this.findToken(test, middle + 1, end);
|
|
||||||
} else if (match > 0 && start < middle) {
|
|
||||||
return this.findToken(test, start, middle);
|
|
||||||
} else if (match === 0) {
|
|
||||||
return middle;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Count all the newlines between two tokens.
|
* Count all the newlines between two tokens.
|
||||||
*/
|
*/
|
||||||
@ -89,4 +77,20 @@ export default class Whitespace {
|
|||||||
|
|
||||||
return lines;
|
return lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find a token between start and end.
|
||||||
|
*/
|
||||||
|
|
||||||
|
_findToken(test, start, end) {
|
||||||
|
const middle = (start + end) >>> 1;
|
||||||
|
const match = test(this.tokens[middle]);
|
||||||
|
if (match < 0 && end > middle) {
|
||||||
|
return this._findToken(test, middle + 1, end);
|
||||||
|
} else if (match > 0 && start < middle) {
|
||||||
|
return this._findToken(test, start, middle);
|
||||||
|
} else if (match === 0) {
|
||||||
|
return middle;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user