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,
|
needRewrite: boolean = true,
|
||||||
): string[] | undefined {
|
): string[] | undefined {
|
||||||
const { processingRenderEffect, allRenderEffectSeenNames } = context
|
const { processingRenderEffect, allRenderEffectSeenNames } = context
|
||||||
const { declareNames, earlyCheckExps, preAccessNames, preAccessExps } =
|
const {
|
||||||
processingRenderEffect!
|
declareNames,
|
||||||
|
rewrittenNames,
|
||||||
|
earlyCheckExps,
|
||||||
|
preAccessNames,
|
||||||
|
preAccessExps,
|
||||||
|
} = processingRenderEffect!
|
||||||
|
|
||||||
for (const frag of values) {
|
for (const frag of values) {
|
||||||
if (!isArray(frag)) continue
|
if (!isArray(frag)) continue
|
||||||
// [code, newlineIndex, loc, name] -> [(__name), newlineIndex, loc, name]
|
// [code, newlineIndex, loc, name] -> [(__name), newlineIndex, loc, name]
|
||||||
const [newName, , , rawName] = frag
|
const [newName, , , rawName] = frag
|
||||||
if (rawName) {
|
if (rawName) {
|
||||||
let name = rawName.replace(/[^\w]/g, '_')
|
let name = rewrittenNames.get(rawName)
|
||||||
|
if (!name) {
|
||||||
name = `_${name}`
|
name = `_${rawName.replace(/[^\w]/g, '_')}`
|
||||||
if (!declareNames.has(name)) {
|
if (!declareNames.has(name)) {
|
||||||
if (allRenderEffectSeenNames[name] === undefined)
|
if (allRenderEffectSeenNames[name] === undefined)
|
||||||
allRenderEffectSeenNames[name] = 0
|
allRenderEffectSeenNames[name] = 0
|
||||||
else name += ++allRenderEffectSeenNames[name]
|
else name += ++allRenderEffectSeenNames[name]
|
||||||
declareNames.add(name)
|
declareNames.add(name)
|
||||||
|
}
|
||||||
|
rewrittenNames.set(newName, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
const preAccessName = `_${name}`
|
const preAccessName = `_${name}`
|
||||||
|
|
|
@ -263,7 +263,7 @@ export interface IREffect {
|
||||||
identifiers: string[]
|
identifiers: string[]
|
||||||
operations: OperationNode[]
|
operations: OperationNode[]
|
||||||
declareNames: Set<string>
|
declareNames: Set<string>
|
||||||
rewrittenNames: Set<string>
|
rewrittenNames: Map<string, string>
|
||||||
earlyCheckExps: string[]
|
earlyCheckExps: string[]
|
||||||
preAccessNames: Set<string>
|
preAccessNames: Set<string>
|
||||||
preAccessExps: Set<string>
|
preAccessExps: Set<string>
|
||||||
|
|
|
@ -169,7 +169,7 @@ export class TransformContext<T extends AllNode = AllNode> {
|
||||||
preAccessNames: new Set<string>(),
|
preAccessNames: new Set<string>(),
|
||||||
preAccessExps: new Set<string>(),
|
preAccessExps: new Set<string>(),
|
||||||
declareNames: new Set<string>(),
|
declareNames: new Set<string>(),
|
||||||
rewrittenNames: new Set<string>(),
|
rewrittenNames: new Map<string, string>(),
|
||||||
inVFor: this.inVFor > 0,
|
inVFor: this.inVFor > 0,
|
||||||
identifiers: Array.from(ids),
|
identifiers: Array.from(ids),
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue