mirror of https://github.com/webpack/webpack.git
renaming
This commit is contained in:
parent
59437ccd10
commit
005e065fc4
|
|
@ -84,9 +84,9 @@ module.exports = class HarmonyImportDependencyParserPlugin {
|
|||
apply(parser) {
|
||||
const { exportPresenceMode } = this;
|
||||
|
||||
function getNonOptionalPart(members, membersOptions) {
|
||||
function getNonOptionalPart(members, membersOptionals) {
|
||||
let i = 0;
|
||||
while (i < members.length && membersOptions[i] === false) i++;
|
||||
while (i < members.length && membersOptionals[i] === false) i++;
|
||||
return i !== members.length ? members.slice(0, i) : members;
|
||||
}
|
||||
|
||||
|
|
@ -168,13 +168,13 @@ module.exports = class HarmonyImportDependencyParserPlugin {
|
|||
.for(harmonySpecifierTag)
|
||||
.tap(
|
||||
"HarmonyImportDependencyParserPlugin",
|
||||
(expression, members, membersOptions) => {
|
||||
(expression, members, membersOptionals) => {
|
||||
const settings = /** @type {HarmonySettings} */ (
|
||||
parser.currentTagData
|
||||
);
|
||||
const nonOptionalMembers = getNonOptionalPart(
|
||||
members,
|
||||
membersOptions
|
||||
membersOptionals
|
||||
);
|
||||
const expr =
|
||||
nonOptionalMembers !== members
|
||||
|
|
@ -204,14 +204,14 @@ module.exports = class HarmonyImportDependencyParserPlugin {
|
|||
.for(harmonySpecifierTag)
|
||||
.tap(
|
||||
"HarmonyImportDependencyParserPlugin",
|
||||
(expression, members, membersOptions) => {
|
||||
(expression, members, membersOptionals) => {
|
||||
const { arguments: args, callee } = expression;
|
||||
const settings = /** @type {HarmonySettings} */ (
|
||||
parser.currentTagData
|
||||
);
|
||||
const nonOptionalMembers = getNonOptionalPart(
|
||||
members,
|
||||
membersOptions
|
||||
membersOptionals
|
||||
);
|
||||
const expr =
|
||||
nonOptionalMembers !== members
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ class BasicEvaluatedExpression {
|
|||
/** @type {() => string[]} */
|
||||
this.getMembers = undefined;
|
||||
/** @type {() => boolean[]} */
|
||||
this.getMembersOptions = undefined;
|
||||
this.getMembersOptionals = undefined;
|
||||
/** @type {EsTreeNode} */
|
||||
this.expression = undefined;
|
||||
}
|
||||
|
|
@ -344,12 +344,12 @@ class BasicEvaluatedExpression {
|
|||
return this;
|
||||
}
|
||||
|
||||
setIdentifier(identifier, rootInfo, getMembers, getMembersOptions) {
|
||||
setIdentifier(identifier, rootInfo, getMembers, getMembersOptionals) {
|
||||
this.type = TypeIdentifier;
|
||||
this.identifier = identifier;
|
||||
this.rootInfo = rootInfo;
|
||||
this.getMembers = getMembers;
|
||||
this.getMembersOptions = getMembersOptions;
|
||||
this.getMembersOptionals = getMembersOptionals;
|
||||
this.sideEffects = true;
|
||||
return this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ const BasicEvaluatedExpression = require("./BasicEvaluatedExpression");
|
|||
/** @typedef {import("../Parser").ParserState} ParserState */
|
||||
/** @typedef {import("../Parser").PreparsedAst} PreparsedAst */
|
||||
/** @typedef {{declaredScope: ScopeInfo, freeName: string | true, tagInfo: TagInfo | undefined}} VariableInfoInterface */
|
||||
/** @typedef {{ name: string | VariableInfo, rootInfo: string | VariableInfo, getMembers: () => string[], getMembersOptions: () => boolean[] }} GetInfoResult */
|
||||
/** @typedef {{ name: string | VariableInfo, rootInfo: string | VariableInfo, getMembers: () => string[], getMembersOptionals: () => boolean[] }} GetInfoResult */
|
||||
|
||||
const EMPTY_ARRAY = [];
|
||||
const ALLOWED_MEMBER_TYPES_CALL_EXPRESSION = 0b01;
|
||||
|
|
@ -264,7 +264,7 @@ class JavascriptParser extends Parser {
|
|||
/** Something like "a.b()" */
|
||||
/** @type {HookMap<SyncBailHook<[CallExpressionNode, string[], boolean[]], boolean | void>>} */
|
||||
callMemberChain: new HookMap(
|
||||
() => new SyncBailHook(["expression", "members", "membersOptions"])
|
||||
() => new SyncBailHook(["expression", "members", "membersOptionals"])
|
||||
),
|
||||
/** Something like "a.b().c.d" */
|
||||
/** @type {HookMap<SyncBailHook<[ExpressionNode, string[], CallExpressionNode, string[]], boolean | void>>} */
|
||||
|
|
@ -296,7 +296,7 @@ class JavascriptParser extends Parser {
|
|||
expression: new HookMap(() => new SyncBailHook(["expression"])),
|
||||
/** @type {HookMap<SyncBailHook<[ExpressionNode, string[], boolean[]], boolean | void>>} */
|
||||
expressionMemberChain: new HookMap(
|
||||
() => new SyncBailHook(["expression", "members", "membersOptions"])
|
||||
() => new SyncBailHook(["expression", "members", "membersOptionals"])
|
||||
),
|
||||
/** @type {HookMap<SyncBailHook<[ExpressionNode, string[]], boolean | void>>} */
|
||||
unhandledExpressionMemberChain: new HookMap(
|
||||
|
|
@ -984,7 +984,7 @@ class JavascriptParser extends Parser {
|
|||
info.name,
|
||||
info.rootInfo,
|
||||
info.getMembers,
|
||||
info.getMembersOptions
|
||||
info.getMembersOptionals
|
||||
)
|
||||
.setRange(expr.range);
|
||||
}
|
||||
|
|
@ -1006,7 +1006,7 @@ class JavascriptParser extends Parser {
|
|||
name: info,
|
||||
rootInfo: info,
|
||||
getMembers: () => [],
|
||||
getMembersOptions: () => []
|
||||
getMembersOptionals: () => []
|
||||
};
|
||||
}
|
||||
});
|
||||
|
|
@ -1020,7 +1020,7 @@ class JavascriptParser extends Parser {
|
|||
name: info,
|
||||
rootInfo: info,
|
||||
getMembers: () => [],
|
||||
getMembersOptions: () => []
|
||||
getMembersOptionals: () => []
|
||||
};
|
||||
}
|
||||
});
|
||||
|
|
@ -2743,8 +2743,8 @@ class JavascriptParser extends Parser {
|
|||
callee.rootInfo,
|
||||
expression,
|
||||
callee.getMembers(),
|
||||
callee.getMembersOptions
|
||||
? callee.getMembersOptions()
|
||||
callee.getMembersOptionals
|
||||
? callee.getMembersOptionals()
|
||||
: callee.getMembers().map(() => false)
|
||||
);
|
||||
if (result1 === true) return;
|
||||
|
|
@ -2785,13 +2785,13 @@ class JavascriptParser extends Parser {
|
|||
);
|
||||
if (result1 === true) return;
|
||||
const members = exprInfo.getMembers();
|
||||
const membersOptions = exprInfo.getMembersOptions();
|
||||
const membersOptionals = exprInfo.getMembersOptionals();
|
||||
const result2 = this.callHooksForInfo(
|
||||
this.hooks.expressionMemberChain,
|
||||
exprInfo.rootInfo,
|
||||
expression,
|
||||
members,
|
||||
membersOptions
|
||||
membersOptionals
|
||||
);
|
||||
if (result2 === true) return;
|
||||
this.walkMemberExpressionWithExpressionName(
|
||||
|
|
@ -3629,13 +3629,13 @@ class JavascriptParser extends Parser {
|
|||
|
||||
/**
|
||||
* @param {MemberExpressionNode} expression a member expression
|
||||
* @returns {{ members: string[], object: ExpressionNode | SuperNode, membersOptions: boolean[] }} member names (reverse order) and remaining object
|
||||
* @returns {{ members: string[], object: ExpressionNode | SuperNode, membersOptionals: boolean[] }} member names (reverse order) and remaining object
|
||||
*/
|
||||
extractMemberExpressionChain(expression) {
|
||||
/** @type {AnyNode} */
|
||||
let expr = expression;
|
||||
const members = [];
|
||||
const membersOptions = [];
|
||||
const membersOptionals = [];
|
||||
while (expr.type === "MemberExpression") {
|
||||
if (expr.computed) {
|
||||
if (expr.property.type !== "Literal") break;
|
||||
|
|
@ -3644,13 +3644,13 @@ class JavascriptParser extends Parser {
|
|||
if (expr.property.type !== "Identifier") break;
|
||||
members.push(expr.property.name);
|
||||
}
|
||||
membersOptions.push(expr.optional);
|
||||
membersOptionals.push(expr.optional);
|
||||
expr = expr.object;
|
||||
}
|
||||
|
||||
return {
|
||||
members,
|
||||
membersOptions,
|
||||
membersOptionals,
|
||||
object: expr
|
||||
};
|
||||
}
|
||||
|
|
@ -3673,8 +3673,8 @@ class JavascriptParser extends Parser {
|
|||
return { info, name };
|
||||
}
|
||||
|
||||
/** @typedef {{ type: "call", call: CallExpressionNode, calleeName: string, rootInfo: string | VariableInfo, getCalleeMembers: () => string[], name: string, getMembers: () => string[], getMembersOptions: () => boolean[]}} CallExpressionInfo */
|
||||
/** @typedef {{ type: "expression", rootInfo: string | VariableInfo, name: string, getMembers: () => string[], getMembersOptions: () => boolean[]}} ExpressionExpressionInfo */
|
||||
/** @typedef {{ type: "call", call: CallExpressionNode, calleeName: string, rootInfo: string | VariableInfo, getCalleeMembers: () => string[], name: string, getMembers: () => string[], getMembersOptionals: () => boolean[]}} CallExpressionInfo */
|
||||
/** @typedef {{ type: "expression", rootInfo: string | VariableInfo, name: string, getMembers: () => string[], getMembersOptionals: () => boolean[]}} ExpressionExpressionInfo */
|
||||
|
||||
/**
|
||||
* @param {MemberExpressionNode} expression a member expression
|
||||
|
|
@ -3682,7 +3682,7 @@ class JavascriptParser extends Parser {
|
|||
* @returns {CallExpressionInfo | ExpressionExpressionInfo | undefined} expression info
|
||||
*/
|
||||
getMemberExpressionInfo(expression, allowedTypes) {
|
||||
const { object, members, membersOptions } =
|
||||
const { object, members, membersOptionals } =
|
||||
this.extractMemberExpressionChain(expression);
|
||||
switch (object.type) {
|
||||
case "CallExpression": {
|
||||
|
|
@ -3708,7 +3708,7 @@ class JavascriptParser extends Parser {
|
|||
getCalleeMembers: memoize(() => rootMembers.reverse()),
|
||||
name: objectAndMembersToName(`${calleeName}()`, members),
|
||||
getMembers: memoize(() => members.reverse()),
|
||||
getMembersOptions: memoize(() => membersOptions.reverse())
|
||||
getMembersOptionals: memoize(() => membersOptionals.reverse())
|
||||
};
|
||||
}
|
||||
case "Identifier":
|
||||
|
|
@ -3727,7 +3727,7 @@ class JavascriptParser extends Parser {
|
|||
name: objectAndMembersToName(resolvedRoot, members),
|
||||
rootInfo,
|
||||
getMembers: memoize(() => members.reverse()),
|
||||
getMembersOptions: memoize(() => membersOptions.reverse())
|
||||
getMembersOptionals: memoize(() => membersOptionals.reverse())
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -475,7 +475,7 @@ declare abstract class BasicEvaluatedExpression {
|
|||
identifier?: string;
|
||||
rootInfo: VariableInfoInterface;
|
||||
getMembers: () => string[];
|
||||
getMembersOptions: () => boolean[];
|
||||
getMembersOptionals: () => boolean[];
|
||||
expression: NodeEstreeIndex;
|
||||
isUnknown(): boolean;
|
||||
isNull(): boolean;
|
||||
|
|
@ -528,7 +528,7 @@ declare abstract class BasicEvaluatedExpression {
|
|||
identifier?: any,
|
||||
rootInfo?: any,
|
||||
getMembers?: any,
|
||||
getMembersOptions?: any
|
||||
getMembersOptionals?: any
|
||||
): BasicEvaluatedExpression;
|
||||
setWrapped(
|
||||
prefix?: any,
|
||||
|
|
@ -681,7 +681,7 @@ declare interface CallExpressionInfo {
|
|||
getCalleeMembers: () => string[];
|
||||
name: string;
|
||||
getMembers: () => string[];
|
||||
getMembersOptions: () => boolean[];
|
||||
getMembersOptionals: () => boolean[];
|
||||
}
|
||||
declare interface CallbackAsyncQueue<T> {
|
||||
(err?: null | WebpackError, result?: T): any;
|
||||
|
|
@ -3805,7 +3805,7 @@ declare interface ExpressionExpressionInfo {
|
|||
rootInfo: string | VariableInfo;
|
||||
name: string;
|
||||
getMembers: () => string[];
|
||||
getMembersOptions: () => boolean[];
|
||||
getMembersOptionals: () => boolean[];
|
||||
}
|
||||
type ExternalItem =
|
||||
| string
|
||||
|
|
@ -5391,7 +5391,7 @@ declare class JavascriptParser extends Parser {
|
|||
| ImportExpression
|
||||
| ChainExpression
|
||||
| Super;
|
||||
membersOptions: boolean[];
|
||||
membersOptionals: boolean[];
|
||||
};
|
||||
getFreeInfoFromVariable(varName: string): {
|
||||
name: string;
|
||||
|
|
|
|||
Loading…
Reference in New Issue