diff options
author | 2021-10-06 10:45:34 -0700 | |
---|---|---|
committer | 2021-10-06 19:39:06 +0000 | |
commit | af96f99d83c8ee0dfc1b880bd7a0a6d443b94627 (patch) | |
tree | 77c86ced45676bb2c4a5412ab7be9d9749c8a34e /rust/project_json.go | |
parent | f79f4c319988051f21dfa815f0d8eef3f4aca70b (diff) |
Include proc macro crates in rust-project.json
These crates were skipped before, leaving dependencies missing in
rust-project.json. Include them and mark them as `"is_proc_macro": true`
so that rust-analyzer can process them.
Fixes: 202290038
Test: SOONG_GEN_RUST_PROJECT=1 m nothing
Change-Id: Ia80e6f5e2f56a76608ba057075600e6b4424281b
Diffstat (limited to 'rust/project_json.go')
-rw-r--r-- | rust/project_json.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rust/project_json.go b/rust/project_json.go index faa7db5f7..ae48312b5 100644 --- a/rust/project_json.go +++ b/rust/project_json.go @@ -51,6 +51,7 @@ type rustProjectCrate struct { Deps []rustProjectDep `json:"deps"` Cfg []string `json:"cfg"` Env map[string]string `json:"env"` + ProcMacro bool `json:"is_proc_macro"` } type rustProjectJson struct { @@ -208,6 +209,8 @@ func isModuleSupported(ctx android.SingletonContext, module android.Module) (*Mo comp = c.baseCompiler case *testDecorator: comp = c.binaryDecorator.baseCompiler + case *procMacroDecorator: + comp = c.baseCompiler default: return nil, nil, false } @@ -224,6 +227,8 @@ func (singleton *projectGeneratorSingleton) addCrate(ctx android.SingletonContex return 0, false } + _, procMacro := rModule.compiler.(*procMacroDecorator) + crate := rustProjectCrate{ DisplayName: rModule.Name(), RootModule: rootModule, @@ -231,6 +236,7 @@ func (singleton *projectGeneratorSingleton) addCrate(ctx android.SingletonContex Deps: make([]rustProjectDep, 0), Cfg: make([]string, 0), Env: make(map[string]string), + ProcMacro: procMacro, } if comp.CargoOutDir().Valid() { |