Emit mksubst call for $(subst ...)

Bug: 172923994
Test: internal
Change-Id: I7994bee61f6f8bdee6eac50ecb8a6064830447a4
This commit is contained in:
Sasha Smundak
2021-07-09 16:00:57 -07:00
parent b643c7a085
commit 9d011abcd5
3 changed files with 36 additions and 13 deletions

View File

@@ -26,6 +26,7 @@ type variable interface {
emitSet(gctx *generationContext, asgn *assignmentNode)
emitDefined(gctx *generationContext)
valueType() starlarkType
setValueType(t starlarkType)
defaultValueString() string
isPreset() bool
}
@@ -44,6 +45,10 @@ func (v baseVariable) valueType() starlarkType {
return v.typ
}
func (v *baseVariable) setValueType(t starlarkType) {
v.typ = t
}
func (v baseVariable) isPreset() bool {
return v.preset
}
@@ -279,7 +284,7 @@ func (ctx *parseContext) addVariable(name string) variable {
} else if name == strings.ToLower(name) {
// Heuristics: if variable's name is all lowercase, consider it local
// string variable.
v = &localVariable{baseVariable{nam: name, typ: starlarkTypeString}}
v = &localVariable{baseVariable{nam: name, typ: starlarkTypeUnknown}}
} else {
vt := starlarkTypeUnknown
if strings.HasPrefix(name, "LOCAL_") {