Flag 'override' directives.

Bug: 201087531
Test: internal
Change-Id: I2e08b126d769b1595172b04a3539e99b3e72cb2b
This commit is contained in:
Sasha Smundak
2021-11-10 13:06:42 -08:00
parent 18e7785f26
commit ea3bc3a953
2 changed files with 23 additions and 0 deletions

View File

@@ -540,6 +540,14 @@ func (ctx *parseContext) handleAssignment(a *mkparser.Assignment) {
return
}
name := a.Name.Strings[0]
// The `override` directive
// override FOO :=
// is parsed as an assignment to a variable named `override FOO`.
// There are very few places where `override` is used, just flag it.
if strings.HasPrefix(name, "override ") {
ctx.errorf(a, "cannot handle override directive")
}
// Soong configuration
if strings.HasPrefix(name, soongNsPrefix) {
ctx.handleSoongNsAssignment(strings.TrimPrefix(name, soongNsPrefix), a)

View File

@@ -1025,6 +1025,21 @@ load("//build/make/core:product_config.rbc", "rblf")
def init(g, handle):
cfg = rblf.cfg(handle)
rblf.warning("product.mk", "partially successful conversion")
`,
},
{
desc: "Flag override",
mkname: "product.mk",
in: `
override FOO:=`,
expected: `# MK2RBC TRANSLATION ERROR: cannot handle override directive
# override FOO :=
load("//build/make/core:product_config.rbc", "rblf")
def init(g, handle):
cfg = rblf.cfg(handle)
g["override FOO"] = ""
rblf.warning("product.mk", "partially successful conversion")
`,
},
}