Use dummy value for macro file in bulitin macros

This commit is contained in:
Edwin Cheng 2020-01-11 16:37:42 +08:00
parent a9ba32e2e6
commit 9f65ae20c2

View file

@ -62,8 +62,13 @@ register_builtin! {
} }
fn to_line_number(db: &dyn AstDatabase, file: HirFileId, pos: TextUnit) -> usize { fn to_line_number(db: &dyn AstDatabase, file: HirFileId, pos: TextUnit) -> usize {
// FIXME: Use expansion info
let file_id = file.original_file(db); let file_id = file.original_file(db);
// FIXME: if the file is coming from macro, we return a dummy value for now.
if file.call_node(db).map(|it| it.file_id != file_id.into()).unwrap_or(true) {
return 0;
}
let text = db.file_text(file_id); let text = db.file_text(file_id);
let mut line_num = 1; let mut line_num = 1;
@ -150,8 +155,11 @@ fn option_env_expand(
} }
fn to_col_number(db: &dyn AstDatabase, file: HirFileId, pos: TextUnit) -> usize { fn to_col_number(db: &dyn AstDatabase, file: HirFileId, pos: TextUnit) -> usize {
// FIXME: Use expansion info
let file_id = file.original_file(db); let file_id = file.original_file(db);
// FIXME: if the file is coming from macro, we return a dummy value for now.
if file.call_node(db).map(|it| it.file_id != file_id.into()).unwrap_or(true) {
return 0;
}
let text = db.file_text(file_id); let text = db.file_text(file_id);
let pos = pos.to_usize(); let pos = pos.to_usize();