Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2edfa15

Browse files
committed
Reduce size of stubDefaultArguments predicate
1 parent e93736f commit 2edfa15

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

csharp/ql/src/Stubs/Stubs.qll

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -628,13 +628,18 @@ private string stubParameters(Parameterizable p) {
628628
)
629629
}
630630

631-
private string stubDefaultArguments(Parameterizable p) {
632-
result =
633-
concat(int i, Parameter param |
634-
param = p.getParameter(i) and not param.getType() instanceof ArglistType
635-
|
636-
"default(" + stubClassName(param.getType()) + ")", ", " order by i
637-
)
631+
private string stubDefaultArguments(Constructor baseCtor) {
632+
exists(Constructor c |
633+
baseCtor = getBaseConstructor(c.getDeclaringType()) and
634+
baseCtor.getNumberOfParameters() > 0 and
635+
not c.isStatic() and
636+
result =
637+
concat(int i, Parameter param |
638+
param = baseCtor.getParameter(i) and not param.getType() instanceof ArglistType
639+
|
640+
"default(" + stubClassName(param.getType()) + ")", ", " order by i
641+
)
642+
)
638643
}
639644

640645
private string stubParameterModifiers(Parameter p) {

0 commit comments

Comments
 (0)