Merge "Fix issue with referencing the loop variable in a foreach"

This commit is contained in:
Treehugger Robot
2022-03-02 03:32:54 +00:00
committed by Gerrit Code Review
2 changed files with 5 additions and 0 deletions

View File

@@ -595,6 +595,7 @@ func (cx *callExpr) transform(transformer func(expr starlarkExpr) starlarkExpr)
for i, arg := range cx.args {
argsCopy[i] = arg.transform(transformer)
}
cx.args = argsCopy
if replacement := transformer(cx); replacement != nil {
return replacement
} else {

View File

@@ -1228,6 +1228,9 @@ BOOT_KERNEL_MODULES_LIST := foo.ko
BOOT_KERNEL_MODULES_LIST += bar.ko
BOOT_KERNEL_MODULES_FILTER_2 := $(foreach m,$(BOOT_KERNEL_MODULES_LIST),%/$(m))
FOREACH_WITH_IF := $(foreach module,\
$(BOOT_KERNEL_MODULES_LIST),\
$(if $(filter $(module),foo.ko),,$(error module "$(module)" has an error!)))
`,
expected: `load("//build/make/core:product_config.rbc", "rblf")
@@ -1238,6 +1241,7 @@ def init(g, handle):
g["BOOT_KERNEL_MODULES_LIST"] = ["foo.ko"]
g["BOOT_KERNEL_MODULES_LIST"] += ["bar.ko"]
g["BOOT_KERNEL_MODULES_FILTER_2"] = ["%%/%s" % m for m in g["BOOT_KERNEL_MODULES_LIST"]]
g["FOREACH_WITH_IF"] = [("" if rblf.filter(module, "foo.ko") else rblf.mkerror("product.mk", "module \"%s\" has an error!" % module)) for module in g["BOOT_KERNEL_MODULES_LIST"]]
`,
},
{