turbopack_core/issue/
code_gen.rs1use anyhow::Result;
2use async_trait::async_trait;
3use turbo_tasks::ResolvedVc;
4use turbo_tasks_fs::FileSystemPath;
5
6use super::{Issue, IssueSeverity, IssueSource, IssueStage, StyledString};
7
8#[turbo_tasks::value(shared)]
9pub struct CodeGenerationIssue {
10 pub severity: IssueSeverity,
11 pub path: FileSystemPath,
12 pub title: ResolvedVc<StyledString>,
13 pub message: ResolvedVc<StyledString>,
14 pub source: Option<IssueSource>,
16}
17
18#[async_trait]
19#[turbo_tasks::value_impl]
20impl Issue for CodeGenerationIssue {
21 fn severity(&self) -> IssueSeverity {
22 self.severity
23 }
24
25 async fn file_path(&self) -> Result<FileSystemPath> {
26 Ok(self.path.clone())
27 }
28
29 fn stage(&self) -> IssueStage {
30 IssueStage::CodeGen
31 }
32
33 async fn title(&self) -> Result<StyledString> {
34 Ok((*self.title.await?).clone())
35 }
36
37 async fn description(&self) -> Result<Option<StyledString>> {
38 Ok(Some((*self.message.await?).clone()))
39 }
40
41 fn source(&self) -> Option<IssueSource> {
42 self.source
43 }
44}