Convert Visit*Deps from blueprint.Module to android.Module
Also adds checks that the dependencies are android.Modules and
are not disabled.
Test: m checkbuild
Change-Id: I05e945f38915d49cd3c0ab72a86576949bc7eff2
diff --git a/android/mutator.go b/android/mutator.go
index b485940..afff700 100644
--- a/android/mutator.go
+++ b/android/mutator.go
@@ -123,11 +123,11 @@
GetDirectDepWithTag(name string, tag blueprint.DependencyTag) blueprint.Module
GetDirectDep(name string) (blueprint.Module, blueprint.DependencyTag)
- VisitDirectDeps(visit func(blueprint.Module))
- VisitDirectDepsIf(pred func(blueprint.Module) bool, visit func(blueprint.Module))
- VisitDepsDepthFirst(visit func(blueprint.Module))
- VisitDepsDepthFirstIf(pred func(blueprint.Module) bool, visit func(blueprint.Module))
- WalkDeps(visit func(blueprint.Module, blueprint.Module) bool)
+ VisitDirectDeps(visit func(Module))
+ VisitDirectDepsIf(pred func(Module) bool, visit func(Module))
+ VisitDepsDepthFirst(visit func(Module))
+ VisitDepsDepthFirstIf(pred func(Module) bool, visit func(Module))
+ WalkDeps(visit func(Module, Module) bool)
}
type androidTopDownMutatorContext struct {
@@ -191,3 +191,63 @@
m.DepsMutator(ctx)
}
}
+
+func (a *androidTopDownMutatorContext) VisitDirectDeps(visit func(Module)) {
+ a.TopDownMutatorContext.VisitDirectDeps(func(module blueprint.Module) {
+ if aModule, _ := module.(Module); aModule != nil {
+ visit(aModule)
+ }
+ })
+}
+
+func (a *androidTopDownMutatorContext) VisitDirectDepsIf(pred func(Module) bool, visit func(Module)) {
+ a.TopDownMutatorContext.VisitDirectDepsIf(
+ // pred
+ func(module blueprint.Module) bool {
+ if aModule, _ := module.(Module); aModule != nil {
+ return pred(aModule)
+ } else {
+ return false
+ }
+ },
+ // visit
+ func(module blueprint.Module) {
+ visit(module.(Module))
+ })
+}
+
+func (a *androidTopDownMutatorContext) VisitDepsDepthFirst(visit func(Module)) {
+ a.TopDownMutatorContext.VisitDepsDepthFirst(func(module blueprint.Module) {
+ if aModule, _ := module.(Module); aModule != nil {
+ visit(aModule)
+ }
+ })
+}
+
+func (a *androidTopDownMutatorContext) VisitDepsDepthFirstIf(pred func(Module) bool, visit func(Module)) {
+ a.TopDownMutatorContext.VisitDepsDepthFirstIf(
+ // pred
+ func(module blueprint.Module) bool {
+ if aModule, _ := module.(Module); aModule != nil {
+ return pred(aModule)
+ } else {
+ return false
+ }
+ },
+ // visit
+ func(module blueprint.Module) {
+ visit(module.(Module))
+ })
+}
+
+func (a *androidTopDownMutatorContext) WalkDeps(visit func(Module, Module) bool) {
+ a.TopDownMutatorContext.WalkDeps(func(child, parent blueprint.Module) bool {
+ childAndroidModule, _ := child.(Module)
+ parentAndroidModule, _ := parent.(Module)
+ if childAndroidModule != nil && parentAndroidModule != nil {
+ return visit(childAndroidModule, parentAndroidModule)
+ } else {
+ return false
+ }
+ })
+}