Skip to content

Commit 5e7f45d

Browse files
mheiberfacebook-github-bot
authored andcommitted
fix bug in safe abstract logger
Summary: Correctly propagate information about the current method in our logger for safe abstract, which we use for collecting stats. Fixes the bug described in the previous diff, {D71195943} Reviewed By: vassilmladenov Differential Revision: D71195942 fbshipit-source-id: 28db25444200f38e6866d3eaba5c92de001af024
1 parent 879dbda commit 5e7f45d

File tree

5 files changed

+4
-6
lines changed

5 files changed

+4
-6
lines changed

hphp/hack/src/typing/tast_check/safe_abstract/safe_abstract_logger.ml

+2-2
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ let handler =
124124
let infos = (collect_infos ~current_method:None)#on_fun_def env f in
125125
log_infos env infos
126126

127-
method! at_class_ env c =
128-
let infos = (collect_infos ~current_method:None)#on_class_ env c in
127+
method! at_method_ env m =
128+
let infos = (collect_infos ~current_method:(Some m))#on_method_ env m in
129129
log_infos env infos
130130
end
131131

hphp/hack/test/typecheck/safe_abstract/safe_abstract_logging_summarized/safe_abstract_logging_consts.php.class_pointer.exp

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
safe_abstract_logger:{"filename":"safe_abstract_logging_consts.php","safe_news":0,"unsafe_news":0,"safe_calls":0,"unsafe_calls":0,"safe_const_accesses":0,"unsafe_const_accesses":1}
2-
safe_abstract_logger:{"filename":"safe_abstract_logging_consts.php","safe_news":0,"unsafe_news":0,"safe_calls":0,"unsafe_calls":0,"safe_const_accesses":0,"unsafe_const_accesses":1}
32
WARN: File "safe_abstract_logging_consts.php", line 18, characters 3-13:
43
Unsafe class constant access: C1::abs might not exist because the receiver might be abstract. (Warn[12018])
54
File "safe_abstract_logging_consts.php", line 17, characters 27-28:

hphp/hack/test/typecheck/safe_abstract/safe_abstract_logging_summarized/safe_abstract_logging_consts.php.exp

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
safe_abstract_logger:{"filename":"safe_abstract_logging_consts.php","safe_news":0,"unsafe_news":0,"safe_calls":0,"unsafe_calls":0,"safe_const_accesses":0,"unsafe_const_accesses":1}
2-
safe_abstract_logger:{"filename":"safe_abstract_logging_consts.php","safe_news":0,"unsafe_news":0,"safe_calls":0,"unsafe_calls":0,"safe_const_accesses":0,"unsafe_const_accesses":1}
32
WARN: File "safe_abstract_logging_consts.php", line 18, characters 3-13:
43
Unsafe class constant access: C1::abs might not exist because the receiver might be abstract. (Warn[12018])
54
File "safe_abstract_logging_consts.php", line 17, characters 27-28:

hphp/hack/test/typecheck/safe_abstract/safe_abstract_logging_verbose/safe_abstract_logging_consts.php.class_pointer.exp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
safe_abstract_logger:{"pos":"(Relative_path.Dummy, \"safe_abstract_logging_consts.php\") 16:2","use_kind":"const_access","is_safe":false}
22
safe_abstract_logger:{"pos":"(Relative_path.Dummy, \"safe_abstract_logging_consts.php\") 17:2","use_kind":"const_access","is_safe":true}
3-
safe_abstract_logger:{"pos":"(Relative_path.Dummy, \"safe_abstract_logging_consts.php\") 7:4","use_kind":"const_access","is_safe":false}
3+
safe_abstract_logger:{"pos":"(Relative_path.Dummy, \"safe_abstract_logging_consts.php\") 7:4","use_kind":"const_access","is_safe":true}
44
WARN: File "safe_abstract_logging_consts.php", line 16, characters 3-13:
55
Unsafe class constant access: C1::abs might not exist because the receiver might be abstract. (Warn[12018])
66
File "safe_abstract_logging_consts.php", line 15, characters 24-25:

hphp/hack/test/typecheck/safe_abstract/safe_abstract_logging_verbose/safe_abstract_logging_consts.php.exp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
safe_abstract_logger:{"pos":"(Relative_path.Dummy, \"safe_abstract_logging_consts.php\") 16:2","use_kind":"const_access","is_safe":false}
22
safe_abstract_logger:{"pos":"(Relative_path.Dummy, \"safe_abstract_logging_consts.php\") 17:2","use_kind":"const_access","is_safe":true}
3-
safe_abstract_logger:{"pos":"(Relative_path.Dummy, \"safe_abstract_logging_consts.php\") 7:4","use_kind":"const_access","is_safe":false}
3+
safe_abstract_logger:{"pos":"(Relative_path.Dummy, \"safe_abstract_logging_consts.php\") 7:4","use_kind":"const_access","is_safe":true}
44
WARN: File "safe_abstract_logging_consts.php", line 16, characters 3-13:
55
Unsafe class constant access: C1::abs might not exist because the receiver might be abstract. (Warn[12018])
66
File "safe_abstract_logging_consts.php", line 15, characters 24-25:

0 commit comments

Comments
 (0)