summaryrefslogtreecommitdiff
path: root/rust/rust.go
diff options
context:
space:
mode:
author ThiƩbaud Weksteen <tweek@google.com> 2020-06-24 11:32:48 +0200
committer ThiƩbaud Weksteen <tweek@google.com> 2020-06-24 11:56:33 +0200
commit1f7f70fe39137360c9983c4c702e68ebd2677807 (patch)
tree91b67a56033ad6e7b33ef13732936dfc56e35509 /rust/rust.go
parenta5d1fab176645ec93cbbfc4e270b22ec2354fa42 (diff)
Remove moduleContextImpl struct
The moduleContextImpl structure contains duplicate information on the contexts. BaseModuleContext, ModuleContext and DepsContext can already surface which Module is being processed via Module(). Because most of the Rust-specific methods on the *Context structures simply forward to the Module methods, expose a RustModule() method. Test: cd external/rust/crates; mma Change-Id: Ifee90825d54081fc5e9a8df0b7c4580412e9158c
Diffstat (limited to 'rust/rust.go')
-rw-r--r--rust/rust.go64
1 files changed, 25 insertions, 39 deletions
diff --git a/rust/rust.go b/rust/rust.go
index 7b82b1f69..1cc412d36 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -506,37 +506,48 @@ type DepsContext interface {
}
type ModuleContextIntf interface {
+ RustModule() *Module
toolchain() config.Toolchain
- baseModuleName() string
- CrateName() string
- nativeCoverage() bool
}
type depsContext struct {
android.BottomUpMutatorContext
- moduleContextImpl
}
type moduleContext struct {
android.ModuleContext
- moduleContextImpl
}
-func (ctx *moduleContextImpl) nativeCoverage() bool {
- return ctx.mod.nativeCoverage()
+type baseModuleContext struct {
+ android.BaseModuleContext
}
-func (mod *Module) nativeCoverage() bool {
- return mod.compiler != nil && mod.compiler.nativeCoverage()
+func (ctx *moduleContext) RustModule() *Module {
+ return ctx.Module().(*Module)
+}
+
+func (ctx *moduleContext) toolchain() config.Toolchain {
+ return ctx.RustModule().toolchain(ctx)
+}
+
+func (ctx *depsContext) RustModule() *Module {
+ return ctx.Module().(*Module)
}
-type moduleContextImpl struct {
- mod *Module
- ctx BaseModuleContext
+func (ctx *depsContext) toolchain() config.Toolchain {
+ return ctx.RustModule().toolchain(ctx)
}
-func (ctx *moduleContextImpl) toolchain() config.Toolchain {
- return ctx.mod.toolchain(ctx.ctx)
+func (ctx *baseModuleContext) RustModule() *Module {
+ return ctx.Module().(*Module)
+}
+
+func (ctx *baseModuleContext) toolchain() config.Toolchain {
+ return ctx.RustModule().toolchain(ctx)
+}
+
+func (mod *Module) nativeCoverage() bool {
+ return mod.compiler != nil && mod.compiler.nativeCoverage()
}
func (mod *Module) toolchain(ctx android.BaseModuleContext) config.Toolchain {
@@ -552,11 +563,7 @@ func (d *Defaults) GenerateAndroidBuildActions(ctx android.ModuleContext) {
func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
ctx := &moduleContext{
ModuleContext: actx,
- moduleContextImpl: moduleContextImpl{
- mod: mod,
- },
}
- ctx.ctx = ctx
toolchain := mod.toolchain(ctx)
@@ -607,14 +614,6 @@ func (mod *Module) deps(ctx DepsContext) Deps {
}
-func (ctx *moduleContextImpl) baseModuleName() string {
- return ctx.mod.ModuleBase.BaseModuleName()
-}
-
-func (ctx *moduleContextImpl) CrateName() string {
- return ctx.mod.CrateName()
-}
-
type dependencyTag struct {
blueprint.BaseDependencyTag
name string
@@ -811,11 +810,7 @@ func libNameFromFilePath(filepath android.Path) string {
func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) {
ctx := &depsContext{
BottomUpMutatorContext: actx,
- moduleContextImpl: moduleContextImpl{
- mod: mod,
- },
}
- ctx.ctx = ctx
deps := mod.deps(ctx)
commonDepVariations := []blueprint.Variation{}
@@ -862,19 +857,10 @@ func BeginMutator(ctx android.BottomUpMutatorContext) {
}
}
-type baseModuleContext struct {
- android.BaseModuleContext
- moduleContextImpl
-}
-
func (mod *Module) beginMutator(actx android.BottomUpMutatorContext) {
ctx := &baseModuleContext{
BaseModuleContext: actx,
- moduleContextImpl: moduleContextImpl{
- mod: mod,
- },
}
- ctx.ctx = ctx
mod.begin(ctx)
}