rust: Add common interface for binaries
Structs embedding binaryDecorator (rust_test, rust_benchmark, rust_fuzz) are binaries as well, but won't pass checks against *binaryDecorator, such as the check in StaticExecutable(). Add a binaryInterface that can be checked instead to simplify these checks and ensure we catch all binaries. Bug: 170672854 Test: rust_test, rust_benchmark return true StaticallyLinked Change-Id: I2373d3663373a6977260785602a02d39a41320fe
This commit is contained in:
@@ -31,6 +31,11 @@ type BinaryCompilerProperties struct {
|
||||
Static_executable *bool `android:"arch_variant"`
|
||||
}
|
||||
|
||||
type binaryInterface interface {
|
||||
binary() bool
|
||||
staticallyLinked() bool
|
||||
}
|
||||
|
||||
type binaryDecorator struct {
|
||||
*baseCompiler
|
||||
stripper Stripper
|
||||
@@ -155,3 +160,11 @@ func (binary *binaryDecorator) stdLinkage(ctx *depsContext) RustLinkage {
|
||||
}
|
||||
return binary.baseCompiler.stdLinkage(ctx)
|
||||
}
|
||||
|
||||
func (binary *binaryDecorator) binary() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (binary *binaryDecorator) staticallyLinked() bool {
|
||||
return Bool(binary.Properties.Static_executable)
|
||||
}
|
||||
|
Reference in New Issue
Block a user