2795: Use dummy value for macro file in bulitin macros r=matklad a=edwin0cheng

This PR skip the actual line and column computation for `MacroFile` and return a dummy value instead.

Related to #2794



Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
This commit is contained in:
bors[bot] 2020-01-11 20:13:48 +00:00 committed by GitHub
commit 7c1af25b22
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -62,8 +62,13 @@ register_builtin! {
}
fn to_line_number(db: &dyn AstDatabase, file: HirFileId, pos: TextUnit) -> usize {
// FIXME: Use expansion info
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 mut line_num = 1;
@ -150,8 +155,11 @@ fn option_env_expand(
}
fn to_col_number(db: &dyn AstDatabase, file: HirFileId, pos: TextUnit) -> usize {
// FIXME: Use expansion info
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 pos = pos.to_usize();