aboutsummaryrefslogtreecommitdiffstats
path: root/android/defaults.go
diff options
context:
space:
mode:
Diffstat (limited to 'android/defaults.go')
-rw-r--r--android/defaults.go34
1 files changed, 19 insertions, 15 deletions
diff --git a/android/defaults.go b/android/defaults.go
index 84f0a3db..3ec3ff42 100644
--- a/android/defaults.go
+++ b/android/defaults.go
@@ -29,16 +29,16 @@ type defaultsProperties struct {
Defaults []string
}
-type DefaultableModule struct {
+type DefaultableModuleBase struct {
defaultsProperties defaultsProperties
defaultableProperties []interface{}
}
-func (d *DefaultableModule) defaults() *defaultsProperties {
+func (d *DefaultableModuleBase) defaults() *defaultsProperties {
return &d.defaultsProperties
}
-func (d *DefaultableModule) setProperties(props []interface{}) {
+func (d *DefaultableModuleBase) setProperties(props []interface{}) {
d.defaultableProperties = props
}
@@ -48,17 +48,21 @@ type Defaultable interface {
applyDefaults(TopDownMutatorContext, []Defaults)
}
-var _ Defaultable = (*DefaultableModule)(nil)
+type DefaultableModule interface {
+ Module
+ Defaultable
+}
-func InitDefaultableModule(module Module, d Defaultable) {
+var _ Defaultable = (*DefaultableModuleBase)(nil)
- d.setProperties(module.GetProperties())
+func InitDefaultableModule(module DefaultableModule) {
+ module.(Defaultable).setProperties(module.(Module).GetProperties())
- module.AddProperties(d.defaults())
+ module.AddProperties(module.defaults())
}
-type DefaultsModule struct {
- DefaultableModule
+type DefaultsModuleBase struct {
+ DefaultableModuleBase
defaultProperties []interface{}
}
@@ -68,31 +72,31 @@ type Defaults interface {
properties() []interface{}
}
-func (d *DefaultsModule) isDefaults() bool {
+func (d *DefaultsModuleBase) isDefaults() bool {
return true
}
-func (d *DefaultsModule) properties() []interface{} {
+func (d *DefaultsModuleBase) properties() []interface{} {
return d.defaultableProperties
}
-func InitDefaultsModule(module Module, d Defaults) {
+func InitDefaultsModule(module DefaultableModule) {
module.AddProperties(
&hostAndDeviceProperties{},
&commonProperties{},
&variableProperties{})
InitArchModule(module)
- InitDefaultableModule(module, d)
+ InitDefaultableModule(module)
module.AddProperties(&module.base().nameProperties)
module.base().module = module
}
-var _ Defaults = (*DefaultsModule)(nil)
+var _ Defaults = (*DefaultsModuleBase)(nil)
-func (defaultable *DefaultableModule) applyDefaults(ctx TopDownMutatorContext,
+func (defaultable *DefaultableModuleBase) applyDefaults(ctx TopDownMutatorContext,
defaultsList []Defaults) {
for _, defaults := range defaultsList {