@@ -130,12 +130,41 @@ final class ThrownExceptionNotInFunctionTest extends AnyFunSuite with AnalyzerTe
130
130
| f2(identity)(identity)
131
131
| f3(identity)(42)(identity)
132
132
| f4(42, 42, identity)
133
+ |
134
+ | class A {
135
+ | def f1(x1: Int => Int, x2: String => String) = ???
136
+ | def f2(x1: Int => Int)(x2: String => String) = ???
137
+ | def f3(x1: Int => Int)(x2: Int)(x3: String => String) = ???
138
+ | def f4(x1: Int, x2: Int, x3: String => String) = ???
139
+ | }
140
+ | final val a = new A
141
+ |
142
+ | //not ok
143
+ | a.f1(throw ex, throw ex)
144
+ | a.f1(identity, throw ex)
145
+ | a.f1(throw ex, identity)
146
+ |
147
+ | a.f2(throw ex)(throw ex)
148
+ | a.f2(identity)(throw ex)
149
+ | a.f2(throw ex)(identity)
150
+ |
151
+ | a.f3(throw ex)(42)(throw ex)
152
+ | a.f3(throw ex)(42)(identity)
153
+ | a.f3(identity)(42)(throw ex)
154
+ |
155
+ | a.f4(42, 42, throw ex)
156
+ |
157
+ | //ok
158
+ | a.f1(identity, identity)
159
+ | a.f2(identity)(identity)
160
+ | a.f3(identity)(42)(identity)
161
+ | a.f4(42, 42, identity)
133
162
|}""" .stripMargin
134
163
)
135
164
}
136
165
137
166
test(" Testing constructor invocation" ) {
138
- assertErrors(1 ,
167
+ assertErrors(7 ,
139
168
// language=Scala
140
169
s """
141
170
|object whatever {
@@ -144,10 +173,20 @@ final class ThrownExceptionNotInFunctionTest extends AnyFunSuite with AnalyzerTe
144
173
| class A(f: String => Int)
145
174
|
146
175
| new A(throw ex)
176
+ |
177
+ | class B(f: String => Int)(g: Int => String)
178
+ |
179
+ | new B(throw ex)(identity)
180
+ | new B(identity)(throw ex)
181
+ | new B(throw ex)(throw ex)
182
+ |
183
+ | class C(f: String => Int, g: Int => String)
184
+ |
185
+ | new C(throw ex, identity)
186
+ | new C(identity, throw ex)
187
+ | new C(throw ex, throw ex)
147
188
|}
148
189
| """ .stripMargin
149
190
)
150
191
}
151
-
152
-
153
192
}
0 commit comments