Skip to content

Commit cd1c8a4

Browse files
Ignore Dependency Errors when Getting Documentation (#2374)
Addresses #2144 by ignoring dependency errors when getting documentation.
1 parent 466f059 commit cd1c8a4

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

wasm/src/debug_service.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ pub fn init_debugger(
232232
entry: Option<String>,
233233
) -> Result<Debugger, Vec<Error>> {
234234
let (source_map, capabilities, language_features, package_store, user_code_dependencies) =
235-
into_qsc_args(program, entry)
235+
into_qsc_args(program, entry, false)
236236
.map_err(|e| e.into_iter().map(Into::into).collect::<Vec<_>>())?;
237237

238238
Debugger::new(

wasm/src/lib.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ pub fn get_qir(program: ProgramConfig) -> Result<String, String> {
6363
get_qir_from_openqasm(&sources, capabilities)
6464
} else {
6565
let (source_map, capabilities, language_features, store, deps) =
66-
into_qsc_args(program, None).map_err(compile_errors_into_qsharp_errors_json)?;
66+
into_qsc_args(program, None, false).map_err(compile_errors_into_qsharp_errors_json)?;
6767

6868
get_qir_from_qsharp(
6969
source_map,
@@ -103,7 +103,7 @@ pub fn get_estimates(program: ProgramConfig, expr: &str, params: &str) -> Result
103103
get_estimates_from_openqasm(&sources, capabilities, params)
104104
} else {
105105
let (source_map, capabilities, language_features, store, deps) =
106-
into_qsc_args(program, Some(expr.into())).map_err(|mut e| {
106+
into_qsc_args(program, Some(expr.into()), false).map_err(|mut e| {
107107
// Wrap in `interpret::Error` to match the error type from `Interpreter::new` below
108108
qsc::interpret::Error::from(e.pop().expect("expected at least one error"))
109109
.to_string()
@@ -157,7 +157,7 @@ pub fn get_circuit(
157157
serde_wasm_bindgen::to_value(&circuit).map_err(|e| e.to_string())
158158
} else {
159159
let (source_map, capabilities, language_features, store, deps) =
160-
into_qsc_args(program, None).map_err(compile_errors_into_qsharp_errors_json)?;
160+
into_qsc_args(program, None, false).map_err(compile_errors_into_qsharp_errors_json)?;
161161

162162
let (package_type, entry_point) = match operation {
163163
Some(p) => {
@@ -269,7 +269,7 @@ pub fn get_hir(
269269
#[wasm_bindgen]
270270
pub fn get_rir(program: ProgramConfig) -> Result<Vec<String>, String> {
271271
let (source_map, capabilities, language_features, store, deps) =
272-
into_qsc_args(program, None).map_err(compile_errors_into_qsharp_errors_json)?;
272+
into_qsc_args(program, None, false).map_err(compile_errors_into_qsharp_errors_json)?;
273273

274274
qsc::codegen::qir::get_rir(
275275
source_map,
@@ -528,7 +528,7 @@ pub fn runWithPauliNoise(
528528
Ok(true)
529529
} else {
530530
let (source_map, capabilities, language_features, store, deps) =
531-
into_qsc_args(program, Some(expr.into())).map_err(|mut e| {
531+
into_qsc_args(program, Some(expr.into()), false).map_err(|mut e| {
532532
// Wrap in `interpret::Error` and `JsError` to match the error type
533533
// `run_internal_with_features` below
534534
JsError::from(qsc::interpret::Error::from(
@@ -621,7 +621,7 @@ serializable_type! {
621621
pub fn generate_docs(additional_program: Option<ProgramConfig>) -> Vec<IDocFile> {
622622
let docs = if let Some(additional_program) = additional_program {
623623
let Ok((source_map, capabilities, language_features, package_store, dependencies)) =
624-
into_qsc_args(additional_program, None)
624+
into_qsc_args(additional_program, None, true)
625625
else {
626626
// Can't generate docs if building dependencies failed
627627
return Vec::new();

wasm/src/project_system.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,7 @@ impl From<PackageInfo> for qsc_project::PackageInfo {
399399
pub(crate) fn into_qsc_args(
400400
program: ProgramConfig,
401401
entry: Option<String>,
402+
ignore_dependency_errors: bool,
402403
) -> Result<
403404
(
404405
qsc::SourceMap,
@@ -420,7 +421,7 @@ pub(crate) fn into_qsc_args(
420421
// for building the user code.
421422
let buildable_program = BuildableProgram::new(capabilities, pkg_graph);
422423

423-
if !buildable_program.dependency_errors.is_empty() {
424+
if !ignore_dependency_errors && !buildable_program.dependency_errors.is_empty() {
424425
return Err(buildable_program.dependency_errors);
425426
}
426427

0 commit comments

Comments
 (0)