Add error functions to IncomingTransitionContext
This will be needed for the image transition mutator to support
a 1-variant fallback.
Bug: 372091092
Test: m nothing --no-skip-soong-tests
Change-Id: Ib520b82128fd22b7f134614c5e6ae1153f839b56
diff --git a/android/early_module_context.go b/android/early_module_context.go
index 9b1a9ea..5e971ef 100644
--- a/android/early_module_context.go
+++ b/android/early_module_context.go
@@ -21,9 +21,20 @@
"github.com/google/blueprint"
)
+// ModuleErrorContext provides only methods to report errors about the current module.
+type ModuleErrorContext interface {
+ // ModuleErrorf reports an error at the line number of the module type in the module definition.
+ ModuleErrorf(fmt string, args ...interface{})
+
+ // PropertyErrorf reports an error at the line number of a property in the module definition.
+ PropertyErrorf(property, fmt string, args ...interface{})
+}
+
// EarlyModuleContext provides methods that can be called early, as soon as the properties have
// been parsed into the module and before any mutators have run.
type EarlyModuleContext interface {
+ ModuleErrorContext
+
// Module returns the current module as a Module. It should rarely be necessary, as the module already has a
// reference to itself.
Module() Module
@@ -49,12 +60,6 @@
// Errorf reports an error at the specified position of the module definition file.
Errorf(pos scanner.Position, fmt string, args ...interface{})
- // ModuleErrorf reports an error at the line number of the module type in the module definition.
- ModuleErrorf(fmt string, args ...interface{})
-
- // PropertyErrorf reports an error at the line number of a property in the module definition.
- PropertyErrorf(property, fmt string, args ...interface{})
-
// OtherModulePropertyErrorf reports an error at the line number of a property in the given module definition.
OtherModulePropertyErrorf(module Module, property, fmt string, args ...interface{})
diff --git a/android/mutator.go b/android/mutator.go
index 6bd2e60..4b38908 100644
--- a/android/mutator.go
+++ b/android/mutator.go
@@ -339,6 +339,7 @@
type IncomingTransitionContext interface {
ArchModuleContext
ModuleProviderContext
+ ModuleErrorContext
// Module returns the target of the dependency edge for which the transition
// is being computed
@@ -539,6 +540,14 @@
return c.bp.Provider(provider)
}
+func (c *incomingTransitionContextImpl) ModuleErrorf(fmt string, args ...interface{}) {
+ c.bp.ModuleErrorf(fmt, args)
+}
+
+func (c *incomingTransitionContextImpl) PropertyErrorf(property, fmt string, args ...interface{}) {
+ c.bp.PropertyErrorf(property, fmt, args)
+}
+
func (a *androidTransitionMutator) IncomingTransition(bpctx blueprint.IncomingTransitionContext, incomingVariation string) string {
if m, ok := bpctx.Module().(Module); ok {
ctx := incomingTransitionContextPool.Get().(*incomingTransitionContextImpl)