Merge "Fix "unknown binary op: string + list" errors"
This commit is contained in:
commit
69e8731101
2 changed files with 36 additions and 3 deletions
|
@ -1212,6 +1212,33 @@ 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"]]
|
||||
`,
|
||||
},
|
||||
{
|
||||
desc: "List appended to string",
|
||||
mkname: "product.mk",
|
||||
in: `
|
||||
NATIVE_BRIDGE_PRODUCT_PACKAGES := \
|
||||
libnative_bridge_vdso.native_bridge \
|
||||
native_bridge_guest_app_process.native_bridge \
|
||||
native_bridge_guest_linker.native_bridge
|
||||
|
||||
NATIVE_BRIDGE_MODIFIED_GUEST_LIBS := \
|
||||
libaaudio \
|
||||
libamidi \
|
||||
libandroid \
|
||||
libandroid_runtime
|
||||
|
||||
NATIVE_BRIDGE_PRODUCT_PACKAGES += \
|
||||
$(addsuffix .native_bridge,$(NATIVE_BRIDGE_ORIG_GUEST_LIBS))
|
||||
`,
|
||||
expected: `load("//build/make/core:product_config.rbc", "rblf")
|
||||
|
||||
def init(g, handle):
|
||||
cfg = rblf.cfg(handle)
|
||||
g["NATIVE_BRIDGE_PRODUCT_PACKAGES"] = "libnative_bridge_vdso.native_bridge native_bridge_guest_app_process.native_bridge native_bridge_guest_linker.native_bridge"
|
||||
g["NATIVE_BRIDGE_MODIFIED_GUEST_LIBS"] = "libaaudio libamidi libandroid libandroid_runtime"
|
||||
g["NATIVE_BRIDGE_PRODUCT_PACKAGES"] += " " + " ".join(rblf.addsuffix(".native_bridge", g.get("NATIVE_BRIDGE_ORIG_GUEST_LIBS", "")))
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
|
|
@ -81,10 +81,12 @@ func (pcv productConfigVariable) emitSet(gctx *generationContext, asgn *assignme
|
|||
emitAppend := func() {
|
||||
pcv.emitGet(gctx, true)
|
||||
gctx.write(" += ")
|
||||
value := asgn.value
|
||||
if pcv.valueType() == starlarkTypeString {
|
||||
gctx.writef(`" " + `)
|
||||
value = &toStringExpr{expr: value}
|
||||
}
|
||||
asgn.value.emit(gctx)
|
||||
value.emit(gctx)
|
||||
}
|
||||
|
||||
switch asgn.flavor {
|
||||
|
@ -136,10 +138,12 @@ func (scv otherGlobalVariable) emitSet(gctx *generationContext, asgn *assignment
|
|||
emitAppend := func() {
|
||||
scv.emitGet(gctx, true)
|
||||
gctx.write(" += ")
|
||||
value := asgn.value
|
||||
if scv.valueType() == starlarkTypeString {
|
||||
gctx.writef(`" " + `)
|
||||
value = &toStringExpr{expr: value}
|
||||
}
|
||||
asgn.value.emit(gctx)
|
||||
value.emit(gctx)
|
||||
}
|
||||
|
||||
switch asgn.flavor {
|
||||
|
@ -193,10 +197,12 @@ func (lv localVariable) emitSet(gctx *generationContext, asgn *assignmentNode) {
|
|||
case asgnAppend:
|
||||
lv.emitGet(gctx, false)
|
||||
gctx.write(" += ")
|
||||
value := asgn.value
|
||||
if lv.valueType() == starlarkTypeString {
|
||||
gctx.writef(`" " + `)
|
||||
value = &toStringExpr{expr: value}
|
||||
}
|
||||
asgn.value.emit(gctx)
|
||||
value.emit(gctx)
|
||||
case asgnMaybeAppend:
|
||||
gctx.writef("%s(%q, ", cfnLocalAppend, lv)
|
||||
asgn.value.emit(gctx)
|
||||
|
|
Loading…
Reference in a new issue