"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "interprocedural_analyses/taint/forwardAnalysis.ml" between
pyre-check-0.0.54.tar.gz and pyre-check-0.0.55.tar.gz

About: Pyre is a performant type checker for Python (ships with Pysa, a security focused static analysis tool).

forwardAnalysis.ml  (pyre-check-0.0.54):forwardAnalysis.ml  (pyre-check-0.0.55)
skipping to change at line 592 skipping to change at line 592
location location
(Ast.Transform.sanitize_expression expression |> Expression.show ) (Ast.Transform.sanitize_expression expression |> Expression.show )
(Resolution.resolve_expression_to_type resolution expression |> Type.show) (Resolution.resolve_expression_to_type resolution expression |> Type.show)
| _ -> () | _ -> ()
end; end;
match AccessPath.get_global ~resolution callee, Node.value callee with match AccessPath.get_global ~resolution callee, Node.value callee with
| Some global, _ -> ( | Some global, _ -> (
let targets = Interprocedural.CallResolution.get_global_targets ~res olution global in let targets = Interprocedural.CallResolution.get_global_targets ~res olution global in
match targets with match targets with
| Interprocedural.CallResolution.GlobalTargets targets -> | Interprocedural.CallResolution.GlobalTargets targets ->
(* If we get a callable class as a global target, the callee is
the implicit. *)
let arguments =
match targets with
| (_, Some _) :: _ -> { Call.Argument.name = None; value = cal
lee } :: arguments
| _ -> arguments
in
apply_call_targets ~resolution ~callee location arguments state targets apply_call_targets ~resolution ~callee location arguments state targets
| Interprocedural.CallResolution.ConstructorTargets { constructor_ta rgets; callee } -> | Interprocedural.CallResolution.ConstructorTargets { constructor_ta rgets; callee } ->
analyze_constructor_call analyze_constructor_call
~resolution ~resolution
~location ~location
~arguments ~arguments
~callee ~callee
~state ~state
~constructor_targets ) ~constructor_targets )
| None, Name (Name.Attribute { base = receiver; attribute = method_name; _ }) -> | None, Name (Name.Attribute { base = receiver; attribute = method_name; _ }) ->
 End of changes. 1 change blocks. 
0 lines changed or deleted 8 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)