/** * @name Test for delegates */ import csharp from DelegateType d where d.hasQualifiedName("Delegates.FooDelegate") and d.getReturnType() instanceof DoubleType and d.getParameter(0).hasName("param") and d.getParameter(0).isRef() and d.getParameter(0).getType() instanceof StringType and d.getParameter(1).getName() = "condition" and d.getParameter(1).isOut() and d.getParameter(1).getType() instanceof BoolType and d.getParameter(2).hasName("args") and d.getParameter(2).isParams() and d.getParameter(2).getType().(ArrayType).getElementType() instanceof StringType select d, d.getAParameter().getType().toString()