Loading mk2rbc/mk2rbc_test.go +1 −0 Original line number Diff line number Diff line Loading @@ -993,6 +993,7 @@ endif def init(g, handle): cfg = rblf.cfg(handle) if "hwaddress" not in cfg.get("PRODUCT_PACKAGES", []): rblf.setdefault(handle, "PRODUCT_PACKAGES") cfg["PRODUCT_PACKAGES"] = (rblf.mkstrip("%s hwaddress" % " ".join(cfg.get("PRODUCT_PACKAGES", [])))).split() `, }, Loading mk2rbc/variable.go +19 −6 Original line number Diff line number Diff line Loading @@ -88,20 +88,33 @@ func (pcv productConfigVariable) emitSet(gctx *generationContext, asgn *assignme } value.emit(gctx) } emitSetDefault := func() { if pcv.typ == starlarkTypeList { gctx.writef("%s(handle, %q)", cfnSetListDefault, pcv.name()) } else { gctx.writef("cfg.setdefault(%q, %s)", pcv.name(), pcv.defaultValueString()) } gctx.newLine() } switch asgn.flavor { case asgnSet: isSelfReferential := false asgn.value.transform(func(expr starlarkExpr) starlarkExpr { if ref, ok := expr.(*variableRefExpr); ok && ref.ref.name() == pcv.name() { isSelfReferential = true } return nil }) if isSelfReferential { emitSetDefault() } emitAssignment() case asgnAppend: emitAppend() case asgnMaybeAppend: // If we are not sure variable has been assigned before, emit setdefault if pcv.typ == starlarkTypeList { gctx.writef("%s(handle, %q)", cfnSetListDefault, pcv.name()) } else { gctx.writef("cfg.setdefault(%q, %s)", pcv.name(), pcv.defaultValueString()) } gctx.newLine() emitSetDefault() emitAppend() case asgnMaybeSet: gctx.writef("if cfg.get(%q) == None:", pcv.nam) Loading Loading
mk2rbc/mk2rbc_test.go +1 −0 Original line number Diff line number Diff line Loading @@ -993,6 +993,7 @@ endif def init(g, handle): cfg = rblf.cfg(handle) if "hwaddress" not in cfg.get("PRODUCT_PACKAGES", []): rblf.setdefault(handle, "PRODUCT_PACKAGES") cfg["PRODUCT_PACKAGES"] = (rblf.mkstrip("%s hwaddress" % " ".join(cfg.get("PRODUCT_PACKAGES", [])))).split() `, }, Loading
mk2rbc/variable.go +19 −6 Original line number Diff line number Diff line Loading @@ -88,20 +88,33 @@ func (pcv productConfigVariable) emitSet(gctx *generationContext, asgn *assignme } value.emit(gctx) } emitSetDefault := func() { if pcv.typ == starlarkTypeList { gctx.writef("%s(handle, %q)", cfnSetListDefault, pcv.name()) } else { gctx.writef("cfg.setdefault(%q, %s)", pcv.name(), pcv.defaultValueString()) } gctx.newLine() } switch asgn.flavor { case asgnSet: isSelfReferential := false asgn.value.transform(func(expr starlarkExpr) starlarkExpr { if ref, ok := expr.(*variableRefExpr); ok && ref.ref.name() == pcv.name() { isSelfReferential = true } return nil }) if isSelfReferential { emitSetDefault() } emitAssignment() case asgnAppend: emitAppend() case asgnMaybeAppend: // If we are not sure variable has been assigned before, emit setdefault if pcv.typ == starlarkTypeList { gctx.writef("%s(handle, %q)", cfnSetListDefault, pcv.name()) } else { gctx.writef("cfg.setdefault(%q, %s)", pcv.name(), pcv.defaultValueString()) } gctx.newLine() emitSetDefault() emitAppend() case asgnMaybeSet: gctx.writef("if cfg.get(%q) == None:", pcv.nam) Loading