// Copyright 2023 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // DO NOT EDIT (use 'go test -v -update-expected' instead.) // See cmd/compile/internal/inline/inlheur/testdata/props/README.txt // for more information on the format of this file. // package params // acrosscall.go T_feeds_indirect_call_via_call_toplevel 19 0 1 // ParamFlags // 0 ParamFeedsIndirectCall // // {"Flags":0,"ParamFlags":[8],"ResultFlags":null} // callsite: acrosscall.go:20:12|0 flagstr "" flagval 0 score 60 mask 0 maskstr "" // // func T_feeds_indirect_call_via_call_toplevel(f func(int)) { callsparam(f) } // acrosscall.go T_feeds_indirect_call_via_call_conditional 31 0 1 // ParamFlags // 0 ParamMayFeedIndirectCall // // {"Flags":0,"ParamFlags":[16],"ResultFlags":null} // callsite: acrosscall.go:33:13|0 flagstr "" flagval 0 score 60 mask 0 maskstr "" // // func T_feeds_indirect_call_via_call_conditional(f func(int)) { if G != 101 { callsparam(f) } } // acrosscall.go T_feeds_conditional_indirect_call_via_call_toplevel 45 0 1 // ParamFlags // 0 ParamMayFeedIndirectCall // // {"Flags":0,"ParamFlags":[16],"ResultFlags":null} // callsite: acrosscall.go:46:23|0 flagstr "" flagval 0 score 64 mask 0 maskstr "" // // func T_feeds_conditional_indirect_call_via_call_toplevel(f func(int)) { callsparamconditional(f) } // acrosscall.go T_feeds_if_via_call 57 0 1 // ParamFlags // 0 ParamFeedsIfOrSwitch // // {"Flags":0,"ParamFlags":[32],"ResultFlags":null} // callsite: acrosscall.go:58:9|0 flagstr "" flagval 0 score 8 mask 0 maskstr "" // // func T_feeds_if_via_call(x int) { feedsif(x) } // acrosscall.go T_feeds_if_via_call_conditional 69 0 1 // ParamFlags // 0 ParamMayFeedIfOrSwitch // // {"Flags":0,"ParamFlags":[64],"ResultFlags":null} // callsite: acrosscall.go:71:10|0 flagstr "" flagval 0 score 8 mask 0 maskstr "" // // func T_feeds_if_via_call_conditional(x int) { if G != 101 { feedsif(x) } } // acrosscall.go T_feeds_conditional_if_via_call 83 0 1 // ParamFlags // 0 ParamMayFeedIfOrSwitch // // {"Flags":0,"ParamFlags":[64],"ResultFlags":null} // callsite: acrosscall.go:84:20|0 flagstr "" flagval 0 score 12 mask 0 maskstr "" // // func T_feeds_conditional_if_via_call(x int) { feedsifconditional(x) } // acrosscall.go T_multifeeds1 97 0 1 // ParamFlags // 0 ParamFeedsIndirectCall|ParamMayFeedIndirectCall // 1 ParamNoInfo // // {"Flags":0,"ParamFlags":[24,0],"ResultFlags":null} // callsite: acrosscall.go:98:12|0 flagstr "" flagval 0 score 60 mask 0 maskstr "" // callsite: acrosscall.go:99:23|1 flagstr "" flagval 0 score 64 mask 0 maskstr "" // // func T_multifeeds1(f1, f2 func(int)) { callsparam(f1) callsparamconditional(f1) } // acrosscall.go T_acrosscall_returnsconstant 110 0 1 // ResultFlags // 0 ResultAlwaysSameConstant // // {"Flags":0,"ParamFlags":null,"ResultFlags":[8]} // callsite: acrosscall.go:111:24|0 flagstr "" flagval 0 score 2 mask 0 maskstr "" // // func T_acrosscall_returnsconstant() int { return returnsconstant() } // acrosscall.go T_acrosscall_returnsmem 122 0 1 // ResultFlags // 0 ResultIsAllocatedMem // // {"Flags":0,"ParamFlags":null,"ResultFlags":[2]} // callsite: acrosscall.go:123:19|0 flagstr "" flagval 0 score 2 mask 0 maskstr "" // // func T_acrosscall_returnsmem() *int { return returnsmem() } // acrosscall.go T_acrosscall_returnscci 134 0 1 // ResultFlags // 0 ResultIsConcreteTypeConvertedToInterface // // {"Flags":0,"ParamFlags":null,"ResultFlags":[4]} // callsite: acrosscall.go:135:19|0 flagstr "" flagval 0 score 7 mask 0 maskstr "" // // func T_acrosscall_returnscci() I { return returnscci() } // acrosscall.go T_acrosscall_multiret 144 0 1 // // {"Flags":0,"ParamFlags":[0],"ResultFlags":[0]} // callsite: acrosscall.go:146:25|0 flagstr "" flagval 0 score 2 mask 0 maskstr "" // // func T_acrosscall_multiret(q int) int { if q != G { return returnsconstant() } return 0 } // acrosscall.go T_acrosscall_multiret2 158 0 1 // // {"Flags":0,"ParamFlags":[0],"ResultFlags":[0]} // callsite: acrosscall.go:160:25|0 flagstr "" flagval 0 score 2 mask 0 maskstr "" // callsite: acrosscall.go:162:25|1 flagstr "" flagval 0 score 2 mask 0 maskstr "" // // func T_acrosscall_multiret2(q int) int { if q == G { return returnsconstant() } else { return returnsconstant() } } func callsparam(f func(int)) { f(2) } func callsparamconditional(f func(int)) { if G != 101 { f(2) } } func feedsif(x int) int { if x != 101 { return 42 } return 43 } func feedsifconditional(x int) int { if G != 101 { if x != 101 { return 42 } } return 43 } func returnsconstant() int { return 42 } func returnsmem() *int { return new(int) } func returnscci() I { var q Q return q } type I interface { Foo() } type Q int func (q Q) Foo() { } var G int