mirror of https://github.com/vuejs/core.git
wip: save
This commit is contained in:
parent
0aa49b069c
commit
6653d42d39
|
@ -283,22 +283,29 @@ function processValue(
|
|||
needRewrite: boolean = true,
|
||||
): string[] | undefined {
|
||||
const { processingRenderEffect, allRenderEffectSeenNames } = context
|
||||
const { declareNames, earlyCheckExps, preAccessNames, preAccessExps } =
|
||||
processingRenderEffect!
|
||||
const {
|
||||
declareNames,
|
||||
rewrittenNames,
|
||||
earlyCheckExps,
|
||||
preAccessNames,
|
||||
preAccessExps,
|
||||
} = processingRenderEffect!
|
||||
|
||||
for (const frag of values) {
|
||||
if (!isArray(frag)) continue
|
||||
// [code, newlineIndex, loc, name] -> [(__name), newlineIndex, loc, name]
|
||||
const [newName, , , rawName] = frag
|
||||
if (rawName) {
|
||||
let name = rawName.replace(/[^\w]/g, '_')
|
||||
|
||||
name = `_${name}`
|
||||
if (!declareNames.has(name)) {
|
||||
if (allRenderEffectSeenNames[name] === undefined)
|
||||
allRenderEffectSeenNames[name] = 0
|
||||
else name += ++allRenderEffectSeenNames[name]
|
||||
declareNames.add(name)
|
||||
let name = rewrittenNames.get(rawName)
|
||||
if (!name) {
|
||||
name = `_${rawName.replace(/[^\w]/g, '_')}`
|
||||
if (!declareNames.has(name)) {
|
||||
if (allRenderEffectSeenNames[name] === undefined)
|
||||
allRenderEffectSeenNames[name] = 0
|
||||
else name += ++allRenderEffectSeenNames[name]
|
||||
declareNames.add(name)
|
||||
}
|
||||
rewrittenNames.set(newName, name)
|
||||
}
|
||||
|
||||
const preAccessName = `_${name}`
|
||||
|
|
|
@ -263,7 +263,7 @@ export interface IREffect {
|
|||
identifiers: string[]
|
||||
operations: OperationNode[]
|
||||
declareNames: Set<string>
|
||||
rewrittenNames: Set<string>
|
||||
rewrittenNames: Map<string, string>
|
||||
earlyCheckExps: string[]
|
||||
preAccessNames: Set<string>
|
||||
preAccessExps: Set<string>
|
||||
|
|
|
@ -169,7 +169,7 @@ export class TransformContext<T extends AllNode = AllNode> {
|
|||
preAccessNames: new Set<string>(),
|
||||
preAccessExps: new Set<string>(),
|
||||
declareNames: new Set<string>(),
|
||||
rewrittenNames: new Set<string>(),
|
||||
rewrittenNames: new Map<string, string>(),
|
||||
inVFor: this.inVFor > 0,
|
||||
identifiers: Array.from(ids),
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue