-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrules_java.io.DataOutputStream.json
More file actions
1 lines (1 loc) · 2.99 KB
/
rules_java.io.DataOutputStream.json
File metadata and controls
1 lines (1 loc) · 2.99 KB
1
{"consistent_output": "correct_usage_1(\"java.io.DataOutputStream\", label1, dos_var, in_meth) :- \n call(\"java.io.DataOutputStream\", label1, dos_var, in_meth), \n post_dom(label1, in_meth, label_write, in_meth), \n post_dom(label_write, in_meth, label_close, in_meth).\n\ncorrect_usage_2(\"java.io.DataOutputStream\", label1, dos_var, in_meth) :- \n call(\"java.io.DataOutputStream\", label1, dos_var, in_meth), \n flow_reach(label_try, in_meth, label1, in_meth), \n flow_reach(label1, in_meth, label_catch_begin, in_meth).\n\ncorrect_write_usage(\"java.io.DataOutputStream.write*\", label_write, dos_var_write, in_meth) :-\n call(\"java.io.DataOutputStream.write*\", label_write, dos_var_write, in_meth), \n dom(label_write, in_meth, label1, in_meth).\n\ncorrect_write_condition(label_write, dos_var_write, in_meth) :- \n actual_argument(_, _, label_write, _, in_meth), \n variable(dos_var_write, in_meth).\n\ncorrect_close_usage(\"java.io.DataOutputStream.close\", label_close, dos_var_close, in_meth) :-\n call(\"java.io.DataOutputStream.close\", label_close, dos_var_close, in_meth), \n dom(label_close, in_meth, label_write, in_meth).\n\ncorrect_try_usage(\"try\", label_try, in_meth) :-\n try(label_try, _, in_meth).\n\ncorrect_catch_usage(\"catch\", label_catch_begin, in_meth) :-\n catch(_, _, label_catch_begin, _, _, in_meth).\n\nv_condition(dos_var, label1, in_meth) :- \n correct_write_condition(_, dos_var, in_meth);\n correct_close_usage(_, label1, dos_var, in_meth).", "all_outputs": ["correct_usage_1(\"java.io.DataOutputStream\", label1, dos_var, in_meth) :- \n call(\"java.io.DataOutputStream\", label1, dos_var, in_meth), \n post_dom(label1, in_meth, label_write, in_meth), \n post_dom(label_write, in_meth, label_close, in_meth).\n\ncorrect_usage_2(\"java.io.DataOutputStream\", label1, dos_var, in_meth) :- \n call(\"java.io.DataOutputStream\", label1, dos_var, in_meth), \n flow_reach(label_try, in_meth, label1, in_meth), \n flow_reach(label1, in_meth, label_catch_begin, in_meth).\n\ncorrect_write_usage(\"java.io.DataOutputStream.write*\", label_write, dos_var_write, in_meth) :-\n call(\"java.io.DataOutputStream.write*\", label_write, dos_var_write, in_meth), \n dom(label_write, in_meth, label1, in_meth).\n\ncorrect_write_condition(label_write, dos_var_write, in_meth) :- \n actual_argument(_, _, label_write, _, in_meth), \n variable(dos_var_write, in_meth).\n\ncorrect_close_usage(\"java.io.DataOutputStream.close\", label_close, dos_var_close, in_meth) :-\n call(\"java.io.DataOutputStream.close\", label_close, dos_var_close, in_meth), \n dom(label_close, in_meth, label_write, in_meth).\n\ncorrect_try_usage(\"try\", label_try, in_meth) :-\n try(label_try, _, in_meth).\n\ncorrect_catch_usage(\"catch\", label_catch_begin, in_meth) :-\n catch(_, _, label_catch_begin, _, _, in_meth).\n\nv_condition(dos_var, label1, in_meth) :- \n correct_write_condition(_, dos_var, in_meth);\n correct_close_usage(_, label1, dos_var, in_meth)."]}