diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/MustFlow.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/MustFlow.qll index 904701144ca..b085440f6bc 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/MustFlow.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/MustFlow.qll @@ -31,6 +31,11 @@ abstract class MustFlowConfiguration extends string { */ abstract predicate isSink(Operand sink); + /** + * Holds if data flow through `instr` is prohibited. + */ + predicate isBarrier(Instruction instr) { none() } + /** * Holds if the additional flow step from `node1` to `node2` must be taken * into account in the analysis. @@ -48,18 +53,21 @@ abstract class MustFlowConfiguration extends string { */ final predicate hasFlowPath(MustFlowPathNode source, MustFlowPathSink sink) { this.isSource(source.getInstruction()) and - source.getASuccessor+() = sink + source.getASuccessor*() = sink } } /** Holds if `node` flows from a source. */ pragma[nomagic] private predicate flowsFromSource(Instruction node, MustFlowConfiguration config) { - config.isSource(node) - or - exists(Instruction mid | - step(mid, node, config) and - flowsFromSource(mid, pragma[only_bind_into](config)) + not config.isBarrier(node) and + ( + config.isSource(node) + or + exists(Instruction mid | + step(mid, node, config) and + flowsFromSource(mid, pragma[only_bind_into](config)) + ) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Inet.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Inet.qll index c0c4537b746..e75c38216f4 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Inet.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Inet.qll @@ -157,7 +157,7 @@ private class Getaddrinfo extends TaintFunction, ArrayFunction, RemoteFlowSource override predicate hasArrayWithNullTerminator(int bufParam) { bufParam in [0, 1] } override predicate hasRemoteFlowSource(FunctionOutput output, string description) { - output.isParameterDeref(3) and + output.isParameterDeref(3, 2) and description = "address returned by " + this.getName() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Send.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Send.qll index 16047b21183..f3c8226f90a 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Send.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Send.qll @@ -58,7 +58,7 @@ private class Send extends AliasFunction, ArrayFunction, SideEffectFunction, Rem override ParameterIndex getParameterSizeIndex(ParameterIndex i) { i = 1 and result = 2 } override predicate hasRemoteFlowSink(FunctionInput input, string description) { - input.isParameterDeref(1) and description = "buffer sent by " + this.getName() + input.isParameterDeref(1, 1) and description = "buffer sent by " + this.getName() } override predicate hasSocketInput(FunctionInput input) { input.isParameter(0) } diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/FunctionInputsAndOutputs.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/FunctionInputsAndOutputs.qll index 7fd36f26183..e7bcd1ec4bd 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/FunctionInputsAndOutputs.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/FunctionInputsAndOutputs.qll @@ -8,7 +8,7 @@ import semmle.code.cpp.Parameter private newtype TFunctionInput = TInParameter(ParameterIndex i) or - TInParameterDeref(ParameterIndex i) or + TInParameterDeref(ParameterIndex i, int indirectionIndex) { indirectionIndex = [1, 2] } or TInQualifierObject() or TInQualifierAddress() or TInReturnValueDeref() @@ -245,15 +245,18 @@ class InParameter extends FunctionInput, TInParameter { */ class InParameterDeref extends FunctionInput, TInParameterDeref { ParameterIndex index; + int indirectionIndex; - InParameterDeref() { this = TInParameterDeref(index) } + InParameterDeref() { this = TInParameterDeref(index, indirectionIndex) } override string toString() { result = "InParameterDeref " + index.toString() } /** Gets the zero-based index of the parameter. */ ParameterIndex getIndex() { result = index } - override predicate isParameterDeref(ParameterIndex i) { i = index } + override predicate isParameterDeref(ParameterIndex i, int indirection) { + i = index and indirectionIndex = indirection + } } /** @@ -321,10 +324,10 @@ class InReturnValueDeref extends FunctionInput, TInReturnValueDeref { } private newtype TFunctionOutput = - TOutParameterDeref(ParameterIndex i) or + TOutParameterDeref(ParameterIndex i, int indirectionIndex) { indirectionIndex = [1, 2] } or TOutQualifierObject() or TOutReturnValue() or - TOutReturnValueDeref() + TOutReturnValueDeref(int indirections) { indirections = [1, 2] } /** * An output from a function. This can be: @@ -498,17 +501,16 @@ class FunctionOutput extends TFunctionOutput { */ class OutParameterDeref extends FunctionOutput, TOutParameterDeref { ParameterIndex index; + int indirectionIndex; - OutParameterDeref() { this = TOutParameterDeref(index) } + OutParameterDeref() { this = TOutParameterDeref(index, indirectionIndex) } override string toString() { result = "OutParameterDeref " + index.toString() } ParameterIndex getIndex() { result = index } - override predicate isParameterDeref(ParameterIndex i) { i = index } - override predicate isParameterDeref(ParameterIndex i, int ind) { - this.isParameterDeref(i) and ind = 1 + i = index and ind = indirectionIndex } } @@ -572,4 +574,8 @@ class OutReturnValueDeref extends FunctionOutput, TOutReturnValueDeref { override string toString() { result = "OutReturnValueDeref" } override predicate isReturnValueDeref() { any() } + + override predicate isReturnValueDeref(int indirectionIndex) { + this = TOutReturnValueDeref(indirectionIndex) + } } diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/RangeAnalysis.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/RangeAnalysis.qll index 9a7e390082a..6bd7615d37b 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/RangeAnalysis.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/RangeAnalysis.qll @@ -17,9 +17,7 @@ private import semmle.code.cpp.valuenumbering.GlobalValueNumbering * `upper` is true, and can be traced back to a guard represented by `reason`. */ predicate bounded(Expr e, Bound b, float delta, boolean upper, Reason reason) { - exists(SemanticExprConfig::Expr semExpr | - semExpr.getUnconverted().getUnconvertedResultExpression() = e - | + exists(SemanticExprConfig::Expr semExpr | semExpr.getUnconvertedResultExpression() = e | semBounded(semExpr, b, delta, upper, reason) ) } @@ -30,9 +28,7 @@ predicate bounded(Expr e, Bound b, float delta, boolean upper, Reason reason) { * The `Expr` may be a conversion. */ predicate convertedBounded(Expr e, Bound b, float delta, boolean upper, Reason reason) { - exists(SemanticExprConfig::Expr semExpr | - semExpr.getConverted().getConvertedResultExpression() = e - | + exists(SemanticExprConfig::Expr semExpr | semExpr.getConvertedResultExpression() = e | semBounded(semExpr, b, delta, upper, reason) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/SimpleRangeAnalysis.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/SimpleRangeAnalysis.qll index 3716625656c..dc5e1a25f0e 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/SimpleRangeAnalysis.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/SimpleRangeAnalysis.qll @@ -100,7 +100,7 @@ predicate exprMightOverflowNegatively(Expr expr) { lowerBound(expr) < exprMinVal(expr) or exists(SemanticExprConfig::Expr semExpr | - semExpr.getUnconverted().getAst() = expr and + semExpr.getAst() = expr and ConstantStage::potentiallyOverflowingExpr(false, semExpr) and not ConstantStage::initialBounded(semExpr, _, _, false, _, _, _) ) @@ -126,7 +126,7 @@ predicate exprMightOverflowPositively(Expr expr) { upperBound(expr) > exprMaxVal(expr) or exists(SemanticExprConfig::Expr semExpr | - semExpr.getUnconverted().getAst() = expr and + semExpr.getAst() = expr and ConstantStage::potentiallyOverflowingExpr(true, semExpr) and not ConstantStage::initialBounded(semExpr, _, _, true, _, _, _) ) diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticCFG.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticCFG.qll index 333edc46b6e..5123434a35c 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticCFG.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticCFG.qll @@ -12,9 +12,6 @@ class SemBasicBlock extends Specific::BasicBlock { /** Holds if this block (transitively) dominates `otherblock`. */ final predicate bbDominates(SemBasicBlock otherBlock) { Specific::bbDominates(this, otherBlock) } - /** Holds if this block has dominance information. */ - final predicate hasDominanceInformation() { Specific::hasDominanceInformation(this) } - /** Gets an expression that is evaluated in this basic block. */ final SemExpr getAnExpr() { result.getBasicBlock() = this } diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticExpr.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticExpr.qll index 46a5c735ca0..a2905e185f1 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticExpr.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticExpr.qll @@ -4,6 +4,7 @@ private import Semantic private import SemanticExprSpecific::SemanticExprConfig as Specific +private import SemanticType /** * An language-neutral expression. @@ -241,8 +242,21 @@ class SemConvertExpr extends SemUnaryExpr { SemConvertExpr() { opcode instanceof Opcode::Convert } } +private import semmle.code.cpp.ir.IR as IR + +/** A conversion instruction which is guaranteed to not overflow. */ +private class SafeConversion extends IR::ConvertInstruction { + SafeConversion() { + exists(SemType tFrom, SemType tTo | + tFrom = getSemanticType(super.getUnary().getResultIRType()) and + tTo = getSemanticType(super.getResultIRType()) and + conversionCannotOverflow(tFrom, tTo) + ) + } +} + class SemCopyValueExpr extends SemUnaryExpr { - SemCopyValueExpr() { opcode instanceof Opcode::CopyValue } + SemCopyValueExpr() { opcode instanceof Opcode::CopyValue or this instanceof SafeConversion } } class SemNegateExpr extends SemUnaryExpr { diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticExprSpecific.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticExprSpecific.qll index a92361ece17..a51eb2678a9 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticExprSpecific.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticExprSpecific.qll @@ -12,87 +12,10 @@ private import semmle.code.cpp.ir.ValueNumbering module SemanticExprConfig { class Location = Cpp::Location; - /** A `ConvertInstruction` or a `CopyValueInstruction`. */ - private class Conversion extends IR::UnaryInstruction { - Conversion() { - this instanceof IR::CopyValueInstruction - or - this instanceof IR::ConvertInstruction - } - - /** Holds if this instruction converts a value of type `tFrom` to a value of type `tTo`. */ - predicate converts(SemType tFrom, SemType tTo) { - tFrom = getSemanticType(this.getUnary().getResultIRType()) and - tTo = getSemanticType(this.getResultIRType()) - } - } - - /** - * Gets a conversion-like instruction that consumes `op`, and - * which is guaranteed to not overflow. - */ - private IR::Instruction safeConversion(IR::Operand op) { - exists(Conversion conv, SemType tFrom, SemType tTo | - conv.converts(tFrom, tTo) and - conversionCannotOverflow(tFrom, tTo) and - conv.getUnaryOperand() = op and - result = conv - ) - } - - /** Holds if `i1 = i2` or if `i2` is a safe conversion that consumes `i1`. */ - private predicate idOrSafeConversion(IR::Instruction i1, IR::Instruction i2) { - not i1.getResultIRType() instanceof IR::IRVoidType and - ( - i1 = i2 - or - i2 = safeConversion(i1.getAUse()) and - i1.getBlock() = i2.getBlock() - ) - } - - module Equiv = QlBuiltins::EquivalenceRelation; - /** * The expressions on which we perform range analysis. */ - class Expr extends Equiv::EquivalenceClass { - /** Gets the n'th instruction in this equivalence class. */ - private IR::Instruction getInstruction(int n) { - result = - rank[n + 1](IR::Instruction instr, int i, IR::IRBlock block | - this = Equiv::getEquivalenceClass(instr) and block.getInstruction(i) = instr - | - instr order by i - ) - } - - /** Gets a textual representation of this element. */ - string toString() { result = this.getUnconverted().toString() } - - /** Gets the basic block of this expression. */ - IR::IRBlock getBlock() { result = this.getUnconverted().getBlock() } - - /** Gets the unconverted instruction associated with this expression. */ - IR::Instruction getUnconverted() { result = this.getInstruction(0) } - - /** - * Gets the final instruction associated with this expression. This - * represents the result after applying all the safe conversions. - */ - IR::Instruction getConverted() { - exists(int n | - result = this.getInstruction(n) and - not exists(this.getInstruction(n + 1)) - ) - } - - /** Gets the type of the result produced by this instruction. */ - IR::IRType getResultIRType() { result = this.getConverted().getResultIRType() } - - /** Gets the location of the source code for this expression. */ - Location getLocation() { result = this.getUnconverted().getLocation() } - } + class Expr = IR::Instruction; SemBasicBlock getExprBasicBlock(Expr e) { result = getSemanticBasicBlock(e.getBlock()) } @@ -139,12 +62,12 @@ module SemanticExprConfig { predicate stringLiteral(Expr expr, SemType type, string value) { anyConstantExpr(expr, type, value) and - expr.getUnconverted() instanceof IR::StringConstantInstruction + expr instanceof IR::StringConstantInstruction } predicate binaryExpr(Expr expr, Opcode opcode, SemType type, Expr leftOperand, Expr rightOperand) { exists(IR::BinaryInstruction instr | - instr = expr.getUnconverted() and + instr = expr and type = getSemanticType(instr.getResultIRType()) and leftOperand = getSemanticExpr(instr.getLeft()) and rightOperand = getSemanticExpr(instr.getRight()) and @@ -154,14 +77,14 @@ module SemanticExprConfig { } predicate unaryExpr(Expr expr, Opcode opcode, SemType type, Expr operand) { - exists(IR::UnaryInstruction instr | instr = expr.getUnconverted() | + exists(IR::UnaryInstruction instr | instr = expr | type = getSemanticType(instr.getResultIRType()) and operand = getSemanticExpr(instr.getUnary()) and // REVIEW: Merge the two operand types. opcode.toString() = instr.getOpcode().toString() ) or - exists(IR::StoreInstruction instr | instr = expr.getUnconverted() | + exists(IR::StoreInstruction instr | instr = expr | type = getSemanticType(instr.getResultIRType()) and operand = getSemanticExpr(instr.getSourceValue()) and opcode instanceof Opcode::Store @@ -170,13 +93,13 @@ module SemanticExprConfig { predicate nullaryExpr(Expr expr, Opcode opcode, SemType type) { exists(IR::LoadInstruction load | - load = expr.getUnconverted() and + load = expr and type = getSemanticType(load.getResultIRType()) and opcode instanceof Opcode::Load ) or exists(IR::InitializeParameterInstruction init | - init = expr.getUnconverted() and + init = expr and type = getSemanticType(init.getResultIRType()) and opcode instanceof Opcode::InitializeParameter ) @@ -199,8 +122,6 @@ module SemanticExprConfig { dominator.dominates(dominated) } - predicate hasDominanceInformation(BasicBlock block) { any() } - private predicate id(Cpp::Locatable x, Cpp::Locatable y) { x = y } private predicate idOf(Cpp::Locatable x, int y) = equivalenceRelation(id/2)(x, y) @@ -209,17 +130,7 @@ module SemanticExprConfig { newtype TSsaVariable = TSsaInstruction(IR::Instruction instr) { instr.hasMemoryResult() } or - TSsaOperand(IR::Operand op) { op.isDefinitionInexact() } or - TSsaPointerArithmeticGuard(ValueNumber instr) { - exists(Guard g, IR::Operand use | - use = instr.getAUse() and use.getIRType() instanceof IR::IRAddressType - | - g.comparesLt(use, _, _, _, _) or - g.comparesLt(_, use, _, _, _) or - g.comparesEq(use, _, _, _, _) or - g.comparesEq(_, use, _, _, _) - ) - } + TSsaOperand(IR::Operand op) { op.isDefinitionInexact() } class SsaVariable extends TSsaVariable { string toString() { none() } @@ -228,8 +139,6 @@ module SemanticExprConfig { IR::Instruction asInstruction() { none() } - ValueNumber asPointerArithGuard() { none() } - IR::Operand asOperand() { none() } } @@ -245,18 +154,6 @@ module SemanticExprConfig { final override IR::Instruction asInstruction() { result = instr } } - class SsaPointerArithmeticGuard extends SsaVariable, TSsaPointerArithmeticGuard { - ValueNumber vn; - - SsaPointerArithmeticGuard() { this = TSsaPointerArithmeticGuard(vn) } - - final override string toString() { result = vn.toString() } - - final override Location getLocation() { result = vn.getLocation() } - - final override ValueNumber asPointerArithGuard() { result = vn } - } - class SsaOperand extends SsaVariable, TSsaOperand { IR::Operand op; @@ -289,11 +186,7 @@ module SemanticExprConfig { ) } - Expr getAUse(SsaVariable v) { - result.getUnconverted().(IR::LoadInstruction).getSourceValue() = v.asInstruction() - or - result.getUnconverted() = v.asPointerArithGuard().getAnInstruction() - } + Expr getAUse(SsaVariable v) { result.(IR::LoadInstruction).getSourceValue() = v.asInstruction() } SemType getSsaVariableType(SsaVariable v) { result = getSemanticType(v.asInstruction().getResultIRType()) @@ -305,81 +198,15 @@ module SemanticExprConfig { result = v.asOperand().getUse().getBlock() } - private newtype TReadPosition = - TReadPositionBlock(IR::IRBlock block) or - TReadPositionPhiInputEdge(IR::IRBlock pred, IR::IRBlock succ) { - exists(IR::PhiInputOperand input | - pred = input.getPredecessorBlock() and - succ = input.getUse().getBlock() - ) - } - - class SsaReadPosition extends TReadPosition { - string toString() { none() } - - Location getLocation() { none() } - - predicate hasRead(SsaVariable v) { none() } - } - - private class SsaReadPositionBlock extends SsaReadPosition, TReadPositionBlock { - IR::IRBlock block; - - SsaReadPositionBlock() { this = TReadPositionBlock(block) } - - final override string toString() { result = block.toString() } - - final override Location getLocation() { result = block.getLocation() } - - final override predicate hasRead(SsaVariable v) { - exists(IR::Operand operand | - operand.getDef() = v.asInstruction() or - operand.getDef() = v.asPointerArithGuard().getAnInstruction() - | - not operand instanceof IR::PhiInputOperand and - operand.getUse().getBlock() = block - ) - } - } - - private class SsaReadPositionPhiInputEdge extends SsaReadPosition, TReadPositionPhiInputEdge { - IR::IRBlock pred; - IR::IRBlock succ; - - SsaReadPositionPhiInputEdge() { this = TReadPositionPhiInputEdge(pred, succ) } - - final override string toString() { result = pred.toString() + "->" + succ.toString() } - - final override Location getLocation() { result = succ.getLocation() } - - final override predicate hasRead(SsaVariable v) { - exists(IR::PhiInputOperand operand | - operand.getDef() = v.asInstruction() or - operand.getDef() = v.asPointerArithGuard().getAnInstruction() - | - operand.getPredecessorBlock() = pred and - operand.getUse().getBlock() = succ - ) - } - } - - predicate hasReadOfSsaVariable(SsaReadPosition pos, SsaVariable v) { pos.hasRead(v) } - - predicate readBlock(SsaReadPosition pos, BasicBlock block) { pos = TReadPositionBlock(block) } - - predicate phiInputEdge(SsaReadPosition pos, BasicBlock origBlock, BasicBlock phiBlock) { - pos = TReadPositionPhiInputEdge(origBlock, phiBlock) - } - - predicate phiInput(SsaReadPosition pos, SsaVariable phi, SsaVariable input) { + /** Holds if `inp` is an input to the phi node along the edge originating in `bb`. */ + predicate phiInputFromBlock(SsaVariable phi, SsaVariable inp, BasicBlock bb) { exists(IR::PhiInputOperand operand | - pos = TReadPositionPhiInputEdge(operand.getPredecessorBlock(), operand.getUse().getBlock()) - | + bb = operand.getPredecessorBlock() and phi.asInstruction() = operand.getUse() and ( - input.asInstruction() = operand.getDef() + inp.asInstruction() = operand.getDef() or - input.asOperand() = operand + inp.asOperand() = operand ) ) } @@ -433,7 +260,7 @@ module SemanticExprConfig { } /** Gets the expression associated with `instr`. */ - SemExpr getSemanticExpr(IR::Instruction instr) { result = Equiv::getEquivalenceClass(instr) } + SemExpr getSemanticExpr(IR::Instruction instr) { result = instr } } predicate getSemanticExpr = SemanticExprConfig::getSemanticExpr/1; diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticGuard.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticGuard.qll index e7f77c31486..14755d59f5b 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticGuard.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticGuard.qll @@ -35,32 +35,4 @@ predicate semImplies_v2(SemGuard g1, boolean b1, SemGuard g2, boolean b2) { Specific::implies_v2(g1, b1, g2, b2) } -/** - * Holds if `guard` directly controls the position `controlled` with the - * value `testIsTrue`. - */ -pragma[nomagic] -predicate semGuardDirectlyControlsSsaRead( - SemGuard guard, SemSsaReadPosition controlled, boolean testIsTrue -) { - guard.directlyControls(controlled.(SemSsaReadPositionBlock).getBlock(), testIsTrue) - or - exists(SemSsaReadPositionPhiInputEdge controlledEdge | controlledEdge = controlled | - guard.directlyControls(controlledEdge.getOrigBlock(), testIsTrue) or - guard.hasBranchEdge(controlledEdge.getOrigBlock(), controlledEdge.getPhiBlock(), testIsTrue) - ) -} - -/** - * Holds if `guard` controls the position `controlled` with the value `testIsTrue`. - */ -predicate semGuardControlsSsaRead(SemGuard guard, SemSsaReadPosition controlled, boolean testIsTrue) { - semGuardDirectlyControlsSsaRead(guard, controlled, testIsTrue) - or - exists(SemGuard guard0, boolean testIsTrue0 | - semImplies_v2(guard0, testIsTrue0, guard, testIsTrue) and - semGuardControlsSsaRead(guard0, controlled, testIsTrue0) - ) -} - SemGuard semGetComparisonGuard(SemRelationalExpr e) { result = Specific::comparisonGuard(e) } diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticSSA.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticSSA.qll index 677bfd22abc..8e7f3c7cfb3 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticSSA.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticSSA.qll @@ -31,68 +31,8 @@ class SemSsaPhiNode extends SemSsaVariable { SemSsaPhiNode() { Specific::phi(this) } final SemSsaVariable getAPhiInput() { result = Specific::getAPhiInput(this) } -} - -class SemSsaReadPosition instanceof Specific::SsaReadPosition { - final string toString() { result = super.toString() } - - final Specific::Location getLocation() { result = super.getLocation() } - - final predicate hasReadOfVar(SemSsaVariable var) { Specific::hasReadOfSsaVariable(this, var) } -} - -class SemSsaReadPositionPhiInputEdge extends SemSsaReadPosition { - SemBasicBlock origBlock; - SemBasicBlock phiBlock; - - SemSsaReadPositionPhiInputEdge() { Specific::phiInputEdge(this, origBlock, phiBlock) } - - predicate phiInput(SemSsaPhiNode phi, SemSsaVariable inp) { Specific::phiInput(this, phi, inp) } - - SemBasicBlock getOrigBlock() { result = origBlock } - - SemBasicBlock getPhiBlock() { result = phiBlock } -} - -class SemSsaReadPositionBlock extends SemSsaReadPosition { - SemBasicBlock block; - - SemSsaReadPositionBlock() { Specific::readBlock(this, block) } - - SemBasicBlock getBlock() { result = block } - - SemExpr getAnExpr() { result = this.getBlock().getAnExpr() } -} - -/** - * Holds if `inp` is an input to `phi` along a back edge. - */ -predicate semBackEdge(SemSsaPhiNode phi, SemSsaVariable inp, SemSsaReadPositionPhiInputEdge edge) { - edge.phiInput(phi, inp) and - // Conservatively assume that every edge is a back edge if we don't have dominance information. - ( - phi.getBasicBlock().bbDominates(edge.getOrigBlock()) or - irreducibleSccEdge(edge.getOrigBlock(), phi.getBasicBlock()) or - not edge.getOrigBlock().hasDominanceInformation() - ) -} - -/** - * Holds if the edge from b1 to b2 is part of a multiple-entry cycle in an irreducible control flow - * graph. - * - * An ireducible control flow graph is one where the usual dominance-based back edge detection does - * not work, because there is a cycle with multiple entry points, meaning there are - * mutually-reachable basic blocks where neither dominates the other. For such a graph, we first - * remove all detectable back-edges using the normal condition that the predecessor block is - * dominated by the successor block, then mark all edges in a cycle in the resulting graph as back - * edges. - */ -private predicate irreducibleSccEdge(SemBasicBlock b1, SemBasicBlock b2) { - trimmedEdge(b1, b2) and trimmedEdge+(b2, b1) -} - -private predicate trimmedEdge(SemBasicBlock pred, SemBasicBlock succ) { - pred.getASuccessor() = succ and - not succ.bbDominates(pred) + + final predicate hasInputFromBlock(SemSsaVariable inp, SemBasicBlock bb) { + Specific::phiInputFromBlock(this, inp, bb) + } } diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisImpl.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisImpl.qll index 85e5e45174a..4957f700ac6 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeAnalysisImpl.qll @@ -72,14 +72,14 @@ module Sem implements Semantic { class BasicBlock = SemBasicBlock; + BasicBlock getABasicBlockSuccessor(BasicBlock bb) { result = bb.getASuccessor() } + + int getBlockId1(BasicBlock bb) { result = bb.getUniqueId() } + class Guard = SemGuard; predicate implies_v2 = semImplies_v2/4; - predicate guardDirectlyControlsSsaRead = semGuardDirectlyControlsSsaRead/3; - - predicate guardControlsSsaRead = semGuardControlsSsaRead/3; - class Type = SemType; class IntegerType = SemIntegerType; @@ -94,14 +94,6 @@ module Sem implements Semantic { class SsaExplicitUpdate = SemSsaExplicitUpdate; - class SsaReadPosition = SemSsaReadPosition; - - class SsaReadPositionPhiInputEdge = SemSsaReadPositionPhiInputEdge; - - class SsaReadPositionBlock = SemSsaReadPositionBlock; - - predicate backEdge = semBackEdge/3; - predicate conversionCannotOverflow(Type fromType, Type toType) { SemanticType::conversionCannotOverflow(fromType, toType) } diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeUtils.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeUtils.qll index c61bf4817c2..7276f066220 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeUtils.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/RangeUtils.qll @@ -133,33 +133,4 @@ module RangeUtil Lang> implements UtilSig { or not exists(Lang::getAlternateTypeForSsaVariable(var)) and result = var.getType() } - - import Ranking -} - -import Ranking - -module Ranking { - /** - * Holds if `rix` is the number of input edges to `phi`. - */ - predicate maxPhiInputRank(SemSsaPhiNode phi, int rix) { - rix = max(int r | rankedPhiInput(phi, _, _, r)) - } - - /** - * Holds if `inp` is an input to `phi` along `edge` and this input has index `r` - * in an arbitrary 1-based numbering of the input edges to `phi`. - */ - predicate rankedPhiInput( - SemSsaPhiNode phi, SemSsaVariable inp, SemSsaReadPositionPhiInputEdge edge, int r - ) { - edge.phiInput(phi, inp) and - edge = - rank[r](SemSsaReadPositionPhiInputEdge e | - e.phiInput(phi, _) - | - e order by e.getOrigBlock().getUniqueId() - ) - } } diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/SignAnalysisCommon.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/SignAnalysisCommon.qll index fff53b99cf6..f6f0d6302b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/SignAnalysisCommon.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/analysis/SignAnalysisCommon.qll @@ -45,7 +45,7 @@ module SignAnalysis Utils> { /** An SSA Phi definition, whose sign is the union of the signs of its inputs. */ private class PhiSignDef extends FlowSignDef instanceof SemSsaPhiNode { final override Sign getSign() { - exists(SemSsaVariable inp, SemSsaReadPositionPhiInputEdge edge | + exists(SemSsaVariable inp, SsaReadPositionPhiInputEdge edge | edge.phiInput(this, inp) and result = semSsaSign(inp, edge) ) @@ -170,11 +170,11 @@ module SignAnalysis Utils> { override Sign getSignRestriction() { // Propagate via SSA // Propagate the sign from the def of `v`, incorporating any inference from guards. - result = semSsaSign(v, any(SemSsaReadPositionBlock bb | bb.getAnExpr() = this)) + result = semSsaSign(v, any(SsaReadPositionBlock bb | bb.getBlock().getAnExpr() = this)) or // No block for this read. Just use the sign of the def. // REVIEW: How can this happen? - not exists(SemSsaReadPositionBlock bb | bb.getAnExpr() = this) and + not exists(SsaReadPositionBlock bb | bb.getBlock().getAnExpr() = this) and result = semSsaDefSign(v) } } @@ -290,11 +290,11 @@ module SignAnalysis Utils> { * to only include bounds for which we might determine a sign. */ private predicate lowerBound( - SemExpr lowerbound, SemSsaVariable v, SemSsaReadPosition pos, boolean isStrict + SemExpr lowerbound, SemSsaVariable v, SsaReadPosition pos, boolean isStrict ) { exists(boolean testIsTrue, SemRelationalExpr comp | pos.hasReadOfVar(v) and - semGuardControlsSsaRead(semGetComparisonGuard(comp), pos, testIsTrue) and + guardControlsSsaRead(semGetComparisonGuard(comp), pos, testIsTrue) and not unknownSign(lowerbound) | testIsTrue = true and @@ -314,11 +314,11 @@ module SignAnalysis Utils> { * to only include bounds for which we might determine a sign. */ private predicate upperBound( - SemExpr upperbound, SemSsaVariable v, SemSsaReadPosition pos, boolean isStrict + SemExpr upperbound, SemSsaVariable v, SsaReadPosition pos, boolean isStrict ) { exists(boolean testIsTrue, SemRelationalExpr comp | pos.hasReadOfVar(v) and - semGuardControlsSsaRead(semGetComparisonGuard(comp), pos, testIsTrue) and + guardControlsSsaRead(semGetComparisonGuard(comp), pos, testIsTrue) and not unknownSign(upperbound) | testIsTrue = true and @@ -340,10 +340,10 @@ module SignAnalysis Utils> { * - `isEq = true` : `v = eqbound` * - `isEq = false` : `v != eqbound` */ - private predicate eqBound(SemExpr eqbound, SemSsaVariable v, SemSsaReadPosition pos, boolean isEq) { + private predicate eqBound(SemExpr eqbound, SemSsaVariable v, SsaReadPosition pos, boolean isEq) { exists(SemGuard guard, boolean testIsTrue, boolean polarity, SemExpr e | pos.hasReadOfVar(pragma[only_bind_into](v)) and - semGuardControlsSsaRead(guard, pragma[only_bind_into](pos), testIsTrue) and + guardControlsSsaRead(guard, pragma[only_bind_into](pos), testIsTrue) and e = ssaRead(pragma[only_bind_into](v), D::fromInt(0)) and guard.isEquality(eqbound, e, polarity) and isEq = polarity.booleanXor(testIsTrue).booleanNot() and @@ -355,7 +355,7 @@ module SignAnalysis Utils> { * Holds if `bound` is a bound for `v` at `pos` that needs to be positive in * order for `v` to be positive. */ - private predicate posBound(SemExpr bound, SemSsaVariable v, SemSsaReadPosition pos) { + private predicate posBound(SemExpr bound, SemSsaVariable v, SsaReadPosition pos) { upperBound(bound, v, pos, _) or eqBound(bound, v, pos, true) } @@ -364,7 +364,7 @@ module SignAnalysis Utils> { * Holds if `bound` is a bound for `v` at `pos` that needs to be negative in * order for `v` to be negative. */ - private predicate negBound(SemExpr bound, SemSsaVariable v, SemSsaReadPosition pos) { + private predicate negBound(SemExpr bound, SemSsaVariable v, SsaReadPosition pos) { lowerBound(bound, v, pos, _) or eqBound(bound, v, pos, true) } @@ -373,24 +373,24 @@ module SignAnalysis Utils> { * Holds if `bound` is a bound for `v` at `pos` that can restrict whether `v` * can be zero. */ - private predicate zeroBound(SemExpr bound, SemSsaVariable v, SemSsaReadPosition pos) { + private predicate zeroBound(SemExpr bound, SemSsaVariable v, SsaReadPosition pos) { lowerBound(bound, v, pos, _) or upperBound(bound, v, pos, _) or eqBound(bound, v, pos, _) } /** Holds if `bound` allows `v` to be positive at `pos`. */ - private predicate posBoundOk(SemExpr bound, SemSsaVariable v, SemSsaReadPosition pos) { + private predicate posBoundOk(SemExpr bound, SemSsaVariable v, SsaReadPosition pos) { posBound(bound, v, pos) and TPos() = semExprSign(bound) } /** Holds if `bound` allows `v` to be negative at `pos`. */ - private predicate negBoundOk(SemExpr bound, SemSsaVariable v, SemSsaReadPosition pos) { + private predicate negBoundOk(SemExpr bound, SemSsaVariable v, SsaReadPosition pos) { negBound(bound, v, pos) and TNeg() = semExprSign(bound) } /** Holds if `bound` allows `v` to be zero at `pos`. */ - private predicate zeroBoundOk(SemExpr bound, SemSsaVariable v, SemSsaReadPosition pos) { + private predicate zeroBoundOk(SemExpr bound, SemSsaVariable v, SsaReadPosition pos) { lowerBound(bound, v, pos, _) and TNeg() = semExprSign(bound) or lowerBound(bound, v, pos, false) and TZero() = semExprSign(bound) @@ -408,7 +408,7 @@ module SignAnalysis Utils> { * Holds if there is a bound that might restrict whether `v` has the sign `s` * at `pos`. */ - private predicate hasGuard(SemSsaVariable v, SemSsaReadPosition pos, Sign s) { + private predicate hasGuard(SemSsaVariable v, SsaReadPosition pos, Sign s) { s = TPos() and posBound(_, v, pos) or s = TNeg() and negBound(_, v, pos) @@ -421,7 +421,7 @@ module SignAnalysis Utils> { * might be ruled out by a guard. */ pragma[noinline] - private Sign guardedSsaSign(SemSsaVariable v, SemSsaReadPosition pos) { + private Sign guardedSsaSign(SemSsaVariable v, SsaReadPosition pos) { result = semSsaDefSign(v) and pos.hasReadOfVar(v) and hasGuard(v, pos, result) @@ -432,7 +432,7 @@ module SignAnalysis Utils> { * can rule it out. */ pragma[noinline] - private Sign unguardedSsaSign(SemSsaVariable v, SemSsaReadPosition pos) { + private Sign unguardedSsaSign(SemSsaVariable v, SsaReadPosition pos) { result = semSsaDefSign(v) and pos.hasReadOfVar(v) and not hasGuard(v, pos, result) @@ -443,7 +443,7 @@ module SignAnalysis Utils> { * ruled out the sign but does not. * This does not check that the definition of `v` also allows the sign. */ - private Sign guardedSsaSignOk(SemSsaVariable v, SemSsaReadPosition pos) { + private Sign guardedSsaSignOk(SemSsaVariable v, SsaReadPosition pos) { result = TPos() and forex(SemExpr bound | posBound(bound, v, pos) | posBoundOk(bound, v, pos)) or @@ -455,7 +455,7 @@ module SignAnalysis Utils> { } /** Gets a possible sign for `v` at `pos`. */ - private Sign semSsaSign(SemSsaVariable v, SemSsaReadPosition pos) { + private Sign semSsaSign(SemSsaVariable v, SsaReadPosition pos) { result = unguardedSsaSign(v, pos) or result = guardedSsaSign(v, pos) and diff --git a/cpp/ql/src/Likely Bugs/Memory Management/UninitializedLocal.ql b/cpp/ql/src/Likely Bugs/Memory Management/UninitializedLocal.ql index 0fbd1707db0..85bfb963fb9 100644 --- a/cpp/ql/src/Likely Bugs/Memory Management/UninitializedLocal.ql +++ b/cpp/ql/src/Likely Bugs/Memory Management/UninitializedLocal.ql @@ -13,7 +13,8 @@ */ import cpp -import semmle.code.cpp.controlflow.StackVariableReachability +import semmle.code.cpp.ir.IR +import semmle.code.cpp.ir.dataflow.MustFlow /** * Auxiliary predicate: Types that don't require initialization @@ -33,31 +34,6 @@ predicate allocatedType(Type t) { allocatedType(t.getUnspecifiedType()) } -/** - * A declaration of a local variable that leaves the - * variable uninitialized. - */ -DeclStmt declWithNoInit(LocalVariable v) { - result.getADeclaration() = v and - not exists(v.getInitializer()) and - /* The type of the variable is not stack-allocated. */ - exists(Type t | t = v.getType() | not allocatedType(t)) -} - -class UninitialisedLocalReachability extends StackVariableReachability { - UninitialisedLocalReachability() { this = "UninitialisedLocal" } - - override predicate isSource(ControlFlowNode node, StackVariable v) { node = declWithNoInit(v) } - - override predicate isSink(ControlFlowNode node, StackVariable v) { useOfVarActual(v, node) } - - override predicate isBarrier(ControlFlowNode node, StackVariable v) { - // only report the _first_ possibly uninitialized use - useOfVarActual(v, node) or - definitionBarrier(v, node) - } -} - pragma[noinline] predicate containsInlineAssembly(Function f) { exists(AsmStmt s | s.getEnclosingFunction() = f) } @@ -82,8 +58,33 @@ VariableAccess commonException() { containsInlineAssembly(result.getEnclosingFunction()) } -from UninitialisedLocalReachability r, LocalVariable v, VariableAccess va +predicate isSinkImpl(Instruction sink, VariableAccess va) { + exists(LoadInstruction load | + va = load.getUnconvertedResultExpression() and + not va = commonException() and + sink = load.getSourceValue() + ) +} + +class MustFlow extends MustFlowConfiguration { + MustFlow() { this = "MustFlow" } + + override predicate isSource(Instruction source) { + source instanceof UninitializedInstruction and + exists(Type t | t = source.getResultType() | not allocatedType(t)) + } + + override predicate isSink(Operand sink) { isSinkImpl(sink.getDef(), _) } + + override predicate allowInterproceduralFlow() { none() } + + override predicate isBarrier(Instruction instr) { instr instanceof ChiInstruction } +} + +from + VariableAccess va, LocalVariable v, MustFlow conf, MustFlowPathNode source, MustFlowPathNode sink where - r.reaches(_, v, va) and - not va = commonException() + conf.hasFlowPath(source, sink) and + isSinkImpl(sink.getInstruction(), va) and + v = va.getTarget() select va, "The variable $@ may not be initialized at this access.", v, v.getName() diff --git a/cpp/ql/src/change-notes/2023-11-07-uninitialized-local.md b/cpp/ql/src/change-notes/2023-11-07-uninitialized-local.md new file mode 100644 index 00000000000..bdb67692534 --- /dev/null +++ b/cpp/ql/src/change-notes/2023-11-07-uninitialized-local.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `cpp/uninitialized-local` query has been improved to produce fewer false positives. diff --git a/cpp/ql/test/library-tests/dataflow/source-sink-tests/remote-flow.expected b/cpp/ql/test/library-tests/dataflow/source-sink-tests/remote-flow.expected index 48de9172b36..8ec8033d086 100644 --- a/cpp/ql/test/library-tests/dataflow/source-sink-tests/remote-flow.expected +++ b/cpp/ql/test/library-tests/dataflow/source-sink-tests/remote-flow.expected @@ -1,2 +1,2 @@ -failures testFailures +failures diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected index f48d71cd1ab..cebf91d6f59 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected @@ -6646,6 +6646,17 @@ WARNING: Module TaintTracking has been deprecated and may be removed in future ( | taint.cpp:738:17:738:31 | call to indirect_source | taint.cpp:739:30:739:35 | source | | | taint.cpp:739:22:739:28 | call to realloc | taint.cpp:740:7:740:10 | dest | | | taint.cpp:739:30:739:35 | source | taint.cpp:739:22:739:28 | call to realloc | TAINT | +| taint.cpp:743:40:743:45 | buffer | taint.cpp:744:5:744:10 | buffer | | +| taint.cpp:743:40:743:45 | buffer | taint.cpp:745:27:745:32 | buffer | | +| taint.cpp:744:4:744:10 | * ... | taint.cpp:744:3:744:10 | * ... | TAINT | +| taint.cpp:744:5:744:10 | buffer | taint.cpp:744:4:744:10 | * ... | TAINT | +| taint.cpp:744:14:744:19 | call to source | taint.cpp:744:3:744:21 | ... = ... | | +| taint.cpp:745:19:745:25 | call to realloc | taint.cpp:743:40:743:45 | buffer | | +| taint.cpp:745:19:745:25 | call to realloc | taint.cpp:745:3:745:37 | ... = ... | | +| taint.cpp:745:19:745:25 | call to realloc | taint.cpp:746:10:746:15 | buffer | | +| taint.cpp:745:27:745:32 | buffer | taint.cpp:745:19:745:25 | call to realloc | TAINT | +| taint.cpp:746:9:746:15 | * ... | taint.cpp:746:8:746:15 | * ... | TAINT | +| taint.cpp:746:10:746:15 | buffer | taint.cpp:746:9:746:15 | * ... | TAINT | | vector.cpp:16:43:16:49 | source1 | vector.cpp:17:26:17:32 | source1 | | | vector.cpp:16:43:16:49 | source1 | vector.cpp:31:38:31:44 | source1 | | | vector.cpp:17:21:17:33 | call to vector | vector.cpp:19:14:19:14 | v | | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp index da2c8034c4b..eeefa6dd427 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp @@ -738,4 +738,10 @@ void test_realloc() { char *source = indirect_source(); char *dest = (char*)realloc(source, 16); sink(dest); // $ ir MISSING: ast +} + +void test_realloc_2_indirections(int **buffer) { + **buffer = source(); + buffer = (int**)realloc(buffer, 16); + sink(**buffer); // $ ir MISSING: ast } \ No newline at end of file diff --git a/cpp/ql/test/library-tests/ir/range-analysis/SimpleRangeAnalysis_tests.cpp b/cpp/ql/test/library-tests/ir/range-analysis/SimpleRangeAnalysis_tests.cpp index 73ba7b75d95..7b359a046d8 100644 --- a/cpp/ql/test/library-tests/ir/range-analysis/SimpleRangeAnalysis_tests.cpp +++ b/cpp/ql/test/library-tests/ir/range-analysis/SimpleRangeAnalysis_tests.cpp @@ -18,7 +18,7 @@ int test2(struct List* p) { int count = 0; for (; p; p = p->next) { count = (count+1) % 10; - range(count); // $ range=<=9 range=>=-9 range="<=Phi: p | Store: count+1" + range(count); // $ range=<=9 range=>=-9 } range(count); // $ range=>=-9 range=<=9 return count; @@ -29,7 +29,7 @@ int test3(struct List* p) { for (; p; p = p->next) { range(count++); // $ range=>=-9 range=<=9 count = count % 10; - range(count); // $ range=<=9 range=>=-9 range="<=Store: ... +++0" range="<=Phi: p | Store: count+1" + range(count); // $ range=<=9 range=>=-9 } range(count); // $ range=>=-9 range=<=9 return count; @@ -317,7 +317,7 @@ int test_mult01(int a, int b) { range(b); // $ range=<=23 range=>=-13 int r = a*b; // $ overflow=+- -143 .. 253 range(r); - total += r; // $ overflow=+ + total += r; // $ overflow=+- range(total); // $ MISSING: range=">=... * ...+0" } if (3 <= a && a <= 11 && -13 <= b && b <= 0) { @@ -365,7 +365,7 @@ int test_mult02(int a, int b) { range(b); // $ range=<=23 range=>=-13 int r = a*b; // $ overflow=+- -143 .. 253 range(r); - total += r; // $ overflow=+ + total += r; // $ overflow=+- range(total); // $ MISSING: range=">=... * ...+0" } if (0 <= a && a <= 11 && -13 <= b && b <= 0) { @@ -460,7 +460,7 @@ int test_mult04(int a, int b) { range(b); // $ range=<=23 range=>=-13 int r = a*b; // $ overflow=+- -391 .. 221 range(r); - total += r; // $ overflow=- + total += r; // $ overflow=+- range(total); // $ MISSING: range="<=... * ...+0" } if (-17 <= a && a <= 0 && -13 <= b && b <= 0) { @@ -508,7 +508,7 @@ int test_mult05(int a, int b) { range(b); // $ range=<=23 range=>=-13 int r = a*b; // $ overflow=+- -391 .. 221 range(r); - total += r; // $ overflow=- + total += r; // $ overflow=+- range(total); // $ MISSING: range="<=... * ...+0" } if (-17 <= a && a <= -2 && -13 <= b && b <= 0) { @@ -974,7 +974,7 @@ void test_mod_neg(int s) { void test_mod_ternary(int s, bool b) { int s2 = s % (b ? 5 : 500); - range(s2); // $ range=>=-499 range=<=499 range="<=Phi: ... ? ... : ...-1" + range(s2); // $ range=>=-499 range=<=499 } void test_mod_ternary2(int s, bool b1, bool b2) { diff --git a/cpp/ql/test/library-tests/ir/range-analysis/test.cpp b/cpp/ql/test/library-tests/ir/range-analysis/test.cpp index 61d17102948..7234449a4ed 100644 --- a/cpp/ql/test/library-tests/ir/range-analysis/test.cpp +++ b/cpp/ql/test/library-tests/ir/range-analysis/test.cpp @@ -130,3 +130,19 @@ void test_div(int x) { range(x >> 2); // $ range=>=0 range=<=2 } } + +struct X { int n; }; +void read_argument(const X *); + +// This test exists purely to ensure that modulus analysis terminates in the +// presence of inexact phi operands. The LoadInstruction on `while(x->n) { ... }` +// reads from a PhiInstruction with two input operands: an exact operand defined +// by the StoreInstruction generated by `x->n--` and an inexact operand coming +// from the WriteSideEffect generated by `read_argument(x)`. If we don't consider +// the inexact operand modulus analysis fails to terminate. +void nonterminating_without_operands_as_ssa(X *x) { + read_argument(x); + while (x->n) { + x->n--; + } +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-193/InvalidPointerDeref.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-193/InvalidPointerDeref.expected index 97850d80019..7d5b5d87784 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-193/InvalidPointerDeref.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-193/InvalidPointerDeref.expected @@ -22,16 +22,10 @@ edges | test.cpp:52:19:52:37 | call to malloc | test.cpp:53:12:53:23 | ... + ... | | test.cpp:53:12:53:23 | ... + ... | test.cpp:51:33:51:35 | end | | test.cpp:60:34:60:37 | mk_array output argument | test.cpp:67:9:67:14 | ... = ... | -| test.cpp:194:15:194:33 | call to malloc | test.cpp:195:17:195:23 | ... + ... | -| test.cpp:195:17:195:23 | ... + ... | test.cpp:195:17:195:23 | ... + ... | -| test.cpp:195:17:195:23 | ... + ... | test.cpp:201:5:201:19 | ... = ... | -| test.cpp:195:17:195:23 | ... + ... | test.cpp:201:5:201:19 | ... = ... | | test.cpp:205:15:205:33 | call to malloc | test.cpp:206:17:206:23 | ... + ... | | test.cpp:206:17:206:23 | ... + ... | test.cpp:206:17:206:23 | ... + ... | | test.cpp:206:17:206:23 | ... + ... | test.cpp:213:5:213:13 | ... = ... | | test.cpp:206:17:206:23 | ... + ... | test.cpp:213:5:213:13 | ... = ... | -| test.cpp:231:18:231:30 | new[] | test.cpp:232:3:232:20 | ... = ... | -| test.cpp:238:20:238:32 | new[] | test.cpp:239:5:239:22 | ... = ... | | test.cpp:260:13:260:24 | new[] | test.cpp:261:14:261:21 | ... + ... | | test.cpp:261:14:261:21 | ... + ... | test.cpp:261:14:261:21 | ... + ... | | test.cpp:261:14:261:21 | ... + ... | test.cpp:264:13:264:14 | * ... | @@ -127,18 +121,10 @@ nodes | test.cpp:53:12:53:23 | ... + ... | semmle.label | ... + ... | | test.cpp:60:34:60:37 | mk_array output argument | semmle.label | mk_array output argument | | test.cpp:67:9:67:14 | ... = ... | semmle.label | ... = ... | -| test.cpp:194:15:194:33 | call to malloc | semmle.label | call to malloc | -| test.cpp:195:17:195:23 | ... + ... | semmle.label | ... + ... | -| test.cpp:195:17:195:23 | ... + ... | semmle.label | ... + ... | -| test.cpp:201:5:201:19 | ... = ... | semmle.label | ... = ... | | test.cpp:205:15:205:33 | call to malloc | semmle.label | call to malloc | | test.cpp:206:17:206:23 | ... + ... | semmle.label | ... + ... | | test.cpp:206:17:206:23 | ... + ... | semmle.label | ... + ... | | test.cpp:213:5:213:13 | ... = ... | semmle.label | ... = ... | -| test.cpp:231:18:231:30 | new[] | semmle.label | new[] | -| test.cpp:232:3:232:20 | ... = ... | semmle.label | ... = ... | -| test.cpp:238:20:238:32 | new[] | semmle.label | new[] | -| test.cpp:239:5:239:22 | ... = ... | semmle.label | ... = ... | | test.cpp:260:13:260:24 | new[] | semmle.label | new[] | | test.cpp:261:14:261:21 | ... + ... | semmle.label | ... + ... | | test.cpp:261:14:261:21 | ... + ... | semmle.label | ... + ... | @@ -220,10 +206,7 @@ subpaths | test.cpp:30:14:30:15 | * ... | test.cpp:28:15:28:37 | call to malloc | test.cpp:30:14:30:15 | * ... | This read might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:28:15:28:37 | call to malloc | call to malloc | test.cpp:29:20:29:27 | ... + ... | ... + ... | | test.cpp:32:14:32:21 | * ... | test.cpp:28:15:28:37 | call to malloc | test.cpp:32:14:32:21 | * ... | This read might be out of bounds, as the pointer might be equal to $@ + $@ + 1. | test.cpp:28:15:28:37 | call to malloc | call to malloc | test.cpp:29:20:29:27 | ... + ... | ... + ... | | test.cpp:67:9:67:14 | ... = ... | test.cpp:52:19:52:37 | call to malloc | test.cpp:67:9:67:14 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:52:19:52:37 | call to malloc | call to malloc | test.cpp:53:20:53:23 | size | size | -| test.cpp:201:5:201:19 | ... = ... | test.cpp:194:15:194:33 | call to malloc | test.cpp:201:5:201:19 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:194:15:194:33 | call to malloc | call to malloc | test.cpp:195:21:195:23 | len | len | | test.cpp:213:5:213:13 | ... = ... | test.cpp:205:15:205:33 | call to malloc | test.cpp:213:5:213:13 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:205:15:205:33 | call to malloc | call to malloc | test.cpp:206:21:206:23 | len | len | -| test.cpp:232:3:232:20 | ... = ... | test.cpp:231:18:231:30 | new[] | test.cpp:232:3:232:20 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:231:18:231:30 | new[] | new[] | test.cpp:232:11:232:15 | index | index | -| test.cpp:239:5:239:22 | ... = ... | test.cpp:238:20:238:32 | new[] | test.cpp:239:5:239:22 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:238:20:238:32 | new[] | new[] | test.cpp:239:13:239:17 | index | index | | test.cpp:264:13:264:14 | * ... | test.cpp:260:13:260:24 | new[] | test.cpp:264:13:264:14 | * ... | This read might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:260:13:260:24 | new[] | new[] | test.cpp:261:19:261:21 | len | len | | test.cpp:274:5:274:10 | ... = ... | test.cpp:270:13:270:24 | new[] | test.cpp:274:5:274:10 | ... = ... | This write might be out of bounds, as the pointer might be equal to $@ + $@. | test.cpp:270:13:270:24 | new[] | new[] | test.cpp:271:19:271:21 | len | len | | test.cpp:358:14:358:26 | end_plus_one indirection | test.cpp:355:14:355:27 | new[] | test.cpp:358:14:358:26 | end_plus_one indirection | This read might be out of bounds, as the pointer might be equal to $@ + $@ + 1. | test.cpp:355:14:355:27 | new[] | new[] | test.cpp:356:20:356:23 | size | size | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-193/test.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-193/test.cpp index a401867a86c..cb9caeaae1b 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-193/test.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-193/test.cpp @@ -198,7 +198,7 @@ void test12(unsigned len, unsigned index) { return; } - p[index] = '\0'; // $ deref=L195->L201 // BAD + p[index] = '\0'; // $ MISSING: deref=L195->L201 // BAD [NOT DETECTED] } void test13(unsigned len, unsigned index) { @@ -229,14 +229,14 @@ void test15(unsigned index) { return; } int* newname = new int[size]; - newname[index] = 0; // $ alloc=L231 deref=L232 // GOOD [FALSE POSITIVE] + newname[index] = 0; // GOOD } void test16(unsigned index) { unsigned size = index + 13; if(size >= index) { int* newname = new int[size]; - newname[index] = 0; // $ alloc=L238 deref=L239 // GOOD [FALSE POSITIVE] + newname[index] = 0; // GOOD } } diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/UninitializedLocal.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/UninitializedLocal.expected index 2b5e6549a30..7b5233f45b4 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/UninitializedLocal.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/UninitializedLocal.expected @@ -1,14 +1,7 @@ | test.cpp:12:6:12:8 | foo | The variable $@ may not be initialized at this access. | test.cpp:11:6:11:8 | foo | foo | -| test.cpp:30:6:30:8 | foo | The variable $@ may not be initialized at this access. | test.cpp:26:6:26:8 | foo | foo | -| test.cpp:46:6:46:8 | foo | The variable $@ may not be initialized at this access. | test.cpp:42:6:42:8 | foo | foo | -| test.cpp:55:7:55:9 | foo | The variable $@ may not be initialized at this access. | test.cpp:50:6:50:8 | foo | foo | -| test.cpp:67:7:67:9 | foo | The variable $@ may not be initialized at this access. | test.cpp:61:6:61:8 | foo | foo | -| test.cpp:92:6:92:8 | foo | The variable $@ may not be initialized at this access. | test.cpp:82:6:82:8 | foo | foo | | test.cpp:113:6:113:8 | foo | The variable $@ may not be initialized at this access. | test.cpp:111:6:111:8 | foo | foo | -| test.cpp:132:9:132:9 | j | The variable $@ may not be initialized at this access. | test.cpp:126:6:126:6 | j | j | | test.cpp:219:3:219:3 | x | The variable $@ may not be initialized at this access. | test.cpp:218:7:218:7 | x | x | | test.cpp:243:13:243:13 | i | The variable $@ may not be initialized at this access. | test.cpp:241:6:241:6 | i | i | -| test.cpp:329:9:329:11 | val | The variable $@ may not be initialized at this access. | test.cpp:321:6:321:8 | val | val | | test.cpp:336:10:336:10 | a | The variable $@ may not be initialized at this access. | test.cpp:333:7:333:7 | a | a | | test.cpp:369:10:369:10 | a | The variable $@ may not be initialized at this access. | test.cpp:358:7:358:7 | a | a | | test.cpp:378:9:378:11 | val | The variable $@ may not be initialized at this access. | test.cpp:359:6:359:8 | val | val | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/test.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/test.cpp index 7660f564d6d..dc1ad9a0376 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/test.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-457/semmle/tests/test.cpp @@ -27,7 +27,7 @@ void test4(bool b) { if (b) { foo = 1; } - use(foo); // BAD + use(foo); // BAD [NOT DETECTED] } void test5() { @@ -43,7 +43,7 @@ void test5(int count) { for (int i = 0; i < count; i++) { foo = i; } - use(foo); // BAD + use(foo); // BAD [NOT DETECTED] } void test6(bool b) { @@ -52,7 +52,7 @@ void test6(bool b) { foo = 42; } if (b) { - use(foo); // GOOD (REPORTED, FP) + use(foo); // GOOD } } @@ -64,7 +64,7 @@ void test7(bool b) { set = true; } if (set) { - use(foo); // GOOD (REPORTED, FP) + use(foo); // GOOD } } @@ -89,7 +89,7 @@ void test9(int count) { if (!set) { foo = 42; } - use(foo); // GOOD (REPORTED, FP) + use(foo); // GOOD } void test10() { @@ -129,7 +129,7 @@ int absWrong(int i) { } else if (i < 0) { j = -i; } - return j; // wrong: j may not be initialized before use + return j; // wrong: j may not be initialized before use [NOT DETECTED] } // Example from qhelp @@ -326,7 +326,7 @@ int test28() { a = false; c = false; } - return val; // GOOD [FALSE POSITIVE] + return val; // GOOD } int test29() { @@ -472,4 +472,64 @@ void test44() { int y = 1; void(x + y); // BAD +} + +enum class State { StateA, StateB, StateC }; + +int exhaustive_switch(State s) { + int y; + switch(s) { + case State::StateA: + y = 1; + break; + case State::StateB: + y = 2; + break; + case State::StateC: + y = 3; + break; + } + return y; // GOOD (y is always initialized) +} + +int exhaustive_switch_2(State s) { + int y; + switch(s) { + case State::StateA: + y = 1; + break; + default: + y = 2; + break; + } + return y; // GOOD (y is always initialized) +} + +int non_exhaustive_switch(State s) { + int y; + switch(s) { + case State::StateA: + y = 1; + break; + case State::StateB: + y = 2; + break; + } + return y; // BAD [NOT DETECTED] (y is not initialized when s = StateC) +} + +int non_exhaustive_switch_2(State s) { + int y; + switch(s) { + case State::StateA: + y = 1; + break; + case State::StateB: + y = 2; + break; + } + if(s != State::StateC) { + return y; // GOOD (y is not initialized when s = StateC, but if s = StateC we won't reach this point) + } + return 0; } \ No newline at end of file diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/AssemblyCache.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/AssemblyCache.cs index 51ffdece6a3..7adceebc7eb 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/AssemblyCache.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/AssemblyCache.cs @@ -27,12 +27,18 @@ namespace Semmle.Extraction.CSharp.DependencyFetching if (File.Exists(path)) { pendingDllsToIndex.Enqueue(path); + continue; } - else + + if (Directory.Exists(path)) { progressMonitor.FindingFiles(path); AddReferenceDirectory(path); } + else + { + progressMonitor.LogInfo("AssemblyCache: Path not found: " + path); + } } IndexReferences(); } diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Assets.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Assets.cs new file mode 100644 index 00000000000..7558fd7970f --- /dev/null +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/Assets.cs @@ -0,0 +1,164 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Newtonsoft.Json.Linq; +using Semmle.Util; + +namespace Semmle.Extraction.CSharp.DependencyFetching +{ + /// + /// Class for parsing project.assets.json files. + /// + internal class Assets + { + private readonly ProgressMonitor progressMonitor; + + private static readonly string[] netFrameworks = new[] { + "microsoft.aspnetcore.app.ref", + "microsoft.netcore.app.ref", + "microsoft.netframework.referenceassemblies", + "microsoft.windowsdesktop.app.ref", + "netstandard.library.ref" + }; + + internal Assets(ProgressMonitor progressMonitor) + { + this.progressMonitor = progressMonitor; + } + + /// + /// Class needed for deserializing parts of an assets file. + /// It holds information about a reference. + /// + /// Type carries the type of the reference. + /// We are only interested in package references. + /// + /// Compile holds information about the files needed for compilation. + /// However, if it is a .NET framework reference we assume that all files in the + /// package are needed for compilation. + /// + private record class ReferenceInfo(string? Type, Dictionary? Compile); + + /// + /// Add the package dependencies from the assets file to dependencies. + /// + /// Parse a part of the JSon assets file and add the paths + /// to the dependencies required for compilation (and collect + /// information about used packages). + /// + /// Example: + /// { + /// "Castle.Core/4.4.1": { + /// "type": "package", + /// "compile": { + /// "lib/netstandard1.5/Castle.Core.dll": { + /// "related": ".xml" + /// } + /// } + /// }, + /// "Json.Net/1.0.33": { + /// "type": "package", + /// "compile": { + /// "lib/netstandard2.0/Json.Net.dll": {} + /// }, + /// "runtime": { + /// "lib/netstandard2.0/Json.Net.dll": {} + /// } + /// } + /// } + /// + /// Returns dependencies + /// RequiredPaths = { + /// "castle.core/4.4.1/lib/netstandard1.5/Castle.Core.dll", + /// "json.net/1.0.33/lib/netstandard2.0/Json.Net.dll" + /// } + /// UsedPackages = { + /// "castle.core", + /// "json.net" + /// } + /// + private DependencyContainer AddPackageDependencies(JObject json, DependencyContainer dependencies) + { + // If there are more than one framework we need to pick just one. + // To ensure stability we pick one based on the lexicographic order of + // the framework names. + var references = json + .GetProperty("targets")? + .Properties()? + .MaxBy(p => p.Name)? + .Value + .ToObject>(); + + if (references is null) + { + progressMonitor.LogDebug("No references found in the targets section in the assets file."); + return dependencies; + } + + // Find all the compile dependencies for each reference and + // create the relative path to the dependency. + references + .ForEach(r => + { + var info = r.Value; + var name = r.Key.ToLowerInvariant(); + if (info.Type != "package") + { + return; + } + + // If this is a .NET framework reference then include everything. + if (netFrameworks.Any(framework => name.StartsWith(framework))) + { + dependencies.Add(name); + } + else + { + info.Compile? + .ForEach(r => dependencies.Add(name, r.Key)); + } + }); + + return dependencies; + } + + /// + /// Parse `json` as project.assets.json content and add relative paths to the dependencies + /// (together with used package information) required for compilation. + /// + /// True if parsing succeeds, otherwise false. + public bool TryParse(string json, DependencyContainer dependencies) + { + try + { + var obj = JObject.Parse(json); + AddPackageDependencies(obj, dependencies); + return true; + } + catch (Exception e) + { + progressMonitor.LogDebug($"Failed to parse assets file (unexpected error): {e.Message}"); + return false; + } + } + + public static DependencyContainer GetCompilationDependencies(ProgressMonitor progressMonitor, IEnumerable assets) + { + var parser = new Assets(progressMonitor); + var dependencies = new DependencyContainer(); + assets.ForEach(asset => + { + var json = File.ReadAllText(asset); + parser.TryParse(json, dependencies); + }); + return dependencies; + } + } + + internal static class JsonExtensions + { + internal static JObject? GetProperty(this JObject json, string property) => + json[property] as JObject; + } +} diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyContainer.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyContainer.cs new file mode 100644 index 00000000000..4c0586c7f83 --- /dev/null +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyContainer.cs @@ -0,0 +1,69 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Semmle.Extraction.CSharp.DependencyFetching +{ + /// + /// Container class for dependencies found in the assets file. + /// + internal class DependencyContainer + { + private readonly List requiredPaths = new(); + private readonly HashSet usedPackages = new(); + + /// + /// In most cases paths in asset files point to dll's or the empty _._ file, which + /// is sometimes there to avoid the directory being empty. + /// That is, if the path specifically adds a .dll we use that, otherwise we as a fallback + /// add the entire directory (which should be fine in case of _._ as well). + /// + private static string ParseFilePath(string path) + { + if (path.EndsWith(".dll")) + { + return path; + } + return Path.GetDirectoryName(path) ?? path; + } + + private static string GetPackageName(string package) => + package + .Split(Path.DirectorySeparatorChar) + .First(); + + /// + /// Paths to dependencies required for compilation. + /// + public IEnumerable RequiredPaths => requiredPaths; + + /// + /// Packages that are used as a part of the required dependencies. + /// + public HashSet UsedPackages => usedPackages; + + /// + /// Add a dependency inside a package. + /// + public void Add(string package, string dependency) + { + var p = package.Replace('/', Path.DirectorySeparatorChar); + var d = dependency.Replace('/', Path.DirectorySeparatorChar); + + var path = Path.Combine(p, ParseFilePath(d)); + requiredPaths.Add(path); + usedPackages.Add(GetPackageName(p)); + } + + /// + /// Add a dependency to an entire package + /// + public void Add(string package) + { + var p = package.Replace('/', Path.DirectorySeparatorChar); + + requiredPaths.Add(p); + usedPackages.Add(GetPackageName(p)); + } + } +} \ No newline at end of file diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs index 2021411be0f..e277d58c437 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs @@ -31,9 +31,13 @@ namespace Semmle.Extraction.CSharp.DependencyFetching private readonly IDotNet dotnet; private readonly FileContent fileContent; private readonly TemporaryDirectory packageDirectory; + private readonly TemporaryDirectory missingPackageDirectory; private readonly TemporaryDirectory tempWorkingDirectory; private readonly bool cleanupTempWorkingDirectory; + private readonly Lazy runtimeLazy; + private Runtime Runtime => runtimeLazy.Value; + /// /// Performs C# dependency fetching. /// @@ -48,11 +52,14 @@ namespace Semmle.Extraction.CSharp.DependencyFetching this.sourceDir = new DirectoryInfo(srcDir); packageDirectory = new TemporaryDirectory(ComputeTempDirectory(sourceDir.FullName)); + missingPackageDirectory = new TemporaryDirectory(ComputeTempDirectory(sourceDir.FullName, "missingpackages")); + tempWorkingDirectory = new TemporaryDirectory(FileUtils.GetTemporaryWorkingDirectory(out cleanupTempWorkingDirectory)); try { this.dotnet = DotNet.Make(options, progressMonitor, tempWorkingDirectory); + runtimeLazy = new Lazy(() => new Runtime(dotnet)); } catch { @@ -74,13 +81,12 @@ namespace Semmle.Extraction.CSharp.DependencyFetching var solutions = options.SolutionFile is not null ? new[] { options.SolutionFile } : allNonBinaryFiles.SelectFileNamesByExtension(".sln"); - var dllDirNames = options.DllDirs.Count == 0 - ? allFiles.SelectFileNamesByExtension(".dll").ToList() - : options.DllDirs.Select(Path.GetFullPath).ToList(); + var dllPaths = options.DllDirs.Count == 0 + ? allFiles.SelectFileNamesByExtension(".dll").ToHashSet() + : options.DllDirs.Select(Path.GetFullPath).ToHashSet(); if (options.UseNuGet) { - dllDirNames.Add(packageDirectory.DirInfo.FullName); try { var nuget = new NugetPackages(sourceDir.FullName, packageDirectory, progressMonitor); @@ -91,40 +97,32 @@ namespace Semmle.Extraction.CSharp.DependencyFetching progressMonitor.MissingNuGet(); } - var restoredProjects = RestoreSolutions(solutions); + var restoredProjects = RestoreSolutions(solutions, out var assets1); var projects = allProjects.Except(restoredProjects); - RestoreProjects(projects); - DownloadMissingPackages(allNonBinaryFiles); - } + RestoreProjects(projects, out var assets2); - var existsNetCoreRefNugetPackage = false; - var existsNetFrameworkRefNugetPackage = false; - var existsNetstandardLibRefNugetPackage = false; - var existsNetstandardLibNugetPackage = false; + var dependencies = Assets.GetCompilationDependencies(progressMonitor, assets1.Union(assets2)); + + var paths = dependencies + .RequiredPaths + .Select(d => Path.Combine(packageDirectory.DirInfo.FullName, d)) + .ToList(); + dllPaths.UnionWith(paths); + + LogAllUnusedPackages(dependencies); + DownloadMissingPackages(allNonBinaryFiles, dllPaths); + } // Find DLLs in the .Net / Asp.Net Framework // This block needs to come after the nuget restore, because the nuget restore might fetch the .NET Core/Framework reference assemblies. if (options.ScanNetFrameworkDlls) { - existsNetCoreRefNugetPackage = IsNugetPackageAvailable("microsoft.netcore.app.ref"); - existsNetFrameworkRefNugetPackage = IsNugetPackageAvailable("microsoft.netframework.referenceassemblies"); - existsNetstandardLibRefNugetPackage = IsNugetPackageAvailable("netstandard.library.ref"); - existsNetstandardLibNugetPackage = IsNugetPackageAvailable("netstandard.library"); - - if (existsNetCoreRefNugetPackage - || existsNetFrameworkRefNugetPackage - || existsNetstandardLibRefNugetPackage - || existsNetstandardLibNugetPackage) - { - progressMonitor.LogInfo("Found .NET Core/Framework DLLs in NuGet packages. Not adding installation directory."); - } - else - { - AddNetFrameworkDlls(dllDirNames); - } + AddNetFrameworkDlls(dllPaths); + AddAspNetCoreFrameworkDlls(dllPaths); + AddMicrosoftWindowsDesktopDlls(dllPaths); } - assemblyCache = new AssemblyCache(dllDirNames, progressMonitor); + assemblyCache = new AssemblyCache(dllPaths, progressMonitor); AnalyseSolutions(solutions); foreach (var filename in assemblyCache.AllAssemblies.Select(a => a.Filename)) @@ -132,7 +130,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching UseReference(filename); } - RemoveUnnecessaryNugetPackages(existsNetCoreRefNugetPackage, existsNetFrameworkRefNugetPackage, existsNetstandardLibRefNugetPackage, existsNetstandardLibNugetPackage); + RemoveNugetAnalyzerReferences(); ResolveConflicts(); // Output the findings @@ -167,58 +165,6 @@ namespace Semmle.Extraction.CSharp.DependencyFetching DateTime.Now - startTime); } - private void RemoveUnnecessaryNugetPackages(bool existsNetCoreRefNugetPackage, bool existsNetFrameworkRefNugetPackage, - bool existsNetstandardLibRefNugetPackage, bool existsNetstandardLibNugetPackage) - { - RemoveNugetAnalyzerReferences(); - RemoveRuntimeNugetPackageReferences(); - - if (fileContent.IsNewProjectStructureUsed - && !fileContent.UseAspNetCoreDlls) - { - // This might have been restored by the CLI even though the project isn't an asp.net core one. - RemoveNugetPackageReference("microsoft.aspnetcore.app.ref"); - } - - // Multiple dotnet framework packages could be present. We keep only one. - // The order of the packages is important, we're keeping the first one that is present in the nuget cache. - var packagesInPrioOrder = new (bool isPresent, string prefix)[] - { - // net7.0, ... net5.0, netcoreapp3.1, netcoreapp3.0 - (existsNetCoreRefNugetPackage, "microsoft.netcore.app.ref"), - // net48, ..., net20 - (existsNetFrameworkRefNugetPackage, "microsoft.netframework.referenceassemblies."), - // netstandard2.1 - (existsNetstandardLibRefNugetPackage, "netstandard.library.ref"), - // netstandard2.0 - (existsNetstandardLibNugetPackage, "netstandard.library") - }; - - for (var i = 0; i < packagesInPrioOrder.Length; i++) - { - var (isPresent, _) = packagesInPrioOrder[i]; - if (!isPresent) - { - continue; - } - - // Package is present, remove all the lower priority packages: - for (var j = i + 1; j < packagesInPrioOrder.Length; j++) - { - var (otherIsPresent, otherPrefix) = packagesInPrioOrder[j]; - if (otherIsPresent) - { - RemoveNugetPackageReference(otherPrefix); - } - } - break; - } - - // TODO: There could be multiple `microsoft.netframework.referenceassemblies` packages, - // we could keep the newest one, but this is covered by the conflict resolution logic - // (if the file names match) - } - private void RemoveNugetAnalyzerReferences() { if (!options.UseNuGet) @@ -258,58 +204,58 @@ namespace Semmle.Extraction.CSharp.DependencyFetching } } } - private void AddNetFrameworkDlls(List dllDirNames) + + private void AddNetFrameworkDlls(ISet dllPaths) { - var runtime = new Runtime(dotnet); + // Multiple dotnet framework packages could be present. + // The order of the packages is important, we're adding the first one that is present in the nuget cache. + var packagesInPrioOrder = new string[] + { + "microsoft.netcore.app.ref", // net7.0, ... net5.0, netcoreapp3.1, netcoreapp3.0 + "microsoft.netframework.referenceassemblies.", // net48, ..., net20 + "netstandard.library.ref", // netstandard2.1 + "netstandard.library" // netstandard2.0 + }; + + var frameworkPath = packagesInPrioOrder + .Select((s, index) => (Index: index, Path: GetPackageDirectory(s))) + .FirstOrDefault(pair => pair.Path is not null); + + if (frameworkPath.Path is not null) + { + dllPaths.Add(frameworkPath.Path); + progressMonitor.LogInfo($"Found .NET Core/Framework DLLs in NuGet packages at {frameworkPath.Path}. Not adding installation directory."); + + for (var i = frameworkPath.Index + 1; i < packagesInPrioOrder.Length; i++) + { + RemoveNugetPackageReference(packagesInPrioOrder[i], dllPaths); + } + + return; + } + string? runtimeLocation = null; if (options.UseSelfContainedDotnet) { - runtimeLocation = runtime.ExecutingRuntime; + runtimeLocation = Runtime.ExecutingRuntime; } else if (fileContent.IsNewProjectStructureUsed) { - runtimeLocation = runtime.NetCoreRuntime; + runtimeLocation = Runtime.NetCoreRuntime; } else if (fileContent.IsLegacyProjectStructureUsed) { - runtimeLocation = runtime.DesktopRuntime; + runtimeLocation = Runtime.DesktopRuntime; } - runtimeLocation ??= runtime.ExecutingRuntime; + runtimeLocation ??= Runtime.ExecutingRuntime; progressMonitor.LogInfo($".NET runtime location selected: {runtimeLocation}"); - dllDirNames.Add(runtimeLocation); - - if (fileContent.IsNewProjectStructureUsed - && fileContent.UseAspNetCoreDlls - && runtime.AspNetCoreRuntime is string aspRuntime) - { - progressMonitor.LogInfo($"ASP.NET runtime location selected: {aspRuntime}"); - dllDirNames.Add(aspRuntime); - } + dllPaths.Add(runtimeLocation); } - private void RemoveRuntimeNugetPackageReferences() - { - var runtimePackagePrefixes = new[] - { - "microsoft.netcore.app.runtime", - "microsoft.aspnetcore.app.runtime", - "microsoft.windowsdesktop.app.runtime", - - // legacy runtime packages: - "runtime.linux-x64.microsoft.netcore.app", - "runtime.osx-x64.microsoft.netcore.app", - "runtime.win-x64.microsoft.netcore.app", - - // Internal implementation packages not meant for direct consumption: - "runtime." - }; - RemoveNugetPackageReference(runtimePackagePrefixes); - } - - private void RemoveNugetPackageReference(params string[] packagePrefixes) + private void RemoveNugetPackageReference(string packagePrefix, ISet dllPaths) { if (!options.UseNuGet) { @@ -322,32 +268,74 @@ namespace Semmle.Extraction.CSharp.DependencyFetching return; } - var packagePathPrefixes = packagePrefixes.Select(p => Path.Combine(packageFolder, p.ToLowerInvariant())); - - foreach (var filename in usedReferences.Keys) + var packagePathPrefix = Path.Combine(packageFolder, packagePrefix.ToLowerInvariant()); + var toRemove = dllPaths.Where(s => s.ToLowerInvariant().StartsWith(packagePathPrefix)); + foreach (var path in toRemove) { - var lowerFilename = filename.ToLowerInvariant(); - - if (packagePathPrefixes.Any(prefix => lowerFilename.StartsWith(prefix))) - { - usedReferences.Remove(filename); - progressMonitor.RemovedReference(filename); - } + dllPaths.Remove(path); + progressMonitor.RemovedReference(path); } } - private bool IsNugetPackageAvailable(string packagePrefix) + private void AddAspNetCoreFrameworkDlls(ISet dllPaths) + { + if (!fileContent.IsNewProjectStructureUsed || !fileContent.UseAspNetCoreDlls) + { + return; + } + + // First try to find ASP.NET Core assemblies in the NuGet packages + if (GetPackageDirectory("microsoft.aspnetcore.app.ref") is string aspNetCorePackage) + { + progressMonitor.LogInfo($"Found ASP.NET Core in NuGet packages. Not adding installation directory."); + dllPaths.Add(aspNetCorePackage); + } + else if (Runtime.AspNetCoreRuntime is string aspNetCoreRuntime) + { + progressMonitor.LogInfo($"ASP.NET runtime location selected: {aspNetCoreRuntime}"); + dllPaths.Add(aspNetCoreRuntime); + } + } + + private void AddMicrosoftWindowsDesktopDlls(ISet dllPaths) + { + if (GetPackageDirectory("microsoft.windowsdesktop.app.ref") is string windowsDesktopApp) + { + progressMonitor.LogInfo($"Found Windows Desktop App in NuGet packages."); + dllPaths.Add(windowsDesktopApp); + } + } + + private string? GetPackageDirectory(string packagePrefix) { if (!options.UseNuGet) { - return false; + return null; } return new DirectoryInfo(packageDirectory.DirInfo.FullName) .EnumerateDirectories(packagePrefix + "*", new EnumerationOptions { MatchCasing = MatchCasing.CaseInsensitive, RecurseSubdirectories = false }) - .Any(); + .FirstOrDefault()? + .FullName; } + private IEnumerable GetAllPackageDirectories() + { + if (!options.UseNuGet) + { + return Enumerable.Empty(); + } + + return new DirectoryInfo(packageDirectory.DirInfo.FullName) + .EnumerateDirectories("*", new EnumerationOptions { MatchCasing = MatchCasing.CaseInsensitive, RecurseSubdirectories = false }) + .Select(d => d.FullName); + } + + private void LogAllUnusedPackages(DependencyContainer dependencies) => + GetAllPackageDirectories() + .Where(package => !dependencies.UsedPackages.Contains(package)) + .ForEach(package => progressMonitor.LogInfo($"Unused package: {package}")); + private void GenerateSourceFileFromImplicitUsings() { var usings = new HashSet(); @@ -437,7 +425,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching /// with this source tree. Use a SHA1 of the directory name. /// /// The full path of the temp directory. - private static string ComputeTempDirectory(string srcDir) + private static string ComputeTempDirectory(string srcDir, string packages = "packages") { var bytes = Encoding.Unicode.GetBytes(srcDir); var sha = SHA1.HashData(bytes); @@ -445,7 +433,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching foreach (var b in sha.Take(8)) sb.AppendFormat("{0:x2}", b); - return Path.Combine(Path.GetTempPath(), "GitHub", "packages", sb.ToString()); + return Path.Combine(Path.GetTempPath(), "GitHub", packages, sb.ToString()); } /// @@ -623,41 +611,52 @@ namespace Semmle.Extraction.CSharp.DependencyFetching } - private bool RestoreProject(string project, bool forceDotnetRefAssemblyFetching, string? pathToNugetConfig = null) => - dotnet.RestoreProjectToDirectory(project, packageDirectory.DirInfo.FullName, forceDotnetRefAssemblyFetching, pathToNugetConfig); + private bool RestoreProject(string project, bool forceDotnetRefAssemblyFetching, out IEnumerable assets, string? pathToNugetConfig = null) => + dotnet.RestoreProjectToDirectory(project, packageDirectory.DirInfo.FullName, forceDotnetRefAssemblyFetching, out assets, pathToNugetConfig); - private bool RestoreSolution(string solution, out IEnumerable projects) => - dotnet.RestoreSolutionToDirectory(solution, packageDirectory.DirInfo.FullName, forceDotnetRefAssemblyFetching: true, out projects); + private bool RestoreSolution(string solution, out IEnumerable projects, out IEnumerable assets) => + dotnet.RestoreSolutionToDirectory(solution, packageDirectory.DirInfo.FullName, forceDotnetRefAssemblyFetching: true, out projects, out assets); /// /// Executes `dotnet restore` on all solution files in solutions. /// As opposed to RestoreProjects this is not run in parallel using PLINQ /// as `dotnet restore` on a solution already uses multiple threads for restoring /// the projects (this can be disabled with the `--disable-parallel` flag). + /// Populates assets with the relative paths to the assets files generated by the restore. /// Returns a list of projects that are up to date with respect to restore. /// /// A list of paths to solution files. - private IEnumerable RestoreSolutions(IEnumerable solutions) => - solutions.SelectMany(solution => + private IEnumerable RestoreSolutions(IEnumerable solutions, out IEnumerable assets) + { + var assetFiles = new List(); + var projects = solutions.SelectMany(solution => { - RestoreSolution(solution, out var restoredProjects); + RestoreSolution(solution, out var restoredProjects, out var a); + assetFiles.AddRange(a); return restoredProjects; }); + assets = assetFiles; + return projects; + } /// /// Executes `dotnet restore` on all projects in projects. /// This is done in parallel for performance reasons. + /// Populates assets with the relative paths to the assets files generated by the restore. /// /// A list of paths to project files. - private void RestoreProjects(IEnumerable projects) + private void RestoreProjects(IEnumerable projects, out IEnumerable assets) { + var assetFiles = new List(); Parallel.ForEach(projects, new ParallelOptions { MaxDegreeOfParallelism = options.Threads }, project => { - RestoreProject(project, forceDotnetRefAssemblyFetching: true); + RestoreProject(project, forceDotnetRefAssemblyFetching: true, out var a); + assetFiles.AddRange(a); }); + assets = assetFiles; } - private void DownloadMissingPackages(List allFiles) + private void DownloadMissingPackages(List allFiles, ISet dllPaths) { var nugetConfigs = allFiles.SelectFileNamesByName("nuget.config").ToArray(); string? nugetConfig = null; @@ -698,13 +697,15 @@ namespace Semmle.Extraction.CSharp.DependencyFetching return; } - success = RestoreProject(tempDir.DirInfo.FullName, forceDotnetRefAssemblyFetching: false, pathToNugetConfig: nugetConfig); + dotnet.RestoreProjectToDirectory(tempDir.DirInfo.FullName, missingPackageDirectory.DirInfo.FullName, forceDotnetRefAssemblyFetching: false, out var _, pathToNugetConfig: nugetConfig); // TODO: the restore might fail, we could retry with a prerelease (*-* instead of *) version of the package. if (!success) { progressMonitor.FailedToRestoreNugetPackage(package); } }); + + dllPaths.Add(missingPackageDirectory.DirInfo.FullName); } private void AnalyseSolutions(IEnumerable solutions) @@ -724,26 +725,25 @@ namespace Semmle.Extraction.CSharp.DependencyFetching }); } - public void Dispose() + public void Dispose(TemporaryDirectory? dir, string name) { try { - packageDirectory?.Dispose(); + dir?.Dispose(); } catch (Exception exc) { - progressMonitor.LogInfo("Couldn't delete package directory: " + exc.Message); + progressMonitor.LogInfo($"Couldn't delete {name} directory {exc.Message}"); } + } + + public void Dispose() + { + Dispose(packageDirectory, "package"); + Dispose(missingPackageDirectory, "missing package"); if (cleanupTempWorkingDirectory) { - try - { - tempWorkingDirectory?.Dispose(); - } - catch (Exception exc) - { - progressMonitor.LogInfo("Couldn't delete temporary working directory: " + exc.Message); - } + Dispose(tempWorkingDirectory, "temporary working"); } } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs index 52c56b2ad0f..e8493a770db 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs @@ -42,7 +42,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching private string GetRestoreArgs(string projectOrSolutionFile, string packageDirectory, bool forceDotnetRefAssemblyFetching) { - var args = $"restore --no-dependencies \"{projectOrSolutionFile}\" --packages \"{packageDirectory}\" /p:DisableImplicitNuGetFallbackFolder=true"; + var args = $"restore --no-dependencies \"{projectOrSolutionFile}\" --packages \"{packageDirectory}\" /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal"; if (forceDotnetRefAssemblyFetching) { @@ -60,7 +60,19 @@ namespace Semmle.Extraction.CSharp.DependencyFetching return args; } - public bool RestoreProjectToDirectory(string projectFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, string? pathToNugetConfig = null) + private static IEnumerable GetFirstGroupOnMatch(Regex regex, IEnumerable lines) => + lines + .Select(line => regex.Match(line)) + .Where(match => match.Success) + .Select(match => match.Groups[1].Value); + + private static IEnumerable GetAssetsFilePaths(IEnumerable lines) => + GetFirstGroupOnMatch(AssetsFileRegex(), lines); + + private static IEnumerable GetRestoredProjects(IEnumerable lines) => + GetFirstGroupOnMatch(RestoredProjectRegex(), lines); + + public bool RestoreProjectToDirectory(string projectFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, out IEnumerable assets, string? pathToNugetConfig = null) { var args = GetRestoreArgs(projectFile, packageDirectory, forceDotnetRefAssemblyFetching); if (pathToNugetConfig != null) @@ -68,25 +80,18 @@ namespace Semmle.Extraction.CSharp.DependencyFetching args += $" --configfile \"{pathToNugetConfig}\""; } - return dotnetCliInvoker.RunCommand(args); + var success = dotnetCliInvoker.RunCommand(args, out var output); + assets = success ? GetAssetsFilePaths(output) : Array.Empty(); + return success; } - public bool RestoreSolutionToDirectory(string solutionFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, out IEnumerable projects) + public bool RestoreSolutionToDirectory(string solutionFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, out IEnumerable projects, out IEnumerable assets) { var args = GetRestoreArgs(solutionFile, packageDirectory, forceDotnetRefAssemblyFetching); - args += " --verbosity normal"; - if (dotnetCliInvoker.RunCommand(args, out var output)) - { - var regex = RestoreProjectRegex(); - projects = output - .Select(line => regex.Match(line)) - .Where(match => match.Success) - .Select(match => match.Groups[1].Value); - return true; - } - - projects = Array.Empty(); - return false; + var success = dotnetCliInvoker.RunCommand(args, out var output); + projects = success ? GetRestoredProjects(output) : Array.Empty(); + assets = success ? GetAssetsFilePaths(output) : Array.Empty(); + return success; } public bool New(string folder) @@ -121,6 +126,9 @@ namespace Semmle.Extraction.CSharp.DependencyFetching } [GeneratedRegex("Restored\\s+(.+\\.csproj)", RegexOptions.Compiled)] - private static partial Regex RestoreProjectRegex(); + private static partial Regex RestoredProjectRegex(); + + [GeneratedRegex("[Assets\\sfile\\shas\\snot\\schanged.\\sSkipping\\sassets\\sfile\\swriting.|Writing\\sassets\\sfile\\sto\\sdisk.]\\sPath:\\s(.*)", RegexOptions.Compiled)] + private static partial Regex AssetsFileRegex(); } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/IDotNet.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/IDotNet.cs index 6211fde32ad..3d752ec3456 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/IDotNet.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/IDotNet.cs @@ -4,8 +4,8 @@ namespace Semmle.Extraction.CSharp.DependencyFetching { internal interface IDotNet { - bool RestoreProjectToDirectory(string project, string directory, bool forceDotnetRefAssemblyFetching, string? pathToNugetConfig = null); - bool RestoreSolutionToDirectory(string solutionFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, out IEnumerable projects); + bool RestoreProjectToDirectory(string project, string directory, bool forceDotnetRefAssemblyFetching, out IEnumerable assets, string? pathToNugetConfig = null); + bool RestoreSolutionToDirectory(string solutionFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, out IEnumerable projects, out IEnumerable assets); bool New(string folder); bool AddPackage(string folder, string package); IList GetListedRuntimes(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs index 08e8f391a34..a70b84dde1d 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs @@ -91,7 +91,7 @@ namespace Semmle.Extraction.CSharp.Entities // The current argument is not named // so the previous ones were also not named // so the child index matches the parameter index. - isParamsParameter = Symbol?.AttributeConstructor?.Parameters[childIndex].IsParams == true; + isParamsParameter = Symbol.AttributeConstructor?.Parameters[childIndex].IsParams == true; argSyntax = ctorArguments[childIndex]; } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/NonGeneratedSourceLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/NonGeneratedSourceLocation.cs index f479f607e9c..e3e3c0c6ae4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/NonGeneratedSourceLocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/NonGeneratedSourceLocation.cs @@ -22,7 +22,7 @@ namespace Semmle.Extraction.CSharp.Entities Position.Span.Start.Line + 1, Position.Span.Start.Character + 1, Position.Span.End.Line + 1, Position.Span.End.Character); - var mapped = Symbol!.GetMappedLineSpan(); + var mapped = Symbol.GetMappedLineSpan(); if (mapped.HasMappedPath && mapped.IsValid) { var mappedLoc = Create(Context, Location.Create(mapped.Path, default, mapped.Span)); diff --git a/csharp/extractor/Semmle.Extraction.Tests/Assets.cs b/csharp/extractor/Semmle.Extraction.Tests/Assets.cs new file mode 100644 index 00000000000..1dbd6f9d41c --- /dev/null +++ b/csharp/extractor/Semmle.Extraction.Tests/Assets.cs @@ -0,0 +1,206 @@ +using Xunit; +using System.Linq; +using Semmle.Extraction.CSharp.DependencyFetching; + +namespace Semmle.Extraction.Tests +{ + public class AssetsTests + { + private static string FixExpectedPathOnWindows(string path) => path.Replace('\\', '/'); + + [Fact] + public void TestAssets1() + { + // Setup + var assets = new Assets(new ProgressMonitor(new LoggerStub())); + var json = assetsJson1; + var dependencies = new DependencyContainer(); + + // Execute + var success = assets.TryParse(json, dependencies); + + // Verify + Assert.True(success); + Assert.Equal(5, dependencies.RequiredPaths.Count()); + Assert.Equal(4, dependencies.UsedPackages.Count()); + + var normalizedPaths = dependencies.RequiredPaths.Select(FixExpectedPathOnWindows); + // Required references + Assert.Contains("castle.core/4.4.1/lib/netstandard1.5/Castle.Core.dll", normalizedPaths); + Assert.Contains("castle.core/4.4.1/lib/netstandard1.5/Castle.Core2.dll", normalizedPaths); + Assert.Contains("json.net/1.0.33/lib/netstandard2.0/Json.Net.dll", normalizedPaths); + Assert.Contains("microsoft.aspnetcore.cryptography.internal/6.0.8/lib/net6.0/Microsoft.AspNetCore.Cryptography.Internal.dll", normalizedPaths); + Assert.Contains("humanizer.core/2.8.26/lib/netstandard2.0", normalizedPaths); + // Used packages + Assert.Contains("castle.core", dependencies.UsedPackages); + Assert.Contains("json.net", dependencies.UsedPackages); + Assert.Contains("microsoft.aspnetcore.cryptography.internal", dependencies.UsedPackages); + Assert.Contains("humanizer.core", dependencies.UsedPackages); + } + + [Fact] + public void TestAssets2() + { + // Setup + var assets = new Assets(new ProgressMonitor(new LoggerStub())); + var json = assetsJson2; + var dependencies = new DependencyContainer(); + + // Execute + var success = assets.TryParse(json, dependencies); + + // Verify + Assert.True(success); + Assert.Equal(2, dependencies.RequiredPaths.Count()); + + var normalizedPaths = dependencies.RequiredPaths.Select(FixExpectedPathOnWindows); + // Required references + Assert.Contains("microsoft.netframework.referenceassemblies/1.0.3", normalizedPaths); + Assert.Contains("microsoft.netframework.referenceassemblies.net48/1.0.3", normalizedPaths); + // Used packages + Assert.Contains("microsoft.netframework.referenceassemblies", dependencies.UsedPackages); + Assert.Contains("microsoft.netframework.referenceassemblies.net48", dependencies.UsedPackages); + } + + [Fact] + public void TestAssets3() + { + // Setup + var assets = new Assets(new ProgressMonitor(new LoggerStub())); + var json = "garbage data"; + var dependencies = new DependencyContainer(); + + // Execute + var success = assets.TryParse(json, dependencies); + + // Verify + Assert.False(success); + Assert.Empty(dependencies.RequiredPaths); + } + + private readonly string assetsJson1 = """ +{ + "version": 3, + "targets": { + "net7.0": { + "Castle.Core/4.4.1": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.Collections.Specialized": "4.3.0", + }, + "compile": { + "lib/netstandard1.5/Castle.Core.dll": { + "related": ".xml" + }, + "lib/netstandard1.5/Castle.Core2.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard1.5/Castle.Core.dll": { + "related": ".xml" + } + } + }, + "Json.Net/1.0.33": { + "type": "package", + "compile": { + "lib/netstandard2.0/Json.Net.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Json.Net.dll": {} + } + }, + "MessagePackAnalyzer/2.1.152": { + "type": "package" + }, + "Microsoft.AspNetCore.Cryptography.Internal/6.0.8": { + "type": "package", + "compile": { + "lib/net6.0/Microsoft.AspNetCore.Cryptography.Internal.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Microsoft.AspNetCore.Cryptography.Internal.dll": { + "related": ".xml" + } + } + }, + "Humanizer.Core/2.8.26": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Humanizer.dll": { + "related": ".xml" + } + } + }, + "Nop.Core/4.5.0": { + "type": "project", + "compile": { + "bin/placeholder/Nop.Core.dll": {} + }, + "runtime": { + "bin/placeholder/Nop.Core.dll": {} + } + }, + } + }, + "project": { + "version": "1.0.0", + "frameworks": { + "net7.0": { + "targetAlias": "net7.0", + "downloadDependencies": [ + { + "name": "Microsoft.AspNetCore.App.Ref", + "version": "[7.0.2, 7.0.2]" + }, + { + "name": "Microsoft.NETCore.App.Ref", + "version": "[7.0.2, 7.0.2]" + } + ], + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + } + } + } + } +} +"""; + + private readonly string assetsJson2 = """ +{ + "version": 3, + "targets": { + ".NETFramework,Version=v4.8": { + "Microsoft.NETFramework.ReferenceAssemblies/1.0.3": { + "type": "package", + "dependencies": { + "Microsoft.NETFramework.ReferenceAssemblies.net48": "1.0.3" + } + }, + "Microsoft.NETFramework.ReferenceAssemblies.net48/1.0.3": { + "type": "package", + "build": { + "build/Microsoft.NETFramework.ReferenceAssemblies.net48.targets": {} + } + } + } + } +} +"""; + } +} diff --git a/csharp/extractor/Semmle.Extraction.Tests/DotNet.cs b/csharp/extractor/Semmle.Extraction.Tests/DotNet.cs index 491be3ef137..6fe91b22a87 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/DotNet.cs +++ b/csharp/extractor/Semmle.Extraction.Tests/DotNet.cs @@ -43,9 +43,11 @@ namespace Semmle.Extraction.Tests private static IList MakeDotnetRestoreOutput() => new List { " Determining projects to restore...", + " Writing assets file to disk. Path: /path/to/project.assets.json", " Restored /path/to/project.csproj (in 1.23 sec).", " Other output...", " More output...", + " Assets file has not changed. Skipping assets file writing. Path: /path/to/project2.assets.json", " Restored /path/to/project2.csproj (in 4.56 sec).", " Other output...", }; @@ -99,26 +101,29 @@ namespace Semmle.Extraction.Tests var dotnet = MakeDotnet(dotnetCliInvoker); // Execute - dotnet.RestoreProjectToDirectory("myproject.csproj", "mypackages", false); + dotnet.RestoreProjectToDirectory("myproject.csproj", "mypackages", false, out var assets); // Verify var lastArgs = dotnetCliInvoker.GetLastArgs(); - Assert.Equal("restore --no-dependencies \"myproject.csproj\" --packages \"mypackages\" /p:DisableImplicitNuGetFallbackFolder=true", lastArgs); + Assert.Equal("restore --no-dependencies \"myproject.csproj\" --packages \"mypackages\" /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal", lastArgs); } [Fact] public void TestDotnetRestoreProjectToDirectory2() { // Setup - var dotnetCliInvoker = new DotNetCliInvokerStub(new List()); + var dotnetCliInvoker = new DotNetCliInvokerStub(MakeDotnetRestoreOutput()); var dotnet = MakeDotnet(dotnetCliInvoker); // Execute - dotnet.RestoreProjectToDirectory("myproject.csproj", "mypackages", false, "myconfig.config"); + dotnet.RestoreProjectToDirectory("myproject.csproj", "mypackages", false, out var assets, "myconfig.config"); // Verify var lastArgs = dotnetCliInvoker.GetLastArgs(); - Assert.Equal("restore --no-dependencies \"myproject.csproj\" --packages \"mypackages\" /p:DisableImplicitNuGetFallbackFolder=true --configfile \"myconfig.config\"", lastArgs); + Assert.Equal("restore --no-dependencies \"myproject.csproj\" --packages \"mypackages\" /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile \"myconfig.config\"", lastArgs); + Assert.Equal(2, assets.Count()); + Assert.Contains("/path/to/project.assets.json", assets); + Assert.Contains("/path/to/project2.assets.json", assets); } [Fact] @@ -129,7 +134,7 @@ namespace Semmle.Extraction.Tests var dotnet = MakeDotnet(dotnetCliInvoker); // Execute - dotnet.RestoreSolutionToDirectory("mysolution.sln", "mypackages", false, out var projects); + dotnet.RestoreSolutionToDirectory("mysolution.sln", "mypackages", false, out var projects, out var assets); // Verify var lastArgs = dotnetCliInvoker.GetLastArgs(); @@ -137,6 +142,9 @@ namespace Semmle.Extraction.Tests Assert.Equal(2, projects.Count()); Assert.Contains("/path/to/project.csproj", projects); Assert.Contains("/path/to/project2.csproj", projects); + Assert.Equal(2, assets.Count()); + Assert.Contains("/path/to/project.assets.json", assets); + Assert.Contains("/path/to/project2.assets.json", assets); } [Fact] @@ -148,12 +156,13 @@ namespace Semmle.Extraction.Tests dotnetCliInvoker.Success = false; // Execute - dotnet.RestoreSolutionToDirectory("mysolution.sln", "mypackages", false, out var projects); + dotnet.RestoreSolutionToDirectory("mysolution.sln", "mypackages", false, out var projects, out var assets); // Verify var lastArgs = dotnetCliInvoker.GetLastArgs(); Assert.Equal("restore --no-dependencies \"mysolution.sln\" --packages \"mypackages\" /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal", lastArgs); Assert.Empty(projects); + Assert.Empty(assets); } [Fact] diff --git a/csharp/extractor/Semmle.Extraction.Tests/Runtime.cs b/csharp/extractor/Semmle.Extraction.Tests/Runtime.cs index bb6d5ed4307..8c7a8a1b3e1 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/Runtime.cs +++ b/csharp/extractor/Semmle.Extraction.Tests/Runtime.cs @@ -19,11 +19,16 @@ namespace Semmle.Extraction.Tests public bool New(string folder) => true; - public bool RestoreProjectToDirectory(string project, string directory, bool forceDotnetRefAssemblyFetching, string? pathToNugetConfig = null) => true; + public bool RestoreProjectToDirectory(string project, string directory, bool forceDotnetRefAssemblyFetching, out IEnumerable assets, string? pathToNugetConfig = null) + { + assets = Array.Empty(); + return true; + } - public bool RestoreSolutionToDirectory(string solution, string directory, bool forceDotnetRefAssemblyFetching, out IEnumerable projects) + public bool RestoreSolutionToDirectory(string solution, string directory, bool forceDotnetRefAssemblyFetching, out IEnumerable projects, out IEnumerable assets) { projects = Array.Empty(); + assets = Array.Empty(); return true; } diff --git a/csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntity`1.cs b/csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntity`1.cs index 4ef36362733..82ded71a9cd 100644 --- a/csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntity`1.cs +++ b/csharp/extractor/Semmle.Extraction/Entities/Base/CachedEntity`1.cs @@ -1,3 +1,4 @@ +using System.Diagnostics.CodeAnalysis; using System.IO; using Microsoft.CodeAnalysis; @@ -30,6 +31,7 @@ namespace Semmle.Extraction /// The type of the symbol. public abstract class CachedEntity : CachedEntity where TSymbol : notnull { + [NotNull] public TSymbol Symbol { get; } protected CachedEntity(Context context, TSymbol symbol) : base(context) diff --git a/csharp/extractor/Semmle.Util/IEnumerableExtensions.cs b/csharp/extractor/Semmle.Util/IEnumerableExtensions.cs index 4e40288d88c..1ca676f0ce6 100644 --- a/csharp/extractor/Semmle.Util/IEnumerableExtensions.cs +++ b/csharp/extractor/Semmle.Util/IEnumerableExtensions.cs @@ -113,5 +113,11 @@ namespace Semmle.Util h = h * 7 + i.GetHashCode(); return h; } + + /// + /// Returns the sequence with nulls removed. + /// + public static IEnumerable WhereNotNull(this IEnumerable items) where T : class => + items.Where(i => i is not null)!; } } diff --git a/csharp/ql/integration-tests/posix-only/dotnet_test/dotnet_test.csproj b/csharp/ql/integration-tests/posix-only/dotnet_test/dotnet_test.csproj index 968726df756..0556c69acc8 100644 --- a/csharp/ql/integration-tests/posix-only/dotnet_test/dotnet_test.csproj +++ b/csharp/ql/integration-tests/posix-only/dotnet_test/dotnet_test.csproj @@ -3,7 +3,6 @@ net7.0 enable - false @@ -14,4 +13,9 @@ + + + + + diff --git a/csharp/ql/integration-tests/posix-only/dotnet_test/test.py b/csharp/ql/integration-tests/posix-only/dotnet_test/test.py index f69d01b2188..179b7901956 100644 --- a/csharp/ql/integration-tests/posix-only/dotnet_test/test.py +++ b/csharp/ql/integration-tests/posix-only/dotnet_test/test.py @@ -8,3 +8,8 @@ check_diagnostics() # Explicitly build and then run tests. run_codeql_database_create(['dotnet clean', 'rm -rf test-db', 'dotnet build -o myout', 'dotnet test myout/dotnet_test.dll'], test_db="test2-db", lang="csharp") check_diagnostics(test_db="test2-db") + +thisDir = os.path.abspath(os.getcwd()) +# Explicit build and then run tests using the absolute path. +run_codeql_database_create(['dotnet clean', 'rm -rf test2-db', 'dotnet build -o myout', f'dotnet test {thisDir}/myout/dotnet_test.dll'], test_db="test3-db", lang="csharp") +check_diagnostics(test_db="test3-db") \ No newline at end of file diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.expected index dbaace30bc7..e23acecf224 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.expected @@ -1,7 +1,3 @@ -| /avalara.avatax/21.10.0/lib/net20/Avalara.AvaTax.RestClient.net20.dll | -| /avalara.avatax/21.10.0/lib/net45/Avalara.AvaTax.RestClient.net45.dll | -| /avalara.avatax/21.10.0/lib/net461/Avalara.AvaTax.RestClient.net461.dll | -| /avalara.avatax/21.10.0/lib/netstandard16/Avalara.AvaTax.netstandard11.dll | | /avalara.avatax/21.10.0/lib/netstandard20/Avalara.AvaTax.netstandard20.dll | | /microsoft.bcl.asyncinterfaces/6.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll | | /microsoft.netcore.app.ref/3.1.0/ref/netcoreapp3.1/System.Runtime.InteropServices.WindowsRuntime.dll | @@ -168,4 +164,4 @@ | /microsoft.netcore.app.ref/7.0.2/ref/net7.0/WindowsBase.dll | | /microsoft.netcore.app.ref/7.0.2/ref/net7.0/mscorlib.dll | | /microsoft.netcore.app.ref/7.0.2/ref/net7.0/netstandard.dll | -| /newtonsoft.json/12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll | +| /newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.expected new file mode 100644 index 00000000000..cd527ec5add --- /dev/null +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.expected @@ -0,0 +1,163 @@ +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.CSharp.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.VisualBasic.Core.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.VisualBasic.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.Win32.Primitives.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.Win32.Registry.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.AppContext.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Buffers.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Concurrent.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Immutable.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.NonGeneric.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Specialized.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.Annotations.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.DataAnnotations.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.EventBasedAsync.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.Primitives.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.TypeConverter.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Configuration.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Console.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Core.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Data.Common.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Data.DataSetExtensions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Data.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Contracts.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Debug.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.DiagnosticSource.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.FileVersionInfo.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Process.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.StackTrace.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.TextWriterTraceListener.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Tools.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.TraceSource.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Tracing.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Drawing.Primitives.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Drawing.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Dynamic.Runtime.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Formats.Asn1.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Formats.Tar.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.Calendars.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.Extensions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.Brotli.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.FileSystem.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.ZipFile.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.AccessControl.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.DriveInfo.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.Primitives.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.Watcher.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.IsolatedStorage.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.MemoryMappedFiles.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Pipes.AccessControl.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Pipes.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.UnmanagedMemoryStream.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Expressions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Parallel.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Queryable.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Memory.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Http.Json.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Http.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.HttpListener.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Mail.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.NameResolution.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.NetworkInformation.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Ping.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Primitives.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Quic.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Requests.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Security.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.ServicePoint.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Sockets.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebClient.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebHeaderCollection.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebProxy.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebSockets.Client.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebSockets.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Numerics.Vectors.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Numerics.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ObjectModel.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.DispatchProxy.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.ILGeneration.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.Lightweight.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Extensions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Metadata.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Primitives.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.TypeExtensions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.Reader.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.ResourceManager.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.Writer.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.CompilerServices.Unsafe.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.CompilerServices.VisualC.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Extensions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Handles.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.JavaScript.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.RuntimeInformation.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Intrinsics.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Loader.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Numerics.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Formatters.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Json.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Primitives.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Xml.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.AccessControl.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Claims.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Algorithms.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Cng.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Csp.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Encoding.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.OpenSsl.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Primitives.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.X509Certificates.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Principal.Windows.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Principal.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.SecureString.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ServiceModel.Web.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ServiceProcess.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.CodePages.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.Extensions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encodings.Web.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Json.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.RegularExpressions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Channels.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Overlapped.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Dataflow.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Extensions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Parallel.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Thread.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.ThreadPool.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Timer.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Transactions.Local.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Transactions.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ValueTuple.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Web.HttpUtility.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Web.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Windows.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.Linq.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.ReaderWriter.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.Serialization.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XDocument.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XPath.XDocument.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XPath.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XmlDocument.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XmlSerializer.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/WindowsBase.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/mscorlib.dll | +| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/netstandard.dll | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.ql new file mode 100644 index 00000000000..91ee82c1c7a --- /dev/null +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.ql @@ -0,0 +1,15 @@ +import csharp + +private string getPath(Assembly a) { + not a.getCompilation().getOutputAssembly() = a and + exists(string s | s = a.getFile().getAbsolutePath() | + result = + s.substring(s.indexOf("GitHub/packages/") + "GitHub/packages/".length() + 16, s.length()) + or + result = s and + not exists(s.indexOf("GitHub/packages/")) + ) +} + +from Assembly a +select getPath(a) diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Program.cs b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Program.cs new file mode 100644 index 00000000000..47eee48cc79 --- /dev/null +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Program.cs @@ -0,0 +1 @@ +var dummy = "dummy"; \ No newline at end of file diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/global.json b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/global.json new file mode 100644 index 00000000000..1a974fd253e --- /dev/null +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "version": "7.0.102" + } +} \ No newline at end of file diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/net48.csproj b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/net48.csproj new file mode 100644 index 00000000000..65bdc7d9050 --- /dev/null +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/net48.csproj @@ -0,0 +1,10 @@ + + + + Exe + net48 + enable + enable + + + diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/net70.csproj b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/net70.csproj new file mode 100644 index 00000000000..f02677bf640 --- /dev/null +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/net70.csproj @@ -0,0 +1,10 @@ + + + + Exe + net7.0 + enable + enable + + + diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/test.py b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/test.py new file mode 100644 index 00000000000..58074b430b2 --- /dev/null +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/test.py @@ -0,0 +1,3 @@ +from create_database_utils import * + +run_codeql_database_create([], lang="csharp", extra_args=["--extractor-option=buildless=true", "--extractor-option=cil=false"]) diff --git a/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.expected b/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.expected index f21d44a3c33..55205c8ad35 100644 --- a/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.expected +++ b/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.expected @@ -1,7 +1,3 @@ -| /avalara.avatax/21.10.0/lib/net20/Avalara.AvaTax.RestClient.net20.dll | -| /avalara.avatax/21.10.0/lib/net45/Avalara.AvaTax.RestClient.net45.dll | -| /avalara.avatax/21.10.0/lib/net461/Avalara.AvaTax.RestClient.net461.dll | -| /avalara.avatax/21.10.0/lib/netstandard16/Avalara.AvaTax.netstandard11.dll | | /avalara.avatax/21.10.0/lib/netstandard20/Avalara.AvaTax.netstandard20.dll | | /microsoft.bcl.asyncinterfaces/6.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll | | /microsoft.netcore.app.ref/3.1.0/ref/netcoreapp3.1/System.Runtime.InteropServices.WindowsRuntime.dll | @@ -212,4 +208,4 @@ | /microsoft.windowsdesktop.app.ref/7.0.2/ref/net7.0/UIAutomationTypes.dll | | /microsoft.windowsdesktop.app.ref/7.0.2/ref/net7.0/WindowsBase.dll | | /microsoft.windowsdesktop.app.ref/7.0.2/ref/net7.0/WindowsFormsIntegration.dll | -| /newtonsoft.json/12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll | +| /newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll | diff --git a/csharp/ql/lib/semmle/code/csharp/Generics.qll b/csharp/ql/lib/semmle/code/csharp/Generics.qll index 82efe78c96d..fb17ef2c732 100644 --- a/csharp/ql/lib/semmle/code/csharp/Generics.qll +++ b/csharp/ql/lib/semmle/code/csharp/Generics.qll @@ -123,11 +123,13 @@ class UnboundGenericType extends ValueOrRefType, UnboundGeneric { } /** + * DEPRECATED: predicate does not contain any tuples. + * * Gets the instance type of this type. For an unbound generic type, the instance type * is a constructed type created from the unbound type, with each of the supplied type * arguments being the corresponding type parameter. */ - ConstructedType getInstanceType() { + deprecated ConstructedType getInstanceType() { result = this.getAConstructedGeneric() and forall(TypeParameter tp, int i | tp = this.getTypeParameter(i) | tp = result.getTypeArgument(i)) } @@ -277,7 +279,7 @@ class TypeParameterConstraints extends Element, @type_parameter_constraints { * ``` */ class UnboundGenericStruct extends Struct, UnboundGenericType { - override ConstructedStruct getInstanceType() { + deprecated override ConstructedStruct getInstanceType() { result = UnboundGenericType.super.getInstanceType() } @@ -300,7 +302,7 @@ class UnboundGenericStruct extends Struct, UnboundGenericType { * ``` */ class UnboundGenericClass extends Class, UnboundGenericType { - override ConstructedClass getInstanceType() { + deprecated override ConstructedClass getInstanceType() { result = UnboundGenericType.super.getInstanceType() } @@ -323,7 +325,7 @@ class UnboundGenericClass extends Class, UnboundGenericType { * ``` */ class UnboundGenericInterface extends Interface, UnboundGenericType { - override ConstructedInterface getInstanceType() { + deprecated override ConstructedInterface getInstanceType() { result = UnboundGenericType.super.getInstanceType() } @@ -347,7 +349,7 @@ class UnboundGenericInterface extends Interface, UnboundGenericType { * ``` */ class UnboundGenericDelegateType extends DelegateType, UnboundGenericType { - override ConstructedDelegateType getInstanceType() { + deprecated override ConstructedDelegateType getInstanceType() { result = UnboundGenericType.super.getInstanceType() } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll similarity index 94% rename from csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlow.qll rename to csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll index 7f09f70014b..e8113d97d2b 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll @@ -87,28 +87,16 @@ */ import csharp -private import ExternalFlowExtensions as Extensions -private import internal.AccessPathSyntax -private import internal.DataFlowDispatch -private import internal.DataFlowPrivate -private import internal.DataFlowPublic -private import internal.FlowSummaryImpl::Public -private import internal.FlowSummaryImpl::Private::External -private import internal.FlowSummaryImplSpecific +import ExternalFlowExtensions +private import AccessPathSyntax +private import DataFlowDispatch +private import DataFlowPrivate +private import DataFlowPublic +private import FlowSummaryImpl::Public +private import FlowSummaryImpl::Private::External +private import FlowSummaryImplSpecific private import codeql.mad.ModelValidation as SharedModelVal -/** Holds if a source model exists for the given parameters. */ -predicate sourceModel = Extensions::sourceModel/9; - -/** Holds if a sink model exists for the given parameters. */ -predicate sinkModel = Extensions::sinkModel/9; - -/** Holds if a summary model exists for the given parameters. */ -predicate summaryModel = Extensions::summaryModel/10; - -/** Holds if a neutral model exists for the given parameters. */ -predicate neutralModel = Extensions::neutralModel/6; - private predicate relevantNamespace(string namespace) { sourceModel(namespace, _, _, _, _, _, _, _, _) or sinkModel(namespace, _, _, _, _, _, _, _, _) or @@ -310,10 +298,17 @@ class UnboundCallable extends Callable { } } +private predicate hasName(Declaration d, string name) { + d.(Operator).getFunctionName() = name + or + not d instanceof Operator and + d.hasName(name) +} + pragma[nomagic] private predicate callableSpecInfo(Callable c, string namespace, string type, string name) { c.getDeclaringType().hasQualifiedName(namespace, type) and - c.getName() = name + hasName(c, name) } pragma[nomagic] @@ -326,7 +321,7 @@ private predicate subtypeSpecCandidate(string name, UnboundValueOrRefType t) { pragma[nomagic] private predicate callableInfo(Callable c, string name, UnboundValueOrRefType decl) { - name = c.getName() and + hasName(c, name) and decl = c.getDeclaringType() } @@ -387,7 +382,7 @@ private Element interpretElement0( subtypes = true and result.(UnboundCallable).overridesOrImplementsUnbound(m) ) and m.getDeclaringType() = t and - m.hasName(name) + hasName(m, name) | signature = "" or diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlowExtensions.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlowExtensions.qll similarity index 100% rename from csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlowExtensions.qll rename to csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlowExtensions.qll diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll index c57808804b0..2032411a814 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll @@ -12,7 +12,7 @@ private import DataFlowImplCommon private import FlowSummaryImpl::Private private import FlowSummaryImpl::Public private import semmle.code.csharp.Unification -private import semmle.code.csharp.dataflow.ExternalFlow +private import ExternalFlow private import semmle.code.csharp.dataflow.FlowSummary as FlowSummary /** diff --git a/csharp/ql/lib/semmle/code/csharp/security/cryptography/HardcodedSymmetricEncryptionKey.qll b/csharp/ql/lib/semmle/code/csharp/security/cryptography/HardcodedSymmetricEncryptionKey.qll index 9fdc6dc88be..b33bc3dce99 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/cryptography/HardcodedSymmetricEncryptionKey.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/cryptography/HardcodedSymmetricEncryptionKey.qll @@ -4,7 +4,7 @@ */ import csharp -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow module HardcodedSymmetricEncryptionKey { private import semmle.code.csharp.frameworks.system.security.cryptography.SymmetricAlgorithm diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll index cd035de9414..9a5b6f38cea 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll @@ -7,7 +7,7 @@ private import semmle.code.csharp.security.dataflow.flowsources.Remote private import semmle.code.csharp.security.dataflow.flowsources.Local private import semmle.code.csharp.frameworks.system.codedom.Compiler private import semmle.code.csharp.security.Sanitizers -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** * A data flow source for user input treated as code vulnerabilities. diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll index 90615faac9f..b174405443f 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll @@ -6,7 +6,7 @@ import csharp private import semmle.code.csharp.security.dataflow.flowsources.Remote private import semmle.code.csharp.frameworks.system.Diagnostics private import semmle.code.csharp.security.Sanitizers -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** * A source specific to command injection vulnerabilities. diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll index c059cb7523c..25134fbcb12 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll @@ -8,7 +8,7 @@ private import semmle.code.csharp.security.dataflow.flowsources.Remote private import semmle.code.csharp.frameworks.system.DirectoryServices private import semmle.code.csharp.frameworks.system.directoryservices.Protocols private import semmle.code.csharp.security.Sanitizers -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** * A data flow source for unvalidated user input that is used to construct LDAP queries. diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll index e219b5db589..800e86457b4 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll @@ -8,7 +8,7 @@ private import semmle.code.csharp.frameworks.System private import semmle.code.csharp.frameworks.system.text.RegularExpressions private import semmle.code.csharp.security.Sanitizers private import semmle.code.csharp.security.dataflow.flowsinks.ExternalLocationSink -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** * A data flow source for untrusted user input used in log entries. diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll index 61b2491753a..7500ac7a994 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll @@ -7,7 +7,7 @@ private import semmle.code.csharp.security.dataflow.flowsources.Remote private import semmle.code.csharp.security.dataflow.flowsources.Local private import semmle.code.csharp.frameworks.Sql private import semmle.code.csharp.security.Sanitizers -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** * A source specific to SQL injection vulnerabilities. diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll index 2def16decd9..31c14362d38 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll @@ -9,7 +9,7 @@ private import semmle.code.csharp.frameworks.system.Web private import semmle.code.csharp.frameworks.system.web.Mvc private import semmle.code.csharp.security.Sanitizers private import semmle.code.csharp.frameworks.microsoft.AspNetCore -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** * A data flow source for unvalidated URL redirect vulnerabilities. diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSSinks.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSSinks.qll index 65ac1687714..4e908bf5dfe 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSSinks.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSSinks.qll @@ -9,7 +9,7 @@ private import semmle.code.csharp.frameworks.system.Web private import semmle.code.csharp.frameworks.system.web.UI private import semmle.code.csharp.security.dataflow.flowsinks.Html private import semmle.code.csharp.security.dataflow.flowsinks.Remote -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow private import semmle.code.csharp.frameworks.ServiceStack::XSS /** diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/ExternalLocationSink.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/ExternalLocationSink.qll index 1baeff7641b..5b76d8a2dcb 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/ExternalLocationSink.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/ExternalLocationSink.qll @@ -7,7 +7,7 @@ private import Remote private import semmle.code.csharp.commons.Loggers private import semmle.code.csharp.frameworks.system.Web private import semmle.code.csharp.frameworks.system.IO -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** * An external location sink. diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/Html.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/Html.qll index 318e298ae1f..6889d6c5b89 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/Html.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/Html.qll @@ -13,7 +13,7 @@ private import semmle.code.csharp.frameworks.system.web.UI private import semmle.code.csharp.frameworks.system.web.ui.WebControls private import semmle.code.csharp.frameworks.system.windows.Forms private import semmle.code.csharp.security.dataflow.flowsources.Remote -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow private import semmle.code.asp.AspNet /** diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll index 3d57c45e06f..89e7fe5d091 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll @@ -4,7 +4,7 @@ import csharp private import semmle.code.csharp.frameworks.system.windows.Forms -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** A data flow source of local data. */ abstract class LocalFlowSource extends DataFlow::Node { diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll index 404730ac4c4..f1bfee775e5 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll @@ -12,7 +12,7 @@ private import semmle.code.csharp.frameworks.system.web.ui.WebControls private import semmle.code.csharp.frameworks.WCF private import semmle.code.csharp.frameworks.microsoft.Owin private import semmle.code.csharp.frameworks.microsoft.AspNetCore -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** A data flow source of remote user input. */ abstract class RemoteFlowSource extends DataFlow::Node { diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll index db1f1241548..e310f7a0cce 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll @@ -3,7 +3,7 @@ */ import csharp -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow private import semmle.code.csharp.frameworks.system.data.Common private import semmle.code.csharp.frameworks.system.data.Entity private import semmle.code.csharp.frameworks.EntityFramework diff --git a/csharp/ql/src/Metrics/Summaries/FrameworkCoverage.ql b/csharp/ql/src/Metrics/Summaries/FrameworkCoverage.ql index 5a070076d26..274e970b0b6 100644 --- a/csharp/ql/src/Metrics/Summaries/FrameworkCoverage.ql +++ b/csharp/ql/src/Metrics/Summaries/FrameworkCoverage.ql @@ -7,7 +7,7 @@ */ import csharp -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow from string namespaceAndType, int rows where diff --git a/csharp/ql/src/Telemetry/ExternalApi.qll b/csharp/ql/src/Telemetry/ExternalApi.qll index baa076ade2f..83e6463f5e1 100644 --- a/csharp/ql/src/Telemetry/ExternalApi.qll +++ b/csharp/ql/src/Telemetry/ExternalApi.qll @@ -2,10 +2,10 @@ private import csharp private import semmle.code.csharp.dispatch.Dispatch -private import semmle.code.csharp.dataflow.ExternalFlow private import semmle.code.csharp.dataflow.FlowSummary private import semmle.code.csharp.dataflow.internal.DataFlowPrivate private import semmle.code.csharp.dataflow.internal.DataFlowDispatch as DataFlowDispatch +private import semmle.code.csharp.dataflow.internal.ExternalFlow private import semmle.code.csharp.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl private import semmle.code.csharp.dataflow.internal.TaintTrackingPrivate private import semmle.code.csharp.security.dataflow.flowsources.Remote diff --git a/csharp/ql/src/meta/frameworks/Coverage.ql b/csharp/ql/src/meta/frameworks/Coverage.ql index b4e210c79ed..1725cc894f0 100644 --- a/csharp/ql/src/meta/frameworks/Coverage.ql +++ b/csharp/ql/src/meta/frameworks/Coverage.ql @@ -7,7 +7,7 @@ */ import csharp -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow from string namespace, int pkgs, string kind, string part, int n where modelCoverage(namespace, pkgs, kind, part, n) diff --git a/csharp/ql/src/utils/modelconverter/ExtractNeutrals.ql b/csharp/ql/src/utils/modelconverter/ExtractNeutrals.ql index 8d5c4499402..7940f319c02 100644 --- a/csharp/ql/src/utils/modelconverter/ExtractNeutrals.ql +++ b/csharp/ql/src/utils/modelconverter/ExtractNeutrals.ql @@ -5,7 +5,7 @@ */ import csharp -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow from string package, string type, string name, string signature, string kind, string provenance where diff --git a/csharp/ql/src/utils/modelconverter/ExtractSinks.ql b/csharp/ql/src/utils/modelconverter/ExtractSinks.ql index b2ab7ca8546..58302da2d04 100644 --- a/csharp/ql/src/utils/modelconverter/ExtractSinks.ql +++ b/csharp/ql/src/utils/modelconverter/ExtractSinks.ql @@ -5,7 +5,7 @@ */ import csharp -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow from string namespace, string type, boolean subtypes, string name, string signature, string ext, diff --git a/csharp/ql/src/utils/modelconverter/ExtractSources.ql b/csharp/ql/src/utils/modelconverter/ExtractSources.ql index 6e19315eecd..0478f47937a 100644 --- a/csharp/ql/src/utils/modelconverter/ExtractSources.ql +++ b/csharp/ql/src/utils/modelconverter/ExtractSources.ql @@ -5,7 +5,7 @@ */ import csharp -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow from string namespace, string type, boolean subtypes, string name, string signature, string ext, diff --git a/csharp/ql/src/utils/modelconverter/ExtractSummaries.ql b/csharp/ql/src/utils/modelconverter/ExtractSummaries.ql index 9991b8ddceb..26239226a8c 100644 --- a/csharp/ql/src/utils/modelconverter/ExtractSummaries.ql +++ b/csharp/ql/src/utils/modelconverter/ExtractSummaries.ql @@ -5,7 +5,7 @@ */ import csharp -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow from string namespace, string type, boolean subtypes, string name, string signature, string ext, diff --git a/csharp/ql/src/utils/modeleditor/ApplicationModeEndpointsQuery.qll b/csharp/ql/src/utils/modeleditor/ApplicationModeEndpointsQuery.qll index 74677778a7c..de64071fac0 100644 --- a/csharp/ql/src/utils/modeleditor/ApplicationModeEndpointsQuery.qll +++ b/csharp/ql/src/utils/modeleditor/ApplicationModeEndpointsQuery.qll @@ -1,5 +1,5 @@ private import csharp -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow private import semmle.code.csharp.dataflow.internal.DataFlowDispatch as DataFlowDispatch private import semmle.code.csharp.dataflow.internal.DataFlowPrivate private import semmle.code.csharp.dataflow.internal.TaintTrackingPrivate diff --git a/csharp/ql/src/utils/modeleditor/FrameworkModeEndpointsQuery.qll b/csharp/ql/src/utils/modeleditor/FrameworkModeEndpointsQuery.qll index b83060ed17f..31eb497b44c 100644 --- a/csharp/ql/src/utils/modeleditor/FrameworkModeEndpointsQuery.qll +++ b/csharp/ql/src/utils/modeleditor/FrameworkModeEndpointsQuery.qll @@ -1,5 +1,5 @@ private import csharp -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow private import semmle.code.csharp.frameworks.Test private import ModelEditor diff --git a/csharp/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll b/csharp/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll index 29ab8a2c1dc..47f3e6acd81 100644 --- a/csharp/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll +++ b/csharp/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll @@ -8,7 +8,7 @@ private import semmle.code.csharp.commons.Util as Util private import semmle.code.csharp.commons.Collections as Collections private import semmle.code.csharp.dataflow.internal.DataFlowDispatch private import semmle.code.csharp.frameworks.system.linq.Expressions -import semmle.code.csharp.dataflow.ExternalFlow as ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow as ExternalFlow import semmle.code.csharp.dataflow.internal.DataFlowImplCommon as DataFlowImplCommon import semmle.code.csharp.dataflow.internal.DataFlowPrivate as DataFlowPrivate diff --git a/csharp/ql/test/TestUtilities/InlineFlowTest.qll b/csharp/ql/test/TestUtilities/InlineFlowTest.qll index 1d0fe9cc067..b7d7226e812 100644 --- a/csharp/ql/test/TestUtilities/InlineFlowTest.qll +++ b/csharp/ql/test/TestUtilities/InlineFlowTest.qll @@ -26,7 +26,11 @@ private module FlowTestImpl implements InputSig { } string getArgString(DataFlow::Node src, DataFlow::Node sink) { - (if exists(getSourceArgString(src)) then result = getSourceArgString(src) else result = "") and + ( + result = getSourceArgString(src) + or + not exists(getSourceArgString(src)) and result = "line:" + src.getLocation().getStartLine() + ) and exists(sink) } } diff --git a/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.ql b/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.ql index 900f27f8f86..5aca9148ff1 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.ql @@ -3,7 +3,7 @@ */ import csharp -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow import Taint::PathGraph import ModelValidation diff --git a/csharp/ql/test/library-tests/dataflow/external-models/sinks.ql b/csharp/ql/test/library-tests/dataflow/external-models/sinks.ql index 3cd09e342fa..b7fd04a4d7e 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/sinks.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/sinks.ql @@ -1,6 +1,6 @@ import csharp import DataFlow -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow import ModelValidation from DataFlow::Node node, string kind diff --git a/csharp/ql/test/library-tests/dataflow/external-models/srcs.ql b/csharp/ql/test/library-tests/dataflow/external-models/srcs.ql index 5c0ab7306c7..f9c59d06b83 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/srcs.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/srcs.ql @@ -1,6 +1,6 @@ import csharp import DataFlow -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow import ModelValidation from DataFlow::Node node, string kind diff --git a/csharp/ql/test/library-tests/dataflow/external-models/steps.ql b/csharp/ql/test/library-tests/dataflow/external-models/steps.ql index f7635eae882..313f1dc9b7a 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/steps.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/steps.ql @@ -1,6 +1,6 @@ import csharp import DataFlow -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow import ModelValidation import semmle.code.csharp.dataflow.FlowSummary import semmle.code.csharp.dataflow.internal.DataFlowDispatch as DataFlowDispatch diff --git a/csharp/ql/test/library-tests/dataflow/external-models/validatemodels.ql b/csharp/ql/test/library-tests/dataflow/external-models/validatemodels.ql index d9e073ab78e..c538d5c29e1 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/validatemodels.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/validatemodels.ql @@ -1,5 +1,5 @@ import csharp -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow import semmle.code.csharp.dataflow.internal.AccessPathSyntax import ModelValidation diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index fd002b2f31b..45087504729 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -1,4 +1,57 @@ summary +| Dapper;CustomPropertyTypeMap;false;CustomPropertyTypeMap;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Dapper;DynamicParameters;false;Output<>;(T,System.Linq.Expressions.Expression>,System.Nullable,System.Nullable);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<>;(System.Type[],System.Func,System.String,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;add_QueryCachePurged;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;remove_QueryCachePurged;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;AddSingleton;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;AddTransient;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,,,>;(Funq.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,,,>;(System.String,Funq.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,,>;(Funq.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,,>;(System.String,Funq.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,>;(Funq.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,>;(System.String,Funq.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;RegisterFactory<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Func<,,,,,,,>;false;BeginInvoke;(T1,T2,T3,T4,T5,T6,T7,System.AsyncCallback,System.Object);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| Funq;Func<,,,,,,>;false;BeginInvoke;(T1,T2,T3,T4,T5,T6,System.AsyncCallback,System.Object);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| Funq;Func<,,,,,>;false;BeginInvoke;(T1,T2,T3,T4,T5,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| Funq;IInitializable<>;true;InitializedBy;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;ServiceEntry<,>;false;InitializedBy;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Authentication.Cookies;CookieAuthenticationEvents;false;set_OnCheckSlidingExpiration;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Authentication.Cookies;CookieAuthenticationEvents;false;set_OnRedirectToAccessDenied;(System.Func,System.Threading.Tasks.Task>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Authentication.Cookies;CookieAuthenticationEvents;false;set_OnRedirectToLogin;(System.Func,System.Threading.Tasks.Task>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -1783,6 +1836,2026 @@ summary | Newtonsoft.Json;JsonSerializerSettings;false;set_ReferenceResolverProvider;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Newtonsoft.Json;JsonValidatingReader;false;add_ValidationEventHandler;(Newtonsoft.Json.Schema.ValidationEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Newtonsoft.Json;JsonValidatingReader;false;remove_ValidationEventHandler;(Newtonsoft.Json.Schema.ValidationEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;RemoveFromUserForm;(System.Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnAfterCreateUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnAfterDeleteUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnAfterUpdateUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnBeforeCreateUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnBeforeDeleteUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnBeforeUpdateUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_ValidateFn;(ServiceStack.Auth.ValidateAsyncFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.AsyncEx;TaskCompletionSourceExtensions;false;TryCompleteFromCompletedTask<>;(System.Threading.Tasks.TaskCompletionSource,System.Threading.Tasks.Task,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;ApiKeyAuthProvider;false;set_CreateApiKeyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;ApiKeyAuthProvider;false;set_GenerateApiKey;(ServiceStack.Auth.CreateApiKeyDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProvider;false;set_AccountLockedValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProvider;false;set_CustomValidationFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProvider;false;set_LoadUserAuthFilter;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProvider;false;set_LoadUserAuthInfoFilterAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProviderSync;false;set_AccountLockedValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProviderSync;false;set_CustomValidationFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProviderSync;false;set_LoadUserAuthFilter;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthenticateService;false;Init;(System.Func,ServiceStack.Auth.IAuthProvider[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthenticateService;false;set_AuthResponseDecorator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthenticateService;false;set_CurrentSessionFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthenticateService;false;set_ValidateFn;(ServiceStack.Auth.ValidateFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;CreateApiKeyDelegate;false;BeginInvoke;(System.String,System.String,System.Int32,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProvider;false;CreateJwt;(ServiceStack.Text.JsonObject,ServiceStack.Text.JsonObject,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_CreateHeaderFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_CreatePayloadFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_PopulateSessionFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_PreValidateJwtPayloadFilter;(System.Func,System.String>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ResolveJwtId;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ResolveRefreshJwtId;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ResolveUnixTime;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ValidateRefreshToken;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ValidateToken;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;MicrosoftGraphAuthProvider;false;set_PhotoUrl;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;NetCoreIdentityAuthProvider;false;set_AutoSignInSessionsMatching;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;NetCoreIdentityAuthProvider;false;set_CreateClaimsPrincipal;(System.Func,ServiceStack.Auth.IAuthSession,ServiceStack.Web.IRequest,System.Security.Claims.ClaimsPrincipal>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;NetCoreIdentityAuthProvider;false;set_PopulateSessionFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;OAuth2Provider;false;set_ResolveUnknownDisplayName;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;OAuthProvider;false;set_VerifyAccessTokenAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;OAuthProviderSync;false;set_VerifyAccessToken;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;Pbkdf2DeriveKeyDelegate;false;BeginInvoke;(System.String,System.Byte[],Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf,System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;Pbkdf2Provider;false;set_DeriveKey;(ServiceStack.Auth.Pbkdf2DeriveKeyDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;RegisterService;false;set_ValidateFn;(ServiceStack.Auth.ValidateFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;ValidateAsyncFn;false;BeginInvoke;(ServiceStack.IServiceBase,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;ValidateFn;false;BeginInvoke;(ServiceStack.IServiceBase,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Configuration;AppSettingsBase;false;set_ParsingStrategy;(ServiceStack.Configuration.ParsingStrategyDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Configuration;ParsingStrategyDelegate;false;BeginInvoke;(System.String,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Data;DbConnectionFactory;false;DbConnectionFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Attributes;AttributedValidatorFactory;false;AttributedValidatorFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;AccessorCache<>;false;GetCachedAccessor<>;(System.Reflection.MemberInfo,System.Linq.Expressions.Expression>,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;CollectionPropertyRule;(System.Reflection.MemberInfo,System.Func,System.Linq.Expressions.LambdaExpression,System.Func,System.Type,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;CollectionPropertyRule;(System.Reflection.MemberInfo,System.Func,System.Linq.Expressions.LambdaExpression,System.Func,System.Type,System.Type);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;Create;(System.Linq.Expressions.Expression>>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;Create;(System.Linq.Expressions.Expression>>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;set_Filter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;set_IndexBuilder;(System.Func,TElement,System.Int32,System.String>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;GetMember<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IConfigurable<,>;true;Configure;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;Create;(ServiceStack.FluentValidation.IValidator,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;Create<>;(System.Func,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;Create<>;(System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;IncludeRule;(ServiceStack.FluentValidation.IValidator,System.Func,System.Type,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;IncludeRule;(System.Func>,System.Func,System.Type,System.Type,System.Type);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;IncludeRule;(System.Func>,System.Func,System.Type,System.Type,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;MemberAccessor<,>;false;MemberAccessor;(System.Linq.Expressions.Expression>,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;MemberAccessor<,>;false;op_Implicit;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;ApplyAsyncCondition;(System.Func>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;ApplyCondition;(System.Func,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;ApplySharedAsyncCondition;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;ApplySharedCondition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;Create<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;Create<,>;(System.Linq.Expressions.Expression>,System.Func,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;Create<,>;(System.Linq.Expressions.Expression>,System.Func,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;PropertyRule;(System.Reflection.MemberInfo,System.Func,System.Linq.Expressions.LambdaExpression,System.Func,System.Type,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;PropertyRule;(System.Reflection.MemberInfo,System.Func,System.Linq.Expressions.LambdaExpression,System.Func,System.Type,System.Type);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;SetDisplayName;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;set_MessageBuilder;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;set_OnFailure;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;set_Transformer;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;RuleBuilder<,>;false;Configure;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;RuleBuilder<,>;false;Configure;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;RuleBuilder<,>;false;SetValidator<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;RuleBuilder<,>;false;SetValidator<>;(System.Func,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;RuleBuilder<,>;false;SetValidator<>;(System.Func,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;RuleBuilder<,>;false;Transform<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Resources;LanguageStringSource;false;LanguageStringSource;(System.Func,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Resources;LazyStringSource;false;LazyStringSource;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Results;ValidationFailure;false;set_ErrorCodeResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ITestPropertyChain<>;true;Property<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;TestValidationResult<>;false;ShouldHaveValidationErrorFor<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;TestValidationResult<>;false;ShouldNotHaveValidationErrorFor<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveChildValidator<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveValidationErrorFor<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,T,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveValidationErrorFor<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,TValue,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveValidationErrorForAsync<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,T,System.Threading.CancellationToken,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveValidationErrorForAsync<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,TValue,System.Threading.CancellationToken,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldNotHaveValidationErrorFor<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,T,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldNotHaveValidationErrorFor<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,TValue,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldNotHaveValidationErrorForAsync<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,T,System.Threading.CancellationToken,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldNotHaveValidationErrorForAsync<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,TValue,System.Threading.CancellationToken,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;TestValidate<>;(ServiceStack.FluentValidation.IValidator,T,System.Action>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;TestValidateAsync<>;(ServiceStack.FluentValidation.IValidator,T,System.Action>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;When;(System.Collections.Generic.IEnumerable,System.Func,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;WhenAll;(System.Collections.Generic.IEnumerable,System.Func,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidatorTester<,>;false;ValidatorTester;(System.Linq.Expressions.Expression>,ServiceStack.FluentValidation.IValidator,TValue);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;AbstractComparisonValidator;false;AbstractComparisonValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;AbstractComparisonValidator;false;AbstractComparisonValidator;(System.Func,System.Reflection.MemberInfo,System.String,ServiceStack.FluentValidation.Resources.IStringSource);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;AsyncPredicateValidator;false;AsyncPredicateValidator;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;ChildValidatorAdaptor<,>;false;ChildValidatorAdaptor;(System.Func>,System.Type);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;CustomValidator<>;false;CustomValidator;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;CustomValidator<>;false;CustomValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;EqualValidator;false;EqualValidator;(System.Func,System.Reflection.MemberInfo,System.String,System.Collections.IEqualityComparer);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;ExactLengthValidator;false;ExactLengthValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;GreaterThanOrEqualValidator;false;GreaterThanOrEqualValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;GreaterThanValidator;false;GreaterThanValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LengthValidator;false;LengthValidator;(System.Func,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LengthValidator;false;LengthValidator;(System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LengthValidator;false;set_MaxFunc;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LengthValidator;false;set_MinFunc;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LessThanOrEqualValidator;false;LessThanOrEqualValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LessThanValidator;false;LessThanValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;MaximumLengthValidator;false;MaximumLengthValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;MinimumLengthValidator;false;MinimumLengthValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;NotEqualValidator;false;NotEqualValidator;(System.Func,System.Reflection.MemberInfo,System.String,System.Collections.IEqualityComparer);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;OnFailureValidator<>;false;OnFailureValidator;(ServiceStack.FluentValidation.Validators.IPropertyValidator,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;PolymorphicValidator<,>;false;Add<>;(System.Func>,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;PolymorphicValidator<,>;false;Add<>;(System.Func>,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;PredicateValidator+Predicate;false;BeginInvoke;(System.Object,System.Object,ServiceStack.FluentValidation.Validators.PropertyValidatorContext,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;PredicateValidator;false;PredicateValidator;(ServiceStack.FluentValidation.Validators.PredicateValidator+Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;RegularExpressionValidator;false;RegularExpressionValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;RegularExpressionValidator;false;RegularExpressionValidator;(System.Func,System.Text.RegularExpressions.RegexOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;RegularExpressionValidator;false;RegularExpressionValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.FluentValidation;AbstractValidator<>;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Include<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RemovePropertyRules;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RuleFor<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RuleForEach<>;(System.Linq.Expressions.Expression>>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RuleSet;(ServiceStack.ApplyTo,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RuleSet;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Transform<,>;(System.Linq.Expressions.Expression>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Transform<,>;(System.Linq.Expressions.Expression>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Transform<,>;(System.Linq.Expressions.Expression>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Transform<,>;(System.Linq.Expressions.Expression>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;TransformForEach<,>;(System.Linq.Expressions.Expression>>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;TransformForEach<,>;(System.Linq.Expressions.Expression>>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;TransformForEach<,>;(System.Linq.Expressions.Expression>>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;TransformForEach<,>;(System.Linq.Expressions.Expression>>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Unless;(System.Func,System.Boolean>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Unless;(System.Func,System.Boolean>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Unless;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Unless;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;UnlessAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;UnlessAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;UnlessAsync;(System.Func>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;UnlessAsync;(System.Func>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;When;(System.Func,System.Boolean>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;When;(System.Func,System.Boolean>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;When;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;When;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;WhenAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;WhenAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;WhenAsync;(System.Func>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;WhenAsync;(System.Func>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AssemblyScanner;false;ForEach;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AssemblyScanner;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.FluentValidation;AssemblyScanner;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;ChildRules<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Custom<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;CustomAsync<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Equal<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>,System.Collections.IEqualityComparer);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;ForEach<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Action,TElement>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThan<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThan<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThan<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThan<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Length<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Length<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Length<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThan<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThan<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThan<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThan<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Matches<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Matches<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func,System.Text.RegularExpressions.RegexOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Matches<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Must<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Must<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Must<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;MustAsync<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;MustAsync<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;MustAsync<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;NotEqual<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>,System.Collections.IEqualityComparer);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;SetInheritanceValidator<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Validate<>;(ServiceStack.FluentValidation.IValidator,T,System.Action>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;ValidateAsync<>;(ServiceStack.FluentValidation.IValidator,T,System.Action>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;DependentRules<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnAnyFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnAnyFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OverrideIndexer<,>;(ServiceStack.FluentValidation.IRuleBuilderInitialCollection,System.Func,TCollectionElement,System.Int32,System.String>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OverridePropertyName<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;Unless<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,System.Boolean>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;Unless<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;UnlessAsync<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;UnlessAsync<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;When<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,System.Boolean>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;When<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WhenAsync<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WhenAsync<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;Where<,>;(ServiceStack.FluentValidation.IRuleBuilderInitialCollection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithMessage<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithMessage<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithName<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithSeverity<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithSeverity<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithState<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithState<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IConditionBuilder;true;Otherwise;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IRuleBuilder<,>;true;SetValidator<>;(System.Func,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IRuleBuilder<,>;true;SetValidator<>;(System.Func,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IRuleBuilderInitial<,>;true;Transform<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IRuleBuilderInitialCollection<,>;true;Transform<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IServiceStackValidator;true;RemovePropertyRules;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IValidationRule;true;ApplyAsyncCondition;(System.Func>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IValidationRule;true;ApplyCondition;(System.Func,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IValidationRule;true;ApplySharedAsyncCondition;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IValidationRule;true;ApplySharedCondition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;InlineValidator<>;false;Add<>;(System.Func,ServiceStack.FluentValidation.IRuleBuilderOptions>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;ApplyAsyncCondition;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;ApplyCondition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;SetErrorMessage;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;set_AsyncCondition;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;set_Condition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;set_CustomStateProvider;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;set_SeverityProvider;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidationContext<>;false;CreateWithOptions;(T,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorConfiguration;false;set_DisplayNameResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorConfiguration;false;set_ErrorCodeResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorConfiguration;false;set_MessageFormatterFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorConfiguration;false;set_PropertyNameResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorDescriptor<>;false;GetName;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorOptions;false;set_DisplayNameResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorOptions;false;set_ErrorCodeResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorOptions;false;set_MessageFormatterFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorOptions;false;set_PropertyNameResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorSelectorOptions;false;set_DefaultValidatorSelectorFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorSelectorOptions;false;set_MemberNameValidatorSelectorFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorSelectorOptions;false;set_RulesetValidatorSelectorFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Formats;HtmlFormat;false;set_ResolveTemplate;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomActionHandler;false;CustomActionHandler;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomActionHandler;false;set_Action;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomActionHandlerAsync;false;CustomActionHandlerAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomActionHandlerAsync;false;set_Action;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomResponseHandler;false;CustomResponseHandler;(System.Func,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomResponseHandler;false;set_Action;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomResponseHandlerAsync;false;CustomResponseHandlerAsync;(System.Func>,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomResponseHandlerAsync;false;set_Action;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;HttpAsyncTaskHandler;true;Middleware;(Microsoft.AspNetCore.Http.HttpContext,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;StaticFileHandler;false;set_ResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ActionContext;false;set_ServiceAction;(ServiceStack.Host.ActionInvokerFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ActionInvokerFn;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;Register;(System.String,ServiceStack.Web.StreamSerializerDelegate,ServiceStack.Web.StreamDeserializerDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;Register;(System.String,ServiceStack.Web.StreamSerializerDelegate,ServiceStack.Web.StreamDeserializerDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;RegisterAsync;(System.String,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.StreamDeserializerDelegateAsync);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;RegisterAsync;(System.String,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.StreamDeserializerDelegateAsync);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;SetContentTypeDeserializer;(System.String,ServiceStack.Web.StreamDeserializerDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;SetContentTypeSerializer;(System.String,ServiceStack.Web.StreamSerializerDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;set_UnknownContentTypeDeserializer;(ServiceStack.Web.StreamDeserializerDelegateAsync);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;set_UnknownContentTypeSerializer;(ServiceStack.Web.StreamSerializerDelegateAsync);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;FallbackRestPathDelegate;false;BeginInvoke;(ServiceStack.Web.IHttpRequest,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleGatewayExceptionAsyncDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleGatewayExceptionDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleServiceExceptionAsyncDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleServiceExceptionDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleUncaughtExceptionAsyncDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,ServiceStack.Web.IResponse,System.String,System.Exception,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleUncaughtExceptionDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,ServiceStack.Web.IResponse,System.String,System.Exception,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HttpHandlerResolverDelegate;false;BeginInvoke;(System.String,System.String,System.String,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;IHttpAsyncHandler;true;Middleware;(Microsoft.AspNetCore.Http.HttpContext,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;InMemoryRollingRequestLogger;false;set_CurrentDateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;InMemoryRollingRequestLogger;false;set_IgnoreFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;InMemoryRollingRequestLogger;false;set_RequestBodyTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;InMemoryRollingRequestLogger;false;set_RequestLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;InMemoryRollingRequestLogger;false;set_ResponseTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;InMemoryRollingRequestLogger;false;set_SkipLogging;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;InstanceExecFn;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;MetadataTypeExtensions;false;ToMetadataServiceRoutes;(System.Collections.Generic.Dictionary,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;RestPath;false;set_CalculateMatchScore;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;RouteNamingConventionDelegate;false;BeginInvoke;(ServiceStack.Web.IServiceRoutes,System.Type,System.String,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ServiceController;false;ServiceController;(ServiceStack.ServiceStackHost,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ServiceController;false;set_ResolveServicesFn;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ServiceExecFn;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;StreamSerializerResolverDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,ServiceStack.Web.IResponse,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;TypedFilter<>;false;TypedFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;TypedFilterAsync<>;false;TypedFilterAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;VoidActionInvokerFn;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;Input;false;AddCss;(ServiceStack.InputInfo,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;Input;false;For<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;Input;false;For<>;(System.Linq.Expressions.Expression>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;Input;false;For<>;(System.Linq.Expressions.Expression>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;InspectUtils;false;GetFieldNames<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;InspectUtils;false;PropertyFromExpression<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;MediaRuleCreator;false;Show<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;ApplyToLineContaining;false;ApplyToLineContaining;(System.String,System.Func,System.ReadOnlyMemory>,ServiceStack.Run);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FileHandler;false;set_VirtualFilesResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesHandler;false;set_VirtualFilesResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformer;false;Clone;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformer;false;CopyAll;(ServiceStack.IO.IVirtualFiles,ServiceStack.IO.IVirtualFiles,System.Boolean,System.Func,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformer;false;CopyAll;(ServiceStack.IO.IVirtualFiles,ServiceStack.IO.IVirtualFiles,System.Boolean,System.Func,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformer;false;Defaults;(System.Nullable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformerUtils;false;Defaults;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;HtmlHandlerFragment;false;HtmlHandlerFragment;(System.String,System.String,System.Func>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;HtmlTokenFragment;false;HtmlTokenFragment;(System.String,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;MinifyBlock;false;set_Convert;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;FileSystemVirtualFiles;false;WriteFiles;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;GistVirtualDirectory;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.IO;GistVirtualFiles;false;WriteFiles;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;IVirtualFiles;true;WriteFiles;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;IVirtualFilesAsync;true;WriteFilesAsync;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;InMemoryVirtualDirectory;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.IO;MemoryVirtualFiles;false;WriteFiles;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;MultiVirtualDirectory;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.IO;MultiVirtualDirectory;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| ServiceStack.IO;MultiVirtualFiles;false;WriteFiles;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;VirtualFilesExtensions;false;CopyFrom;(ServiceStack.IO.IVirtualPathProvider,System.Collections.Generic.IEnumerable,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;VirtualFilesExtensions;false;WriteFiles;(ServiceStack.IO.IVirtualPathProvider,System.Collections.Generic.IEnumerable,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Logging;GenericLogFactory;false;GenericLogFactory;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;CreateMessageHandlerFactory<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;CreateMessageHandlerFactory<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;RegisterHandler<>;(System.Func,System.Object>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;RegisterHandler<>;(System.Func,System.Object>,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;set_RequestFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;set_ResponseFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageHandler;true;ProcessQueue;(ServiceStack.Messaging.IMessageQueueClient,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;MessageHandler;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;MessageHandler;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;MessageHandler;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;ProcessQueue;(ServiceStack.Messaging.IMessageQueueClient,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;set_ReplyClientFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;MessageHandlerFactory;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;MessageHandlerFactory;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;MessageHandlerFactory;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>,System.Action,System.Exception>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;set_RequestFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;set_ResponseFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageQueueClientFactory;false;add_MessageReceived;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageQueueClientFactory;false;remove_MessageReceived;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;RedisMessageProducer;false;RedisMessageProducer;(ServiceStack.Redis.IRedisClientsManager,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;RedisMessageQueueClient;false;RedisMessageQueueClient;(ServiceStack.Redis.IRedisClientsManager,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;RedisMessageQueueClientFactory;false;RedisMessageQueueClientFactory;(ServiceStack.Redis.IRedisClientsManager,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;CreateMessageHandlerFactory<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;CreateMessageHandlerFactory<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;RegisterHandler<>;(System.Func,System.Object>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;RegisterHandler<>;(System.Func,System.Object>,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Metadata;IndexOperationsControl;false;set_GetOperation;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.MiniProfiler.Data;ProfiledDbDataReader;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_CookedDeclarationTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_CookedTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_DeclarationTypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_FilterTypes;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_IsPropertyOptional;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_ReturnMarkerFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_EnumNameStrategy;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;CommonJsGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;CommonJsGenerator;false;set_FilterTypes;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;CommonJsGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;CommonJsGenerator;false;set_ReturnTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_CookedDeclarationTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_CookedTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_DeclarationTypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_FilterTypes;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_IsPropertyOptional;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_ReturnMarkerFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;AddCodeDelegate;false;BeginInvoke;(System.Collections.Generic.List,ServiceStack.MetadataTypesConfig,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;CreateTypeOptions;false;set_ImplementsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;INativeTypesMetadata;true;GetMetadataTypes;(ServiceStack.Web.IRequest,ServiceStack.MetadataTypesConfig,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;LangGeneratorExtensions;false;GenerateSourceCode;(ServiceStack.MetadataTypes,ServiceStack.MetadataTypesConfig,System.String,ServiceStack.Web.IRequest,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;LangGeneratorExtensions;false;GenerateSourceCode;(System.Collections.Generic.List,System.String,ServiceStack.Web.IRequest,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;MetadataTypesGenerator;false;GetMetadataTypes;(ServiceStack.Web.IRequest,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;NativeTypesMetadata;false;GetMetadataTypes;(ServiceStack.Web.IRequest,ServiceStack.MetadataTypesConfig,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;TypeFilterDelegate;false;BeginInvoke;(System.String,System.String[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NetCore;NetCoreHeadersCollection;false;Clear;();;Argument[this].WithoutElement;Argument[this];value;manual | +| ServiceStack.NetCore;NetCoreHeadersCollection;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| ServiceStack.NetCore;NetCoreQueryStringCollection;false;Clear;();;Argument[this].WithoutElement;Argument[this];value;manual | +| ServiceStack.NetCore;NetCoreQueryStringCollection;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| ServiceStack.OrmLite.Dapper;CustomPropertyTypeMap;false;CustomPropertyTypeMap;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;DynamicParameters;false;Output<>;(T,System.Linq.Expressions.Expression>,System.Nullable,System.Nullable);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<>;(System.Type[],System.Func,System.String,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;add_QueryCachePurged;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;remove_QueryCachePurged;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadApiAsyncLegacy;false;ExistsAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadApiLegacy;false;Exists<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;CountAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;LoadSelectAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.String[],System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;SelectAsync<,>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;SelectAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;SingleAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;Count<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;LoadSelect<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Collections.Generic.IEnumerable);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;LoadSelect<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;LoadSelect<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;Select<,>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;Select<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;Single<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiAsyncLegacy;false;DeleteAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiAsyncLegacy;false;InsertOnlyAsync<>;(System.Data.IDbConnection,T,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiAsyncLegacy;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,T,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiLegacy;false;Delete<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiLegacy;false;InsertOnly<>;(System.Data.IDbConnection,T,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiLegacy;false;UpdateOnly<>;(System.Data.IDbConnection,T,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.SqlServer;SqlServerOrmLiteDialectProvider;false;PrepareParameterizedInsertStatement<>;(System.Data.IDbCommand,System.Collections.Generic.ICollection,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.SqlServer;SqlServerOrmLiteDialectProvider;false;ReaderEach<>;(System.Data.IDataReader,System.Action,Return,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.SqlServer;SqlServerOrmLiteDialectProvider;false;ReaderEach<>;(System.Data.IDataReader,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.SqlServer;SqlServerOrmLiteDialectProvider;false;ReaderRead<>;(System.Data.IDataReader,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;DbDataParameterExtensions;false;AddParam;(ServiceStack.OrmLite.IOrmLiteDialectProvider,System.Data.IDbCommand,System.Object,ServiceStack.OrmLite.FieldDefinition,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;FieldDefinition;false;Clone;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;FieldDefinition;false;set_GetValueFn;(ServiceStack.GetMemberDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;FieldDefinition;false;set_SetValueFn;(ServiceStack.SetMemberDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;GetValueDelegate;false;BeginInvoke;(System.Int32,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;PrepareParameterizedInsertStatement<>;(System.Data.IDbCommand,System.Collections.Generic.ICollection,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ReaderEach<>;(System.Data.IDataReader,System.Action,Return,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ReaderEach<>;(System.Data.IDataReader,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ReaderRead<>;(System.Data.IDataReader,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ToAddForeignKeyStatement<,>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ToAddForeignKeyStatement<,>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ToCreateIndexStatement<>;(System.Linq.Expressions.Expression>,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;set_OnOpenConnection;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;set_ParamNameFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec;(System.Data.IDbConnection,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec<>;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;ExecLazy<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IPropertyInvoker;true;set_ConvertValueFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedApi;true;Insert;(System.Object,System.Action,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedApi;true;InsertAll;(System.Collections.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedApi;true;UpdateAll;(System.Collections.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;And<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;And<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;CrossJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Ensure<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Ensure<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;FullJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Join<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;LeftJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Or<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Or<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;OrderBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;OrderByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;RightJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Select<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Select<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;SelectDistinct<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;SelectDistinct<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;ThenBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;ThenByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Where<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Where<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;JoinFormatDelegate;false;BeginInvoke;(ServiceStack.OrmLite.IOrmLiteDialectProvider,ServiceStack.OrmLite.ModelDefinition,System.String,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;AssertFieldDefinition;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetFieldDefinition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetFieldDefinition;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetFieldDefinition<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetFieldDefinitionMap;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetOrderedFieldDefinitions;(System.Collections.Generic.ICollection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_AfterExecFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_BeforeExecFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_ExceptionFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_InsertFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_LoadReferenceSelectFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_OnDbNullFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_OnModelDefinitionInit;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_ParamNameFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_PopulatedObjectFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_SqlExpressionInitFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_SqlExpressionSelectFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_StringFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_UpdateFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConnectionFactory;false;set_ConnectionFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConnectionFactory;false;set_OnDispose;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteContext;false;GetOrCreate<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;false;set_CreateTableFieldsStrategy;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;false;set_OnOpenConnection;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;false;set_ParamNameFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;true;PrepareParameterizedInsertStatement<>;(System.Data.IDbCommand,System.Collections.Generic.ICollection,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;true;ReaderEach<>;(System.Data.IDataReader,System.Action,Return,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;true;ReaderEach<>;(System.Data.IDataReader,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;true;ReaderRead<>;(System.Data.IDataReader,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;true;ToAddForeignKeyStatement<,>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;true;ToAddForeignKeyStatement<,>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;true;ToCreateIndexStatement<>;(System.Linq.Expressions.Expression>,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteExecFilter;false;Exec;(System.Data.IDbConnection,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteExecFilter;false;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteExecFilter;false;Exec;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteExecFilter;false;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteExecFilter;false;Exec<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteExecFilter;false;Exec<>;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteExecFilter;false;ExecLazy<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Exists<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApi;false;LoadSingleById<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExistsAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LoadSingleByIdAsync<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadCommandExtensions;false;AddParam;(System.Data.IDbCommand,System.String,System.Object,System.Data.ParameterDirection,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Action);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Count<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec;(System.Data.IDbConnection,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec<>;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;ExecLazy<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;From<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;From<>;(System.Data.IDbConnection,ServiceStack.OrmLite.TableOptions,System.Action>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;From<>;(System.Data.IDbConnection,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<,>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Scalar<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Scalar<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Scalar<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Select<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Single<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;CountAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;LoadSelectAsync<,>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;LoadSelectAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;LoadSelectAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;LoadSelectAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String[],System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;ScalarAsync<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;ScalarAsync<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;ScalarAsync<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;SingleAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ColumnDistinctResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ColumnResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_DictionaryResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ExecuteSqlFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_LastInsertIdFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_LongScalarResultFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_LookupResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_RefResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_RefSingleResultFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ScalarResultFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_SingleResultFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_SqlCommandFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_SqlFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilterExtensions;false;ExecNonQuery;(System.Data.IDbCommand,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaApi;false;ColumnExists<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaApi;false;ColumnExistsAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;AddColumn<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;AddForeignKey<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;AddForeignKey<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;AlterColumn<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;ChangeColumnName<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;CreateIndex<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;DropColumn<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteUtils;false;EvalFactoryFn<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteUtils;false;set_SqlVerifyFragmentFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Delete<>;(System.Data.IDbConnection,System.Object,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Delete<>;(System.Data.IDbConnection,T,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;DeleteById<>;(System.Data.IDbConnection,System.Object,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;DeleteById<>;(System.Data.IDbConnection,System.Object,System.UInt64,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Insert<>;(System.Data.IDbConnection,System.Action,System.Collections.Generic.Dictionary,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Insert<>;(System.Data.IDbConnection,System.Action,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Insert<>;(System.Data.IDbConnection,T,System.Action,System.Boolean);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;InsertAll<>;(System.Data.IDbConnection,System.Collections.Generic.IEnumerable,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;InsertIntoSelect<>;(System.Data.IDbConnection,ServiceStack.OrmLite.ISqlExpression,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Update<>;(System.Data.IDbConnection,System.Action,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Update<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Update<>;(System.Data.IDbConnection,T,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;UpdateAll<>;(System.Data.IDbConnection,System.Collections.Generic.IEnumerable,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Action,System.Threading.CancellationToken,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Action,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Object,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,T,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteByIdAsync<>;(System.Data.IDbConnection,System.Object,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteByIdAsync<>;(System.Data.IDbConnection,System.Object,System.UInt64,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteByIdsAsync<>;(System.Data.IDbConnection,System.Collections.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertAllAsync<>;(System.Data.IDbConnection,System.Collections.Generic.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertAsync<>;(System.Data.IDbConnection,System.Action,System.Collections.Generic.Dictionary,System.Boolean,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertAsync<>;(System.Data.IDbConnection,System.Action,System.Threading.CancellationToken,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertAsync<>;(System.Data.IDbConnection,T,System.Action,System.Boolean,System.Boolean,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertIntoSelectAsync<>;(System.Data.IDbConnection,ServiceStack.OrmLite.ISqlExpression,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAllAsync<>;(System.Data.IDbConnection,System.Collections.Generic.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Action,System.Threading.CancellationToken,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Action,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,T,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Delete<>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Delete<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Delete<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;InsertOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;InsertOnly<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Boolean);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Update<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Update<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Update<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Update<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateNonDefaults<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.String,System.Object[],System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Collections.Generic.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Collections.Generic.IEnumerable,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.String[],System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.String[],System.Linq.Expressions.Expression>,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;DeleteWhereAsync<>;(System.Data.IDbConnection,System.String,System.Object[],System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;InsertOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;InsertOnlyAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateNonDefaultsAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.String,System.Object[],System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Collections.Generic.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Collections.Generic.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.String[],System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.String[],System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;And<>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;And<>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;Create<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;Not<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;Or<>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;Or<>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;CrossJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;CrossJoin<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;FullJoin<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;FullJoin<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;FullJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;FullJoin<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;InternalJoin<,>;(System.String,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;InternalJoin<,>;(System.String,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;InternalJoin<,>;(System.String,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;set_SelectFilter;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;set_SqlFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And;(System.Linq.Expressions.Expression>,System.Object[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Having;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Having<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Having<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Having<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Insert<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or;(System.Linq.Expressions.Expression>,System.Object[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Update;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where;(System.Linq.Expressions.Expression>,System.Object[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;WithSqlFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpressionExtensions;false;Column<>;(ServiceStack.OrmLite.IOrmLiteDialectProvider,System.Linq.Expressions.Expression>,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpressionExtensions;false;Column<>;(ServiceStack.OrmLite.ISqlExpression,System.Linq.Expressions.Expression>,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Exec;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Exec<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Exec<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Insert;(System.Object,System.Action,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;InsertAll;(System.Collections.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Update;(System.Object,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;UpdateAll;(System.Collections.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;And<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;And<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;CrossJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Ensure<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Ensure<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;FullJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Join<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Or<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Or<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;OrderBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;OrderByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Select<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Select<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;SelectDistinct<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;SelectDistinct<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;ThenBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;ThenByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Where<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedSqlExpressionProxy<>;false;Where<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteBytesQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteDoubleQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteIntQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteLongQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteMultiBytesQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteMultiStringQueuedCommand;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteRedisDataQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteStringQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteVoidQueuedCommand;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteBytesQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteDoubleQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteIntQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteLongQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteMultiBytesQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteMultiStringQueuedCommandAsync;(System.Func>>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteRedisDataQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteStringQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteVoidQueuedCommandAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisClient;true;ExecCachedLua<>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisClientAsync;true;ExecCachedLuaAsync<>;(System.String,System.Func>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnDispose;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnEvent;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnFailover;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnInit;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnMessage;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnStart;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnStop;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnUnSubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscription;true;set_OnMessage;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscription;true;set_OnMessageBytes;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscription;true;set_OnSubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscription;true;set_OnUnSubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;add_OnMessageAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;add_OnMessageBytesAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;add_OnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;add_OnUnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;remove_OnMessageAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;remove_OnMessageBytesAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;remove_OnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;remove_OnUnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Reflection;DelegateFactory+LateBoundMethod;false;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Reflection;DelegateFactory+LateBoundVoid;false;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;DefaultScripts;false;MatchesStringValue;(System.Object,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ISharpPages;true;OneTimePage;(System.String,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;JsExpressionUtils;false;GetJsExpressionAndEvaluate;(System.ReadOnlyMemory,ServiceStack.Script.ScriptScopeContext,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;JsExpressionUtils;false;GetJsExpressionAndEvaluateAsync;(System.ReadOnlyMemory,ServiceStack.Script.ScriptScopeContext,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;JsExpressionUtils;false;GetJsExpressionAndEvaluateToBool;(System.ReadOnlyMemory,ServiceStack.Script.ScriptScopeContext,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;JsExpressionUtils;false;GetJsExpressionAndEvaluateToBoolAsync;(System.ReadOnlyMemory,ServiceStack.Script.ScriptScopeContext,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+BuiltInFunc;false;BuiltInFunc;(System.String,System.Int32,ServiceStack.Script.Lisp+BuiltInFuncBody);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+BuiltInFuncBody;false;BeginInvoke;(ServiceStack.Script.Lisp+Interpreter,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+Cell;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| ServiceStack.Script;Lisp+Cell;false;Walk;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+Interpreter;false;Def;(System.String,System.Int32,ServiceStack.Script.Lisp+BuiltInFuncBody);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+Interpreter;false;Def;(System.String,System.Int32,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+Sym;false;New;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;PageFormat;false;set_EncodeValue;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;PageFormat;false;set_OnExpressionException;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;PageFormat;false;set_OnViewException;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;PageFormat;false;set_ResolveLayout;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ParseRealNumber;false;BeginInvoke;(System.ReadOnlySpan,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;RemoveBlocks;(System.Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;RemoveFilters;(System.Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;RemovePlugins;(System.Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;set_OnAfterPlugins;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;set_OnRenderException;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;set_OnUnhandledExpression;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptMethodInfo;false;GetScriptMethods;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;SharpPages;false;OneTimePage;(System.String,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Serialization;XmlSerializerWrapper;false;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;taint;df-generated | +| ServiceStack.Support;ActionExecHandler;false;ActionExecHandler;(System.Action,System.Threading.AutoResetEvent);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;Execute;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;Execute<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;ExecuteAsync;(System.Func,System.Threading.CancellationToken);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;ExecuteAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;ExecuteAsync<>;(System.Func>,System.Threading.CancellationToken);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;ExecuteAsync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;BasicAppHost;false;set_ConfigFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;BasicAppHost;false;set_ConfigureAppHost;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;BasicAppHost;false;set_ConfigureContainer;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;BasicAppHost;false;set_UseServiceController;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;MockRestGateway;false;set_ResultsFilter;(ServiceStack.Testing.RestGatewayDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;RestGatewayDelegate;false;BeginInvoke;(System.String,System.Type,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ConvertInstanceDelegate;false;BeginInvoke;(System.Object,System.Type,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ConvertObjectDelegate;false;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DateTimeSerializer;false;set_OnParseErrorFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializationErrorDelegate;false;BeginInvoke;(System.Object,System.Type,System.String,System.String,System.Exception,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<,>;false;ParseGenericArray;(System.ReadOnlySpan,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<,>;false;ParseGenericArray;(System.String,ServiceStack.Text.Common.ParseStringDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<>+ParseArrayOfElementsDelegate;false;BeginInvoke;(System.ReadOnlySpan,ServiceStack.Text.Common.ParseStringSpanDelegate,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<>+ParseArrayOfElementsDelegate;false;BeginInvoke;(System.ReadOnlySpan,ServiceStack.Text.Common.ParseStringSpanDelegate,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<>+ParseArrayOfElementsDelegate;false;Invoke;(System.ReadOnlySpan,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionary<,>;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionary<,>;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionary<,>;(System.String,System.Type,ServiceStack.Text.Common.ParseStringDelegate,ServiceStack.Text.Common.ParseStringDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionary<,>;(System.String,System.Type,ServiceStack.Text.Common.ParseStringDelegate,ServiceStack.Text.Common.ParseStringDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionaryType;(System.ReadOnlySpan,System.Type,System.Type[],ServiceStack.Text.Common.ParseStringSpanDelegate,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionaryType;(System.ReadOnlySpan,System.Type,System.Type[],ServiceStack.Text.Common.ParseStringSpanDelegate,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionaryType;(System.String,System.Type,System.Type[],ServiceStack.Text.Common.ParseStringDelegate,ServiceStack.Text.Common.ParseStringDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionaryType;(System.String,System.Type,System.Type[],ServiceStack.Text.Common.ParseStringDelegate,ServiceStack.Text.Common.ParseStringDelegate);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<,>;false;ParseGenericList;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<,>;false;ParseGenericList;(System.String,System.Type,ServiceStack.Text.Common.ParseStringDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>+ParseListDelegate;false;BeginInvoke;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>+ParseListDelegate;false;BeginInvoke;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>+ParseListDelegate;false;Invoke;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>;false;GetListTypeParseFn;(System.Type,System.Type,ServiceStack.Text.Common.ParseStringDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>;false;GetListTypeParseStringSpanFn;(System.Type,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeStringSpanDelegate;false;BeginInvoke;(System.Type,System.ReadOnlySpan,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ITypeSerializer;true;set_ObjectDeserializer;(ServiceStack.Text.Common.ObjectDeserializerDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;JsWriter;false;WriteDynamic;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ObjectDeserializerDelegate;false;BeginInvoke;(System.ReadOnlySpan,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ParseStringDelegate;false;BeginInvoke;(System.String,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ParseStringSpanDelegate;false;BeginInvoke;(System.ReadOnlySpan,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ToStringDictionaryMethods<,,>;false;WriteGenericIDictionary;(System.IO.TextWriter,System.Collections.Generic.IDictionary,ServiceStack.Text.Common.WriteObjectDelegate,ServiceStack.Text.Common.WriteObjectDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ToStringDictionaryMethods<,,>;false;WriteGenericIDictionary;(System.IO.TextWriter,System.Collections.Generic.IDictionary,ServiceStack.Text.Common.WriteObjectDelegate,ServiceStack.Text.Common.WriteObjectDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ToStringDictionaryMethods<,,>;false;WriteIDictionary;(System.IO.TextWriter,System.Object,ServiceStack.Text.Common.WriteObjectDelegate,ServiceStack.Text.Common.WriteObjectDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ToStringDictionaryMethods<,,>;false;WriteIDictionary;(System.IO.TextWriter,System.Object,ServiceStack.Text.Common.WriteObjectDelegate,ServiceStack.Text.Common.WriteObjectDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;WriteObjectDelegate;false;BeginInvoke;(System.IO.TextWriter,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Json;JsonTypeSerializer;false;set_ObjectDeserializer;(ServiceStack.Text.Common.ObjectDeserializerDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Jsv;JsvTypeSerializer;false;set_ObjectDeserializer;(ServiceStack.Text.Common.ObjectDeserializerDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;ObjectPool<>+Factory;false;BeginInvoke;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;ObjectPool<>;false;ObjectPool;(ServiceStack.Text.Pools.ObjectPool<>+Factory);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;ObjectPool<>;false;ObjectPool;(ServiceStack.Text.Pools.ObjectPool<>+Factory,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;PooledObject<>;false;PooledObject;(ServiceStack.Text.Pools.ObjectPool,System.Func,T>,System.Action,T>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;PooledObject<>;false;PooledObject;(ServiceStack.Text.Pools.ObjectPool,System.Func,T>,System.Action,T>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_ModelFactory;(ServiceStack.EmptyCtorFactoryDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_OnDeserializationError;(ServiceStack.Text.Common.DeserializationErrorDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_ParsePrimitiveFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_TypeFinder;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_TypeWriter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;CsvReader;false;ParseFields;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;CsvSerializer;false;set_OnSerialize;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;DefaultMemory;false;Deserialize;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;DefaultMemory;false;DeserializeAsync;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;With;(System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.String,System.String,System.Func,System.Func,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,ServiceStack.EmptyCtorFactoryDelegate,System.String[],System.Nullable);;Argument[20];Argument[20].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;With;(System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.String,System.String,System.Func,System.Func,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,ServiceStack.EmptyCtorFactoryDelegate,System.String[],System.Nullable);;Argument[21];Argument[21].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;With;(System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.String,System.String,System.Func,System.Func,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,ServiceStack.EmptyCtorFactoryDelegate,System.String[],System.Nullable);;Argument[30];Argument[30].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_AllowRuntimeType;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_ModelFactory;(ServiceStack.EmptyCtorFactoryDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_OnDeserializationError;(ServiceStack.Text.Common.DeserializationErrorDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_ParsePrimitiveFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_TypeFinder;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_TypeWriter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_DeSerializeFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_OnDeserializedFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_OnDeserializingFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_OnSerializedFn;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_OnSerializingFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_RawDeserializeFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_RawSerializeFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_SerializeFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsonExtensions;false;ConvertAll<>;(ServiceStack.Text.JsonArrayObjects,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsonExtensions;false;ConvertTo<>;(ServiceStack.Text.JsonObject,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsonObject;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.Text;JsonSerializer;false;set_OnSerialize;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;MemoryProvider;true;Deserialize;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;MemoryProvider;true;DeserializeAsync;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;NetCoreMemory;false;Deserialize;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;NetCoreMemory;false;DeserializeAsync;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[this];Argument[0].Element;taint;manual | +| ServiceStack.Text;RecyclableMemoryStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[this];taint;manual | +| ServiceStack.Text;RecyclableMemoryStreamManager+EventHandler;false;BeginInvoke;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager+LargeBufferDiscardedEventHandler;false;BeginInvoke;(ServiceStack.Text.RecyclableMemoryStreamManager+Events+MemoryStreamDiscardReason,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager+StreamLengthReportHandler;false;BeginInvoke;(System.Int64,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager+UsageReportEventHandler;false;BeginInvoke;(System.Int64,System.Int64,System.Int64,System.Int64,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_BlockCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_BlockDiscarded;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_LargeBufferCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_LargeBufferDiscarded;(ServiceStack.Text.RecyclableMemoryStreamManager+LargeBufferDiscardedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamConvertedToArray;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamDisposed;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamFinalized;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamLength;(ServiceStack.Text.RecyclableMemoryStreamManager+StreamLengthReportHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_UsageReport;(ServiceStack.Text.RecyclableMemoryStreamManager+UsageReportEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_BlockCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_BlockDiscarded;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_LargeBufferCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_LargeBufferDiscarded;(ServiceStack.Text.RecyclableMemoryStreamManager+LargeBufferDiscardedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamConvertedToArray;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamDisposed;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamFinalized;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamLength;(ServiceStack.Text.RecyclableMemoryStreamManager+StreamLengthReportHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_UsageReport;(ServiceStack.Text.RecyclableMemoryStreamManager+UsageReportEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;TypeConfig<>;false;set_OnDeserializing;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;TypeSerializer;false;set_OnSerialize;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Validation;ValidationFeature;false;set_ErrorResponseFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.VirtualPath;AbstractVirtualDirectoryBase;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| ServiceStack.VirtualPath;AbstractVirtualDirectoryBase;true;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.VirtualPath;AbstractVirtualDirectoryBase;true;GetPathToRoot;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.VirtualPath;AbstractVirtualFileBase;true;GetPathToRoot;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.VirtualPath;FileSystemVirtualDirectory;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.VirtualPath;ResourceVirtualDirectory;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| ServiceStack.Web;IContentTypes;true;Register;(System.String,ServiceStack.Web.StreamSerializerDelegate,ServiceStack.Web.StreamDeserializerDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IContentTypes;true;Register;(System.String,ServiceStack.Web.StreamSerializerDelegate,ServiceStack.Web.StreamDeserializerDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IContentTypes;true;RegisterAsync;(System.String,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.StreamDeserializerDelegateAsync);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IContentTypes;true;RegisterAsync;(System.String,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.StreamDeserializerDelegateAsync);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IHttpResult;true;set_ResultScope;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_CurrentDateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_IgnoreFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_RequestBodyTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_RequestLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_ResponseTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_SkipLogging;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StreamDeserializerDelegate;false;BeginInvoke;(System.Type,System.IO.Stream,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StreamDeserializerDelegateAsync;false;BeginInvoke;(System.Type,System.IO.Stream,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StreamSerializerDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.IO.Stream,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StreamSerializerDelegateAsync;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.IO.Stream,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StringDeserializerDelegate;false;BeginInvoke;(System.String,System.Type,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StringSerializerDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;TextDeserializerDelegate;false;BeginInvoke;(System.Type,System.String,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;TextSerializerDelegate;false;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ActionInvoker;false;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ApiAllowableValuesAttribute;false;ApiAllowableValuesAttribute;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ApiAllowableValuesAttribute;false;ApiAllowableValuesAttribute;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostBase;false;set_BeforeNextMiddleware;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostBase;false;set_NetCoreHandler;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostBase;true;ProcessRequest;(Microsoft.AspNetCore.Http.HttpContext,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;AddIfNotExists<>;(System.Collections.Generic.List,T,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureOperation<>;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureOperations;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureType<>;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureTypes;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureTypes;(ServiceStack.IAppHost,System.Action,System.Predicate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureTypes;(ServiceStack.IAppHost,System.Action,System.Predicate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;RegisterRequestBinder<>;(ServiceStack.IAppHost,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachOperation;(ServiceStack.AppMetadata,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachOperation;(ServiceStack.AppMetadata,System.Action,System.Predicate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachOperation;(ServiceStack.AppMetadata,System.Action,System.Predicate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachProperty;(ServiceStack.MetadataType,System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachProperty;(ServiceStack.MetadataType,System.Func,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachType;(ServiceStack.AppMetadata,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachType;(ServiceStack.AppMetadata,System.Action,System.Predicate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachType;(ServiceStack.AppMetadata,System.Action,System.Predicate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;Property;(ServiceStack.MetadataType,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;RemoveProperty;(ServiceStack.MetadataType,System.Predicate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;ToInput;(ServiceStack.InputAttributeBase,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppUtils;false;DbContextExec<,>;(System.IServiceProvider,System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppUtils;false;DbContextExec<,>;(System.IServiceProvider,System.Func,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppUtils;false;NewScope<>;(System.IServiceProvider,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppUtils;false;ToObjectDictionary;(System.Data.IDataReader,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncContext;false;ContinueWith;(System.Threading.Tasks.Task,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncContext;false;ContinueWith;(System.Threading.Tasks.Task,System.Action,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_ExceptionFilter;(ServiceStack.ExceptionFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_GlobalRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_GlobalResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_HttpLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_OnAuthenticationRequired;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_OnDownloadProgress;(ServiceStack.ProgressDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_OnUploadProgress;(ServiceStack.ProgressDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_RequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_ResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_ResultsFilter;(ServiceStack.ResultsFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_ResultsFilterResponse;(ServiceStack.ResultsFilterResponseDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_StreamDeserializer;(ServiceStack.Web.StreamDeserializerDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_StreamSerializer;(ServiceStack.Web.StreamSerializerDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;AuthFeature;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;AuthFeature;(System.Func,ServiceStack.Auth.IAuthProvider[],System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_AllowGetAuthenticateRequests;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_AuthResponseDecorator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_IsValidUsernameFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_OnAuthenticateValidate;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_RegisterResponseDecorator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_SessionFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_ValidateFn;(ServiceStack.Auth.ValidateFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_ValidateRedirectLinks;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoMapping;false;RegisterConverter<,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoMapping;false;RegisterPopulator<,>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoMappingUtils;false;ThenDo<>;(To,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryData;false;set_GlobalQueryFilter;(ServiceStack.QueryDataFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataExtensions;false;And<>;(ServiceStack.IDataQuery,System.Linq.Expressions.Expression>,ServiceStack.QueryCondition,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataExtensions;false;MemorySource<>;(ServiceStack.QueryDataContext,System.Func>,ServiceStack.Caching.ICacheClient,System.Nullable,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataExtensions;false;Or<>;(ServiceStack.IDataQuery,System.Linq.Expressions.Expression>,ServiceStack.QueryCondition,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;AddDataSource;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;AddDataSource<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;AddDataSource<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;RegisterQueryFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;set_GenerateServiceFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;set_GlobalQueryFilter;(ServiceStack.QueryDataFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryMetadataFeature;false;set_MetadataFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CacheClientExtensions;false;GetOrCreate<>;(ServiceStack.Caching.ICacheClient,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CacheClientExtensions;false;GetOrCreate<>;(ServiceStack.Caching.ICacheClient,System.String,System.TimeSpan,System.Func);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CacheClientExtensions;false;GetOrCreateAsync<>;(ServiceStack.Caching.ICacheClientAsync,System.String,System.Func>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CacheClientExtensions;false;GetOrCreateAsync<>;(ServiceStack.Caching.ICacheClientAsync,System.String,System.TimeSpan,System.Func>);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CachedExpressionCompiler;false;Compile<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ClientConfig;false;set_EncodeDispositionFileName;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CompareTypeUtils;false;Aggregate;(System.Collections.IEnumerable,System.Func,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CompressedResult;false;set_ResultScope;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerExtensions;false;AddSingleton<>;(ServiceStack.IContainer,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerExtensions;false;AddTransient<>;(ServiceStack.IContainer,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddScoped<,>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddScoped<>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddSingleton<,>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddSingleton<>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddTransient<,>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddTransient<>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CsvRequestLogger;false;set_OnReadLastEntryError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CsvRequestLogger;false;set_OnWriteLogsError;(System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;CustomPlugin;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;CustomPlugin;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;set_OnAfterPluginsLoaded;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;set_OnBeforePluginsLoaded;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;set_OnRegister;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomRequestFilter;false;CustomRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomResponseFilter;false;CustomResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DataConditionExpression;false;set_FieldGetter;(ServiceStack.GetMemberDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Defer;false;Defer;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;ConvertAll<,,>;(System.Collections.Generic.IDictionary,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;ForEach<,>;(System.Collections.Generic.Dictionary,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;GetOrAdd<,>;(System.Collections.Generic.Dictionary,K,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;GetValue<,>;(System.Collections.Generic.Dictionary,TKey,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;MoveKey<,>;(System.Collections.Generic.Dictionary,TKey,TKey,System.Func);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DisposableExtensions;false;Run<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EmptyCtorDelegate;false;BeginInvoke;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EmptyCtorFactoryDelegate;false;BeginInvoke;(System.Type,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;AllAsync<>;(System.Collections.Generic.IEnumerable>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;AllAsync<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;AnyAsync<>;(System.Collections.Generic.IEnumerable>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;AnyAsync<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Each<,>;(System.Collections.Generic.IDictionary,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Each<>;(System.Collections.Generic.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Each<>;(System.Collections.Generic.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;EquivalentTo<,>;(System.Collections.Generic.IDictionary,System.Collections.Generic.IDictionary,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;EquivalentTo<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;EquivalentTo<>;(T[],T[],System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Map<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Map<>;(System.Collections.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;ToSafeDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnDispose;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnHungConnection;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnPublish;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnPublishAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnUnsubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnUnsubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_WriteEvent;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_WriteEventAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExceptionFilterDelegate;false;BeginInvoke;(System.Net.WebException,System.Net.WebResponse,System.String,System.Type,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExceptionFilterHttpDelegate;false;BeginInvoke;(System.Net.Http.HttpResponseMessage,System.String,System.Type,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecAll<>;(System.Collections.Generic.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecAllAsync<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecAllReturnFirstAsync<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecAllWithFirstOut<,>;(System.Collections.Generic.IEnumerable,System.Func,TReturn);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecReturnFirstWithResult<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecReturnFirstWithResultAsync<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryOnException;(System.Action,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryOnException;(System.Action,System.Nullable);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryOnExceptionAsync;(System.Func,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryOnExceptionAsync;(System.Func,System.Nullable);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryUntilTrue;(System.Func,System.Nullable);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryUntilTrueAsync;(System.Func>,System.Nullable);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExpressionUtils;false;AssignedValues<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExpressionUtils;false;GetFieldNames<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExpressionUtils;false;GetMemberExpression<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExpressionUtils;false;GetMemberName<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FieldAccessor;false;FieldAccessor;(System.Reflection.FieldInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.SetMemberRefDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FieldAccessor;false;FieldAccessor;(System.Reflection.FieldInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.SetMemberRefDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FieldAccessor;false;FieldAccessor;(System.Reflection.FieldInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.SetMemberRefDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FilesUploadFeature;false;set_FileResult;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FuncUtils;false;TryExec;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FuncUtils;false;TryExec<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FuncUtils;false;TryExec<>;(System.Func,T);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FuncUtils;false;WaitWhile;(System.Func,System.Int32,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GenericAppHost;false;set_ConfigFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GenericAppHost;false;set_ConfigureAppHost;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GenericAppHost;false;set_ConfigureContainer;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GetMemberDelegate;false;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GetMemberDelegate<>;false;BeginInvoke;(T,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GitHubGateway;false;set_GetJsonFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostConfig;false;set_FallbackRestPath;(ServiceStack.Host.FallbackRestPathDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostContext;false;ConfigureAppHost;(System.Action,System.Action,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostContext;false;ConfigureAppHost;(System.Action,System.Action,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostContext;false;ConfigureAppHost;(System.Action,System.Action,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostContext;false;ConfigureAppHost;(System.Action,System.Action,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HtmlModule;false;set_FileContentsResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HtmlModuleContext;false;Cache;(System.String,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HtmlModulesFeature;false;Configure;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HtmlModulesFeature;false;set_FileContentsResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpCacheFeature;false;set_CacheControlFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpError;false;set_ResultScope;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpExtensions;false;EndHttpHandlerRequest;(ServiceStack.Web.IResponse,System.Boolean,System.Boolean,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpExtensions;false;EndHttpHandlerRequestAsync;(ServiceStack.Web.IResponse,System.Boolean,System.Boolean,System.Func);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpExtensions;false;EndRequestAsync;(ServiceStack.Web.IResponse,System.Boolean,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpRequestExtensions;false;EachRequest<>;(ServiceStack.Web.IRequest,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpRequestExtensions;false;ResolveItem;(ServiceStack.Web.IRequest,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpResponseExtensionsInternal;false;WriteToResponse;(ServiceStack.Web.IResponse,System.Object,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.IRequest,System.Byte[],System.Byte[],System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpResponseExtensionsInternal;false;WriteToResponse;(ServiceStack.Web.IResponse,System.Object,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.IRequest,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpResult;false;HttpResult;(System.Byte[],System.String);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.IO.Stream,System.String);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.Object);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.Object,System.Net.HttpStatusCode);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.Object,System.String);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.Object,System.String,System.Net.HttpStatusCode);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.String,System.String);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;set_ResultScope;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;DeleteFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;DeleteFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;DeleteFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;DeleteFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetBytesFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetBytesFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetBytesFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetBytesFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetCsvFromUrl;(System.String,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetCsvFromUrl;(System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetCsvFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetCsvFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetJsonFromUrl;(System.String,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetJsonFromUrl;(System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetJsonFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetJsonFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStreamFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStreamFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStreamFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStreamFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStringFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStringFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStringFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStringFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetXmlFromUrl;(System.String,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetXmlFromUrl;(System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetXmlFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetXmlFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;HeadFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;HeadFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;HeadFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;HeadFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;OptionsFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;OptionsFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;OptionsFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;OptionsFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostBytesToUrl;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostBytesToUrl;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostBytesToUrlAsync;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostBytesToUrlAsync;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostFileToUrl;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostFileToUrl;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostFileToUrlAsync;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostFileToUrlAsync;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStreamToUrl;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStreamToUrl;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStreamToUrlAsync;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStreamToUrlAsync;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutBytesToUrl;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutBytesToUrl;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutBytesToUrlAsync;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutBytesToUrlAsync;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutFileToUrl;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutFileToUrl;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutFileToUrlAsync;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutFileToUrlAsync;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStreamToUrl;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStreamToUrl;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStreamToUrlAsync;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStreamToUrlAsync;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrl;(System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrl;(System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrlAsync;(System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrlAsync;(System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrl;(System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrl;(System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrlAsync;(System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrlAsync;(System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrl;(System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrl;(System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrlAsync;(System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrlAsync;(System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFile;(System.Net.Http.HttpClient,System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFile;(System.Net.Http.HttpClient,System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[9];Argument[9].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFile;(System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFile;(System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFileAsync;(System.Net.Http.HttpClient,System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFileAsync;(System.Net.Http.HttpClient,System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[9];Argument[9].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFileAsync;(System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFileAsync;(System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;With;(System.Net.Http.HttpRequestMessage,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;set_CreateClient;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;set_HttpClientHandlerFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;AfterPluginLoaded<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;ConfigurePlugin<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;PostConfigurePlugin<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedMessageRequestFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedMessageResponseFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedRequestFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedRequestFilter<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedRequestFilterAsync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedRequestFilterAsync<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedResponseFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedResponseFilter<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedResponseFilterAsync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedResponseFilterAsync<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IContainer;true;AddSingleton;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IContainer;true;AddTransient;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IEventSubscription;true;set_OnUnsubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IEventSubscription;true;set_OnUnsubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IServerEvents;true;QueueAsyncTask;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Inspect+Config;false;set_DumpTableFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Inspect+Config;false;set_VarsFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;InstanceMapper;false;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;Times;(System.Int32,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;Times;(System.Int32,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;Times<>;(System.Int32,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;Times<>;(System.Int32,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;TimesAsync;(System.Int32,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;TimesAsync;(System.Int32,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;TimesAsync;(System.Int32,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;TimesAsync<>;(System.Int32,System.Func>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;ToWebServiceException;(System.Net.Http.HttpResponseMessage,System.Object,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_ExceptionFilter;(ServiceStack.ExceptionFilterHttpDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_GlobalHttpMessageHandlerFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_GlobalRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_GlobalResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_RequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_ResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_ResultsFilter;(ServiceStack.ResultsFilterHttpDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_ResultsFilterResponse;(ServiceStack.ResultsFilterHttpResponseDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_TypedUrlResolver;(ServiceStack.TypedUrlResolverDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_UrlResolver;(ServiceStack.UrlResolverDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ListExtensions;false;SafeWhere<>;(System.Collections.Generic.List,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;QueueAsyncTask;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_NotifyHeartbeatAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_NotifyJoinAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_NotifyLeaveAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_NotifyUpdateAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnRemoveSubscriptionAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnUnsubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnUpdateAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_Serialize;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MetadataFeature;false;set_DetailPageFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MetadataFeature;false;set_IndexPageFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MetadataFeature;false;set_TagFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MethodInvoker;false;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MimeTypes;false;set_IsBinaryFilter;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ModelConfig<>;false;Id;(ServiceStack.GetMemberDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ModularStartup;false;ModularStartup;(Microsoft.Extensions.Configuration.IConfiguration,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NativeTypesFeature;false;ExportAttribute;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NativeTypesFeature;false;ExportAttribute<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetCoreAppHostExtensions;false;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action,System.Action,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetCoreAppHostExtensions;false;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action,System.Action,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetCoreAppHostExtensions;false;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action,System.Action,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetCoreAppHostExtensions;false;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action,System.Action,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetStandardPclExportClient;false;GetHeader;(System.Net.WebHeaderCollection,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ObjectActivator;false;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;OrderByExpression;false;OrderByExpression;(System.String,ServiceStack.GetMemberDelegate,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PclExportClient;false;CreateTimer;(System.Threading.TimerCallback,System.TimeSpan,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PclExportClient;false;GetHeader;(System.Net.WebHeaderCollection,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PclExportClient;false;RunOnUiThread;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;Measure;(System.Action,System.Int32,System.Int32,System.Action,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;Measure;(System.Action,System.Int32,System.Int32,System.Action,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;Measure;(System.Action,System.Int32,System.Int32,System.Action,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;Measure;(System.Action,System.Int32,System.Int32,System.Action,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;MeasureFor;(System.Action,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PlatformExtensions;false;ToObjectDictionary;(System.Object,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Plugins;false;AddToAppMetadata;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Plugins;false;ModifyAppMetadata;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PocoDataSource;false;Create<>;(System.Collections.Generic.ICollection,System.Func,System.Int64>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PocoDataSource;false;Create<>;(System.Collections.Generic.IEnumerable,System.Func,System.Int64>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PopulateMemberDelegate;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PreProcessRequest;false;set_HandleUploadFileAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProcessUtils;false;RunAsync;(System.Diagnostics.ProcessStartInfo,System.Nullable,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProcessUtils;false;RunAsync;(System.Diagnostics.ProcessStartInfo,System.Nullable,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProcessUtils;false;RunShellAsync;(System.String,System.String,System.Nullable,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProcessUtils;false;RunShellAsync;(System.String,System.String,System.Nullable,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProfilingFeature;false;set_DiagnosticEntryFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProfilingFeature;false;set_ExcludeRequestsFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProfilingFeature;false;set_ResponseTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProfilingFeature;false;set_TagResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProgressDelegate;false;BeginInvoke;(System.Int64,System.Int64,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PropertyAccessor;false;PropertyAccessor;(System.Reflection.PropertyInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PropertyAccessor;false;PropertyAccessor;(System.Reflection.PropertyInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;ProxyFeature;(System.Func,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;ProxyFeature;(System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;set_ProxyRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;set_ProxyResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;set_TransformRequest;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;set_TransformResponse;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_ProxyRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_ProxyResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_ResolveUrl;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_TransformRequest;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_TransformResponse;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;QueryDataFilterDelegate;false;BeginInvoke;(ServiceStack.IDataQuery,ServiceStack.IQueryData,ServiceStack.Web.IRequest,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;QueryStringSerializer;false;set_ComplexTypeStrategy;(ServiceStack.WriteComplexTypeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RegistrationFeature;false;set_ValidateFn;(ServiceStack.Auth.ValidateFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestContext;false;GetOrCreate<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;GetSessionFromSourceAsync;(ServiceStack.Web.IRequest,System.String,System.Func,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;ToOptimizedResultUsingCache<>;(ServiceStack.Web.IRequest,ServiceStack.Caching.ICacheClient,System.String,System.Func);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;ToOptimizedResultUsingCache<>;(ServiceStack.Web.IRequest,ServiceStack.Caching.ICacheClient,System.String,System.Nullable,System.Func);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;ToOptimizedResultUsingCacheAsync<>;(ServiceStack.Web.IRequest,ServiceStack.Caching.ICacheClientAsync,System.String,System.Func,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;ToOptimizedResultUsingCacheAsync<>;(ServiceStack.Web.IRequest,ServiceStack.Caching.ICacheClientAsync,System.String,System.Nullable,System.Func,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_CurrentDateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_IgnoreFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_RequestBodyTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_RequestLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_ResponseTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_SkipLogging;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ResultsFilterDelegate;false;BeginInvoke;(System.Type,System.String,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ResultsFilterHttpDelegate;false;BeginInvoke;(System.Type,System.String,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ResultsFilterHttpResponseDelegate;false;BeginInvoke;(System.Net.Http.HttpResponseMessage,System.Object,System.String,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ResultsFilterResponseDelegate;false;BeginInvoke;(System.Net.WebResponse,System.Object,System.String,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SameSiteCookiesServiceCollectionExtensions;false;ConfigureNonBreakingSameSiteCookies;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventCallback;false;BeginInvoke;(ServiceStack.ServerEventsClient,ServiceStack.ServerEventMessage,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;AddListener;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;HasListener;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;RemoveListener;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_AllRequestFilters;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_EventStreamRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_HeartbeatRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_HttpClientHandlerFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_ResolveStreamUrl;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_UnRegisterRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnConnect;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnCreated;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnDispose;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnHeartbeatInit;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnHungConnection;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnInit;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnPublish;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnPublishAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnSubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnUnsubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnUnsubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnUpdateAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_Serialize;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_WriteEvent;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_WriteEventAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;CaptureHttp;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;PrepareWebRequest;(System.String,System.String,System.Object,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;SendStringToUrl;(System.Net.HttpWebRequest,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;SendStringToUrl;(System.Net.HttpWebRequest,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;SendStringToUrlAsync;(System.Net.HttpWebRequest,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;SendStringToUrlAsync;(System.Net.HttpWebRequest,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;ToWebServiceException;(System.Net.WebException,System.Func,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;UploadFile;(System.Net.WebRequest,System.IO.Stream,System.String,System.String,System.String,System.Action,System.String,System.String);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_ExceptionFilter;(ServiceStack.ExceptionFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_GlobalRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_GlobalResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_HttpLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_OnAuthenticationRequired;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_OnDownloadProgress;(ServiceStack.ProgressDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_OnUploadProgress;(ServiceStack.ProgressDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_RequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_ResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_ResultsFilter;(ServiceStack.ResultsFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_ResultsFilterResponse;(ServiceStack.ResultsFilterResponseDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_TypedUrlResolver;(ServiceStack.TypedUrlResolverDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_UrlResolver;(ServiceStack.UrlResolverDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;true;HandleResponseException<>;(System.Exception,System.Object,System.String,System.Func,System.Func,TResponse);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;true;HandleResponseException<>;(System.Exception,System.Object,System.String,System.Func,System.Func,TResponse);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientExtensions;false;Apply<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceExtensions;false;RunAction<,>;(TService,TRequest,System.Func,ServiceStack.Web.IRequest);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;AfterPluginLoaded<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;ConfigurePlugin<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;PostConfigurePlugin<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedMessageRequestFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedMessageResponseFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedRequestFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedRequestFilter<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedRequestFilterAsync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedRequestFilterAsync<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedResponseFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedResponseFilter<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedResponseFilterAsync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceStackHost;false;RegisterTypedResponseFilterAsync<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SetMemberDelegate;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SetMemberDelegate<>;false;BeginInvoke;(T,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SetMemberRefDelegate;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SetMemberRefDelegate<>;false;BeginInvoke;(T,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SharpPageHandler;false;set_Filter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SharpPageHandler;false;set_ValidateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SimpleContainer;false;AddSingleton;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SimpleContainer;false;AddTransient;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StaticActionInvoker;false;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StaticMethodInvoker;false;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StringExtensions;false;ToCsv<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StringExtensions;false;ToJson<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StringExtensions;false;ToJsv<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SvgFeature;false;set_ValidateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExt;false;RunSync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExt;false;RunSync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExtensions;false;Error;(System.Threading.Tasks.Task,System.Action,System.Boolean,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExtensions;false;Error<>;(System.Threading.Tasks.Task,System.Action,System.Boolean,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExtensions;false;Success;(System.Threading.Tasks.Task,System.Action,System.Boolean,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExtensions;false;Success<>;(System.Threading.Tasks.Task,System.Action,System.Boolean,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskUtils;false;EachAsync<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskUtils;false;Then;(System.Threading.Tasks.Task,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskUtils;false;Then<,>;(System.Threading.Tasks.Task,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TopLevelAppModularStartup;false;Create<>;(THost,Microsoft.Extensions.Configuration.IConfiguration,System.Func>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TopLevelAppModularStartup;false;TopLevelAppModularStartup;(System.Type,ServiceStack.AppHostBase,Microsoft.Extensions.Configuration.IConfiguration,System.Func>);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TypedUrlResolverDelegate;false;BeginInvoke;(ServiceStack.IServiceClientMeta,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UiFeature;false;set_Configure;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[10];Argument[10].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[11];Argument[11].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[12];Argument[12].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[13];Argument[13].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;set_ResolvePath;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;set_ValidateDelete;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;set_ValidateDownload;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;set_ValidateUpload;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UrlExtensions;false;ToUrl;(System.Object,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UrlResolverDelegate;false;BeginInvoke;(ServiceStack.IServiceClientMeta,System.String,System.String,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;WriteComplexTypeDelegate;false;BeginInvoke;(System.IO.TextWriter,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;X;false;Apply<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;X;false;Map<,>;(From,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;XLinqExtensions;false;GetAttributeValueOrDefault<>;(System.Xml.Linq.XAttribute,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;XLinqExtensions;false;GetElementValueOrDefault<>;(System.Xml.Linq.XElement,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Buffers;ArrayBufferWriter<>;false;GetMemory;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | | System.Buffers;ArrayBufferWriter<>;false;get_WrittenMemory;();;Argument[this];ReturnValue;taint;df-generated | | System.Buffers;BuffersExtensions;false;PositionOf<>;(System.Buffers.ReadOnlySequence,T);;Argument[0];ReturnValue;taint;df-generated | @@ -3917,6 +5990,58 @@ summary | System.Data.Entity;DbSet<>;false;Attach;(TEntity);;Argument[0];Argument[this].Element;value;manual | | System.Data.Entity;DbSet<>;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | | System.Data.Entity;DbSet<>;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.SqlClient;OnChangeEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlNotificationEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlBulkCopy;false;add_SqlRowsCopied;(System.Data.SqlClient.SqlRowsCopiedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlBulkCopy;false;remove_SqlRowsCopied;(System.Data.SqlClient.SqlRowsCopiedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;BeginExecuteNonQuery;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;BeginExecuteReader;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;BeginExecuteReader;(System.AsyncCallback,System.Object,System.Data.CommandBehavior);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;BeginExecuteXmlReader;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;ExecuteDbDataReaderAsync;(System.Data.CommandBehavior,System.Threading.CancellationToken);;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String);;Argument[0];Argument[this];taint;manual | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection);;Argument[0];Argument[this];taint;manual | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection,System.Data.SqlClient.SqlTransaction);;Argument[0];Argument[this];taint;manual | +| System.Data.SqlClient;SqlCommand;false;add_StatementCompleted;(System.Data.StatementCompletedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;remove_StatementCompleted;(System.Data.StatementCompletedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;InitializeCommand;(System.Data.Common.DbCommand);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;get_CatalogSeparator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;get_QuotePrefix;();;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;get_QuoteSuffix;();;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;get_SchemaSeparator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;set_CatalogSeparator;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;set_QuotePrefix;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;set_QuoteSuffix;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Data.SqlClient;SqlCommandBuilder;false;set_SchemaSeparator;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Data.SqlClient;SqlConnection;false;OpenAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlConnection;false;add_InfoMessage;(System.Data.SqlClient.SqlInfoMessageEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlConnection;false;remove_InfoMessage;(System.Data.SqlClient.SqlInfoMessageEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlConnectionStringBuilder;false;Clear;();;Argument[this].WithoutElement;Argument[this];value;manual | +| System.Data.SqlClient;SqlConnectionStringBuilder;false;get_Keys;();;Argument[this].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Data.SqlClient;SqlConnectionStringBuilder;false;get_Values;();;Argument[this].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Data.SqlClient;SqlDataAdapter;false;add_RowUpdated;(System.Data.SqlClient.SqlRowUpdatedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDataAdapter;false;add_RowUpdating;(System.Data.SqlClient.SqlRowUpdatingEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDataAdapter;false;remove_RowUpdated;(System.Data.SqlClient.SqlRowUpdatedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDataAdapter;false;remove_RowUpdating;(System.Data.SqlClient.SqlRowUpdatingEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDataReader;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.SqlClient;SqlDataReader;false;GetFieldValue<>;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlDataReader;false;GetFieldValueAsync<>;(System.Int32,System.Threading.CancellationToken);;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlDataReader;false;GetProviderSpecificValue;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlDataReader;false;GetProviderSpecificValues;(System.Object[]);;Argument[this];Argument[0].Element;taint;df-generated | +| System.Data.SqlClient;SqlDataReader;false;GetTextReader;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlClient;SqlDependency;false;add_OnChange;(System.Data.SqlClient.OnChangeEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDependency;false;remove_OnChange;(System.Data.SqlClient.OnChangeEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlErrorCollection;false;CopyTo;(System.Array,System.Int32);;Argument[this].Element;Argument[0].Element;value;manual | +| System.Data.SqlClient;SqlErrorCollection;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.SqlClient;SqlInfoMessageEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlInfoMessageEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlParameterCollection;false;Add;(System.Object);;Argument[0];Argument[this].Element;value;manual | +| System.Data.SqlClient;SqlParameterCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[this].Element;value;manual | +| System.Data.SqlClient;SqlParameterCollection;false;Clear;();;Argument[this].WithoutElement;Argument[this];value;manual | +| System.Data.SqlClient;SqlParameterCollection;false;CopyTo;(System.Array,System.Int32);;Argument[this].Element;Argument[0].Element;value;manual | +| System.Data.SqlClient;SqlParameterCollection;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.SqlClient;SqlParameterCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[this].Element;value;manual | +| System.Data.SqlClient;SqlRowUpdatedEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlRowUpdatedEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlRowUpdatingEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlRowUpdatingEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlRowsCopiedEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlRowsCopiedEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;df-generated | @@ -3926,6 +6051,8 @@ summary | System.Data.SqlTypes;SqlBinary;false;ToSqlGuid;();;Argument[this];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlBinary;false;WriteXml;(System.Xml.XmlWriter);;Argument[this];Argument[0];taint;df-generated | | System.Data.SqlTypes;SqlBinary;false;get_Value;();;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlBinary;false;op_Addition;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlBinary;false;op_Addition;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlBytes;false;Read;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[this];Argument[1].Element;taint;df-generated | | System.Data.SqlTypes;SqlBytes;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[this];taint;df-generated | | System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.Byte[]);;Argument[0].Element;Argument[this];taint;df-generated | @@ -3945,6 +6072,9 @@ summary | System.Data.SqlTypes;SqlDecimal;false;Floor;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlDecimal;false;Round;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlDecimal;false;Truncate;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlDecimal;false;op_UnaryNegation;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlFileStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[this];Argument[0].Element;taint;manual | +| System.Data.SqlTypes;SqlFileStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[this];taint;manual | | System.Data.SqlTypes;SqlGuid;false;SqlGuid;(System.Byte[]);;Argument[0].Element;Argument[this];taint;df-generated | | System.Data.SqlTypes;SqlGuid;false;ToByteArray;();;Argument[this];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlGuid;false;ToSqlBinary;();;Argument[this];ReturnValue;taint;df-generated | @@ -3962,6 +6092,8 @@ summary | System.Data.SqlTypes;SqlString;false;WriteXml;(System.Xml.XmlWriter);;Argument[this];Argument[0];taint;df-generated | | System.Data.SqlTypes;SqlString;false;get_CompareInfo;();;Argument[this];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlString;false;get_Value;();;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlString;false;op_Addition;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlString;false;op_Addition;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlXml;false;SqlXml;(System.IO.Stream);;Argument[0];Argument[this];taint;df-generated | | System.Data;Constraint;false;SetDataSet;(System.Data.DataSet);;Argument[0];Argument[this];taint;df-generated | | System.Data;Constraint;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | @@ -4732,6 +6864,175 @@ summary | System.Diagnostics;TraceSource;false;get_Switch;();;Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics;TraceSource;false;remove_Initializing;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics;TraceSource;false;set_Switch;(System.Diagnostics.SourceSwitch);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Design;CategoryNameCollection;false;CategoryNameCollection;(System.Drawing.Design.CategoryNameCollection);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Design;CategoryNameCollection;false;CategoryNameCollection;(System.String[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Design;CategoryNameCollection;false;CopyTo;(System.String[],System.Int32);;Argument[this];Argument[0].Element;taint;df-generated | +| System.Drawing.Design;CategoryNameCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;BitmapData;false;get_Scan0;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;BitmapData;false;set_Scan0;(System.IntPtr);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ColorMap;false;get_NewColor;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ColorMap;false;get_OldColor;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ColorMap;false;set_NewColor;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ColorMap;false;set_OldColor;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ColorPalette;false;get_Entries;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;Encoder;false;Encoder;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;Encoder;false;get_Guid;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte,System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte[],System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int16);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int16[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Drawing.Imaging.EncoderParameterValueType,System.IntPtr);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32,System.Int32);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32[],System.Int32[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32[],System.Int32[],System.Int32[],System.Int32[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64,System.Int64);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64[],System.Int64[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;get_Encoder;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;set_Encoder;(System.Drawing.Imaging.Encoder);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameters;false;get_Param;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;EncoderParameters;false;set_Param;(System.Drawing.Imaging.EncoderParameter[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Imaging;FrameDimension;false;FrameDimension;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;FrameDimension;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;FrameDimension;false;get_Guid;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_Clsid;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_CodecName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_DllName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_FilenameExtension;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_FormatDescription;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_FormatID;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_MimeType;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_SignatureMasks;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_SignaturePatterns;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_Clsid;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_CodecName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_DllName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_FilenameExtension;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_FormatDescription;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_FormatID;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_MimeType;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_SignatureMasks;(System.Byte[][]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_SignaturePatterns;(System.Byte[][]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageFormat;false;ImageFormat;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageFormat;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageFormat;false;get_Guid;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;Metafile;false;GetHenhmetafile;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;PlayRecordCallback;false;BeginInvoke;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.IntPtr,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;InvalidPrinterException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[this];Argument[0];taint;df-generated | +| System.Drawing.Printing;InvalidPrinterException;false;InvalidPrinterException;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;MarginsConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;df-generated | +| System.Drawing.Printing;MarginsConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;Clone;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;PageSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_Margins;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PaperSize;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PaperSource;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PrintableArea;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PrinterResolution;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PrinterSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_Margins;(System.Drawing.Printing.Margins);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_PaperSize;(System.Drawing.Printing.PaperSize);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_PaperSource;(System.Drawing.Printing.PaperSource);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_PrinterResolution;(System.Drawing.Printing.PrinterResolution);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_PrinterSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PaperSize;false;PaperSize;(System.String,System.Int32,System.Int32);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PaperSize;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PaperSize;false;get_PaperName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PaperSize;false;set_PaperName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PaperSource;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PaperSource;false;get_SourceName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PaperSource;false;set_SourceName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PreviewPageInfo;false;PreviewPageInfo;(System.Drawing.Image,System.Drawing.Size);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PreviewPageInfo;false;PreviewPageInfo;(System.Drawing.Image,System.Drawing.Size);;Argument[1];Argument[this];taint;df-generated | +| System.Drawing.Printing;PreviewPageInfo;false;get_Image;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PreviewPageInfo;false;get_PhysicalSize;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PreviewPrintController;false;GetPreviewPageInfo;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;add_BeginPrint;(System.Drawing.Printing.PrintEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;add_EndPrint;(System.Drawing.Printing.PrintEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;add_PrintPage;(System.Drawing.Printing.PrintPageEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;add_QueryPageSettings;(System.Drawing.Printing.QueryPageSettingsEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;get_DefaultPageSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;get_DocumentName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;get_PrintController;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;get_PrinterSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;remove_BeginPrint;(System.Drawing.Printing.PrintEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;remove_EndPrint;(System.Drawing.Printing.PrintEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;remove_PrintPage;(System.Drawing.Printing.PrintPageEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;remove_QueryPageSettings;(System.Drawing.Printing.QueryPageSettingsEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;set_DefaultPageSettings;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;set_DocumentName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;set_PrintController;(System.Drawing.Printing.PrintController);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;set_PrinterSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintEventHandler;false;BeginInvoke;(System.Object,System.Drawing.Printing.PrintEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[1];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[2];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[3];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;get_Graphics;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;get_MarginBounds;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;get_PageBounds;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;get_PageSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintPageEventHandler;false;BeginInvoke;(System.Object,System.Drawing.Printing.PrintPageEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;Add;(System.Drawing.Printing.PaperSize);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;CopyTo;(System.Array,System.Int32);;Argument[this].Element;Argument[0].Element;value;manual | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;GetEnumerator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;PaperSizeCollection;(System.Drawing.Printing.PaperSize[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;get_SyncRoot;();;Argument[this];ReturnValue;value;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;Add;(System.Drawing.Printing.PaperSource);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;CopyTo;(System.Array,System.Int32);;Argument[this].Element;Argument[0].Element;value;manual | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;GetEnumerator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;PaperSourceCollection;(System.Drawing.Printing.PaperSource[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;get_SyncRoot;();;Argument[this];ReturnValue;value;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;Add;(System.Drawing.Printing.PrinterResolution);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;CopyTo;(System.Array,System.Int32);;Argument[this].Element;Argument[0].Element;value;manual | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;GetEnumerator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;PrinterResolutionCollection;(System.Drawing.Printing.PrinterResolution[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;get_SyncRoot;();;Argument[this];ReturnValue;value;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;Add;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;CopyTo;(System.Array,System.Int32);;Argument[this].Element;Argument[0].Element;value;manual | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;GetEnumerator;();;Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;GetEnumerator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;StringCollection;(System.String[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;get_SyncRoot;();;Argument[this];ReturnValue;value;df-generated | +| System.Drawing.Printing;PrinterSettings;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_DefaultPageSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PaperSizes;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PaperSources;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PrintFileName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PrinterName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PrinterResolutions;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;set_PrintFileName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;set_PrinterName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;QueryPageSettingsEventArgs;false;QueryPageSettingsEventArgs;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;QueryPageSettingsEventArgs;false;get_PageSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;QueryPageSettingsEventArgs;false;set_PageSettings;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;QueryPageSettingsEventHandler;false;BeginInvoke;(System.Object,System.Drawing.Printing.QueryPageSettingsEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;StandardPrintController;false;OnStartPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);;Argument[1];ReturnValue;taint;df-generated | +| System.Drawing;Bitmap;false;Bitmap;(System.String,System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Bitmap;false;LockBits;(System.Drawing.Rectangle,System.Drawing.Imaging.ImageLockMode,System.Drawing.Imaging.PixelFormat,System.Drawing.Imaging.BitmapData);;Argument[3];ReturnValue;taint;df-generated | +| System.Drawing;Brush;false;SetNativeBrush;(System.IntPtr);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;BufferedGraphics;false;get_Graphics;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;Allocate;(System.Drawing.Graphics,System.Drawing.Rectangle);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;Allocate;(System.Drawing.Graphics,System.Drawing.Rectangle);;Argument[1];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;Allocate;(System.IntPtr,System.Drawing.Rectangle);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;Allocate;(System.IntPtr,System.Drawing.Rectangle);;Argument[1];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;get_MaximumBuffer;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;set_MaximumBuffer;(System.Drawing.Size);;Argument[0];Argument[this];taint;df-generated | | System.Drawing;Color;false;FromName;(System.String);;Argument[0];ReturnValue;taint;df-generated | | System.Drawing;Color;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | | System.Drawing;Color;false;get_Name;();;Argument[this];ReturnValue;taint;df-generated | @@ -4740,6 +7041,87 @@ summary | System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | | System.Drawing;ColorTranslator;false;FromHtml;(System.String);;Argument[0];ReturnValue;taint;df-generated | | System.Drawing;ColorTranslator;false;ToHtml;(System.Drawing.Color);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;Clone;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;Font;(System.Drawing.Font,System.Drawing.FontStyle);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Font;false;Font;(System.Drawing.FontFamily,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte,System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Font;false;Font;(System.String,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte,System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Font;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[this];Argument[0];taint;df-generated | +| System.Drawing;Font;false;ToHfont;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;get_FontFamily;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;get_OriginalFontName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;get_SystemFontName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;FontConverter+FontNameConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing;FontConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing;Graphics+DrawImageAbort;false;BeginInvoke;(System.IntPtr,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics+EnumerateMetafileProc;false;BeginInvoke;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.IntPtr,System.Drawing.Imaging.PlayRecordCallback,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics+EnumerateMetafileProc;false;BeginInvoke;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.IntPtr,System.Drawing.Imaging.PlayRecordCallback,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics+EnumerateMetafileProc;false;Invoke;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.IntPtr,System.Drawing.Imaging.PlayRecordCallback);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort,System.Int32);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort,System.Int32);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort,System.IntPtr);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort,System.IntPtr);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;FromImage;(System.Drawing.Image);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Graphics;false;GetHdc;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Icon;false;Clone;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Icon;false;FromHandle;(System.IntPtr);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Icon;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[this];Argument[0];taint;df-generated | +| System.Drawing;Icon;false;Icon;(System.Drawing.Icon,System.Drawing.Size);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Icon;false;Icon;(System.Drawing.Icon,System.Drawing.Size);;Argument[1];Argument[this];taint;df-generated | +| System.Drawing;Icon;false;get_Handle;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Icon;false;get_Size;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Image+GetThumbnailImageAbort;false;BeginInvoke;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Image;false;FromFile;(System.String);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Image;false;FromFile;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Image;false;GetThumbnailImage;(System.Int32,System.Int32,System.Drawing.Image+GetThumbnailImageAbort,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Image;false;get_Tag;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Image;false;set_Tag;(System.Object);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;ImageAnimator;false;Animate;(System.Drawing.Image,System.EventHandler);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Drawing;ImageAnimator;false;StopAnimate;(System.Drawing.Image,System.EventHandler);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Drawing;ImageFormatConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing;Pen;false;Pen;(System.Drawing.Color,System.Single);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Pen;false;get_Color;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Pen;false;get_CustomEndCap;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Pen;false;set_Color;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | | System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;df-generated | | System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | | System.Drawing;Rectangle;false;Inflate;(System.Drawing.Rectangle,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;df-generated | @@ -4750,6 +7132,14 @@ summary | System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | | System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;df-generated | | System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing;SolidBrush;false;SolidBrush;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;SolidBrush;false;get_Color;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;SolidBrush;false;set_Color;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Object);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Object,System.Boolean);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type,System.Boolean);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type,System.String,System.Boolean);;Argument[this];ReturnValue;taint;df-generated | | System.Dynamic;BindingRestrictions;false;GetExpressionRestriction;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;df-generated | | System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[0];ReturnValue;taint;df-generated | | System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[1];ReturnValue;taint;df-generated | @@ -8471,6 +10861,11 @@ summary | System.Numerics;Matrix4x4;false;Negate;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | | System.Numerics;Matrix4x4;false;Subtract;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | | System.Numerics;Matrix4x4;false;Transpose;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_Addition;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_Subtraction;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_UnaryNegation;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | | System.Numerics;Plane;false;Normalize;(System.Numerics.Plane);;Argument[0];ReturnValue;taint;df-generated | | System.Numerics;Plane;false;Plane;(System.Numerics.Vector3,System.Single);;Argument[0];Argument[this];taint;df-generated | | System.Numerics;Plane;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | @@ -9474,14 +11869,17 @@ summary | System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlySequenceSegment<>;(System.Buffers.ReadOnlySequence,System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector64;false;Abs<>;(System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector64;false;WithElement<>;(System.Runtime.Intrinsics.Vector64,System.Int32,T);;Argument[0];ReturnValue;taint;df-generated | +| System.Runtime.Intrinsics;Vector64<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector64<>);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector128;false;Abs<>;(System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector128;false;WithElement<>;(System.Runtime.Intrinsics.Vector128,System.Int32,T);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector128;false;WithLower<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector128;false;WithUpper<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;df-generated | +| System.Runtime.Intrinsics;Vector128<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector128<>);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector256;false;Abs<>;(System.Runtime.Intrinsics.Vector256);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector256;false;WithElement<>;(System.Runtime.Intrinsics.Vector256,System.Int32,T);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector256;false;WithLower<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector256;false;WithUpper<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;df-generated | +| System.Runtime.Intrinsics;Vector256<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector256<>);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[this];ReturnValue;taint;df-generated | | System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[0];ReturnValue;taint;df-generated | @@ -11674,6 +14072,8 @@ summary | System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[this];ReturnValue;taint;df-generated | | System.Xml.Linq;XNamespace;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | | System.Xml.Linq;XNamespace;false;get_NamespaceName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Linq;XNamespace;false;op_Addition;(System.Xml.Linq.XNamespace,System.String);;Argument[0];ReturnValue;taint;df-generated | +| System.Xml.Linq;XNamespace;false;op_Addition;(System.Xml.Linq.XNamespace,System.String);;Argument[1];ReturnValue;taint;df-generated | | System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object);;Argument[this];Argument[0];taint;df-generated | | System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object);;Argument[this];Argument[0];taint;df-generated | | System.Xml.Linq;XNode;false;Ancestors;();;Argument[this];ReturnValue;taint;df-generated | @@ -14109,6 +16509,7 @@ summary | System;StringNormalizationExtensions;false;Normalize;(System.String,System.Text.NormalizationForm);;Argument[0];ReturnValue;taint;df-generated | | System;TimeOnly;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;df-generated | | System;TimeOnly;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;df-generated | +| System;TimeSpan;false;op_UnaryPlus;(System.TimeSpan);;Argument[0];ReturnValue;taint;df-generated | | System;TimeZone;true;ToLocalTime;(System.DateTime);;Argument[0];ReturnValue;taint;df-generated | | System;TimeZone;true;ToUniversalTime;(System.DateTime);;Argument[0];ReturnValue;taint;df-generated | | System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[0];ReturnValue;taint;df-generated | @@ -15390,6 +17791,8 @@ neutral | Microsoft.Extensions.Logging;EventId;ToString;();summary;df-generated | | Microsoft.Extensions.Logging;EventId;get_Id;();summary;df-generated | | Microsoft.Extensions.Logging;EventId;get_Name;();summary;df-generated | +| Microsoft.Extensions.Logging;EventId;op_Equality;(Microsoft.Extensions.Logging.EventId,Microsoft.Extensions.Logging.EventId);summary;df-generated | +| Microsoft.Extensions.Logging;EventId;op_Inequality;(Microsoft.Extensions.Logging.EventId,Microsoft.Extensions.Logging.EventId);summary;df-generated | | Microsoft.Extensions.Logging;IExternalScopeProvider;Push;(System.Object);summary;df-generated | | Microsoft.Extensions.Logging;ILogger;BeginScope<>;(TState);summary;df-generated | | Microsoft.Extensions.Logging;ILogger;IsEnabled;(Microsoft.Extensions.Logging.LogLevel);summary;df-generated | @@ -15711,6 +18114,8 @@ neutral | Microsoft.Extensions.Primitives;StringSegment;get_Length;();summary;df-generated | | Microsoft.Extensions.Primitives;StringSegment;get_Offset;();summary;df-generated | | Microsoft.Extensions.Primitives;StringSegment;get_Value;();summary;df-generated | +| Microsoft.Extensions.Primitives;StringSegment;op_Equality;(Microsoft.Extensions.Primitives.StringSegment,Microsoft.Extensions.Primitives.StringSegment);summary;df-generated | +| Microsoft.Extensions.Primitives;StringSegment;op_Inequality;(Microsoft.Extensions.Primitives.StringSegment,Microsoft.Extensions.Primitives.StringSegment);summary;df-generated | | Microsoft.Extensions.Primitives;StringSegmentComparer;Compare;(Microsoft.Extensions.Primitives.StringSegment,Microsoft.Extensions.Primitives.StringSegment);summary;df-generated | | Microsoft.Extensions.Primitives;StringSegmentComparer;Equals;(Microsoft.Extensions.Primitives.StringSegment,Microsoft.Extensions.Primitives.StringSegment);summary;df-generated | | Microsoft.Extensions.Primitives;StringSegmentComparer;GetHashCode;(Microsoft.Extensions.Primitives.StringSegment);summary;df-generated | @@ -15724,6 +18129,20 @@ neutral | Microsoft.Extensions.Primitives;StringValues+Enumerator;Enumerator;(Microsoft.Extensions.Primitives.StringValues);summary;df-generated | | Microsoft.Extensions.Primitives;StringValues+Enumerator;MoveNext;();summary;df-generated | | Microsoft.Extensions.Primitives;StringValues+Enumerator;Reset;();summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Equality;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Equality;(Microsoft.Extensions.Primitives.StringValues,System.Object);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Equality;(Microsoft.Extensions.Primitives.StringValues,System.String);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Equality;(Microsoft.Extensions.Primitives.StringValues,System.String[]);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Equality;(System.Object,Microsoft.Extensions.Primitives.StringValues);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Equality;(System.String,Microsoft.Extensions.Primitives.StringValues);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Equality;(System.String[],Microsoft.Extensions.Primitives.StringValues);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Inequality;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Inequality;(Microsoft.Extensions.Primitives.StringValues,System.Object);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Inequality;(Microsoft.Extensions.Primitives.StringValues,System.String);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Inequality;(Microsoft.Extensions.Primitives.StringValues,System.String[]);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Inequality;(System.Object,Microsoft.Extensions.Primitives.StringValues);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Inequality;(System.String,Microsoft.Extensions.Primitives.StringValues);summary;df-generated | +| Microsoft.Extensions.Primitives;StringValues;op_Inequality;(System.String[],Microsoft.Extensions.Primitives.StringValues);summary;df-generated | | Microsoft.VisualBasic.CompilerServices;BooleanType;FromObject;(System.Object);summary;df-generated | | Microsoft.VisualBasic.CompilerServices;BooleanType;FromString;(System.String);summary;df-generated | | Microsoft.VisualBasic.CompilerServices;ByteType;FromObject;(System.Object);summary;df-generated | @@ -16656,6 +19075,8 @@ neutral | System.Buffers;StandardFormat;get_IsDefault;();summary;df-generated | | System.Buffers;StandardFormat;get_Precision;();summary;df-generated | | System.Buffers;StandardFormat;get_Symbol;();summary;df-generated | +| System.Buffers;StandardFormat;op_Equality;(System.Buffers.StandardFormat,System.Buffers.StandardFormat);summary;df-generated | +| System.Buffers;StandardFormat;op_Inequality;(System.Buffers.StandardFormat,System.Buffers.StandardFormat);summary;df-generated | | System.CodeDom.Compiler;IndentedTextWriter;Close;();summary;df-generated | | System.CodeDom.Compiler;IndentedTextWriter;DisposeAsync;();summary;df-generated | | System.CodeDom.Compiler;IndentedTextWriter;Flush;();summary;df-generated | @@ -17213,6 +19634,10 @@ neutral | System.Collections.Immutable;ImmutableArray<>;get_IsSynchronized;();summary;df-generated | | System.Collections.Immutable;ImmutableArray<>;get_Length;();summary;df-generated | | System.Collections.Immutable;ImmutableArray<>;get_SyncRoot;();summary;df-generated | +| System.Collections.Immutable;ImmutableArray<>;op_Equality;(System.Collections.Immutable.ImmutableArray<>,System.Collections.Immutable.ImmutableArray<>);summary;df-generated | +| System.Collections.Immutable;ImmutableArray<>;op_Equality;(System.Nullable>,System.Nullable>);summary;df-generated | +| System.Collections.Immutable;ImmutableArray<>;op_Inequality;(System.Collections.Immutable.ImmutableArray<>,System.Collections.Immutable.ImmutableArray<>);summary;df-generated | +| System.Collections.Immutable;ImmutableArray<>;op_Inequality;(System.Nullable>,System.Nullable>);summary;df-generated | | System.Collections.Immutable;ImmutableDictionary;Contains<,>;(System.Collections.Immutable.IImmutableDictionary,TKey,TValue);summary;df-generated | | System.Collections.Immutable;ImmutableDictionary;Create<,>;();summary;df-generated | | System.Collections.Immutable;ImmutableDictionary;CreateBuilder<,>;();summary;df-generated | @@ -17524,6 +19949,8 @@ neutral | System.Collections.Specialized;BitVector32+Section;ToString;(System.Collections.Specialized.BitVector32+Section);summary;df-generated | | System.Collections.Specialized;BitVector32+Section;get_Mask;();summary;df-generated | | System.Collections.Specialized;BitVector32+Section;get_Offset;();summary;df-generated | +| System.Collections.Specialized;BitVector32+Section;op_Equality;(System.Collections.Specialized.BitVector32+Section,System.Collections.Specialized.BitVector32+Section);summary;df-generated | +| System.Collections.Specialized;BitVector32+Section;op_Inequality;(System.Collections.Specialized.BitVector32+Section,System.Collections.Specialized.BitVector32+Section);summary;df-generated | | System.Collections.Specialized;BitVector32;BitVector32;(System.Collections.Specialized.BitVector32);summary;df-generated | | System.Collections.Specialized;BitVector32;BitVector32;(System.Int32);summary;df-generated | | System.Collections.Specialized;BitVector32;CreateMask;();summary;df-generated | @@ -18042,6 +20469,8 @@ neutral | System.ComponentModel.Design.Serialization;MemberRelationship;get_IsEmpty;();summary;df-generated | | System.ComponentModel.Design.Serialization;MemberRelationship;get_Member;();summary;df-generated | | System.ComponentModel.Design.Serialization;MemberRelationship;get_Owner;();summary;df-generated | +| System.ComponentModel.Design.Serialization;MemberRelationship;op_Equality;(System.ComponentModel.Design.Serialization.MemberRelationship,System.ComponentModel.Design.Serialization.MemberRelationship);summary;df-generated | +| System.ComponentModel.Design.Serialization;MemberRelationship;op_Inequality;(System.ComponentModel.Design.Serialization.MemberRelationship,System.ComponentModel.Design.Serialization.MemberRelationship);summary;df-generated | | System.ComponentModel.Design.Serialization;MemberRelationshipService;GetRelationship;(System.ComponentModel.Design.Serialization.MemberRelationship);summary;df-generated | | System.ComponentModel.Design.Serialization;MemberRelationshipService;SetRelationship;(System.ComponentModel.Design.Serialization.MemberRelationship,System.ComponentModel.Design.Serialization.MemberRelationship);summary;df-generated | | System.ComponentModel.Design.Serialization;MemberRelationshipService;SupportsRelationship;(System.ComponentModel.Design.Serialization.MemberRelationship,System.ComponentModel.Design.Serialization.MemberRelationship);summary;df-generated | @@ -19699,6 +22128,12 @@ neutral | System.Data.SqlTypes;SqlBinary;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlBinary;get_Item;(System.Int32);summary;df-generated | | System.Data.SqlTypes;SqlBinary;get_Length;();summary;df-generated | +| System.Data.SqlTypes;SqlBinary;op_Equality;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);summary;df-generated | +| System.Data.SqlTypes;SqlBinary;op_GreaterThan;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);summary;df-generated | +| System.Data.SqlTypes;SqlBinary;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);summary;df-generated | +| System.Data.SqlTypes;SqlBinary;op_Inequality;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);summary;df-generated | +| System.Data.SqlTypes;SqlBinary;op_LessThan;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);summary;df-generated | +| System.Data.SqlTypes;SqlBinary;op_LessThanOrEqual;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);summary;df-generated | | System.Data.SqlTypes;SqlBoolean;And;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | | System.Data.SqlTypes;SqlBoolean;CompareTo;(System.Data.SqlTypes.SqlBoolean);summary;df-generated | | System.Data.SqlTypes;SqlBoolean;CompareTo;(System.Object);summary;df-generated | @@ -19735,6 +22170,19 @@ neutral | System.Data.SqlTypes;SqlBoolean;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlBoolean;get_IsTrue;();summary;df-generated | | System.Data.SqlTypes;SqlBoolean;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_BitwiseAnd;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_BitwiseOr;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_Equality;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_ExclusiveOr;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_False;(System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_GreaterThan;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_Inequality;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_LessThan;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_LessThanOrEqual;(System.Data.SqlTypes.SqlBoolean,System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_LogicalNot;(System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_OnesComplement;(System.Data.SqlTypes.SqlBoolean);summary;df-generated | +| System.Data.SqlTypes;SqlBoolean;op_True;(System.Data.SqlTypes.SqlBoolean);summary;df-generated | | System.Data.SqlTypes;SqlByte;Add;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | | System.Data.SqlTypes;SqlByte;BitwiseAnd;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | | System.Data.SqlTypes;SqlByte;BitwiseOr;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | @@ -19773,6 +22221,21 @@ neutral | System.Data.SqlTypes;SqlByte;Xor;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | | System.Data.SqlTypes;SqlByte;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlByte;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_Addition;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_BitwiseAnd;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_BitwiseOr;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_Division;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_Equality;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_ExclusiveOr;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_GreaterThan;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_Inequality;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_LessThan;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_LessThanOrEqual;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_Modulus;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_Multiply;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_OnesComplement;(System.Data.SqlTypes.SqlByte);summary;df-generated | +| System.Data.SqlTypes;SqlByte;op_Subtraction;(System.Data.SqlTypes.SqlByte,System.Data.SqlTypes.SqlByte);summary;df-generated | | System.Data.SqlTypes;SqlBytes;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Data.SqlTypes;SqlBytes;GetSchema;();summary;df-generated | | System.Data.SqlTypes;SqlBytes;GetXsdType;(System.Xml.Schema.XmlSchemaSet);summary;df-generated | @@ -19837,6 +22300,14 @@ neutral | System.Data.SqlTypes;SqlDateTime;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlDateTime;get_TimeTicks;();summary;df-generated | | System.Data.SqlTypes;SqlDateTime;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlDateTime;op_Addition;(System.Data.SqlTypes.SqlDateTime,System.TimeSpan);summary;df-generated | +| System.Data.SqlTypes;SqlDateTime;op_Equality;(System.Data.SqlTypes.SqlDateTime,System.Data.SqlTypes.SqlDateTime);summary;df-generated | +| System.Data.SqlTypes;SqlDateTime;op_GreaterThan;(System.Data.SqlTypes.SqlDateTime,System.Data.SqlTypes.SqlDateTime);summary;df-generated | +| System.Data.SqlTypes;SqlDateTime;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlDateTime,System.Data.SqlTypes.SqlDateTime);summary;df-generated | +| System.Data.SqlTypes;SqlDateTime;op_Inequality;(System.Data.SqlTypes.SqlDateTime,System.Data.SqlTypes.SqlDateTime);summary;df-generated | +| System.Data.SqlTypes;SqlDateTime;op_LessThan;(System.Data.SqlTypes.SqlDateTime,System.Data.SqlTypes.SqlDateTime);summary;df-generated | +| System.Data.SqlTypes;SqlDateTime;op_LessThanOrEqual;(System.Data.SqlTypes.SqlDateTime,System.Data.SqlTypes.SqlDateTime);summary;df-generated | +| System.Data.SqlTypes;SqlDateTime;op_Subtraction;(System.Data.SqlTypes.SqlDateTime,System.TimeSpan);summary;df-generated | | System.Data.SqlTypes;SqlDecimal;Add;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | | System.Data.SqlTypes;SqlDecimal;CompareTo;(System.Data.SqlTypes.SqlDecimal);summary;df-generated | | System.Data.SqlTypes;SqlDecimal;CompareTo;(System.Object);summary;df-generated | @@ -19882,6 +22353,16 @@ neutral | System.Data.SqlTypes;SqlDecimal;get_Precision;();summary;df-generated | | System.Data.SqlTypes;SqlDecimal;get_Scale;();summary;df-generated | | System.Data.SqlTypes;SqlDecimal;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_Addition;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_Division;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_Equality;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_GreaterThan;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_Inequality;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_LessThan;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_LessThanOrEqual;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_Multiply;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | +| System.Data.SqlTypes;SqlDecimal;op_Subtraction;(System.Data.SqlTypes.SqlDecimal,System.Data.SqlTypes.SqlDecimal);summary;df-generated | | System.Data.SqlTypes;SqlDouble;Add;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | | System.Data.SqlTypes;SqlDouble;CompareTo;(System.Data.SqlTypes.SqlDouble);summary;df-generated | | System.Data.SqlTypes;SqlDouble;CompareTo;(System.Object);summary;df-generated | @@ -19914,6 +22395,17 @@ neutral | System.Data.SqlTypes;SqlDouble;WriteXml;(System.Xml.XmlWriter);summary;df-generated | | System.Data.SqlTypes;SqlDouble;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlDouble;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_Addition;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_Division;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_Equality;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_GreaterThan;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_Inequality;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_LessThan;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_LessThanOrEqual;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_Multiply;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_Subtraction;(System.Data.SqlTypes.SqlDouble,System.Data.SqlTypes.SqlDouble);summary;df-generated | +| System.Data.SqlTypes;SqlDouble;op_UnaryNegation;(System.Data.SqlTypes.SqlDouble);summary;df-generated | | System.Data.SqlTypes;SqlGuid;CompareTo;(System.Data.SqlTypes.SqlGuid);summary;df-generated | | System.Data.SqlTypes;SqlGuid;CompareTo;(System.Object);summary;df-generated | | System.Data.SqlTypes;SqlGuid;Equals;(System.Data.SqlTypes.SqlGuid,System.Data.SqlTypes.SqlGuid);summary;df-generated | @@ -19936,6 +22428,12 @@ neutral | System.Data.SqlTypes;SqlGuid;WriteXml;(System.Xml.XmlWriter);summary;df-generated | | System.Data.SqlTypes;SqlGuid;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlGuid;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlGuid;op_Equality;(System.Data.SqlTypes.SqlGuid,System.Data.SqlTypes.SqlGuid);summary;df-generated | +| System.Data.SqlTypes;SqlGuid;op_GreaterThan;(System.Data.SqlTypes.SqlGuid,System.Data.SqlTypes.SqlGuid);summary;df-generated | +| System.Data.SqlTypes;SqlGuid;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlGuid,System.Data.SqlTypes.SqlGuid);summary;df-generated | +| System.Data.SqlTypes;SqlGuid;op_Inequality;(System.Data.SqlTypes.SqlGuid,System.Data.SqlTypes.SqlGuid);summary;df-generated | +| System.Data.SqlTypes;SqlGuid;op_LessThan;(System.Data.SqlTypes.SqlGuid,System.Data.SqlTypes.SqlGuid);summary;df-generated | +| System.Data.SqlTypes;SqlGuid;op_LessThanOrEqual;(System.Data.SqlTypes.SqlGuid,System.Data.SqlTypes.SqlGuid);summary;df-generated | | System.Data.SqlTypes;SqlInt16;Add;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | | System.Data.SqlTypes;SqlInt16;BitwiseAnd;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | | System.Data.SqlTypes;SqlInt16;BitwiseOr;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | @@ -19974,6 +22472,22 @@ neutral | System.Data.SqlTypes;SqlInt16;Xor;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | | System.Data.SqlTypes;SqlInt16;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlInt16;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_Addition;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_BitwiseAnd;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_BitwiseOr;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_Division;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_Equality;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_ExclusiveOr;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_GreaterThan;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_Inequality;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_LessThan;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_LessThanOrEqual;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_Modulus;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_Multiply;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_OnesComplement;(System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_Subtraction;(System.Data.SqlTypes.SqlInt16,System.Data.SqlTypes.SqlInt16);summary;df-generated | +| System.Data.SqlTypes;SqlInt16;op_UnaryNegation;(System.Data.SqlTypes.SqlInt16);summary;df-generated | | System.Data.SqlTypes;SqlInt32;Add;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | | System.Data.SqlTypes;SqlInt32;BitwiseAnd;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | | System.Data.SqlTypes;SqlInt32;BitwiseOr;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | @@ -20012,6 +22526,22 @@ neutral | System.Data.SqlTypes;SqlInt32;Xor;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | | System.Data.SqlTypes;SqlInt32;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlInt32;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_Addition;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_BitwiseAnd;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_BitwiseOr;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_Division;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_Equality;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_ExclusiveOr;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_GreaterThan;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_Inequality;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_LessThan;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_LessThanOrEqual;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_Modulus;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_Multiply;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_OnesComplement;(System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_Subtraction;(System.Data.SqlTypes.SqlInt32,System.Data.SqlTypes.SqlInt32);summary;df-generated | +| System.Data.SqlTypes;SqlInt32;op_UnaryNegation;(System.Data.SqlTypes.SqlInt32);summary;df-generated | | System.Data.SqlTypes;SqlInt64;Add;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | | System.Data.SqlTypes;SqlInt64;BitwiseAnd;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | | System.Data.SqlTypes;SqlInt64;BitwiseOr;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | @@ -20050,6 +22580,22 @@ neutral | System.Data.SqlTypes;SqlInt64;Xor;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | | System.Data.SqlTypes;SqlInt64;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlInt64;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_Addition;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_BitwiseAnd;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_BitwiseOr;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_Division;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_Equality;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_ExclusiveOr;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_GreaterThan;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_Inequality;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_LessThan;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_LessThanOrEqual;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_Modulus;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_Multiply;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_OnesComplement;(System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_Subtraction;(System.Data.SqlTypes.SqlInt64,System.Data.SqlTypes.SqlInt64);summary;df-generated | +| System.Data.SqlTypes;SqlInt64;op_UnaryNegation;(System.Data.SqlTypes.SqlInt64);summary;df-generated | | System.Data.SqlTypes;SqlMoney;Add;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | | System.Data.SqlTypes;SqlMoney;CompareTo;(System.Data.SqlTypes.SqlMoney);summary;df-generated | | System.Data.SqlTypes;SqlMoney;CompareTo;(System.Object);summary;df-generated | @@ -20089,6 +22635,17 @@ neutral | System.Data.SqlTypes;SqlMoney;WriteXml;(System.Xml.XmlWriter);summary;df-generated | | System.Data.SqlTypes;SqlMoney;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlMoney;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_Addition;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_Division;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_Equality;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_GreaterThan;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_Inequality;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_LessThan;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_LessThanOrEqual;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_Multiply;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_Subtraction;(System.Data.SqlTypes.SqlMoney,System.Data.SqlTypes.SqlMoney);summary;df-generated | +| System.Data.SqlTypes;SqlMoney;op_UnaryNegation;(System.Data.SqlTypes.SqlMoney);summary;df-generated | | System.Data.SqlTypes;SqlNotFilledException;SqlNotFilledException;();summary;df-generated | | System.Data.SqlTypes;SqlNotFilledException;SqlNotFilledException;(System.String);summary;df-generated | | System.Data.SqlTypes;SqlNotFilledException;SqlNotFilledException;(System.String,System.Exception);summary;df-generated | @@ -20128,6 +22685,17 @@ neutral | System.Data.SqlTypes;SqlSingle;WriteXml;(System.Xml.XmlWriter);summary;df-generated | | System.Data.SqlTypes;SqlSingle;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlSingle;get_Value;();summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_Addition;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_Division;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_Equality;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_GreaterThan;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_Inequality;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_LessThan;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_LessThanOrEqual;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_Multiply;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_Subtraction;(System.Data.SqlTypes.SqlSingle,System.Data.SqlTypes.SqlSingle);summary;df-generated | +| System.Data.SqlTypes;SqlSingle;op_UnaryNegation;(System.Data.SqlTypes.SqlSingle);summary;df-generated | | System.Data.SqlTypes;SqlString;CompareOptionsFromSqlCompareOptions;(System.Data.SqlTypes.SqlCompareOptions);summary;df-generated | | System.Data.SqlTypes;SqlString;CompareTo;(System.Data.SqlTypes.SqlString);summary;df-generated | | System.Data.SqlTypes;SqlString;CompareTo;(System.Object);summary;df-generated | @@ -20161,6 +22729,12 @@ neutral | System.Data.SqlTypes;SqlString;get_IsNull;();summary;df-generated | | System.Data.SqlTypes;SqlString;get_LCID;();summary;df-generated | | System.Data.SqlTypes;SqlString;get_SqlCompareOptions;();summary;df-generated | +| System.Data.SqlTypes;SqlString;op_Equality;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);summary;df-generated | +| System.Data.SqlTypes;SqlString;op_GreaterThan;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);summary;df-generated | +| System.Data.SqlTypes;SqlString;op_GreaterThanOrEqual;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);summary;df-generated | +| System.Data.SqlTypes;SqlString;op_Inequality;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);summary;df-generated | +| System.Data.SqlTypes;SqlString;op_LessThan;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);summary;df-generated | +| System.Data.SqlTypes;SqlString;op_LessThanOrEqual;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);summary;df-generated | | System.Data.SqlTypes;SqlTruncateException;SqlTruncateException;();summary;df-generated | | System.Data.SqlTypes;SqlTruncateException;SqlTruncateException;(System.String);summary;df-generated | | System.Data.SqlTypes;SqlTruncateException;SqlTruncateException;(System.String,System.Exception);summary;df-generated | @@ -21308,6 +23882,8 @@ neutral | System.Diagnostics.SymbolStore;SymbolToken;GetHashCode;();summary;df-generated | | System.Diagnostics.SymbolStore;SymbolToken;GetToken;();summary;df-generated | | System.Diagnostics.SymbolStore;SymbolToken;SymbolToken;(System.Int32);summary;df-generated | +| System.Diagnostics.SymbolStore;SymbolToken;op_Equality;(System.Diagnostics.SymbolStore.SymbolToken,System.Diagnostics.SymbolStore.SymbolToken);summary;df-generated | +| System.Diagnostics.SymbolStore;SymbolToken;op_Inequality;(System.Diagnostics.SymbolStore.SymbolToken,System.Diagnostics.SymbolStore.SymbolToken);summary;df-generated | | System.Diagnostics.Tracing;DiagnosticCounter;AddMetadata;(System.String,System.String);summary;df-generated | | System.Diagnostics.Tracing;DiagnosticCounter;Dispose;();summary;df-generated | | System.Diagnostics.Tracing;DiagnosticCounter;get_EventSource;();summary;df-generated | @@ -21485,6 +24061,8 @@ neutral | System.Diagnostics;ActivityContext;get_TraceFlags;();summary;df-generated | | System.Diagnostics;ActivityContext;get_TraceId;();summary;df-generated | | System.Diagnostics;ActivityContext;get_TraceState;();summary;df-generated | +| System.Diagnostics;ActivityContext;op_Equality;(System.Diagnostics.ActivityContext,System.Diagnostics.ActivityContext);summary;df-generated | +| System.Diagnostics;ActivityContext;op_Inequality;(System.Diagnostics.ActivityContext,System.Diagnostics.ActivityContext);summary;df-generated | | System.Diagnostics;ActivityCreationOptions<>;get_Kind;();summary;df-generated | | System.Diagnostics;ActivityCreationOptions<>;get_Links;();summary;df-generated | | System.Diagnostics;ActivityCreationOptions<>;get_Name;();summary;df-generated | @@ -21503,6 +24081,8 @@ neutral | System.Diagnostics;ActivityLink;GetHashCode;();summary;df-generated | | System.Diagnostics;ActivityLink;get_Context;();summary;df-generated | | System.Diagnostics;ActivityLink;get_Tags;();summary;df-generated | +| System.Diagnostics;ActivityLink;op_Equality;(System.Diagnostics.ActivityLink,System.Diagnostics.ActivityLink);summary;df-generated | +| System.Diagnostics;ActivityLink;op_Inequality;(System.Diagnostics.ActivityLink,System.Diagnostics.ActivityLink);summary;df-generated | | System.Diagnostics;ActivityListener;ActivityListener;();summary;df-generated | | System.Diagnostics;ActivityListener;Dispose;();summary;df-generated | | System.Diagnostics;ActivityListener;get_ActivityStarted;();summary;df-generated | @@ -21529,6 +24109,8 @@ neutral | System.Diagnostics;ActivitySpanId;Equals;(System.Diagnostics.ActivitySpanId);summary;df-generated | | System.Diagnostics;ActivitySpanId;Equals;(System.Object);summary;df-generated | | System.Diagnostics;ActivitySpanId;GetHashCode;();summary;df-generated | +| System.Diagnostics;ActivitySpanId;op_Equality;(System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivitySpanId);summary;df-generated | +| System.Diagnostics;ActivitySpanId;op_Inequality;(System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivitySpanId);summary;df-generated | | System.Diagnostics;ActivityTagsCollection+Enumerator;Dispose;();summary;df-generated | | System.Diagnostics;ActivityTagsCollection+Enumerator;MoveNext;();summary;df-generated | | System.Diagnostics;ActivityTagsCollection+Enumerator;Reset;();summary;df-generated | @@ -21547,6 +24129,8 @@ neutral | System.Diagnostics;ActivityTraceId;Equals;(System.Diagnostics.ActivityTraceId);summary;df-generated | | System.Diagnostics;ActivityTraceId;Equals;(System.Object);summary;df-generated | | System.Diagnostics;ActivityTraceId;GetHashCode;();summary;df-generated | +| System.Diagnostics;ActivityTraceId;op_Equality;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivityTraceId);summary;df-generated | +| System.Diagnostics;ActivityTraceId;op_Inequality;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivityTraceId);summary;df-generated | | System.Diagnostics;BooleanSwitch;BooleanSwitch;(System.String,System.String);summary;df-generated | | System.Diagnostics;BooleanSwitch;BooleanSwitch;(System.String,System.String,System.String);summary;df-generated | | System.Diagnostics;BooleanSwitch;OnValueChanged;();summary;df-generated | @@ -22175,6 +24759,850 @@ neutral | System.Diagnostics;XmlWriterTraceListener;XmlWriterTraceListener;(System.IO.TextWriter,System.String);summary;df-generated | | System.Diagnostics;XmlWriterTraceListener;XmlWriterTraceListener;(System.String);summary;df-generated | | System.Diagnostics;XmlWriterTraceListener;XmlWriterTraceListener;(System.String,System.String);summary;df-generated | +| System.Drawing.Design;CategoryNameCollection;Contains;(System.String);summary;df-generated | +| System.Drawing.Design;CategoryNameCollection;IndexOf;(System.String);summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;AdjustableArrowCap;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;AdjustableArrowCap;(System.Single,System.Single,System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;get_Filled;();summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;get_Height;();summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;get_MiddleInset;();summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;get_Width;();summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;set_Filled;(System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;set_Height;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;set_MiddleInset;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;AdjustableArrowCap;set_Width;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;Blend;Blend;();summary;df-generated | +| System.Drawing.Drawing2D;Blend;Blend;(System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;Blend;get_Factors;();summary;df-generated | +| System.Drawing.Drawing2D;Blend;get_Positions;();summary;df-generated | +| System.Drawing.Drawing2D;Blend;set_Factors;(System.Single[]);summary;df-generated | +| System.Drawing.Drawing2D;Blend;set_Positions;(System.Single[]);summary;df-generated | +| System.Drawing.Drawing2D;ColorBlend;ColorBlend;();summary;df-generated | +| System.Drawing.Drawing2D;ColorBlend;ColorBlend;(System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;ColorBlend;get_Colors;();summary;df-generated | +| System.Drawing.Drawing2D;ColorBlend;get_Positions;();summary;df-generated | +| System.Drawing.Drawing2D;ColorBlend;set_Colors;(System.Drawing.Color[]);summary;df-generated | +| System.Drawing.Drawing2D;ColorBlend;set_Positions;(System.Single[]);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;Clone;();summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;CustomLineCap;(System.Drawing.Drawing2D.GraphicsPath,System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;CustomLineCap;(System.Drawing.Drawing2D.GraphicsPath,System.Drawing.Drawing2D.GraphicsPath,System.Drawing.Drawing2D.LineCap);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;CustomLineCap;(System.Drawing.Drawing2D.GraphicsPath,System.Drawing.Drawing2D.GraphicsPath,System.Drawing.Drawing2D.LineCap,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;Dispose;();summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;Dispose;(System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;GetStrokeCaps;(System.Drawing.Drawing2D.LineCap,System.Drawing.Drawing2D.LineCap);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;SetStrokeCaps;(System.Drawing.Drawing2D.LineCap,System.Drawing.Drawing2D.LineCap);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;get_BaseCap;();summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;get_BaseInset;();summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;get_StrokeJoin;();summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;get_WidthScale;();summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;set_BaseCap;(System.Drawing.Drawing2D.LineCap);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;set_BaseInset;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;set_StrokeJoin;(System.Drawing.Drawing2D.LineJoin);summary;df-generated | +| System.Drawing.Drawing2D;CustomLineCap;set_WidthScale;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddArc;(System.Drawing.Rectangle,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddArc;(System.Drawing.RectangleF,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddArc;(System.Int32,System.Int32,System.Int32,System.Int32,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddArc;(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddBezier;(System.Drawing.Point,System.Drawing.Point,System.Drawing.Point,System.Drawing.Point);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddBezier;(System.Drawing.PointF,System.Drawing.PointF,System.Drawing.PointF,System.Drawing.PointF);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddBezier;(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddBezier;(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddBeziers;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddBeziers;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddClosedCurve;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddClosedCurve;(System.Drawing.PointF[],System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddClosedCurve;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddClosedCurve;(System.Drawing.Point[],System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddCurve;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddCurve;(System.Drawing.PointF[],System.Int32,System.Int32,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddCurve;(System.Drawing.PointF[],System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddCurve;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddCurve;(System.Drawing.Point[],System.Int32,System.Int32,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddCurve;(System.Drawing.Point[],System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddEllipse;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddEllipse;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddEllipse;(System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddEllipse;(System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddLine;(System.Drawing.Point,System.Drawing.Point);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddLine;(System.Drawing.PointF,System.Drawing.PointF);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddLine;(System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddLine;(System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddLines;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddLines;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddPath;(System.Drawing.Drawing2D.GraphicsPath,System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddPie;(System.Drawing.Rectangle,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddPie;(System.Int32,System.Int32,System.Int32,System.Int32,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddPie;(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddPolygon;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddPolygon;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddRectangle;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddRectangle;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddRectangles;(System.Drawing.RectangleF[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddRectangles;(System.Drawing.Rectangle[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddString;(System.String,System.Drawing.FontFamily,System.Int32,System.Single,System.Drawing.Point,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddString;(System.String,System.Drawing.FontFamily,System.Int32,System.Single,System.Drawing.PointF,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddString;(System.String,System.Drawing.FontFamily,System.Int32,System.Single,System.Drawing.Rectangle,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;AddString;(System.String,System.Drawing.FontFamily,System.Int32,System.Single,System.Drawing.RectangleF,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;ClearMarkers;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Clone;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;CloseAllFigures;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;CloseFigure;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Dispose;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Flatten;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Flatten;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Flatten;(System.Drawing.Drawing2D.Matrix,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GetBounds;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GetBounds;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GetBounds;(System.Drawing.Drawing2D.Matrix,System.Drawing.Pen);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GetLastPoint;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GraphicsPath;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GraphicsPath;(System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GraphicsPath;(System.Drawing.PointF[],System.Byte[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GraphicsPath;(System.Drawing.PointF[],System.Byte[],System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GraphicsPath;(System.Drawing.Point[],System.Byte[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;GraphicsPath;(System.Drawing.Point[],System.Byte[],System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsOutlineVisible;(System.Drawing.Point,System.Drawing.Pen);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsOutlineVisible;(System.Drawing.Point,System.Drawing.Pen,System.Drawing.Graphics);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsOutlineVisible;(System.Drawing.PointF,System.Drawing.Pen);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsOutlineVisible;(System.Drawing.PointF,System.Drawing.Pen,System.Drawing.Graphics);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsOutlineVisible;(System.Int32,System.Int32,System.Drawing.Pen);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsOutlineVisible;(System.Int32,System.Int32,System.Drawing.Pen,System.Drawing.Graphics);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsOutlineVisible;(System.Single,System.Single,System.Drawing.Pen);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsOutlineVisible;(System.Single,System.Single,System.Drawing.Pen,System.Drawing.Graphics);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsVisible;(System.Drawing.Point);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsVisible;(System.Drawing.Point,System.Drawing.Graphics);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsVisible;(System.Drawing.PointF);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsVisible;(System.Drawing.PointF,System.Drawing.Graphics);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsVisible;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsVisible;(System.Int32,System.Int32,System.Drawing.Graphics);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsVisible;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;IsVisible;(System.Single,System.Single,System.Drawing.Graphics);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Reset;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Reverse;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;SetMarkers;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;StartFigure;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Transform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Warp;(System.Drawing.PointF[],System.Drawing.RectangleF);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Warp;(System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Warp;(System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.WarpMode);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Warp;(System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.WarpMode,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Widen;(System.Drawing.Pen);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Widen;(System.Drawing.Pen,System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;Widen;(System.Drawing.Pen,System.Drawing.Drawing2D.Matrix,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;get_FillMode;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;get_PathData;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;get_PathPoints;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;get_PathTypes;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;get_PointCount;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPath;set_FillMode;(System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;CopyData;(System.Drawing.PointF[],System.Byte[],System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;Dispose;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;Enumerate;(System.Drawing.PointF[],System.Byte[]);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;GraphicsPathIterator;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;HasCurve;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;NextMarker;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;NextMarker;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;NextPathType;(System.Byte,System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;NextSubpath;(System.Drawing.Drawing2D.GraphicsPath,System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;NextSubpath;(System.Int32,System.Int32,System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;Rewind;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;get_Count;();summary;df-generated | +| System.Drawing.Drawing2D;GraphicsPathIterator;get_SubpathCount;();summary;df-generated | +| System.Drawing.Drawing2D;HatchBrush;Clone;();summary;df-generated | +| System.Drawing.Drawing2D;HatchBrush;HatchBrush;(System.Drawing.Drawing2D.HatchStyle,System.Drawing.Color);summary;df-generated | +| System.Drawing.Drawing2D;HatchBrush;HatchBrush;(System.Drawing.Drawing2D.HatchStyle,System.Drawing.Color,System.Drawing.Color);summary;df-generated | +| System.Drawing.Drawing2D;HatchBrush;get_BackgroundColor;();summary;df-generated | +| System.Drawing.Drawing2D;HatchBrush;get_ForegroundColor;();summary;df-generated | +| System.Drawing.Drawing2D;HatchBrush;get_HatchStyle;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;Clone;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;LinearGradientBrush;(System.Drawing.Point,System.Drawing.Point,System.Drawing.Color,System.Drawing.Color);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;LinearGradientBrush;(System.Drawing.PointF,System.Drawing.PointF,System.Drawing.Color,System.Drawing.Color);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;LinearGradientBrush;(System.Drawing.Rectangle,System.Drawing.Color,System.Drawing.Color,System.Drawing.Drawing2D.LinearGradientMode);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;LinearGradientBrush;(System.Drawing.Rectangle,System.Drawing.Color,System.Drawing.Color,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;LinearGradientBrush;(System.Drawing.Rectangle,System.Drawing.Color,System.Drawing.Color,System.Single,System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;LinearGradientBrush;(System.Drawing.RectangleF,System.Drawing.Color,System.Drawing.Color,System.Drawing.Drawing2D.LinearGradientMode);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;LinearGradientBrush;(System.Drawing.RectangleF,System.Drawing.Color,System.Drawing.Color,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;LinearGradientBrush;(System.Drawing.RectangleF,System.Drawing.Color,System.Drawing.Color,System.Single,System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;MultiplyTransform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;MultiplyTransform;(System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;ResetTransform;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;RotateTransform;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;RotateTransform;(System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;ScaleTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;ScaleTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;SetBlendTriangularShape;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;SetBlendTriangularShape;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;SetSigmaBellShape;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;SetSigmaBellShape;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;TranslateTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;TranslateTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;get_Blend;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;get_GammaCorrection;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;get_InterpolationColors;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;get_LinearColors;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;get_Rectangle;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;get_Transform;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;get_WrapMode;();summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;set_Blend;(System.Drawing.Drawing2D.Blend);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;set_GammaCorrection;(System.Boolean);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;set_InterpolationColors;(System.Drawing.Drawing2D.ColorBlend);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;set_LinearColors;(System.Drawing.Color[]);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;set_Transform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;LinearGradientBrush;set_WrapMode;(System.Drawing.Drawing2D.WrapMode);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Clone;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Dispose;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Equals;(System.Object);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;GetHashCode;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Invert;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Matrix;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Matrix;(System.Drawing.Rectangle,System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Matrix;(System.Drawing.RectangleF,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Matrix;(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Multiply;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Multiply;(System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Reset;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Rotate;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Rotate;(System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;RotateAt;(System.Single,System.Drawing.PointF);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;RotateAt;(System.Single,System.Drawing.PointF,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Scale;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Scale;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Shear;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Shear;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;TransformPoints;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;TransformPoints;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;TransformVectors;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;TransformVectors;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Translate;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;Translate;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;VectorTransformPoints;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;Matrix;get_Elements;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;get_IsIdentity;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;get_IsInvertible;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;get_OffsetX;();summary;df-generated | +| System.Drawing.Drawing2D;Matrix;get_OffsetY;();summary;df-generated | +| System.Drawing.Drawing2D;PathData;PathData;();summary;df-generated | +| System.Drawing.Drawing2D;PathData;get_Points;();summary;df-generated | +| System.Drawing.Drawing2D;PathData;get_Types;();summary;df-generated | +| System.Drawing.Drawing2D;PathData;set_Points;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;PathData;set_Types;(System.Byte[]);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;Clone;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;MultiplyTransform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;MultiplyTransform;(System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;PathGradientBrush;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;PathGradientBrush;(System.Drawing.PointF[]);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;PathGradientBrush;(System.Drawing.PointF[],System.Drawing.Drawing2D.WrapMode);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;PathGradientBrush;(System.Drawing.Point[]);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;PathGradientBrush;(System.Drawing.Point[],System.Drawing.Drawing2D.WrapMode);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;ResetTransform;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;RotateTransform;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;RotateTransform;(System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;ScaleTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;ScaleTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;SetBlendTriangularShape;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;SetBlendTriangularShape;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;SetSigmaBellShape;(System.Single);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;SetSigmaBellShape;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;TranslateTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;TranslateTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_Blend;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_CenterColor;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_CenterPoint;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_FocusScales;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_InterpolationColors;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_Rectangle;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_SurroundColors;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_Transform;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;get_WrapMode;();summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;set_Blend;(System.Drawing.Drawing2D.Blend);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;set_CenterColor;(System.Drawing.Color);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;set_CenterPoint;(System.Drawing.PointF);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;set_FocusScales;(System.Drawing.PointF);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;set_InterpolationColors;(System.Drawing.Drawing2D.ColorBlend);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;set_SurroundColors;(System.Drawing.Color[]);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;set_Transform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing.Drawing2D;PathGradientBrush;set_WrapMode;(System.Drawing.Drawing2D.WrapMode);summary;df-generated | +| System.Drawing.Drawing2D;RegionData;get_Data;();summary;df-generated | +| System.Drawing.Drawing2D;RegionData;set_Data;(System.Byte[]);summary;df-generated | +| System.Drawing.Imaging;BitmapData;get_Height;();summary;df-generated | +| System.Drawing.Imaging;BitmapData;get_PixelFormat;();summary;df-generated | +| System.Drawing.Imaging;BitmapData;get_Reserved;();summary;df-generated | +| System.Drawing.Imaging;BitmapData;get_Stride;();summary;df-generated | +| System.Drawing.Imaging;BitmapData;get_Width;();summary;df-generated | +| System.Drawing.Imaging;BitmapData;set_Height;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;BitmapData;set_PixelFormat;(System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing.Imaging;BitmapData;set_Reserved;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;BitmapData;set_Stride;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;BitmapData;set_Width;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;ColorMap;ColorMap;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;ColorMatrix;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;ColorMatrix;(System.Single[][]);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Item;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix00;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix01;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix02;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix03;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix04;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix10;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix11;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix12;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix13;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix14;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix20;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix21;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix22;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix23;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix24;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix30;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix31;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix32;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix33;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix34;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix40;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix41;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix42;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix43;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;get_Matrix44;();summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Item;(System.Int32,System.Int32,System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix00;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix01;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix02;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix03;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix04;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix10;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix11;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix12;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix13;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix14;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix20;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix21;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix22;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix23;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix24;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix30;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix31;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix32;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix33;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix34;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix40;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix41;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix42;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix43;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorMatrix;set_Matrix44;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ColorPalette;get_Flags;();summary;df-generated | +| System.Drawing.Imaging;EncoderParameter;Dispose;();summary;df-generated | +| System.Drawing.Imaging;EncoderParameter;get_NumberOfValues;();summary;df-generated | +| System.Drawing.Imaging;EncoderParameter;get_Type;();summary;df-generated | +| System.Drawing.Imaging;EncoderParameter;get_ValueType;();summary;df-generated | +| System.Drawing.Imaging;EncoderParameters;Dispose;();summary;df-generated | +| System.Drawing.Imaging;EncoderParameters;EncoderParameters;();summary;df-generated | +| System.Drawing.Imaging;EncoderParameters;EncoderParameters;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;FrameDimension;Equals;(System.Object);summary;df-generated | +| System.Drawing.Imaging;FrameDimension;GetHashCode;();summary;df-generated | +| System.Drawing.Imaging;FrameDimension;get_Page;();summary;df-generated | +| System.Drawing.Imaging;FrameDimension;get_Resolution;();summary;df-generated | +| System.Drawing.Imaging;FrameDimension;get_Time;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearBrushRemapTable;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearColorKey;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearColorKey;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearColorMatrix;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearColorMatrix;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearGamma;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearGamma;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearNoOp;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearNoOp;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearOutputChannel;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearOutputChannel;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearOutputChannelColorProfile;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearOutputChannelColorProfile;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearRemapTable;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearRemapTable;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearThreshold;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ClearThreshold;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;Clone;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;Dispose;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;GetAdjustedPalette;(System.Drawing.Imaging.ColorPalette,System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;ImageAttributes;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetBrushRemapTable;(System.Drawing.Imaging.ColorMap[]);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetColorKey;(System.Drawing.Color,System.Drawing.Color);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetColorKey;(System.Drawing.Color,System.Drawing.Color,System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetColorMatrices;(System.Drawing.Imaging.ColorMatrix,System.Drawing.Imaging.ColorMatrix);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetColorMatrices;(System.Drawing.Imaging.ColorMatrix,System.Drawing.Imaging.ColorMatrix,System.Drawing.Imaging.ColorMatrixFlag);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetColorMatrices;(System.Drawing.Imaging.ColorMatrix,System.Drawing.Imaging.ColorMatrix,System.Drawing.Imaging.ColorMatrixFlag,System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetColorMatrix;(System.Drawing.Imaging.ColorMatrix);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetColorMatrix;(System.Drawing.Imaging.ColorMatrix,System.Drawing.Imaging.ColorMatrixFlag);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetColorMatrix;(System.Drawing.Imaging.ColorMatrix,System.Drawing.Imaging.ColorMatrixFlag,System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetGamma;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetGamma;(System.Single,System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetNoOp;();summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetNoOp;(System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetOutputChannel;(System.Drawing.Imaging.ColorChannelFlag);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetOutputChannel;(System.Drawing.Imaging.ColorChannelFlag,System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetOutputChannelColorProfile;(System.String);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetOutputChannelColorProfile;(System.String,System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetRemapTable;(System.Drawing.Imaging.ColorMap[]);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetRemapTable;(System.Drawing.Imaging.ColorMap[],System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetThreshold;(System.Single);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetThreshold;(System.Single,System.Drawing.Imaging.ColorAdjustType);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetWrapMode;(System.Drawing.Drawing2D.WrapMode);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetWrapMode;(System.Drawing.Drawing2D.WrapMode,System.Drawing.Color);summary;df-generated | +| System.Drawing.Imaging;ImageAttributes;SetWrapMode;(System.Drawing.Drawing2D.WrapMode,System.Drawing.Color,System.Boolean);summary;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;GetImageDecoders;();summary;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;GetImageEncoders;();summary;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;get_Flags;();summary;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;get_Version;();summary;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;set_Flags;(System.Drawing.Imaging.ImageCodecFlags);summary;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;set_Version;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;ImageFormat;Equals;(System.Object);summary;df-generated | +| System.Drawing.Imaging;ImageFormat;GetHashCode;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Bmp;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Emf;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Exif;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Gif;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Icon;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Jpeg;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_MemoryBmp;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Png;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Tiff;();summary;df-generated | +| System.Drawing.Imaging;ImageFormat;get_Wmf;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;MetaHeader;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;get_HeaderSize;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;get_MaxRecord;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;get_NoObjects;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;get_NoParameters;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;get_Size;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;get_Type;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;get_Version;();summary;df-generated | +| System.Drawing.Imaging;MetaHeader;set_HeaderSize;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;MetaHeader;set_MaxRecord;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;MetaHeader;set_NoObjects;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;MetaHeader;set_NoParameters;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;MetaHeader;set_Size;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;MetaHeader;set_Type;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;MetaHeader;set_Version;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;Metafile;GetMetafileHeader;();summary;df-generated | +| System.Drawing.Imaging;Metafile;GetMetafileHeader;(System.IO.Stream);summary;df-generated | +| System.Drawing.Imaging;Metafile;GetMetafileHeader;(System.IntPtr);summary;df-generated | +| System.Drawing.Imaging;Metafile;GetMetafileHeader;(System.IntPtr,System.Drawing.Imaging.WmfPlaceableFileHeader);summary;df-generated | +| System.Drawing.Imaging;Metafile;GetMetafileHeader;(System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IO.Stream,System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Boolean);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.Imaging.WmfPlaceableFileHeader);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.Imaging.WmfPlaceableFileHeader,System.Boolean);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.Rectangle,System.Drawing.Imaging.MetafileFrameUnit,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit,System.Drawing.Imaging.EmfType,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;Metafile;(System.String,System.IntPtr,System.Drawing.RectangleF,System.Drawing.Imaging.MetafileFrameUnit,System.String);summary;df-generated | +| System.Drawing.Imaging;Metafile;PlayRecord;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.Byte[]);summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;IsDisplay;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;IsEmf;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;IsEmfOrEmfPlus;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;IsEmfPlus;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;IsEmfPlusDual;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;IsEmfPlusOnly;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;IsWmf;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;IsWmfPlaceable;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_Bounds;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_DpiX;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_DpiY;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_EmfPlusHeaderSize;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_LogicalDpiX;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_LogicalDpiY;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_MetafileSize;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_Type;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_Version;();summary;df-generated | +| System.Drawing.Imaging;MetafileHeader;get_WmfHeader;();summary;df-generated | +| System.Drawing.Imaging;PropertyItem;get_Id;();summary;df-generated | +| System.Drawing.Imaging;PropertyItem;get_Len;();summary;df-generated | +| System.Drawing.Imaging;PropertyItem;get_Type;();summary;df-generated | +| System.Drawing.Imaging;PropertyItem;get_Value;();summary;df-generated | +| System.Drawing.Imaging;PropertyItem;set_Id;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;PropertyItem;set_Len;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;PropertyItem;set_Type;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;PropertyItem;set_Value;(System.Byte[]);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_BboxBottom;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_BboxLeft;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_BboxRight;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_BboxTop;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_Checksum;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_Hmf;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_Inch;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_Key;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;get_Reserved;();summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_BboxBottom;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_BboxLeft;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_BboxRight;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_BboxTop;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_Checksum;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_Hmf;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_Inch;(System.Int16);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_Key;(System.Int32);summary;df-generated | +| System.Drawing.Imaging;WmfPlaceableFileHeader;set_Reserved;(System.Int32);summary;df-generated | +| System.Drawing.Printing;InvalidPrinterException;InvalidPrinterException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | +| System.Drawing.Printing;Margins;Clone;();summary;df-generated | +| System.Drawing.Printing;Margins;Equals;(System.Object);summary;df-generated | +| System.Drawing.Printing;Margins;GetHashCode;();summary;df-generated | +| System.Drawing.Printing;Margins;Margins;();summary;df-generated | +| System.Drawing.Printing;Margins;Margins;(System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing.Printing;Margins;ToString;();summary;df-generated | +| System.Drawing.Printing;Margins;get_Bottom;();summary;df-generated | +| System.Drawing.Printing;Margins;get_Left;();summary;df-generated | +| System.Drawing.Printing;Margins;get_Right;();summary;df-generated | +| System.Drawing.Printing;Margins;get_Top;();summary;df-generated | +| System.Drawing.Printing;Margins;op_Equality;(System.Drawing.Printing.Margins,System.Drawing.Printing.Margins);summary;df-generated | +| System.Drawing.Printing;Margins;op_Inequality;(System.Drawing.Printing.Margins,System.Drawing.Printing.Margins);summary;df-generated | +| System.Drawing.Printing;Margins;set_Bottom;(System.Int32);summary;df-generated | +| System.Drawing.Printing;Margins;set_Left;(System.Int32);summary;df-generated | +| System.Drawing.Printing;Margins;set_Right;(System.Int32);summary;df-generated | +| System.Drawing.Printing;Margins;set_Top;(System.Int32);summary;df-generated | +| System.Drawing.Printing;MarginsConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing.Printing;MarginsConverter;CanConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing.Printing;MarginsConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);summary;df-generated | +| System.Drawing.Printing;MarginsConverter;CreateInstance;(System.ComponentModel.ITypeDescriptorContext,System.Collections.IDictionary);summary;df-generated | +| System.Drawing.Printing;MarginsConverter;GetCreateInstanceSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing.Printing;PageSettings;CopyToHdevmode;(System.IntPtr);summary;df-generated | +| System.Drawing.Printing;PageSettings;PageSettings;();summary;df-generated | +| System.Drawing.Printing;PageSettings;SetHdevmode;(System.IntPtr);summary;df-generated | +| System.Drawing.Printing;PageSettings;get_Bounds;();summary;df-generated | +| System.Drawing.Printing;PageSettings;get_Color;();summary;df-generated | +| System.Drawing.Printing;PageSettings;get_HardMarginX;();summary;df-generated | +| System.Drawing.Printing;PageSettings;get_HardMarginY;();summary;df-generated | +| System.Drawing.Printing;PageSettings;get_Landscape;();summary;df-generated | +| System.Drawing.Printing;PageSettings;set_Color;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PageSettings;set_Landscape;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PaperSize;PaperSize;();summary;df-generated | +| System.Drawing.Printing;PaperSize;get_Height;();summary;df-generated | +| System.Drawing.Printing;PaperSize;get_Kind;();summary;df-generated | +| System.Drawing.Printing;PaperSize;get_RawKind;();summary;df-generated | +| System.Drawing.Printing;PaperSize;get_Width;();summary;df-generated | +| System.Drawing.Printing;PaperSize;set_Height;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PaperSize;set_RawKind;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PaperSize;set_Width;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PaperSource;PaperSource;();summary;df-generated | +| System.Drawing.Printing;PaperSource;get_Kind;();summary;df-generated | +| System.Drawing.Printing;PaperSource;get_RawKind;();summary;df-generated | +| System.Drawing.Printing;PaperSource;set_RawKind;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PreviewPrintController;OnEndPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);summary;df-generated | +| System.Drawing.Printing;PreviewPrintController;OnEndPrint;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintEventArgs);summary;df-generated | +| System.Drawing.Printing;PreviewPrintController;OnStartPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);summary;df-generated | +| System.Drawing.Printing;PreviewPrintController;OnStartPrint;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintEventArgs);summary;df-generated | +| System.Drawing.Printing;PreviewPrintController;get_IsPreview;();summary;df-generated | +| System.Drawing.Printing;PreviewPrintController;get_UseAntiAlias;();summary;df-generated | +| System.Drawing.Printing;PreviewPrintController;set_UseAntiAlias;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PrintController;OnEndPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);summary;df-generated | +| System.Drawing.Printing;PrintController;OnEndPrint;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintEventArgs);summary;df-generated | +| System.Drawing.Printing;PrintController;OnStartPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);summary;df-generated | +| System.Drawing.Printing;PrintController;OnStartPrint;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintEventArgs);summary;df-generated | +| System.Drawing.Printing;PrintController;PrintController;();summary;df-generated | +| System.Drawing.Printing;PrintController;get_IsPreview;();summary;df-generated | +| System.Drawing.Printing;PrintDocument;OnBeginPrint;(System.Drawing.Printing.PrintEventArgs);summary;df-generated | +| System.Drawing.Printing;PrintDocument;OnEndPrint;(System.Drawing.Printing.PrintEventArgs);summary;df-generated | +| System.Drawing.Printing;PrintDocument;OnPrintPage;(System.Drawing.Printing.PrintPageEventArgs);summary;df-generated | +| System.Drawing.Printing;PrintDocument;OnQueryPageSettings;(System.Drawing.Printing.QueryPageSettingsEventArgs);summary;df-generated | +| System.Drawing.Printing;PrintDocument;Print;();summary;df-generated | +| System.Drawing.Printing;PrintDocument;PrintDocument;();summary;df-generated | +| System.Drawing.Printing;PrintDocument;get_OriginAtMargins;();summary;df-generated | +| System.Drawing.Printing;PrintDocument;set_OriginAtMargins;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PrintEventArgs;PrintEventArgs;();summary;df-generated | +| System.Drawing.Printing;PrintEventArgs;get_PrintAction;();summary;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;get_Cancel;();summary;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;get_HasMorePages;();summary;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;set_Cancel;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;set_HasMorePages;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PrinterResolution;PrinterResolution;();summary;df-generated | +| System.Drawing.Printing;PrinterResolution;ToString;();summary;df-generated | +| System.Drawing.Printing;PrinterResolution;get_Kind;();summary;df-generated | +| System.Drawing.Printing;PrinterResolution;get_X;();summary;df-generated | +| System.Drawing.Printing;PrinterResolution;get_Y;();summary;df-generated | +| System.Drawing.Printing;PrinterResolution;set_Kind;(System.Drawing.Printing.PrinterResolutionKind);summary;df-generated | +| System.Drawing.Printing;PrinterResolution;set_X;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterResolution;set_Y;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;CopyTo;(System.Drawing.Printing.PaperSize[],System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;get_Count;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;get_IsSynchronized;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;CopyTo;(System.Drawing.Printing.PaperSource[],System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;get_Count;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;get_IsSynchronized;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;CopyTo;(System.Drawing.Printing.PrinterResolution[],System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;get_Count;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;get_IsSynchronized;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;CopyTo;(System.String[],System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;get_Count;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;get_IsSynchronized;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;Clone;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;CreateMeasurementGraphics;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;CreateMeasurementGraphics;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;CreateMeasurementGraphics;(System.Drawing.Printing.PageSettings);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;CreateMeasurementGraphics;(System.Drawing.Printing.PageSettings,System.Boolean);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;GetHdevmode;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;GetHdevmode;(System.Drawing.Printing.PageSettings);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;GetHdevnames;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;IsDirectPrintingSupported;(System.Drawing.Image);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;IsDirectPrintingSupported;(System.Drawing.Imaging.ImageFormat);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;PrinterSettings;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;SetHdevmode;(System.IntPtr);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;SetHdevnames;(System.IntPtr);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_CanDuplex;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_Collate;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_Copies;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_Duplex;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_FromPage;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_InstalledPrinters;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_IsDefaultPrinter;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_IsPlotter;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_IsValid;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_LandscapeAngle;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_MaximumCopies;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_MaximumPage;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_MinimumPage;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_PrintRange;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_PrintToFile;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_SupportsColor;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;get_ToPage;();summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_Collate;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_Copies;(System.Int16);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_Duplex;(System.Drawing.Printing.Duplex);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_FromPage;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_MaximumPage;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_MinimumPage;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_PrintRange;(System.Drawing.Printing.PrintRange);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_PrintToFile;(System.Boolean);summary;df-generated | +| System.Drawing.Printing;PrinterSettings;set_ToPage;(System.Int32);summary;df-generated | +| System.Drawing.Printing;PrinterUnitConvert;Convert;(System.Double,System.Drawing.Printing.PrinterUnit,System.Drawing.Printing.PrinterUnit);summary;df-generated | +| System.Drawing.Printing;PrinterUnitConvert;Convert;(System.Drawing.Point,System.Drawing.Printing.PrinterUnit,System.Drawing.Printing.PrinterUnit);summary;df-generated | +| System.Drawing.Printing;PrinterUnitConvert;Convert;(System.Drawing.Printing.Margins,System.Drawing.Printing.PrinterUnit,System.Drawing.Printing.PrinterUnit);summary;df-generated | +| System.Drawing.Printing;PrinterUnitConvert;Convert;(System.Drawing.Rectangle,System.Drawing.Printing.PrinterUnit,System.Drawing.Printing.PrinterUnit);summary;df-generated | +| System.Drawing.Printing;PrinterUnitConvert;Convert;(System.Drawing.Size,System.Drawing.Printing.PrinterUnit,System.Drawing.Printing.PrinterUnit);summary;df-generated | +| System.Drawing.Printing;PrinterUnitConvert;Convert;(System.Int32,System.Drawing.Printing.PrinterUnit,System.Drawing.Printing.PrinterUnit);summary;df-generated | +| System.Drawing.Printing;StandardPrintController;OnEndPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);summary;df-generated | +| System.Drawing.Printing;StandardPrintController;OnEndPrint;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintEventArgs);summary;df-generated | +| System.Drawing.Printing;StandardPrintController;OnStartPrint;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintEventArgs);summary;df-generated | +| System.Drawing.Printing;StandardPrintController;StandardPrintController;();summary;df-generated | +| System.Drawing.Text;FontCollection;Dispose;();summary;df-generated | +| System.Drawing.Text;FontCollection;Dispose;(System.Boolean);summary;df-generated | +| System.Drawing.Text;FontCollection;get_Families;();summary;df-generated | +| System.Drawing.Text;InstalledFontCollection;InstalledFontCollection;();summary;df-generated | +| System.Drawing.Text;PrivateFontCollection;AddFontFile;(System.String);summary;df-generated | +| System.Drawing.Text;PrivateFontCollection;AddMemoryFont;(System.IntPtr,System.Int32);summary;df-generated | +| System.Drawing.Text;PrivateFontCollection;Dispose;(System.Boolean);summary;df-generated | +| System.Drawing.Text;PrivateFontCollection;PrivateFontCollection;();summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.Drawing.Image);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.Drawing.Image,System.Drawing.Size);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.Drawing.Image,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.IO.Stream);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.IO.Stream,System.Boolean);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.Int32,System.Int32,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.Int32,System.Int32,System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.Int32,System.Int32,System.Int32,System.Drawing.Imaging.PixelFormat,System.IntPtr);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.String);summary;df-generated | +| System.Drawing;Bitmap;Bitmap;(System.Type,System.String);summary;df-generated | +| System.Drawing;Bitmap;Clone;(System.Drawing.Rectangle,System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing;Bitmap;Clone;(System.Drawing.RectangleF,System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing;Bitmap;FromHicon;(System.IntPtr);summary;df-generated | +| System.Drawing;Bitmap;FromResource;(System.IntPtr,System.String);summary;df-generated | +| System.Drawing;Bitmap;GetHbitmap;();summary;df-generated | +| System.Drawing;Bitmap;GetHbitmap;(System.Drawing.Color);summary;df-generated | +| System.Drawing;Bitmap;GetHicon;();summary;df-generated | +| System.Drawing;Bitmap;GetPixel;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Bitmap;LockBits;(System.Drawing.Rectangle,System.Drawing.Imaging.ImageLockMode,System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing;Bitmap;MakeTransparent;();summary;df-generated | +| System.Drawing;Bitmap;MakeTransparent;(System.Drawing.Color);summary;df-generated | +| System.Drawing;Bitmap;SetPixel;(System.Int32,System.Int32,System.Drawing.Color);summary;df-generated | +| System.Drawing;Bitmap;SetResolution;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Bitmap;UnlockBits;(System.Drawing.Imaging.BitmapData);summary;df-generated | +| System.Drawing;Brush;Clone;();summary;df-generated | +| System.Drawing;Brush;Dispose;();summary;df-generated | +| System.Drawing;Brush;Dispose;(System.Boolean);summary;df-generated | +| System.Drawing;Brushes;get_AliceBlue;();summary;df-generated | +| System.Drawing;Brushes;get_AntiqueWhite;();summary;df-generated | +| System.Drawing;Brushes;get_Aqua;();summary;df-generated | +| System.Drawing;Brushes;get_Aquamarine;();summary;df-generated | +| System.Drawing;Brushes;get_Azure;();summary;df-generated | +| System.Drawing;Brushes;get_Beige;();summary;df-generated | +| System.Drawing;Brushes;get_Bisque;();summary;df-generated | +| System.Drawing;Brushes;get_Black;();summary;df-generated | +| System.Drawing;Brushes;get_BlanchedAlmond;();summary;df-generated | +| System.Drawing;Brushes;get_Blue;();summary;df-generated | +| System.Drawing;Brushes;get_BlueViolet;();summary;df-generated | +| System.Drawing;Brushes;get_Brown;();summary;df-generated | +| System.Drawing;Brushes;get_BurlyWood;();summary;df-generated | +| System.Drawing;Brushes;get_CadetBlue;();summary;df-generated | +| System.Drawing;Brushes;get_Chartreuse;();summary;df-generated | +| System.Drawing;Brushes;get_Chocolate;();summary;df-generated | +| System.Drawing;Brushes;get_Coral;();summary;df-generated | +| System.Drawing;Brushes;get_CornflowerBlue;();summary;df-generated | +| System.Drawing;Brushes;get_Cornsilk;();summary;df-generated | +| System.Drawing;Brushes;get_Crimson;();summary;df-generated | +| System.Drawing;Brushes;get_Cyan;();summary;df-generated | +| System.Drawing;Brushes;get_DarkBlue;();summary;df-generated | +| System.Drawing;Brushes;get_DarkCyan;();summary;df-generated | +| System.Drawing;Brushes;get_DarkGoldenrod;();summary;df-generated | +| System.Drawing;Brushes;get_DarkGray;();summary;df-generated | +| System.Drawing;Brushes;get_DarkGreen;();summary;df-generated | +| System.Drawing;Brushes;get_DarkKhaki;();summary;df-generated | +| System.Drawing;Brushes;get_DarkMagenta;();summary;df-generated | +| System.Drawing;Brushes;get_DarkOliveGreen;();summary;df-generated | +| System.Drawing;Brushes;get_DarkOrange;();summary;df-generated | +| System.Drawing;Brushes;get_DarkOrchid;();summary;df-generated | +| System.Drawing;Brushes;get_DarkRed;();summary;df-generated | +| System.Drawing;Brushes;get_DarkSalmon;();summary;df-generated | +| System.Drawing;Brushes;get_DarkSeaGreen;();summary;df-generated | +| System.Drawing;Brushes;get_DarkSlateBlue;();summary;df-generated | +| System.Drawing;Brushes;get_DarkSlateGray;();summary;df-generated | +| System.Drawing;Brushes;get_DarkTurquoise;();summary;df-generated | +| System.Drawing;Brushes;get_DarkViolet;();summary;df-generated | +| System.Drawing;Brushes;get_DeepPink;();summary;df-generated | +| System.Drawing;Brushes;get_DeepSkyBlue;();summary;df-generated | +| System.Drawing;Brushes;get_DimGray;();summary;df-generated | +| System.Drawing;Brushes;get_DodgerBlue;();summary;df-generated | +| System.Drawing;Brushes;get_Firebrick;();summary;df-generated | +| System.Drawing;Brushes;get_FloralWhite;();summary;df-generated | +| System.Drawing;Brushes;get_ForestGreen;();summary;df-generated | +| System.Drawing;Brushes;get_Fuchsia;();summary;df-generated | +| System.Drawing;Brushes;get_Gainsboro;();summary;df-generated | +| System.Drawing;Brushes;get_GhostWhite;();summary;df-generated | +| System.Drawing;Brushes;get_Gold;();summary;df-generated | +| System.Drawing;Brushes;get_Goldenrod;();summary;df-generated | +| System.Drawing;Brushes;get_Gray;();summary;df-generated | +| System.Drawing;Brushes;get_Green;();summary;df-generated | +| System.Drawing;Brushes;get_GreenYellow;();summary;df-generated | +| System.Drawing;Brushes;get_Honeydew;();summary;df-generated | +| System.Drawing;Brushes;get_HotPink;();summary;df-generated | +| System.Drawing;Brushes;get_IndianRed;();summary;df-generated | +| System.Drawing;Brushes;get_Indigo;();summary;df-generated | +| System.Drawing;Brushes;get_Ivory;();summary;df-generated | +| System.Drawing;Brushes;get_Khaki;();summary;df-generated | +| System.Drawing;Brushes;get_Lavender;();summary;df-generated | +| System.Drawing;Brushes;get_LavenderBlush;();summary;df-generated | +| System.Drawing;Brushes;get_LawnGreen;();summary;df-generated | +| System.Drawing;Brushes;get_LemonChiffon;();summary;df-generated | +| System.Drawing;Brushes;get_LightBlue;();summary;df-generated | +| System.Drawing;Brushes;get_LightCoral;();summary;df-generated | +| System.Drawing;Brushes;get_LightCyan;();summary;df-generated | +| System.Drawing;Brushes;get_LightGoldenrodYellow;();summary;df-generated | +| System.Drawing;Brushes;get_LightGray;();summary;df-generated | +| System.Drawing;Brushes;get_LightGreen;();summary;df-generated | +| System.Drawing;Brushes;get_LightPink;();summary;df-generated | +| System.Drawing;Brushes;get_LightSalmon;();summary;df-generated | +| System.Drawing;Brushes;get_LightSeaGreen;();summary;df-generated | +| System.Drawing;Brushes;get_LightSkyBlue;();summary;df-generated | +| System.Drawing;Brushes;get_LightSlateGray;();summary;df-generated | +| System.Drawing;Brushes;get_LightSteelBlue;();summary;df-generated | +| System.Drawing;Brushes;get_LightYellow;();summary;df-generated | +| System.Drawing;Brushes;get_Lime;();summary;df-generated | +| System.Drawing;Brushes;get_LimeGreen;();summary;df-generated | +| System.Drawing;Brushes;get_Linen;();summary;df-generated | +| System.Drawing;Brushes;get_Magenta;();summary;df-generated | +| System.Drawing;Brushes;get_Maroon;();summary;df-generated | +| System.Drawing;Brushes;get_MediumAquamarine;();summary;df-generated | +| System.Drawing;Brushes;get_MediumBlue;();summary;df-generated | +| System.Drawing;Brushes;get_MediumOrchid;();summary;df-generated | +| System.Drawing;Brushes;get_MediumPurple;();summary;df-generated | +| System.Drawing;Brushes;get_MediumSeaGreen;();summary;df-generated | +| System.Drawing;Brushes;get_MediumSlateBlue;();summary;df-generated | +| System.Drawing;Brushes;get_MediumSpringGreen;();summary;df-generated | +| System.Drawing;Brushes;get_MediumTurquoise;();summary;df-generated | +| System.Drawing;Brushes;get_MediumVioletRed;();summary;df-generated | +| System.Drawing;Brushes;get_MidnightBlue;();summary;df-generated | +| System.Drawing;Brushes;get_MintCream;();summary;df-generated | +| System.Drawing;Brushes;get_MistyRose;();summary;df-generated | +| System.Drawing;Brushes;get_Moccasin;();summary;df-generated | +| System.Drawing;Brushes;get_NavajoWhite;();summary;df-generated | +| System.Drawing;Brushes;get_Navy;();summary;df-generated | +| System.Drawing;Brushes;get_OldLace;();summary;df-generated | +| System.Drawing;Brushes;get_Olive;();summary;df-generated | +| System.Drawing;Brushes;get_OliveDrab;();summary;df-generated | +| System.Drawing;Brushes;get_Orange;();summary;df-generated | +| System.Drawing;Brushes;get_OrangeRed;();summary;df-generated | +| System.Drawing;Brushes;get_Orchid;();summary;df-generated | +| System.Drawing;Brushes;get_PaleGoldenrod;();summary;df-generated | +| System.Drawing;Brushes;get_PaleGreen;();summary;df-generated | +| System.Drawing;Brushes;get_PaleTurquoise;();summary;df-generated | +| System.Drawing;Brushes;get_PaleVioletRed;();summary;df-generated | +| System.Drawing;Brushes;get_PapayaWhip;();summary;df-generated | +| System.Drawing;Brushes;get_PeachPuff;();summary;df-generated | +| System.Drawing;Brushes;get_Peru;();summary;df-generated | +| System.Drawing;Brushes;get_Pink;();summary;df-generated | +| System.Drawing;Brushes;get_Plum;();summary;df-generated | +| System.Drawing;Brushes;get_PowderBlue;();summary;df-generated | +| System.Drawing;Brushes;get_Purple;();summary;df-generated | +| System.Drawing;Brushes;get_Red;();summary;df-generated | +| System.Drawing;Brushes;get_RosyBrown;();summary;df-generated | +| System.Drawing;Brushes;get_RoyalBlue;();summary;df-generated | +| System.Drawing;Brushes;get_SaddleBrown;();summary;df-generated | +| System.Drawing;Brushes;get_Salmon;();summary;df-generated | +| System.Drawing;Brushes;get_SandyBrown;();summary;df-generated | +| System.Drawing;Brushes;get_SeaGreen;();summary;df-generated | +| System.Drawing;Brushes;get_SeaShell;();summary;df-generated | +| System.Drawing;Brushes;get_Sienna;();summary;df-generated | +| System.Drawing;Brushes;get_Silver;();summary;df-generated | +| System.Drawing;Brushes;get_SkyBlue;();summary;df-generated | +| System.Drawing;Brushes;get_SlateBlue;();summary;df-generated | +| System.Drawing;Brushes;get_SlateGray;();summary;df-generated | +| System.Drawing;Brushes;get_Snow;();summary;df-generated | +| System.Drawing;Brushes;get_SpringGreen;();summary;df-generated | +| System.Drawing;Brushes;get_SteelBlue;();summary;df-generated | +| System.Drawing;Brushes;get_Tan;();summary;df-generated | +| System.Drawing;Brushes;get_Teal;();summary;df-generated | +| System.Drawing;Brushes;get_Thistle;();summary;df-generated | +| System.Drawing;Brushes;get_Tomato;();summary;df-generated | +| System.Drawing;Brushes;get_Transparent;();summary;df-generated | +| System.Drawing;Brushes;get_Turquoise;();summary;df-generated | +| System.Drawing;Brushes;get_Violet;();summary;df-generated | +| System.Drawing;Brushes;get_Wheat;();summary;df-generated | +| System.Drawing;Brushes;get_White;();summary;df-generated | +| System.Drawing;Brushes;get_WhiteSmoke;();summary;df-generated | +| System.Drawing;Brushes;get_Yellow;();summary;df-generated | +| System.Drawing;Brushes;get_YellowGreen;();summary;df-generated | +| System.Drawing;BufferedGraphics;Dispose;();summary;df-generated | +| System.Drawing;BufferedGraphics;Render;();summary;df-generated | +| System.Drawing;BufferedGraphics;Render;(System.Drawing.Graphics);summary;df-generated | +| System.Drawing;BufferedGraphics;Render;(System.IntPtr);summary;df-generated | +| System.Drawing;BufferedGraphicsContext;BufferedGraphicsContext;();summary;df-generated | +| System.Drawing;BufferedGraphicsContext;Dispose;();summary;df-generated | +| System.Drawing;BufferedGraphicsContext;Invalidate;();summary;df-generated | +| System.Drawing;BufferedGraphicsManager;get_Current;();summary;df-generated | +| System.Drawing;CharacterRange;CharacterRange;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing;CharacterRange;Equals;(System.Object);summary;df-generated | +| System.Drawing;CharacterRange;GetHashCode;();summary;df-generated | +| System.Drawing;CharacterRange;get_First;();summary;df-generated | +| System.Drawing;CharacterRange;get_Length;();summary;df-generated | +| System.Drawing;CharacterRange;op_Equality;(System.Drawing.CharacterRange,System.Drawing.CharacterRange);summary;df-generated | +| System.Drawing;CharacterRange;op_Inequality;(System.Drawing.CharacterRange,System.Drawing.CharacterRange);summary;df-generated | +| System.Drawing;CharacterRange;set_First;(System.Int32);summary;df-generated | +| System.Drawing;CharacterRange;set_Length;(System.Int32);summary;df-generated | | System.Drawing;Color;Equals;(System.Drawing.Color);summary;df-generated | | System.Drawing;Color;Equals;(System.Object);summary;df-generated | | System.Drawing;Color;FromArgb;(System.Int32);summary;df-generated | @@ -22338,6 +25766,8 @@ neutral | System.Drawing;Color;get_WhiteSmoke;();summary;df-generated | | System.Drawing;Color;get_Yellow;();summary;df-generated | | System.Drawing;Color;get_YellowGreen;();summary;df-generated | +| System.Drawing;Color;op_Equality;(System.Drawing.Color,System.Drawing.Color);summary;df-generated | +| System.Drawing;Color;op_Inequality;(System.Drawing.Color,System.Drawing.Color);summary;df-generated | | System.Drawing;ColorConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | | System.Drawing;ColorConverter;CanConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | | System.Drawing;ColorConverter;ColorConverter;();summary;df-generated | @@ -22347,6 +25777,542 @@ neutral | System.Drawing;ColorTranslator;FromWin32;(System.Int32);summary;df-generated | | System.Drawing;ColorTranslator;ToOle;(System.Drawing.Color);summary;df-generated | | System.Drawing;ColorTranslator;ToWin32;(System.Drawing.Color);summary;df-generated | +| System.Drawing;Font;Dispose;();summary;df-generated | +| System.Drawing;Font;Equals;(System.Object);summary;df-generated | +| System.Drawing;Font;Font;(System.Drawing.FontFamily,System.Single);summary;df-generated | +| System.Drawing;Font;Font;(System.Drawing.FontFamily,System.Single,System.Drawing.FontStyle);summary;df-generated | +| System.Drawing;Font;Font;(System.Drawing.FontFamily,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Font;Font;(System.Drawing.FontFamily,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte);summary;df-generated | +| System.Drawing;Font;Font;(System.Drawing.FontFamily,System.Single,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Font;Font;(System.String,System.Single);summary;df-generated | +| System.Drawing;Font;Font;(System.String,System.Single,System.Drawing.FontStyle);summary;df-generated | +| System.Drawing;Font;Font;(System.String,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Font;Font;(System.String,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte);summary;df-generated | +| System.Drawing;Font;Font;(System.String,System.Single,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Font;FromHdc;(System.IntPtr);summary;df-generated | +| System.Drawing;Font;FromHfont;(System.IntPtr);summary;df-generated | +| System.Drawing;Font;FromLogFont;(System.Object);summary;df-generated | +| System.Drawing;Font;FromLogFont;(System.Object,System.IntPtr);summary;df-generated | +| System.Drawing;Font;GetHashCode;();summary;df-generated | +| System.Drawing;Font;GetHeight;();summary;df-generated | +| System.Drawing;Font;GetHeight;(System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Font;GetHeight;(System.Single);summary;df-generated | +| System.Drawing;Font;ToLogFont;(System.Object);summary;df-generated | +| System.Drawing;Font;ToLogFont;(System.Object,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Font;ToString;();summary;df-generated | +| System.Drawing;Font;get_Bold;();summary;df-generated | +| System.Drawing;Font;get_GdiCharSet;();summary;df-generated | +| System.Drawing;Font;get_GdiVerticalFont;();summary;df-generated | +| System.Drawing;Font;get_Height;();summary;df-generated | +| System.Drawing;Font;get_IsSystemFont;();summary;df-generated | +| System.Drawing;Font;get_Italic;();summary;df-generated | +| System.Drawing;Font;get_Name;();summary;df-generated | +| System.Drawing;Font;get_Size;();summary;df-generated | +| System.Drawing;Font;get_SizeInPoints;();summary;df-generated | +| System.Drawing;Font;get_Strikeout;();summary;df-generated | +| System.Drawing;Font;get_Style;();summary;df-generated | +| System.Drawing;Font;get_Underline;();summary;df-generated | +| System.Drawing;Font;get_Unit;();summary;df-generated | +| System.Drawing;FontConverter+FontNameConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;FontConverter+FontNameConverter;Dispose;();summary;df-generated | +| System.Drawing;FontConverter+FontNameConverter;FontNameConverter;();summary;df-generated | +| System.Drawing;FontConverter+FontNameConverter;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;FontConverter+FontNameConverter;GetStandardValuesExclusive;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;FontConverter+FontNameConverter;GetStandardValuesSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;FontConverter+FontUnitConverter;FontUnitConverter;();summary;df-generated | +| System.Drawing;FontConverter+FontUnitConverter;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;FontConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;FontConverter;CanConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;FontConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);summary;df-generated | +| System.Drawing;FontConverter;CreateInstance;(System.ComponentModel.ITypeDescriptorContext,System.Collections.IDictionary);summary;df-generated | +| System.Drawing;FontConverter;GetCreateInstanceSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;FontConverter;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);summary;df-generated | +| System.Drawing;FontConverter;GetPropertiesSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;FontFamily;Dispose;();summary;df-generated | +| System.Drawing;FontFamily;Equals;(System.Object);summary;df-generated | +| System.Drawing;FontFamily;FontFamily;(System.Drawing.Text.GenericFontFamilies);summary;df-generated | +| System.Drawing;FontFamily;FontFamily;(System.String);summary;df-generated | +| System.Drawing;FontFamily;FontFamily;(System.String,System.Drawing.Text.FontCollection);summary;df-generated | +| System.Drawing;FontFamily;GetCellAscent;(System.Drawing.FontStyle);summary;df-generated | +| System.Drawing;FontFamily;GetCellDescent;(System.Drawing.FontStyle);summary;df-generated | +| System.Drawing;FontFamily;GetEmHeight;(System.Drawing.FontStyle);summary;df-generated | +| System.Drawing;FontFamily;GetFamilies;(System.Drawing.Graphics);summary;df-generated | +| System.Drawing;FontFamily;GetHashCode;();summary;df-generated | +| System.Drawing;FontFamily;GetLineSpacing;(System.Drawing.FontStyle);summary;df-generated | +| System.Drawing;FontFamily;GetName;(System.Int32);summary;df-generated | +| System.Drawing;FontFamily;IsStyleAvailable;(System.Drawing.FontStyle);summary;df-generated | +| System.Drawing;FontFamily;ToString;();summary;df-generated | +| System.Drawing;FontFamily;get_Families;();summary;df-generated | +| System.Drawing;FontFamily;get_GenericMonospace;();summary;df-generated | +| System.Drawing;FontFamily;get_GenericSansSerif;();summary;df-generated | +| System.Drawing;FontFamily;get_GenericSerif;();summary;df-generated | +| System.Drawing;FontFamily;get_Name;();summary;df-generated | +| System.Drawing;Graphics;AddMetafileComment;(System.Byte[]);summary;df-generated | +| System.Drawing;Graphics;BeginContainer;();summary;df-generated | +| System.Drawing;Graphics;BeginContainer;(System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;BeginContainer;(System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;Clear;(System.Drawing.Color);summary;df-generated | +| System.Drawing;Graphics;CopyFromScreen;(System.Drawing.Point,System.Drawing.Point,System.Drawing.Size);summary;df-generated | +| System.Drawing;Graphics;CopyFromScreen;(System.Drawing.Point,System.Drawing.Point,System.Drawing.Size,System.Drawing.CopyPixelOperation);summary;df-generated | +| System.Drawing;Graphics;CopyFromScreen;(System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.Size);summary;df-generated | +| System.Drawing;Graphics;CopyFromScreen;(System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.Size,System.Drawing.CopyPixelOperation);summary;df-generated | +| System.Drawing;Graphics;Dispose;();summary;df-generated | +| System.Drawing;Graphics;DrawArc;(System.Drawing.Pen,System.Drawing.Rectangle,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawArc;(System.Drawing.Pen,System.Drawing.RectangleF,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawArc;(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawArc;(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawBezier;(System.Drawing.Pen,System.Drawing.Point,System.Drawing.Point,System.Drawing.Point,System.Drawing.Point);summary;df-generated | +| System.Drawing;Graphics;DrawBezier;(System.Drawing.Pen,System.Drawing.PointF,System.Drawing.PointF,System.Drawing.PointF,System.Drawing.PointF);summary;df-generated | +| System.Drawing;Graphics;DrawBezier;(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawBeziers;(System.Drawing.Pen,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;DrawBeziers;(System.Drawing.Pen,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;DrawClosedCurve;(System.Drawing.Pen,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;DrawClosedCurve;(System.Drawing.Pen,System.Drawing.PointF[],System.Single,System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing;Graphics;DrawClosedCurve;(System.Drawing.Pen,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;DrawClosedCurve;(System.Drawing.Pen,System.Drawing.Point[],System.Single,System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing;Graphics;DrawCurve;(System.Drawing.Pen,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;DrawCurve;(System.Drawing.Pen,System.Drawing.PointF[],System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawCurve;(System.Drawing.Pen,System.Drawing.PointF[],System.Int32,System.Int32,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawCurve;(System.Drawing.Pen,System.Drawing.PointF[],System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawCurve;(System.Drawing.Pen,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;DrawCurve;(System.Drawing.Pen,System.Drawing.Point[],System.Int32,System.Int32,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawCurve;(System.Drawing.Pen,System.Drawing.Point[],System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawEllipse;(System.Drawing.Pen,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;DrawEllipse;(System.Drawing.Pen,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Graphics;DrawEllipse;(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawEllipse;(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawIcon;(System.Drawing.Icon,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;DrawIcon;(System.Drawing.Icon,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawIconUnstretched;(System.Drawing.Icon,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Point);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.PointF);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Int32,System.Int32,System.Drawing.Rectangle,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Single,System.Single,System.Drawing.RectangleF,System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;DrawImage;(System.Drawing.Image,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawImageUnscaled;(System.Drawing.Image,System.Drawing.Point);summary;df-generated | +| System.Drawing;Graphics;DrawImageUnscaled;(System.Drawing.Image,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;DrawImageUnscaled;(System.Drawing.Image,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawImageUnscaled;(System.Drawing.Image,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawImageUnscaledAndClipped;(System.Drawing.Image,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;DrawLine;(System.Drawing.Pen,System.Drawing.Point,System.Drawing.Point);summary;df-generated | +| System.Drawing;Graphics;DrawLine;(System.Drawing.Pen,System.Drawing.PointF,System.Drawing.PointF);summary;df-generated | +| System.Drawing;Graphics;DrawLine;(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawLine;(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawLines;(System.Drawing.Pen,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;DrawLines;(System.Drawing.Pen,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;DrawPath;(System.Drawing.Pen,System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Graphics;DrawPie;(System.Drawing.Pen,System.Drawing.Rectangle,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawPie;(System.Drawing.Pen,System.Drawing.RectangleF,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawPie;(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawPie;(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawPolygon;(System.Drawing.Pen,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;DrawPolygon;(System.Drawing.Pen,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;DrawRectangle;(System.Drawing.Pen,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;DrawRectangle;(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;DrawRectangle;(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawRectangles;(System.Drawing.Pen,System.Drawing.RectangleF[]);summary;df-generated | +| System.Drawing;Graphics;DrawRectangles;(System.Drawing.Pen,System.Drawing.Rectangle[]);summary;df-generated | +| System.Drawing;Graphics;DrawString;(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.PointF);summary;df-generated | +| System.Drawing;Graphics;DrawString;(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.PointF,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing;Graphics;DrawString;(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Graphics;DrawString;(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.RectangleF,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing;Graphics;DrawString;(System.String,System.Drawing.Font,System.Drawing.Brush,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;DrawString;(System.String,System.Drawing.Font,System.Drawing.Brush,System.Single,System.Single,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing;Graphics;EndContainer;(System.Drawing.Drawing2D.GraphicsContainer);summary;df-generated | +| System.Drawing;Graphics;ExcludeClip;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;ExcludeClip;(System.Drawing.Region);summary;df-generated | +| System.Drawing;Graphics;FillClosedCurve;(System.Drawing.Brush,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;FillClosedCurve;(System.Drawing.Brush,System.Drawing.PointF[],System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing;Graphics;FillClosedCurve;(System.Drawing.Brush,System.Drawing.PointF[],System.Drawing.Drawing2D.FillMode,System.Single);summary;df-generated | +| System.Drawing;Graphics;FillClosedCurve;(System.Drawing.Brush,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;FillClosedCurve;(System.Drawing.Brush,System.Drawing.Point[],System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing;Graphics;FillClosedCurve;(System.Drawing.Brush,System.Drawing.Point[],System.Drawing.Drawing2D.FillMode,System.Single);summary;df-generated | +| System.Drawing;Graphics;FillEllipse;(System.Drawing.Brush,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;FillEllipse;(System.Drawing.Brush,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Graphics;FillEllipse;(System.Drawing.Brush,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;FillEllipse;(System.Drawing.Brush,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;FillPath;(System.Drawing.Brush,System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Graphics;FillPie;(System.Drawing.Brush,System.Drawing.Rectangle,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;FillPie;(System.Drawing.Brush,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;FillPie;(System.Drawing.Brush,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;FillPolygon;(System.Drawing.Brush,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;FillPolygon;(System.Drawing.Brush,System.Drawing.PointF[],System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing;Graphics;FillPolygon;(System.Drawing.Brush,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;FillPolygon;(System.Drawing.Brush,System.Drawing.Point[],System.Drawing.Drawing2D.FillMode);summary;df-generated | +| System.Drawing;Graphics;FillRectangle;(System.Drawing.Brush,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;FillRectangle;(System.Drawing.Brush,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Graphics;FillRectangle;(System.Drawing.Brush,System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;FillRectangle;(System.Drawing.Brush,System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;FillRectangles;(System.Drawing.Brush,System.Drawing.RectangleF[]);summary;df-generated | +| System.Drawing;Graphics;FillRectangles;(System.Drawing.Brush,System.Drawing.Rectangle[]);summary;df-generated | +| System.Drawing;Graphics;FillRegion;(System.Drawing.Brush,System.Drawing.Region);summary;df-generated | +| System.Drawing;Graphics;Flush;();summary;df-generated | +| System.Drawing;Graphics;Flush;(System.Drawing.Drawing2D.FlushIntention);summary;df-generated | +| System.Drawing;Graphics;FromHdc;(System.IntPtr);summary;df-generated | +| System.Drawing;Graphics;FromHdc;(System.IntPtr,System.IntPtr);summary;df-generated | +| System.Drawing;Graphics;FromHdcInternal;(System.IntPtr);summary;df-generated | +| System.Drawing;Graphics;FromHwnd;(System.IntPtr);summary;df-generated | +| System.Drawing;Graphics;FromHwndInternal;(System.IntPtr);summary;df-generated | +| System.Drawing;Graphics;GetContextInfo;();summary;df-generated | +| System.Drawing;Graphics;GetHalftonePalette;();summary;df-generated | +| System.Drawing;Graphics;GetNearestColor;(System.Drawing.Color);summary;df-generated | +| System.Drawing;Graphics;IntersectClip;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;IntersectClip;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Graphics;IntersectClip;(System.Drawing.Region);summary;df-generated | +| System.Drawing;Graphics;IsVisible;(System.Drawing.Point);summary;df-generated | +| System.Drawing;Graphics;IsVisible;(System.Drawing.PointF);summary;df-generated | +| System.Drawing;Graphics;IsVisible;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;IsVisible;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Graphics;IsVisible;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;IsVisible;(System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;IsVisible;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;IsVisible;(System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;MeasureCharacterRanges;(System.String,System.Drawing.Font,System.Drawing.RectangleF,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing;Graphics;MeasureString;(System.String,System.Drawing.Font);summary;df-generated | +| System.Drawing;Graphics;MeasureString;(System.String,System.Drawing.Font,System.Drawing.PointF,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing;Graphics;MeasureString;(System.String,System.Drawing.Font,System.Drawing.SizeF);summary;df-generated | +| System.Drawing;Graphics;MeasureString;(System.String,System.Drawing.Font,System.Drawing.SizeF,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing;Graphics;MeasureString;(System.String,System.Drawing.Font,System.Drawing.SizeF,System.Drawing.StringFormat,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;MeasureString;(System.String,System.Drawing.Font,System.Int32);summary;df-generated | +| System.Drawing;Graphics;MeasureString;(System.String,System.Drawing.Font,System.Int32,System.Drawing.StringFormat);summary;df-generated | +| System.Drawing;Graphics;MultiplyTransform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing;Graphics;MultiplyTransform;(System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;Graphics;ReleaseHdc;();summary;df-generated | +| System.Drawing;Graphics;ReleaseHdc;(System.IntPtr);summary;df-generated | +| System.Drawing;Graphics;ReleaseHdcInternal;(System.IntPtr);summary;df-generated | +| System.Drawing;Graphics;ResetClip;();summary;df-generated | +| System.Drawing;Graphics;ResetTransform;();summary;df-generated | +| System.Drawing;Graphics;Restore;(System.Drawing.Drawing2D.GraphicsState);summary;df-generated | +| System.Drawing;Graphics;RotateTransform;(System.Single);summary;df-generated | +| System.Drawing;Graphics;RotateTransform;(System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;Graphics;Save;();summary;df-generated | +| System.Drawing;Graphics;ScaleTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;ScaleTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.Drawing2D.GraphicsPath,System.Drawing.Drawing2D.CombineMode);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.Graphics,System.Drawing.Drawing2D.CombineMode);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.Rectangle,System.Drawing.Drawing2D.CombineMode);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.RectangleF,System.Drawing.Drawing2D.CombineMode);summary;df-generated | +| System.Drawing;Graphics;SetClip;(System.Drawing.Region,System.Drawing.Drawing2D.CombineMode);summary;df-generated | +| System.Drawing;Graphics;TransformPoints;(System.Drawing.Drawing2D.CoordinateSpace,System.Drawing.Drawing2D.CoordinateSpace,System.Drawing.PointF[]);summary;df-generated | +| System.Drawing;Graphics;TransformPoints;(System.Drawing.Drawing2D.CoordinateSpace,System.Drawing.Drawing2D.CoordinateSpace,System.Drawing.Point[]);summary;df-generated | +| System.Drawing;Graphics;TranslateClip;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Graphics;TranslateClip;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;TranslateTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Graphics;TranslateTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;Graphics;get_Clip;();summary;df-generated | +| System.Drawing;Graphics;get_ClipBounds;();summary;df-generated | +| System.Drawing;Graphics;get_CompositingMode;();summary;df-generated | +| System.Drawing;Graphics;get_CompositingQuality;();summary;df-generated | +| System.Drawing;Graphics;get_DpiX;();summary;df-generated | +| System.Drawing;Graphics;get_DpiY;();summary;df-generated | +| System.Drawing;Graphics;get_InterpolationMode;();summary;df-generated | +| System.Drawing;Graphics;get_IsClipEmpty;();summary;df-generated | +| System.Drawing;Graphics;get_IsVisibleClipEmpty;();summary;df-generated | +| System.Drawing;Graphics;get_PageScale;();summary;df-generated | +| System.Drawing;Graphics;get_PageUnit;();summary;df-generated | +| System.Drawing;Graphics;get_PixelOffsetMode;();summary;df-generated | +| System.Drawing;Graphics;get_RenderingOrigin;();summary;df-generated | +| System.Drawing;Graphics;get_SmoothingMode;();summary;df-generated | +| System.Drawing;Graphics;get_TextContrast;();summary;df-generated | +| System.Drawing;Graphics;get_TextRenderingHint;();summary;df-generated | +| System.Drawing;Graphics;get_Transform;();summary;df-generated | +| System.Drawing;Graphics;get_VisibleClipBounds;();summary;df-generated | +| System.Drawing;Graphics;set_Clip;(System.Drawing.Region);summary;df-generated | +| System.Drawing;Graphics;set_CompositingMode;(System.Drawing.Drawing2D.CompositingMode);summary;df-generated | +| System.Drawing;Graphics;set_CompositingQuality;(System.Drawing.Drawing2D.CompositingQuality);summary;df-generated | +| System.Drawing;Graphics;set_InterpolationMode;(System.Drawing.Drawing2D.InterpolationMode);summary;df-generated | +| System.Drawing;Graphics;set_PageScale;(System.Single);summary;df-generated | +| System.Drawing;Graphics;set_PageUnit;(System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Graphics;set_PixelOffsetMode;(System.Drawing.Drawing2D.PixelOffsetMode);summary;df-generated | +| System.Drawing;Graphics;set_RenderingOrigin;(System.Drawing.Point);summary;df-generated | +| System.Drawing;Graphics;set_SmoothingMode;(System.Drawing.Drawing2D.SmoothingMode);summary;df-generated | +| System.Drawing;Graphics;set_TextContrast;(System.Int32);summary;df-generated | +| System.Drawing;Graphics;set_TextRenderingHint;(System.Drawing.Text.TextRenderingHint);summary;df-generated | +| System.Drawing;Graphics;set_Transform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing;IDeviceContext;GetHdc;();summary;df-generated | +| System.Drawing;IDeviceContext;ReleaseHdc;();summary;df-generated | +| System.Drawing;Icon;Dispose;();summary;df-generated | +| System.Drawing;Icon;ExtractAssociatedIcon;(System.String);summary;df-generated | +| System.Drawing;Icon;Icon;(System.Drawing.Icon,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Icon;Icon;(System.IO.Stream);summary;df-generated | +| System.Drawing;Icon;Icon;(System.IO.Stream,System.Drawing.Size);summary;df-generated | +| System.Drawing;Icon;Icon;(System.IO.Stream,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Icon;Icon;(System.String);summary;df-generated | +| System.Drawing;Icon;Icon;(System.String,System.Drawing.Size);summary;df-generated | +| System.Drawing;Icon;Icon;(System.String,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Icon;Icon;(System.Type,System.String);summary;df-generated | +| System.Drawing;Icon;Save;(System.IO.Stream);summary;df-generated | +| System.Drawing;Icon;ToBitmap;();summary;df-generated | +| System.Drawing;Icon;ToString;();summary;df-generated | +| System.Drawing;Icon;get_Height;();summary;df-generated | +| System.Drawing;Icon;get_Width;();summary;df-generated | +| System.Drawing;IconConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;IconConverter;CanConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;IconConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);summary;df-generated | +| System.Drawing;IconConverter;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);summary;df-generated | +| System.Drawing;Image;Clone;();summary;df-generated | +| System.Drawing;Image;Dispose;();summary;df-generated | +| System.Drawing;Image;Dispose;(System.Boolean);summary;df-generated | +| System.Drawing;Image;FromHbitmap;(System.IntPtr);summary;df-generated | +| System.Drawing;Image;FromHbitmap;(System.IntPtr,System.IntPtr);summary;df-generated | +| System.Drawing;Image;FromStream;(System.IO.Stream);summary;df-generated | +| System.Drawing;Image;FromStream;(System.IO.Stream,System.Boolean);summary;df-generated | +| System.Drawing;Image;FromStream;(System.IO.Stream,System.Boolean,System.Boolean);summary;df-generated | +| System.Drawing;Image;GetBounds;(System.Drawing.GraphicsUnit);summary;df-generated | +| System.Drawing;Image;GetEncoderParameterList;(System.Guid);summary;df-generated | +| System.Drawing;Image;GetFrameCount;(System.Drawing.Imaging.FrameDimension);summary;df-generated | +| System.Drawing;Image;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | +| System.Drawing;Image;GetPixelFormatSize;(System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing;Image;GetPropertyItem;(System.Int32);summary;df-generated | +| System.Drawing;Image;IsAlphaPixelFormat;(System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing;Image;IsCanonicalPixelFormat;(System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing;Image;IsExtendedPixelFormat;(System.Drawing.Imaging.PixelFormat);summary;df-generated | +| System.Drawing;Image;RemovePropertyItem;(System.Int32);summary;df-generated | +| System.Drawing;Image;RotateFlip;(System.Drawing.RotateFlipType);summary;df-generated | +| System.Drawing;Image;Save;(System.IO.Stream,System.Drawing.Imaging.ImageCodecInfo,System.Drawing.Imaging.EncoderParameters);summary;df-generated | +| System.Drawing;Image;Save;(System.IO.Stream,System.Drawing.Imaging.ImageFormat);summary;df-generated | +| System.Drawing;Image;Save;(System.String);summary;df-generated | +| System.Drawing;Image;Save;(System.String,System.Drawing.Imaging.ImageCodecInfo,System.Drawing.Imaging.EncoderParameters);summary;df-generated | +| System.Drawing;Image;Save;(System.String,System.Drawing.Imaging.ImageFormat);summary;df-generated | +| System.Drawing;Image;SaveAdd;(System.Drawing.Image,System.Drawing.Imaging.EncoderParameters);summary;df-generated | +| System.Drawing;Image;SaveAdd;(System.Drawing.Imaging.EncoderParameters);summary;df-generated | +| System.Drawing;Image;SelectActiveFrame;(System.Drawing.Imaging.FrameDimension,System.Int32);summary;df-generated | +| System.Drawing;Image;SetPropertyItem;(System.Drawing.Imaging.PropertyItem);summary;df-generated | +| System.Drawing;Image;get_Flags;();summary;df-generated | +| System.Drawing;Image;get_FrameDimensionsList;();summary;df-generated | +| System.Drawing;Image;get_Height;();summary;df-generated | +| System.Drawing;Image;get_HorizontalResolution;();summary;df-generated | +| System.Drawing;Image;get_Palette;();summary;df-generated | +| System.Drawing;Image;get_PhysicalDimension;();summary;df-generated | +| System.Drawing;Image;get_PixelFormat;();summary;df-generated | +| System.Drawing;Image;get_PropertyIdList;();summary;df-generated | +| System.Drawing;Image;get_PropertyItems;();summary;df-generated | +| System.Drawing;Image;get_RawFormat;();summary;df-generated | +| System.Drawing;Image;get_Size;();summary;df-generated | +| System.Drawing;Image;get_VerticalResolution;();summary;df-generated | +| System.Drawing;Image;get_Width;();summary;df-generated | +| System.Drawing;Image;set_Palette;(System.Drawing.Imaging.ColorPalette);summary;df-generated | +| System.Drawing;ImageAnimator;CanAnimate;(System.Drawing.Image);summary;df-generated | +| System.Drawing;ImageAnimator;UpdateFrames;();summary;df-generated | +| System.Drawing;ImageAnimator;UpdateFrames;(System.Drawing.Image);summary;df-generated | +| System.Drawing;ImageConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;ImageConverter;CanConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;ImageConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);summary;df-generated | +| System.Drawing;ImageConverter;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);summary;df-generated | +| System.Drawing;ImageConverter;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);summary;df-generated | +| System.Drawing;ImageConverter;GetPropertiesSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;ImageFormatConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;ImageFormatConverter;CanConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | +| System.Drawing;ImageFormatConverter;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);summary;df-generated | +| System.Drawing;ImageFormatConverter;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;ImageFormatConverter;GetStandardValuesSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;Pen;Clone;();summary;df-generated | +| System.Drawing;Pen;Dispose;();summary;df-generated | +| System.Drawing;Pen;MultiplyTransform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing;Pen;MultiplyTransform;(System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;Pen;Pen;(System.Drawing.Brush);summary;df-generated | +| System.Drawing;Pen;Pen;(System.Drawing.Brush,System.Single);summary;df-generated | +| System.Drawing;Pen;Pen;(System.Drawing.Color);summary;df-generated | +| System.Drawing;Pen;ResetTransform;();summary;df-generated | +| System.Drawing;Pen;RotateTransform;(System.Single);summary;df-generated | +| System.Drawing;Pen;RotateTransform;(System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;Pen;ScaleTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Pen;ScaleTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;Pen;SetLineCap;(System.Drawing.Drawing2D.LineCap,System.Drawing.Drawing2D.LineCap,System.Drawing.Drawing2D.DashCap);summary;df-generated | +| System.Drawing;Pen;TranslateTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Pen;TranslateTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;Pen;get_Alignment;();summary;df-generated | +| System.Drawing;Pen;get_Brush;();summary;df-generated | +| System.Drawing;Pen;get_CompoundArray;();summary;df-generated | +| System.Drawing;Pen;get_CustomStartCap;();summary;df-generated | +| System.Drawing;Pen;get_DashCap;();summary;df-generated | +| System.Drawing;Pen;get_DashOffset;();summary;df-generated | +| System.Drawing;Pen;get_DashPattern;();summary;df-generated | +| System.Drawing;Pen;get_DashStyle;();summary;df-generated | +| System.Drawing;Pen;get_EndCap;();summary;df-generated | +| System.Drawing;Pen;get_LineJoin;();summary;df-generated | +| System.Drawing;Pen;get_MiterLimit;();summary;df-generated | +| System.Drawing;Pen;get_PenType;();summary;df-generated | +| System.Drawing;Pen;get_StartCap;();summary;df-generated | +| System.Drawing;Pen;get_Transform;();summary;df-generated | +| System.Drawing;Pen;get_Width;();summary;df-generated | +| System.Drawing;Pen;set_Alignment;(System.Drawing.Drawing2D.PenAlignment);summary;df-generated | +| System.Drawing;Pen;set_Brush;(System.Drawing.Brush);summary;df-generated | +| System.Drawing;Pen;set_CompoundArray;(System.Single[]);summary;df-generated | +| System.Drawing;Pen;set_CustomEndCap;(System.Drawing.Drawing2D.CustomLineCap);summary;df-generated | +| System.Drawing;Pen;set_CustomStartCap;(System.Drawing.Drawing2D.CustomLineCap);summary;df-generated | +| System.Drawing;Pen;set_DashCap;(System.Drawing.Drawing2D.DashCap);summary;df-generated | +| System.Drawing;Pen;set_DashOffset;(System.Single);summary;df-generated | +| System.Drawing;Pen;set_DashPattern;(System.Single[]);summary;df-generated | +| System.Drawing;Pen;set_DashStyle;(System.Drawing.Drawing2D.DashStyle);summary;df-generated | +| System.Drawing;Pen;set_EndCap;(System.Drawing.Drawing2D.LineCap);summary;df-generated | +| System.Drawing;Pen;set_LineJoin;(System.Drawing.Drawing2D.LineJoin);summary;df-generated | +| System.Drawing;Pen;set_MiterLimit;(System.Single);summary;df-generated | +| System.Drawing;Pen;set_StartCap;(System.Drawing.Drawing2D.LineCap);summary;df-generated | +| System.Drawing;Pen;set_Transform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing;Pen;set_Width;(System.Single);summary;df-generated | +| System.Drawing;Pens;get_AliceBlue;();summary;df-generated | +| System.Drawing;Pens;get_AntiqueWhite;();summary;df-generated | +| System.Drawing;Pens;get_Aqua;();summary;df-generated | +| System.Drawing;Pens;get_Aquamarine;();summary;df-generated | +| System.Drawing;Pens;get_Azure;();summary;df-generated | +| System.Drawing;Pens;get_Beige;();summary;df-generated | +| System.Drawing;Pens;get_Bisque;();summary;df-generated | +| System.Drawing;Pens;get_Black;();summary;df-generated | +| System.Drawing;Pens;get_BlanchedAlmond;();summary;df-generated | +| System.Drawing;Pens;get_Blue;();summary;df-generated | +| System.Drawing;Pens;get_BlueViolet;();summary;df-generated | +| System.Drawing;Pens;get_Brown;();summary;df-generated | +| System.Drawing;Pens;get_BurlyWood;();summary;df-generated | +| System.Drawing;Pens;get_CadetBlue;();summary;df-generated | +| System.Drawing;Pens;get_Chartreuse;();summary;df-generated | +| System.Drawing;Pens;get_Chocolate;();summary;df-generated | +| System.Drawing;Pens;get_Coral;();summary;df-generated | +| System.Drawing;Pens;get_CornflowerBlue;();summary;df-generated | +| System.Drawing;Pens;get_Cornsilk;();summary;df-generated | +| System.Drawing;Pens;get_Crimson;();summary;df-generated | +| System.Drawing;Pens;get_Cyan;();summary;df-generated | +| System.Drawing;Pens;get_DarkBlue;();summary;df-generated | +| System.Drawing;Pens;get_DarkCyan;();summary;df-generated | +| System.Drawing;Pens;get_DarkGoldenrod;();summary;df-generated | +| System.Drawing;Pens;get_DarkGray;();summary;df-generated | +| System.Drawing;Pens;get_DarkGreen;();summary;df-generated | +| System.Drawing;Pens;get_DarkKhaki;();summary;df-generated | +| System.Drawing;Pens;get_DarkMagenta;();summary;df-generated | +| System.Drawing;Pens;get_DarkOliveGreen;();summary;df-generated | +| System.Drawing;Pens;get_DarkOrange;();summary;df-generated | +| System.Drawing;Pens;get_DarkOrchid;();summary;df-generated | +| System.Drawing;Pens;get_DarkRed;();summary;df-generated | +| System.Drawing;Pens;get_DarkSalmon;();summary;df-generated | +| System.Drawing;Pens;get_DarkSeaGreen;();summary;df-generated | +| System.Drawing;Pens;get_DarkSlateBlue;();summary;df-generated | +| System.Drawing;Pens;get_DarkSlateGray;();summary;df-generated | +| System.Drawing;Pens;get_DarkTurquoise;();summary;df-generated | +| System.Drawing;Pens;get_DarkViolet;();summary;df-generated | +| System.Drawing;Pens;get_DeepPink;();summary;df-generated | +| System.Drawing;Pens;get_DeepSkyBlue;();summary;df-generated | +| System.Drawing;Pens;get_DimGray;();summary;df-generated | +| System.Drawing;Pens;get_DodgerBlue;();summary;df-generated | +| System.Drawing;Pens;get_Firebrick;();summary;df-generated | +| System.Drawing;Pens;get_FloralWhite;();summary;df-generated | +| System.Drawing;Pens;get_ForestGreen;();summary;df-generated | +| System.Drawing;Pens;get_Fuchsia;();summary;df-generated | +| System.Drawing;Pens;get_Gainsboro;();summary;df-generated | +| System.Drawing;Pens;get_GhostWhite;();summary;df-generated | +| System.Drawing;Pens;get_Gold;();summary;df-generated | +| System.Drawing;Pens;get_Goldenrod;();summary;df-generated | +| System.Drawing;Pens;get_Gray;();summary;df-generated | +| System.Drawing;Pens;get_Green;();summary;df-generated | +| System.Drawing;Pens;get_GreenYellow;();summary;df-generated | +| System.Drawing;Pens;get_Honeydew;();summary;df-generated | +| System.Drawing;Pens;get_HotPink;();summary;df-generated | +| System.Drawing;Pens;get_IndianRed;();summary;df-generated | +| System.Drawing;Pens;get_Indigo;();summary;df-generated | +| System.Drawing;Pens;get_Ivory;();summary;df-generated | +| System.Drawing;Pens;get_Khaki;();summary;df-generated | +| System.Drawing;Pens;get_Lavender;();summary;df-generated | +| System.Drawing;Pens;get_LavenderBlush;();summary;df-generated | +| System.Drawing;Pens;get_LawnGreen;();summary;df-generated | +| System.Drawing;Pens;get_LemonChiffon;();summary;df-generated | +| System.Drawing;Pens;get_LightBlue;();summary;df-generated | +| System.Drawing;Pens;get_LightCoral;();summary;df-generated | +| System.Drawing;Pens;get_LightCyan;();summary;df-generated | +| System.Drawing;Pens;get_LightGoldenrodYellow;();summary;df-generated | +| System.Drawing;Pens;get_LightGray;();summary;df-generated | +| System.Drawing;Pens;get_LightGreen;();summary;df-generated | +| System.Drawing;Pens;get_LightPink;();summary;df-generated | +| System.Drawing;Pens;get_LightSalmon;();summary;df-generated | +| System.Drawing;Pens;get_LightSeaGreen;();summary;df-generated | +| System.Drawing;Pens;get_LightSkyBlue;();summary;df-generated | +| System.Drawing;Pens;get_LightSlateGray;();summary;df-generated | +| System.Drawing;Pens;get_LightSteelBlue;();summary;df-generated | +| System.Drawing;Pens;get_LightYellow;();summary;df-generated | +| System.Drawing;Pens;get_Lime;();summary;df-generated | +| System.Drawing;Pens;get_LimeGreen;();summary;df-generated | +| System.Drawing;Pens;get_Linen;();summary;df-generated | +| System.Drawing;Pens;get_Magenta;();summary;df-generated | +| System.Drawing;Pens;get_Maroon;();summary;df-generated | +| System.Drawing;Pens;get_MediumAquamarine;();summary;df-generated | +| System.Drawing;Pens;get_MediumBlue;();summary;df-generated | +| System.Drawing;Pens;get_MediumOrchid;();summary;df-generated | +| System.Drawing;Pens;get_MediumPurple;();summary;df-generated | +| System.Drawing;Pens;get_MediumSeaGreen;();summary;df-generated | +| System.Drawing;Pens;get_MediumSlateBlue;();summary;df-generated | +| System.Drawing;Pens;get_MediumSpringGreen;();summary;df-generated | +| System.Drawing;Pens;get_MediumTurquoise;();summary;df-generated | +| System.Drawing;Pens;get_MediumVioletRed;();summary;df-generated | +| System.Drawing;Pens;get_MidnightBlue;();summary;df-generated | +| System.Drawing;Pens;get_MintCream;();summary;df-generated | +| System.Drawing;Pens;get_MistyRose;();summary;df-generated | +| System.Drawing;Pens;get_Moccasin;();summary;df-generated | +| System.Drawing;Pens;get_NavajoWhite;();summary;df-generated | +| System.Drawing;Pens;get_Navy;();summary;df-generated | +| System.Drawing;Pens;get_OldLace;();summary;df-generated | +| System.Drawing;Pens;get_Olive;();summary;df-generated | +| System.Drawing;Pens;get_OliveDrab;();summary;df-generated | +| System.Drawing;Pens;get_Orange;();summary;df-generated | +| System.Drawing;Pens;get_OrangeRed;();summary;df-generated | +| System.Drawing;Pens;get_Orchid;();summary;df-generated | +| System.Drawing;Pens;get_PaleGoldenrod;();summary;df-generated | +| System.Drawing;Pens;get_PaleGreen;();summary;df-generated | +| System.Drawing;Pens;get_PaleTurquoise;();summary;df-generated | +| System.Drawing;Pens;get_PaleVioletRed;();summary;df-generated | +| System.Drawing;Pens;get_PapayaWhip;();summary;df-generated | +| System.Drawing;Pens;get_PeachPuff;();summary;df-generated | +| System.Drawing;Pens;get_Peru;();summary;df-generated | +| System.Drawing;Pens;get_Pink;();summary;df-generated | +| System.Drawing;Pens;get_Plum;();summary;df-generated | +| System.Drawing;Pens;get_PowderBlue;();summary;df-generated | +| System.Drawing;Pens;get_Purple;();summary;df-generated | +| System.Drawing;Pens;get_Red;();summary;df-generated | +| System.Drawing;Pens;get_RosyBrown;();summary;df-generated | +| System.Drawing;Pens;get_RoyalBlue;();summary;df-generated | +| System.Drawing;Pens;get_SaddleBrown;();summary;df-generated | +| System.Drawing;Pens;get_Salmon;();summary;df-generated | +| System.Drawing;Pens;get_SandyBrown;();summary;df-generated | +| System.Drawing;Pens;get_SeaGreen;();summary;df-generated | +| System.Drawing;Pens;get_SeaShell;();summary;df-generated | +| System.Drawing;Pens;get_Sienna;();summary;df-generated | +| System.Drawing;Pens;get_Silver;();summary;df-generated | +| System.Drawing;Pens;get_SkyBlue;();summary;df-generated | +| System.Drawing;Pens;get_SlateBlue;();summary;df-generated | +| System.Drawing;Pens;get_SlateGray;();summary;df-generated | +| System.Drawing;Pens;get_Snow;();summary;df-generated | +| System.Drawing;Pens;get_SpringGreen;();summary;df-generated | +| System.Drawing;Pens;get_SteelBlue;();summary;df-generated | +| System.Drawing;Pens;get_Tan;();summary;df-generated | +| System.Drawing;Pens;get_Teal;();summary;df-generated | +| System.Drawing;Pens;get_Thistle;();summary;df-generated | +| System.Drawing;Pens;get_Tomato;();summary;df-generated | +| System.Drawing;Pens;get_Transparent;();summary;df-generated | +| System.Drawing;Pens;get_Turquoise;();summary;df-generated | +| System.Drawing;Pens;get_Violet;();summary;df-generated | +| System.Drawing;Pens;get_Wheat;();summary;df-generated | +| System.Drawing;Pens;get_White;();summary;df-generated | +| System.Drawing;Pens;get_WhiteSmoke;();summary;df-generated | +| System.Drawing;Pens;get_Yellow;();summary;df-generated | +| System.Drawing;Pens;get_YellowGreen;();summary;df-generated | | System.Drawing;Point;Add;(System.Drawing.Point,System.Drawing.Size);summary;df-generated | | System.Drawing;Point;Ceiling;(System.Drawing.PointF);summary;df-generated | | System.Drawing;Point;Equals;(System.Drawing.Point);summary;df-generated | @@ -22364,6 +26330,10 @@ neutral | System.Drawing;Point;get_IsEmpty;();summary;df-generated | | System.Drawing;Point;get_X;();summary;df-generated | | System.Drawing;Point;get_Y;();summary;df-generated | +| System.Drawing;Point;op_Addition;(System.Drawing.Point,System.Drawing.Size);summary;df-generated | +| System.Drawing;Point;op_Equality;(System.Drawing.Point,System.Drawing.Point);summary;df-generated | +| System.Drawing;Point;op_Inequality;(System.Drawing.Point,System.Drawing.Point);summary;df-generated | +| System.Drawing;Point;op_Subtraction;(System.Drawing.Point,System.Drawing.Size);summary;df-generated | | System.Drawing;Point;set_X;(System.Int32);summary;df-generated | | System.Drawing;Point;set_Y;(System.Int32);summary;df-generated | | System.Drawing;PointConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | @@ -22387,6 +26357,12 @@ neutral | System.Drawing;PointF;get_IsEmpty;();summary;df-generated | | System.Drawing;PointF;get_X;();summary;df-generated | | System.Drawing;PointF;get_Y;();summary;df-generated | +| System.Drawing;PointF;op_Addition;(System.Drawing.PointF,System.Drawing.Size);summary;df-generated | +| System.Drawing;PointF;op_Addition;(System.Drawing.PointF,System.Drawing.SizeF);summary;df-generated | +| System.Drawing;PointF;op_Equality;(System.Drawing.PointF,System.Drawing.PointF);summary;df-generated | +| System.Drawing;PointF;op_Inequality;(System.Drawing.PointF,System.Drawing.PointF);summary;df-generated | +| System.Drawing;PointF;op_Subtraction;(System.Drawing.PointF,System.Drawing.Size);summary;df-generated | +| System.Drawing;PointF;op_Subtraction;(System.Drawing.PointF,System.Drawing.SizeF);summary;df-generated | | System.Drawing;PointF;set_X;(System.Single);summary;df-generated | | System.Drawing;PointF;set_Y;(System.Single);summary;df-generated | | System.Drawing;Rectangle;Ceiling;(System.Drawing.RectangleF);summary;df-generated | @@ -22421,6 +26397,8 @@ neutral | System.Drawing;Rectangle;get_Width;();summary;df-generated | | System.Drawing;Rectangle;get_X;();summary;df-generated | | System.Drawing;Rectangle;get_Y;();summary;df-generated | +| System.Drawing;Rectangle;op_Equality;(System.Drawing.Rectangle,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Rectangle;op_Inequality;(System.Drawing.Rectangle,System.Drawing.Rectangle);summary;df-generated | | System.Drawing;Rectangle;set_Height;(System.Int32);summary;df-generated | | System.Drawing;Rectangle;set_Location;(System.Drawing.Point);summary;df-generated | | System.Drawing;Rectangle;set_Size;(System.Drawing.Size);summary;df-generated | @@ -22465,12 +26443,70 @@ neutral | System.Drawing;RectangleF;get_Width;();summary;df-generated | | System.Drawing;RectangleF;get_X;();summary;df-generated | | System.Drawing;RectangleF;get_Y;();summary;df-generated | +| System.Drawing;RectangleF;op_Equality;(System.Drawing.RectangleF,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;RectangleF;op_Inequality;(System.Drawing.RectangleF,System.Drawing.RectangleF);summary;df-generated | | System.Drawing;RectangleF;set_Height;(System.Single);summary;df-generated | | System.Drawing;RectangleF;set_Location;(System.Drawing.PointF);summary;df-generated | | System.Drawing;RectangleF;set_Size;(System.Drawing.SizeF);summary;df-generated | | System.Drawing;RectangleF;set_Width;(System.Single);summary;df-generated | | System.Drawing;RectangleF;set_X;(System.Single);summary;df-generated | | System.Drawing;RectangleF;set_Y;(System.Single);summary;df-generated | +| System.Drawing;Region;Clone;();summary;df-generated | +| System.Drawing;Region;Complement;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Region;Complement;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Region;Complement;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Region;Complement;(System.Drawing.Region);summary;df-generated | +| System.Drawing;Region;Dispose;();summary;df-generated | +| System.Drawing;Region;Equals;(System.Drawing.Region,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;Exclude;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Region;Exclude;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Region;Exclude;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Region;Exclude;(System.Drawing.Region);summary;df-generated | +| System.Drawing;Region;FromHrgn;(System.IntPtr);summary;df-generated | +| System.Drawing;Region;GetBounds;(System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;GetHrgn;(System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;GetRegionData;();summary;df-generated | +| System.Drawing;Region;GetRegionScans;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing;Region;Intersect;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Region;Intersect;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Region;Intersect;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Region;Intersect;(System.Drawing.Region);summary;df-generated | +| System.Drawing;Region;IsEmpty;(System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsInfinite;(System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Drawing.Point);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Drawing.Point,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Drawing.PointF);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Drawing.PointF,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Drawing.Rectangle,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Drawing.RectangleF,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Int32,System.Int32,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Int32,System.Int32,System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Single,System.Single,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Single,System.Single,System.Single,System.Single);summary;df-generated | +| System.Drawing;Region;IsVisible;(System.Single,System.Single,System.Single,System.Single,System.Drawing.Graphics);summary;df-generated | +| System.Drawing;Region;MakeEmpty;();summary;df-generated | +| System.Drawing;Region;MakeInfinite;();summary;df-generated | +| System.Drawing;Region;Region;();summary;df-generated | +| System.Drawing;Region;Region;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Region;Region;(System.Drawing.Drawing2D.RegionData);summary;df-generated | +| System.Drawing;Region;Region;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Region;Region;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Region;ReleaseHrgn;(System.IntPtr);summary;df-generated | +| System.Drawing;Region;Transform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing;Region;Translate;(System.Int32,System.Int32);summary;df-generated | +| System.Drawing;Region;Translate;(System.Single,System.Single);summary;df-generated | +| System.Drawing;Region;Union;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Region;Union;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Region;Union;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Region;Union;(System.Drawing.Region);summary;df-generated | +| System.Drawing;Region;Xor;(System.Drawing.Drawing2D.GraphicsPath);summary;df-generated | +| System.Drawing;Region;Xor;(System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;Region;Xor;(System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;Region;Xor;(System.Drawing.Region);summary;df-generated | | System.Drawing;Size;Add;(System.Drawing.Size,System.Drawing.Size);summary;df-generated | | System.Drawing;Size;Ceiling;(System.Drawing.SizeF);summary;df-generated | | System.Drawing;Size;Equals;(System.Drawing.Size);summary;df-generated | @@ -22485,6 +26521,16 @@ neutral | System.Drawing;Size;get_Height;();summary;df-generated | | System.Drawing;Size;get_IsEmpty;();summary;df-generated | | System.Drawing;Size;get_Width;();summary;df-generated | +| System.Drawing;Size;op_Addition;(System.Drawing.Size,System.Drawing.Size);summary;df-generated | +| System.Drawing;Size;op_Division;(System.Drawing.Size,System.Int32);summary;df-generated | +| System.Drawing;Size;op_Division;(System.Drawing.Size,System.Single);summary;df-generated | +| System.Drawing;Size;op_Equality;(System.Drawing.Size,System.Drawing.Size);summary;df-generated | +| System.Drawing;Size;op_Inequality;(System.Drawing.Size,System.Drawing.Size);summary;df-generated | +| System.Drawing;Size;op_Multiply;(System.Drawing.Size,System.Int32);summary;df-generated | +| System.Drawing;Size;op_Multiply;(System.Drawing.Size,System.Single);summary;df-generated | +| System.Drawing;Size;op_Multiply;(System.Int32,System.Drawing.Size);summary;df-generated | +| System.Drawing;Size;op_Multiply;(System.Single,System.Drawing.Size);summary;df-generated | +| System.Drawing;Size;op_Subtraction;(System.Drawing.Size,System.Drawing.Size);summary;df-generated | | System.Drawing;Size;set_Height;(System.Int32);summary;df-generated | | System.Drawing;Size;set_Width;(System.Int32);summary;df-generated | | System.Drawing;SizeConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | @@ -22510,6 +26556,13 @@ neutral | System.Drawing;SizeF;get_Height;();summary;df-generated | | System.Drawing;SizeF;get_IsEmpty;();summary;df-generated | | System.Drawing;SizeF;get_Width;();summary;df-generated | +| System.Drawing;SizeF;op_Addition;(System.Drawing.SizeF,System.Drawing.SizeF);summary;df-generated | +| System.Drawing;SizeF;op_Division;(System.Drawing.SizeF,System.Single);summary;df-generated | +| System.Drawing;SizeF;op_Equality;(System.Drawing.SizeF,System.Drawing.SizeF);summary;df-generated | +| System.Drawing;SizeF;op_Inequality;(System.Drawing.SizeF,System.Drawing.SizeF);summary;df-generated | +| System.Drawing;SizeF;op_Multiply;(System.Drawing.SizeF,System.Single);summary;df-generated | +| System.Drawing;SizeF;op_Multiply;(System.Single,System.Drawing.SizeF);summary;df-generated | +| System.Drawing;SizeF;op_Subtraction;(System.Drawing.SizeF,System.Drawing.SizeF);summary;df-generated | | System.Drawing;SizeF;set_Height;(System.Single);summary;df-generated | | System.Drawing;SizeF;set_Width;(System.Single);summary;df-generated | | System.Drawing;SizeFConverter;CanConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Type);summary;df-generated | @@ -22519,6 +26572,67 @@ neutral | System.Drawing;SizeFConverter;GetCreateInstanceSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | | System.Drawing;SizeFConverter;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);summary;df-generated | | System.Drawing;SizeFConverter;GetPropertiesSupported;(System.ComponentModel.ITypeDescriptorContext);summary;df-generated | +| System.Drawing;SolidBrush;Clone;();summary;df-generated | +| System.Drawing;SolidBrush;Dispose;(System.Boolean);summary;df-generated | +| System.Drawing;StringFormat;Clone;();summary;df-generated | +| System.Drawing;StringFormat;Dispose;();summary;df-generated | +| System.Drawing;StringFormat;GetTabStops;(System.Single);summary;df-generated | +| System.Drawing;StringFormat;SetDigitSubstitution;(System.Int32,System.Drawing.StringDigitSubstitute);summary;df-generated | +| System.Drawing;StringFormat;SetMeasurableCharacterRanges;(System.Drawing.CharacterRange[]);summary;df-generated | +| System.Drawing;StringFormat;SetTabStops;(System.Single,System.Single[]);summary;df-generated | +| System.Drawing;StringFormat;StringFormat;();summary;df-generated | +| System.Drawing;StringFormat;StringFormat;(System.Drawing.StringFormat);summary;df-generated | +| System.Drawing;StringFormat;StringFormat;(System.Drawing.StringFormatFlags);summary;df-generated | +| System.Drawing;StringFormat;StringFormat;(System.Drawing.StringFormatFlags,System.Int32);summary;df-generated | +| System.Drawing;StringFormat;ToString;();summary;df-generated | +| System.Drawing;StringFormat;get_Alignment;();summary;df-generated | +| System.Drawing;StringFormat;get_DigitSubstitutionLanguage;();summary;df-generated | +| System.Drawing;StringFormat;get_DigitSubstitutionMethod;();summary;df-generated | +| System.Drawing;StringFormat;get_FormatFlags;();summary;df-generated | +| System.Drawing;StringFormat;get_GenericDefault;();summary;df-generated | +| System.Drawing;StringFormat;get_GenericTypographic;();summary;df-generated | +| System.Drawing;StringFormat;get_HotkeyPrefix;();summary;df-generated | +| System.Drawing;StringFormat;get_LineAlignment;();summary;df-generated | +| System.Drawing;StringFormat;get_Trimming;();summary;df-generated | +| System.Drawing;StringFormat;set_Alignment;(System.Drawing.StringAlignment);summary;df-generated | +| System.Drawing;StringFormat;set_FormatFlags;(System.Drawing.StringFormatFlags);summary;df-generated | +| System.Drawing;StringFormat;set_HotkeyPrefix;(System.Drawing.Text.HotkeyPrefix);summary;df-generated | +| System.Drawing;StringFormat;set_LineAlignment;(System.Drawing.StringAlignment);summary;df-generated | +| System.Drawing;StringFormat;set_Trimming;(System.Drawing.StringTrimming);summary;df-generated | +| System.Drawing;SystemBrushes;FromSystemColor;(System.Drawing.Color);summary;df-generated | +| System.Drawing;SystemBrushes;get_ActiveBorder;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ActiveCaption;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ActiveCaptionText;();summary;df-generated | +| System.Drawing;SystemBrushes;get_AppWorkspace;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ButtonFace;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ButtonHighlight;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ButtonShadow;();summary;df-generated | +| System.Drawing;SystemBrushes;get_Control;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ControlDark;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ControlDarkDark;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ControlLight;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ControlLightLight;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ControlText;();summary;df-generated | +| System.Drawing;SystemBrushes;get_Desktop;();summary;df-generated | +| System.Drawing;SystemBrushes;get_GradientActiveCaption;();summary;df-generated | +| System.Drawing;SystemBrushes;get_GradientInactiveCaption;();summary;df-generated | +| System.Drawing;SystemBrushes;get_GrayText;();summary;df-generated | +| System.Drawing;SystemBrushes;get_Highlight;();summary;df-generated | +| System.Drawing;SystemBrushes;get_HighlightText;();summary;df-generated | +| System.Drawing;SystemBrushes;get_HotTrack;();summary;df-generated | +| System.Drawing;SystemBrushes;get_InactiveBorder;();summary;df-generated | +| System.Drawing;SystemBrushes;get_InactiveCaption;();summary;df-generated | +| System.Drawing;SystemBrushes;get_InactiveCaptionText;();summary;df-generated | +| System.Drawing;SystemBrushes;get_Info;();summary;df-generated | +| System.Drawing;SystemBrushes;get_InfoText;();summary;df-generated | +| System.Drawing;SystemBrushes;get_Menu;();summary;df-generated | +| System.Drawing;SystemBrushes;get_MenuBar;();summary;df-generated | +| System.Drawing;SystemBrushes;get_MenuHighlight;();summary;df-generated | +| System.Drawing;SystemBrushes;get_MenuText;();summary;df-generated | +| System.Drawing;SystemBrushes;get_ScrollBar;();summary;df-generated | +| System.Drawing;SystemBrushes;get_Window;();summary;df-generated | +| System.Drawing;SystemBrushes;get_WindowFrame;();summary;df-generated | +| System.Drawing;SystemBrushes;get_WindowText;();summary;df-generated | | System.Drawing;SystemColors;get_ActiveBorder;();summary;df-generated | | System.Drawing;SystemColors;get_ActiveCaption;();summary;df-generated | | System.Drawing;SystemColors;get_ActiveCaptionText;();summary;df-generated | @@ -22552,6 +26666,88 @@ neutral | System.Drawing;SystemColors;get_Window;();summary;df-generated | | System.Drawing;SystemColors;get_WindowFrame;();summary;df-generated | | System.Drawing;SystemColors;get_WindowText;();summary;df-generated | +| System.Drawing;SystemFonts;GetFontByName;(System.String);summary;df-generated | +| System.Drawing;SystemFonts;get_CaptionFont;();summary;df-generated | +| System.Drawing;SystemFonts;get_DefaultFont;();summary;df-generated | +| System.Drawing;SystemFonts;get_DialogFont;();summary;df-generated | +| System.Drawing;SystemFonts;get_IconTitleFont;();summary;df-generated | +| System.Drawing;SystemFonts;get_MenuFont;();summary;df-generated | +| System.Drawing;SystemFonts;get_MessageBoxFont;();summary;df-generated | +| System.Drawing;SystemFonts;get_SmallCaptionFont;();summary;df-generated | +| System.Drawing;SystemFonts;get_StatusFont;();summary;df-generated | +| System.Drawing;SystemIcons;get_Application;();summary;df-generated | +| System.Drawing;SystemIcons;get_Asterisk;();summary;df-generated | +| System.Drawing;SystemIcons;get_Error;();summary;df-generated | +| System.Drawing;SystemIcons;get_Exclamation;();summary;df-generated | +| System.Drawing;SystemIcons;get_Hand;();summary;df-generated | +| System.Drawing;SystemIcons;get_Information;();summary;df-generated | +| System.Drawing;SystemIcons;get_Question;();summary;df-generated | +| System.Drawing;SystemIcons;get_Shield;();summary;df-generated | +| System.Drawing;SystemIcons;get_Warning;();summary;df-generated | +| System.Drawing;SystemIcons;get_WinLogo;();summary;df-generated | +| System.Drawing;SystemPens;FromSystemColor;(System.Drawing.Color);summary;df-generated | +| System.Drawing;SystemPens;get_ActiveBorder;();summary;df-generated | +| System.Drawing;SystemPens;get_ActiveCaption;();summary;df-generated | +| System.Drawing;SystemPens;get_ActiveCaptionText;();summary;df-generated | +| System.Drawing;SystemPens;get_AppWorkspace;();summary;df-generated | +| System.Drawing;SystemPens;get_ButtonFace;();summary;df-generated | +| System.Drawing;SystemPens;get_ButtonHighlight;();summary;df-generated | +| System.Drawing;SystemPens;get_ButtonShadow;();summary;df-generated | +| System.Drawing;SystemPens;get_Control;();summary;df-generated | +| System.Drawing;SystemPens;get_ControlDark;();summary;df-generated | +| System.Drawing;SystemPens;get_ControlDarkDark;();summary;df-generated | +| System.Drawing;SystemPens;get_ControlLight;();summary;df-generated | +| System.Drawing;SystemPens;get_ControlLightLight;();summary;df-generated | +| System.Drawing;SystemPens;get_ControlText;();summary;df-generated | +| System.Drawing;SystemPens;get_Desktop;();summary;df-generated | +| System.Drawing;SystemPens;get_GradientActiveCaption;();summary;df-generated | +| System.Drawing;SystemPens;get_GradientInactiveCaption;();summary;df-generated | +| System.Drawing;SystemPens;get_GrayText;();summary;df-generated | +| System.Drawing;SystemPens;get_Highlight;();summary;df-generated | +| System.Drawing;SystemPens;get_HighlightText;();summary;df-generated | +| System.Drawing;SystemPens;get_HotTrack;();summary;df-generated | +| System.Drawing;SystemPens;get_InactiveBorder;();summary;df-generated | +| System.Drawing;SystemPens;get_InactiveCaption;();summary;df-generated | +| System.Drawing;SystemPens;get_InactiveCaptionText;();summary;df-generated | +| System.Drawing;SystemPens;get_Info;();summary;df-generated | +| System.Drawing;SystemPens;get_InfoText;();summary;df-generated | +| System.Drawing;SystemPens;get_Menu;();summary;df-generated | +| System.Drawing;SystemPens;get_MenuBar;();summary;df-generated | +| System.Drawing;SystemPens;get_MenuHighlight;();summary;df-generated | +| System.Drawing;SystemPens;get_MenuText;();summary;df-generated | +| System.Drawing;SystemPens;get_ScrollBar;();summary;df-generated | +| System.Drawing;SystemPens;get_Window;();summary;df-generated | +| System.Drawing;SystemPens;get_WindowFrame;();summary;df-generated | +| System.Drawing;SystemPens;get_WindowText;();summary;df-generated | +| System.Drawing;TextureBrush;Clone;();summary;df-generated | +| System.Drawing;TextureBrush;MultiplyTransform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing;TextureBrush;MultiplyTransform;(System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;TextureBrush;ResetTransform;();summary;df-generated | +| System.Drawing;TextureBrush;RotateTransform;(System.Single);summary;df-generated | +| System.Drawing;TextureBrush;RotateTransform;(System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;TextureBrush;ScaleTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing;TextureBrush;ScaleTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;TextureBrush;TextureBrush;(System.Drawing.Image);summary;df-generated | +| System.Drawing;TextureBrush;TextureBrush;(System.Drawing.Image,System.Drawing.Drawing2D.WrapMode);summary;df-generated | +| System.Drawing;TextureBrush;TextureBrush;(System.Drawing.Image,System.Drawing.Drawing2D.WrapMode,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;TextureBrush;TextureBrush;(System.Drawing.Image,System.Drawing.Drawing2D.WrapMode,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;TextureBrush;TextureBrush;(System.Drawing.Image,System.Drawing.Rectangle);summary;df-generated | +| System.Drawing;TextureBrush;TextureBrush;(System.Drawing.Image,System.Drawing.Rectangle,System.Drawing.Imaging.ImageAttributes);summary;df-generated | +| System.Drawing;TextureBrush;TextureBrush;(System.Drawing.Image,System.Drawing.RectangleF);summary;df-generated | +| System.Drawing;TextureBrush;TextureBrush;(System.Drawing.Image,System.Drawing.RectangleF,System.Drawing.Imaging.ImageAttributes);summary;df-generated | +| System.Drawing;TextureBrush;TranslateTransform;(System.Single,System.Single);summary;df-generated | +| System.Drawing;TextureBrush;TranslateTransform;(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder);summary;df-generated | +| System.Drawing;TextureBrush;get_Image;();summary;df-generated | +| System.Drawing;TextureBrush;get_Transform;();summary;df-generated | +| System.Drawing;TextureBrush;get_WrapMode;();summary;df-generated | +| System.Drawing;TextureBrush;set_Transform;(System.Drawing.Drawing2D.Matrix);summary;df-generated | +| System.Drawing;TextureBrush;set_WrapMode;(System.Drawing.Drawing2D.WrapMode);summary;df-generated | +| System.Drawing;ToolboxBitmapAttribute;Equals;(System.Object);summary;df-generated | +| System.Drawing;ToolboxBitmapAttribute;GetHashCode;();summary;df-generated | +| System.Drawing;ToolboxBitmapAttribute;GetImageFromResource;(System.Type,System.String,System.Boolean);summary;df-generated | +| System.Drawing;ToolboxBitmapAttribute;ToolboxBitmapAttribute;(System.String);summary;df-generated | +| System.Drawing;ToolboxBitmapAttribute;ToolboxBitmapAttribute;(System.Type);summary;df-generated | +| System.Drawing;ToolboxBitmapAttribute;ToolboxBitmapAttribute;(System.Type,System.String);summary;df-generated | | System.Dynamic;BinaryOperationBinder;BinaryOperationBinder;(System.Linq.Expressions.ExpressionType);summary;df-generated | | System.Dynamic;BinaryOperationBinder;Bind;(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]);summary;df-generated | | System.Dynamic;BinaryOperationBinder;FallbackBinaryOperation;(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject);summary;df-generated | @@ -22706,6 +26902,8 @@ neutral | System.Formats.Asn1;Asn1Tag;get_IsConstructed;();summary;df-generated | | System.Formats.Asn1;Asn1Tag;get_TagClass;();summary;df-generated | | System.Formats.Asn1;Asn1Tag;get_TagValue;();summary;df-generated | +| System.Formats.Asn1;Asn1Tag;op_Equality;(System.Formats.Asn1.Asn1Tag,System.Formats.Asn1.Asn1Tag);summary;df-generated | +| System.Formats.Asn1;Asn1Tag;op_Inequality;(System.Formats.Asn1.Asn1Tag,System.Formats.Asn1.Asn1Tag);summary;df-generated | | System.Formats.Asn1;AsnContentException;AsnContentException;();summary;df-generated | | System.Formats.Asn1;AsnContentException;AsnContentException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Formats.Asn1;AsnContentException;AsnContentException;(System.String);summary;df-generated | @@ -23273,6 +27471,8 @@ neutral | System.Globalization;SortVersion;Equals;(System.Object);summary;df-generated | | System.Globalization;SortVersion;GetHashCode;();summary;df-generated | | System.Globalization;SortVersion;get_FullVersion;();summary;df-generated | +| System.Globalization;SortVersion;op_Equality;(System.Globalization.SortVersion,System.Globalization.SortVersion);summary;df-generated | +| System.Globalization;SortVersion;op_Inequality;(System.Globalization.SortVersion,System.Globalization.SortVersion);summary;df-generated | | System.Globalization;StringInfo;Equals;(System.Object);summary;df-generated | | System.Globalization;StringInfo;GetHashCode;();summary;df-generated | | System.Globalization;StringInfo;GetNextTextElementLength;(System.ReadOnlySpan);summary;df-generated | @@ -25336,6 +29536,8 @@ neutral | System.Net.Http;HttpMethod;get_Post;();summary;df-generated | | System.Net.Http;HttpMethod;get_Put;();summary;df-generated | | System.Net.Http;HttpMethod;get_Trace;();summary;df-generated | +| System.Net.Http;HttpMethod;op_Equality;(System.Net.Http.HttpMethod,System.Net.Http.HttpMethod);summary;df-generated | +| System.Net.Http;HttpMethod;op_Inequality;(System.Net.Http.HttpMethod,System.Net.Http.HttpMethod);summary;df-generated | | System.Net.Http;HttpRequestException;HttpRequestException;();summary;df-generated | | System.Net.Http;HttpRequestException;HttpRequestException;(System.String);summary;df-generated | | System.Net.Http;HttpRequestException;HttpRequestException;(System.String,System.Exception);summary;df-generated | @@ -25911,6 +30113,8 @@ neutral | System.Net.Security;SslApplicationProtocol;GetHashCode;();summary;df-generated | | System.Net.Security;SslApplicationProtocol;SslApplicationProtocol;(System.Byte[]);summary;df-generated | | System.Net.Security;SslApplicationProtocol;SslApplicationProtocol;(System.String);summary;df-generated | +| System.Net.Security;SslApplicationProtocol;op_Equality;(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol);summary;df-generated | +| System.Net.Security;SslApplicationProtocol;op_Inequality;(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol);summary;df-generated | | System.Net.Security;SslClientAuthenticationOptions;get_AllowRenegotiation;();summary;df-generated | | System.Net.Security;SslClientAuthenticationOptions;get_ApplicationProtocols;();summary;df-generated | | System.Net.Security;SslClientAuthenticationOptions;get_CertificateRevocationCheckMode;();summary;df-generated | @@ -26012,6 +30216,8 @@ neutral | System.Net.Sockets;IPPacketInformation;Equals;(System.Object);summary;df-generated | | System.Net.Sockets;IPPacketInformation;GetHashCode;();summary;df-generated | | System.Net.Sockets;IPPacketInformation;get_Interface;();summary;df-generated | +| System.Net.Sockets;IPPacketInformation;op_Equality;(System.Net.Sockets.IPPacketInformation,System.Net.Sockets.IPPacketInformation);summary;df-generated | +| System.Net.Sockets;IPPacketInformation;op_Inequality;(System.Net.Sockets.IPPacketInformation,System.Net.Sockets.IPPacketInformation);summary;df-generated | | System.Net.Sockets;IPv6MulticastOption;get_InterfaceIndex;();summary;df-generated | | System.Net.Sockets;IPv6MulticastOption;set_InterfaceIndex;(System.Int64);summary;df-generated | | System.Net.Sockets;LingerOption;LingerOption;(System.Boolean,System.Int32);summary;df-generated | @@ -26320,6 +30526,8 @@ neutral | System.Net.Sockets;UdpReceiveResult;Equals;(System.Net.Sockets.UdpReceiveResult);summary;df-generated | | System.Net.Sockets;UdpReceiveResult;Equals;(System.Object);summary;df-generated | | System.Net.Sockets;UdpReceiveResult;GetHashCode;();summary;df-generated | +| System.Net.Sockets;UdpReceiveResult;op_Equality;(System.Net.Sockets.UdpReceiveResult,System.Net.Sockets.UdpReceiveResult);summary;df-generated | +| System.Net.Sockets;UdpReceiveResult;op_Inequality;(System.Net.Sockets.UdpReceiveResult,System.Net.Sockets.UdpReceiveResult);summary;df-generated | | System.Net.Sockets;UnixDomainSocketEndPoint;Create;(System.Net.SocketAddress);summary;df-generated | | System.Net.Sockets;UnixDomainSocketEndPoint;Serialize;();summary;df-generated | | System.Net.Sockets;UnixDomainSocketEndPoint;UnixDomainSocketEndPoint;(System.String);summary;df-generated | @@ -27076,6 +31284,30 @@ neutral | System.Numerics;BigInteger;get_One;();summary;df-generated | | System.Numerics;BigInteger;get_Sign;();summary;df-generated | | System.Numerics;BigInteger;get_Zero;();summary;df-generated | +| System.Numerics;BigInteger;op_Equality;(System.Int64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_Equality;(System.Numerics.BigInteger,System.Int64);summary;df-generated | +| System.Numerics;BigInteger;op_Equality;(System.Numerics.BigInteger,System.UInt64);summary;df-generated | +| System.Numerics;BigInteger;op_Equality;(System.UInt64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_GreaterThan;(System.Int64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_GreaterThan;(System.Numerics.BigInteger,System.Int64);summary;df-generated | +| System.Numerics;BigInteger;op_GreaterThan;(System.Numerics.BigInteger,System.UInt64);summary;df-generated | +| System.Numerics;BigInteger;op_GreaterThan;(System.UInt64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_GreaterThanOrEqual;(System.Int64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_GreaterThanOrEqual;(System.Numerics.BigInteger,System.Int64);summary;df-generated | +| System.Numerics;BigInteger;op_GreaterThanOrEqual;(System.Numerics.BigInteger,System.UInt64);summary;df-generated | +| System.Numerics;BigInteger;op_GreaterThanOrEqual;(System.UInt64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_Inequality;(System.Int64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_Inequality;(System.Numerics.BigInteger,System.Int64);summary;df-generated | +| System.Numerics;BigInteger;op_Inequality;(System.Numerics.BigInteger,System.UInt64);summary;df-generated | +| System.Numerics;BigInteger;op_Inequality;(System.UInt64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_LessThan;(System.Int64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_LessThan;(System.Numerics.BigInteger,System.Int64);summary;df-generated | +| System.Numerics;BigInteger;op_LessThan;(System.Numerics.BigInteger,System.UInt64);summary;df-generated | +| System.Numerics;BigInteger;op_LessThan;(System.UInt64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_LessThanOrEqual;(System.Int64,System.Numerics.BigInteger);summary;df-generated | +| System.Numerics;BigInteger;op_LessThanOrEqual;(System.Numerics.BigInteger,System.Int64);summary;df-generated | +| System.Numerics;BigInteger;op_LessThanOrEqual;(System.Numerics.BigInteger,System.UInt64);summary;df-generated | +| System.Numerics;BigInteger;op_LessThanOrEqual;(System.UInt64,System.Numerics.BigInteger);summary;df-generated | | System.Numerics;BitOperations;IsPow2;(System.Int32);summary;df-generated | | System.Numerics;BitOperations;IsPow2;(System.Int64);summary;df-generated | | System.Numerics;BitOperations;IsPow2;(System.IntPtr);summary;df-generated | @@ -27152,6 +31384,14 @@ neutral | System.Numerics;Complex;get_Magnitude;();summary;df-generated | | System.Numerics;Complex;get_Phase;();summary;df-generated | | System.Numerics;Complex;get_Real;();summary;df-generated | +| System.Numerics;Complex;op_Addition;(System.Double,System.Numerics.Complex);summary;df-generated | +| System.Numerics;Complex;op_Addition;(System.Numerics.Complex,System.Double);summary;df-generated | +| System.Numerics;Complex;op_Division;(System.Double,System.Numerics.Complex);summary;df-generated | +| System.Numerics;Complex;op_Division;(System.Numerics.Complex,System.Double);summary;df-generated | +| System.Numerics;Complex;op_Multiply;(System.Double,System.Numerics.Complex);summary;df-generated | +| System.Numerics;Complex;op_Multiply;(System.Numerics.Complex,System.Double);summary;df-generated | +| System.Numerics;Complex;op_Subtraction;(System.Double,System.Numerics.Complex);summary;df-generated | +| System.Numerics;Complex;op_Subtraction;(System.Numerics.Complex,System.Double);summary;df-generated | | System.Numerics;Matrix3x2;Add;(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2);summary;df-generated | | System.Numerics;Matrix3x2;CreateRotation;(System.Single);summary;df-generated | | System.Numerics;Matrix3x2;CreateRotation;(System.Single,System.Numerics.Vector2);summary;df-generated | @@ -27181,6 +31421,13 @@ neutral | System.Numerics;Matrix3x2;get_IsIdentity;();summary;df-generated | | System.Numerics;Matrix3x2;get_Item;(System.Int32,System.Int32);summary;df-generated | | System.Numerics;Matrix3x2;get_Translation;();summary;df-generated | +| System.Numerics;Matrix3x2;op_Addition;(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2);summary;df-generated | +| System.Numerics;Matrix3x2;op_Equality;(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2);summary;df-generated | +| System.Numerics;Matrix3x2;op_Inequality;(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2);summary;df-generated | +| System.Numerics;Matrix3x2;op_Multiply;(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2);summary;df-generated | +| System.Numerics;Matrix3x2;op_Multiply;(System.Numerics.Matrix3x2,System.Single);summary;df-generated | +| System.Numerics;Matrix3x2;op_Subtraction;(System.Numerics.Matrix3x2,System.Numerics.Matrix3x2);summary;df-generated | +| System.Numerics;Matrix3x2;op_UnaryNegation;(System.Numerics.Matrix3x2);summary;df-generated | | System.Numerics;Matrix3x2;set_Item;(System.Int32,System.Int32,System.Single);summary;df-generated | | System.Numerics;Matrix3x2;set_Translation;(System.Numerics.Vector2);summary;df-generated | | System.Numerics;Matrix4x4;CreateBillboard;(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | @@ -27225,6 +31472,8 @@ neutral | System.Numerics;Matrix4x4;get_IsIdentity;();summary;df-generated | | System.Numerics;Matrix4x4;get_Item;(System.Int32,System.Int32);summary;df-generated | | System.Numerics;Matrix4x4;get_Translation;();summary;df-generated | +| System.Numerics;Matrix4x4;op_Equality;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);summary;df-generated | +| System.Numerics;Matrix4x4;op_Inequality;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);summary;df-generated | | System.Numerics;Matrix4x4;set_Item;(System.Int32,System.Int32,System.Single);summary;df-generated | | System.Numerics;Matrix4x4;set_Translation;(System.Numerics.Vector3);summary;df-generated | | System.Numerics;Plane;CreateFromVertices;(System.Numerics.Vector3,System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | @@ -27238,6 +31487,8 @@ neutral | System.Numerics;Plane;Plane;(System.Single,System.Single,System.Single,System.Single);summary;df-generated | | System.Numerics;Plane;Transform;(System.Numerics.Plane,System.Numerics.Matrix4x4);summary;df-generated | | System.Numerics;Plane;Transform;(System.Numerics.Plane,System.Numerics.Quaternion);summary;df-generated | +| System.Numerics;Plane;op_Equality;(System.Numerics.Plane,System.Numerics.Plane);summary;df-generated | +| System.Numerics;Plane;op_Inequality;(System.Numerics.Plane,System.Numerics.Plane);summary;df-generated | | System.Numerics;Quaternion;Add;(System.Numerics.Quaternion,System.Numerics.Quaternion);summary;df-generated | | System.Numerics;Quaternion;Concatenate;(System.Numerics.Quaternion,System.Numerics.Quaternion);summary;df-generated | | System.Numerics;Quaternion;Conjugate;(System.Numerics.Quaternion);summary;df-generated | @@ -27266,6 +31517,14 @@ neutral | System.Numerics;Quaternion;get_IsIdentity;();summary;df-generated | | System.Numerics;Quaternion;get_Item;(System.Int32);summary;df-generated | | System.Numerics;Quaternion;get_Zero;();summary;df-generated | +| System.Numerics;Quaternion;op_Addition;(System.Numerics.Quaternion,System.Numerics.Quaternion);summary;df-generated | +| System.Numerics;Quaternion;op_Division;(System.Numerics.Quaternion,System.Numerics.Quaternion);summary;df-generated | +| System.Numerics;Quaternion;op_Equality;(System.Numerics.Quaternion,System.Numerics.Quaternion);summary;df-generated | +| System.Numerics;Quaternion;op_Inequality;(System.Numerics.Quaternion,System.Numerics.Quaternion);summary;df-generated | +| System.Numerics;Quaternion;op_Multiply;(System.Numerics.Quaternion,System.Numerics.Quaternion);summary;df-generated | +| System.Numerics;Quaternion;op_Multiply;(System.Numerics.Quaternion,System.Single);summary;df-generated | +| System.Numerics;Quaternion;op_Subtraction;(System.Numerics.Quaternion,System.Numerics.Quaternion);summary;df-generated | +| System.Numerics;Quaternion;op_UnaryNegation;(System.Numerics.Quaternion);summary;df-generated | | System.Numerics;Quaternion;set_Item;(System.Int32,System.Single);summary;df-generated | | System.Numerics;Vector2;Abs;(System.Numerics.Vector2);summary;df-generated | | System.Numerics;Vector2;Add;(System.Numerics.Vector2,System.Numerics.Vector2);summary;df-generated | @@ -27310,6 +31569,16 @@ neutral | System.Numerics;Vector2;get_UnitX;();summary;df-generated | | System.Numerics;Vector2;get_UnitY;();summary;df-generated | | System.Numerics;Vector2;get_Zero;();summary;df-generated | +| System.Numerics;Vector2;op_Addition;(System.Numerics.Vector2,System.Numerics.Vector2);summary;df-generated | +| System.Numerics;Vector2;op_Division;(System.Numerics.Vector2,System.Numerics.Vector2);summary;df-generated | +| System.Numerics;Vector2;op_Division;(System.Numerics.Vector2,System.Single);summary;df-generated | +| System.Numerics;Vector2;op_Equality;(System.Numerics.Vector2,System.Numerics.Vector2);summary;df-generated | +| System.Numerics;Vector2;op_Inequality;(System.Numerics.Vector2,System.Numerics.Vector2);summary;df-generated | +| System.Numerics;Vector2;op_Multiply;(System.Numerics.Vector2,System.Numerics.Vector2);summary;df-generated | +| System.Numerics;Vector2;op_Multiply;(System.Numerics.Vector2,System.Single);summary;df-generated | +| System.Numerics;Vector2;op_Multiply;(System.Single,System.Numerics.Vector2);summary;df-generated | +| System.Numerics;Vector2;op_Subtraction;(System.Numerics.Vector2,System.Numerics.Vector2);summary;df-generated | +| System.Numerics;Vector2;op_UnaryNegation;(System.Numerics.Vector2);summary;df-generated | | System.Numerics;Vector2;set_Item;(System.Int32,System.Single);summary;df-generated | | System.Numerics;Vector3;Abs;(System.Numerics.Vector3);summary;df-generated | | System.Numerics;Vector3;Add;(System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | @@ -27355,6 +31624,16 @@ neutral | System.Numerics;Vector3;get_UnitY;();summary;df-generated | | System.Numerics;Vector3;get_UnitZ;();summary;df-generated | | System.Numerics;Vector3;get_Zero;();summary;df-generated | +| System.Numerics;Vector3;op_Addition;(System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | +| System.Numerics;Vector3;op_Division;(System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | +| System.Numerics;Vector3;op_Division;(System.Numerics.Vector3,System.Single);summary;df-generated | +| System.Numerics;Vector3;op_Equality;(System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | +| System.Numerics;Vector3;op_Inequality;(System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | +| System.Numerics;Vector3;op_Multiply;(System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | +| System.Numerics;Vector3;op_Multiply;(System.Numerics.Vector3,System.Single);summary;df-generated | +| System.Numerics;Vector3;op_Multiply;(System.Single,System.Numerics.Vector3);summary;df-generated | +| System.Numerics;Vector3;op_Subtraction;(System.Numerics.Vector3,System.Numerics.Vector3);summary;df-generated | +| System.Numerics;Vector3;op_UnaryNegation;(System.Numerics.Vector3);summary;df-generated | | System.Numerics;Vector3;set_Item;(System.Int32,System.Single);summary;df-generated | | System.Numerics;Vector4;Abs;(System.Numerics.Vector4);summary;df-generated | | System.Numerics;Vector4;Add;(System.Numerics.Vector4,System.Numerics.Vector4);summary;df-generated | @@ -27403,6 +31682,16 @@ neutral | System.Numerics;Vector4;get_UnitY;();summary;df-generated | | System.Numerics;Vector4;get_UnitZ;();summary;df-generated | | System.Numerics;Vector4;get_Zero;();summary;df-generated | +| System.Numerics;Vector4;op_Addition;(System.Numerics.Vector4,System.Numerics.Vector4);summary;df-generated | +| System.Numerics;Vector4;op_Division;(System.Numerics.Vector4,System.Numerics.Vector4);summary;df-generated | +| System.Numerics;Vector4;op_Division;(System.Numerics.Vector4,System.Single);summary;df-generated | +| System.Numerics;Vector4;op_Equality;(System.Numerics.Vector4,System.Numerics.Vector4);summary;df-generated | +| System.Numerics;Vector4;op_Inequality;(System.Numerics.Vector4,System.Numerics.Vector4);summary;df-generated | +| System.Numerics;Vector4;op_Multiply;(System.Numerics.Vector4,System.Numerics.Vector4);summary;df-generated | +| System.Numerics;Vector4;op_Multiply;(System.Numerics.Vector4,System.Single);summary;df-generated | +| System.Numerics;Vector4;op_Multiply;(System.Single,System.Numerics.Vector4);summary;df-generated | +| System.Numerics;Vector4;op_Subtraction;(System.Numerics.Vector4,System.Numerics.Vector4);summary;df-generated | +| System.Numerics;Vector4;op_UnaryNegation;(System.Numerics.Vector4);summary;df-generated | | System.Numerics;Vector4;set_Item;(System.Int32,System.Single);summary;df-generated | | System.Numerics;Vector;Add<>;(System.Numerics.Vector,System.Numerics.Vector);summary;df-generated | | System.Numerics;Vector;AndNot<>;(System.Numerics.Vector,System.Numerics.Vector);summary;df-generated | @@ -27521,6 +31810,19 @@ neutral | System.Numerics;Vector<>;get_Item;(System.Int32);summary;df-generated | | System.Numerics;Vector<>;get_One;();summary;df-generated | | System.Numerics;Vector<>;get_Zero;();summary;df-generated | +| System.Numerics;Vector<>;op_Addition;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_BitwiseAnd;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_BitwiseOr;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_Division;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_Equality;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_ExclusiveOr;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_Inequality;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_Multiply;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_Multiply;(System.Numerics.Vector<>,T);summary;df-generated | +| System.Numerics;Vector<>;op_Multiply;(T,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_OnesComplement;(System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_Subtraction;(System.Numerics.Vector<>,System.Numerics.Vector<>);summary;df-generated | +| System.Numerics;Vector<>;op_UnaryNegation;(System.Numerics.Vector<>);summary;df-generated | | System.Reflection.Emit;AssemblyBuilder;Equals;(System.Object);summary;df-generated | | System.Reflection.Emit;AssemblyBuilder;GetCustomAttributes;(System.Boolean);summary;df-generated | | System.Reflection.Emit;AssemblyBuilder;GetCustomAttributes;(System.Type,System.Boolean);summary;df-generated | @@ -27752,6 +32054,8 @@ neutral | System.Reflection.Emit;Label;Equals;(System.Object);summary;df-generated | | System.Reflection.Emit;Label;Equals;(System.Reflection.Emit.Label);summary;df-generated | | System.Reflection.Emit;Label;GetHashCode;();summary;df-generated | +| System.Reflection.Emit;Label;op_Equality;(System.Reflection.Emit.Label,System.Reflection.Emit.Label);summary;df-generated | +| System.Reflection.Emit;Label;op_Inequality;(System.Reflection.Emit.Label,System.Reflection.Emit.Label);summary;df-generated | | System.Reflection.Emit;LocalBuilder;get_IsPinned;();summary;df-generated | | System.Reflection.Emit;LocalBuilder;get_LocalIndex;();summary;df-generated | | System.Reflection.Emit;MethodBuilder;Equals;(System.Object);summary;df-generated | @@ -27810,6 +32114,8 @@ neutral | System.Reflection.Emit;OpCode;get_StackBehaviourPop;();summary;df-generated | | System.Reflection.Emit;OpCode;get_StackBehaviourPush;();summary;df-generated | | System.Reflection.Emit;OpCode;get_Value;();summary;df-generated | +| System.Reflection.Emit;OpCode;op_Equality;(System.Reflection.Emit.OpCode,System.Reflection.Emit.OpCode);summary;df-generated | +| System.Reflection.Emit;OpCode;op_Inequality;(System.Reflection.Emit.OpCode,System.Reflection.Emit.OpCode);summary;df-generated | | System.Reflection.Emit;OpCodes;TakesSingleByteArgument;(System.Reflection.Emit.OpCode);summary;df-generated | | System.Reflection.Emit;ParameterBuilder;SetCustomAttribute;(System.Reflection.ConstructorInfo,System.Byte[]);summary;df-generated | | System.Reflection.Emit;ParameterBuilder;get_Attributes;();summary;df-generated | @@ -28001,6 +32307,8 @@ neutral | System.Reflection.Metadata.Ecma335;LabelHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata.Ecma335;LabelHandle;get_Id;();summary;df-generated | | System.Reflection.Metadata.Ecma335;LabelHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata.Ecma335;LabelHandle;op_Equality;(System.Reflection.Metadata.Ecma335.LabelHandle,System.Reflection.Metadata.Ecma335.LabelHandle);summary;df-generated | +| System.Reflection.Metadata.Ecma335;LabelHandle;op_Inequality;(System.Reflection.Metadata.Ecma335.LabelHandle,System.Reflection.Metadata.Ecma335.LabelHandle);summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;LiteralEncoder;(System.Reflection.Metadata.BlobBuilder);summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;Scalar;();summary;df-generated | | System.Reflection.Metadata.Ecma335;LiteralEncoder;TaggedScalar;(System.Reflection.Metadata.Ecma335.CustomAttributeElementTypeEncoder,System.Reflection.Metadata.Ecma335.ScalarEncoder);summary;df-generated | @@ -28252,6 +32560,8 @@ neutral | System.Reflection.Metadata;AssemblyDefinitionHandle;Equals;(System.Reflection.Metadata.AssemblyDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;AssemblyDefinitionHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;AssemblyDefinitionHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;AssemblyDefinitionHandle;op_Equality;(System.Reflection.Metadata.AssemblyDefinitionHandle,System.Reflection.Metadata.AssemblyDefinitionHandle);summary;df-generated | +| System.Reflection.Metadata;AssemblyDefinitionHandle;op_Inequality;(System.Reflection.Metadata.AssemblyDefinitionHandle,System.Reflection.Metadata.AssemblyDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;AssemblyExtensions;TryGetRawMetadata;(System.Reflection.Assembly,System.Byte*,System.Int32);summary;df-generated | | System.Reflection.Metadata;AssemblyFile;get_ContainsMetadata;();summary;df-generated | | System.Reflection.Metadata;AssemblyFile;get_HashValue;();summary;df-generated | @@ -28260,6 +32570,8 @@ neutral | System.Reflection.Metadata;AssemblyFileHandle;Equals;(System.Reflection.Metadata.AssemblyFileHandle);summary;df-generated | | System.Reflection.Metadata;AssemblyFileHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;AssemblyFileHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;AssemblyFileHandle;op_Equality;(System.Reflection.Metadata.AssemblyFileHandle,System.Reflection.Metadata.AssemblyFileHandle);summary;df-generated | +| System.Reflection.Metadata;AssemblyFileHandle;op_Inequality;(System.Reflection.Metadata.AssemblyFileHandle,System.Reflection.Metadata.AssemblyFileHandle);summary;df-generated | | System.Reflection.Metadata;AssemblyFileHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;AssemblyFileHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;AssemblyFileHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28277,6 +32589,8 @@ neutral | System.Reflection.Metadata;AssemblyReferenceHandle;Equals;(System.Reflection.Metadata.AssemblyReferenceHandle);summary;df-generated | | System.Reflection.Metadata;AssemblyReferenceHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;AssemblyReferenceHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;AssemblyReferenceHandle;op_Equality;(System.Reflection.Metadata.AssemblyReferenceHandle,System.Reflection.Metadata.AssemblyReferenceHandle);summary;df-generated | +| System.Reflection.Metadata;AssemblyReferenceHandle;op_Inequality;(System.Reflection.Metadata.AssemblyReferenceHandle,System.Reflection.Metadata.AssemblyReferenceHandle);summary;df-generated | | System.Reflection.Metadata;AssemblyReferenceHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;AssemblyReferenceHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;AssemblyReferenceHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28351,10 +32665,14 @@ neutral | System.Reflection.Metadata;BlobContentId;get_Guid;();summary;df-generated | | System.Reflection.Metadata;BlobContentId;get_IsDefault;();summary;df-generated | | System.Reflection.Metadata;BlobContentId;get_Stamp;();summary;df-generated | +| System.Reflection.Metadata;BlobContentId;op_Equality;(System.Reflection.Metadata.BlobContentId,System.Reflection.Metadata.BlobContentId);summary;df-generated | +| System.Reflection.Metadata;BlobContentId;op_Inequality;(System.Reflection.Metadata.BlobContentId,System.Reflection.Metadata.BlobContentId);summary;df-generated | | System.Reflection.Metadata;BlobHandle;Equals;(System.Object);summary;df-generated | | System.Reflection.Metadata;BlobHandle;Equals;(System.Reflection.Metadata.BlobHandle);summary;df-generated | | System.Reflection.Metadata;BlobHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;BlobHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;BlobHandle;op_Equality;(System.Reflection.Metadata.BlobHandle,System.Reflection.Metadata.BlobHandle);summary;df-generated | +| System.Reflection.Metadata;BlobHandle;op_Inequality;(System.Reflection.Metadata.BlobHandle,System.Reflection.Metadata.BlobHandle);summary;df-generated | | System.Reflection.Metadata;BlobReader;Align;(System.Byte);summary;df-generated | | System.Reflection.Metadata;BlobReader;BlobReader;(System.Byte*,System.Int32);summary;df-generated | | System.Reflection.Metadata;BlobReader;IndexOf;(System.Byte);summary;df-generated | @@ -28445,6 +32763,8 @@ neutral | System.Reflection.Metadata;ConstantHandle;Equals;(System.Reflection.Metadata.ConstantHandle);summary;df-generated | | System.Reflection.Metadata;ConstantHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;ConstantHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;ConstantHandle;op_Equality;(System.Reflection.Metadata.ConstantHandle,System.Reflection.Metadata.ConstantHandle);summary;df-generated | +| System.Reflection.Metadata;ConstantHandle;op_Inequality;(System.Reflection.Metadata.ConstantHandle,System.Reflection.Metadata.ConstantHandle);summary;df-generated | | System.Reflection.Metadata;CustomAttribute;DecodeValue<>;(System.Reflection.Metadata.ICustomAttributeTypeProvider);summary;df-generated | | System.Reflection.Metadata;CustomAttribute;get_Constructor;();summary;df-generated | | System.Reflection.Metadata;CustomAttribute;get_Parent;();summary;df-generated | @@ -28453,6 +32773,8 @@ neutral | System.Reflection.Metadata;CustomAttributeHandle;Equals;(System.Reflection.Metadata.CustomAttributeHandle);summary;df-generated | | System.Reflection.Metadata;CustomAttributeHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;CustomAttributeHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;CustomAttributeHandle;op_Equality;(System.Reflection.Metadata.CustomAttributeHandle,System.Reflection.Metadata.CustomAttributeHandle);summary;df-generated | +| System.Reflection.Metadata;CustomAttributeHandle;op_Inequality;(System.Reflection.Metadata.CustomAttributeHandle,System.Reflection.Metadata.CustomAttributeHandle);summary;df-generated | | System.Reflection.Metadata;CustomAttributeHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;CustomAttributeHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;CustomAttributeHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28476,6 +32798,8 @@ neutral | System.Reflection.Metadata;CustomDebugInformationHandle;Equals;(System.Reflection.Metadata.CustomDebugInformationHandle);summary;df-generated | | System.Reflection.Metadata;CustomDebugInformationHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;CustomDebugInformationHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;CustomDebugInformationHandle;op_Equality;(System.Reflection.Metadata.CustomDebugInformationHandle,System.Reflection.Metadata.CustomDebugInformationHandle);summary;df-generated | +| System.Reflection.Metadata;CustomDebugInformationHandle;op_Inequality;(System.Reflection.Metadata.CustomDebugInformationHandle,System.Reflection.Metadata.CustomDebugInformationHandle);summary;df-generated | | System.Reflection.Metadata;CustomDebugInformationHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;CustomDebugInformationHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;CustomDebugInformationHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28491,6 +32815,8 @@ neutral | System.Reflection.Metadata;DeclarativeSecurityAttributeHandle;Equals;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);summary;df-generated | | System.Reflection.Metadata;DeclarativeSecurityAttributeHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;DeclarativeSecurityAttributeHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;DeclarativeSecurityAttributeHandle;op_Equality;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle,System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);summary;df-generated | +| System.Reflection.Metadata;DeclarativeSecurityAttributeHandle;op_Inequality;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle,System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);summary;df-generated | | System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28504,6 +32830,8 @@ neutral | System.Reflection.Metadata;DocumentHandle;Equals;(System.Reflection.Metadata.DocumentHandle);summary;df-generated | | System.Reflection.Metadata;DocumentHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;DocumentHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;DocumentHandle;op_Equality;(System.Reflection.Metadata.DocumentHandle,System.Reflection.Metadata.DocumentHandle);summary;df-generated | +| System.Reflection.Metadata;DocumentHandle;op_Inequality;(System.Reflection.Metadata.DocumentHandle,System.Reflection.Metadata.DocumentHandle);summary;df-generated | | System.Reflection.Metadata;DocumentHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;DocumentHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;DocumentHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28513,11 +32841,15 @@ neutral | System.Reflection.Metadata;DocumentNameBlobHandle;Equals;(System.Reflection.Metadata.DocumentNameBlobHandle);summary;df-generated | | System.Reflection.Metadata;DocumentNameBlobHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;DocumentNameBlobHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;DocumentNameBlobHandle;op_Equality;(System.Reflection.Metadata.DocumentNameBlobHandle,System.Reflection.Metadata.DocumentNameBlobHandle);summary;df-generated | +| System.Reflection.Metadata;DocumentNameBlobHandle;op_Inequality;(System.Reflection.Metadata.DocumentNameBlobHandle,System.Reflection.Metadata.DocumentNameBlobHandle);summary;df-generated | | System.Reflection.Metadata;EntityHandle;Equals;(System.Object);summary;df-generated | | System.Reflection.Metadata;EntityHandle;Equals;(System.Reflection.Metadata.EntityHandle);summary;df-generated | | System.Reflection.Metadata;EntityHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;EntityHandle;get_IsNil;();summary;df-generated | | System.Reflection.Metadata;EntityHandle;get_Kind;();summary;df-generated | +| System.Reflection.Metadata;EntityHandle;op_Equality;(System.Reflection.Metadata.EntityHandle,System.Reflection.Metadata.EntityHandle);summary;df-generated | +| System.Reflection.Metadata;EntityHandle;op_Inequality;(System.Reflection.Metadata.EntityHandle,System.Reflection.Metadata.EntityHandle);summary;df-generated | | System.Reflection.Metadata;EventAccessors;get_Adder;();summary;df-generated | | System.Reflection.Metadata;EventAccessors;get_Raiser;();summary;df-generated | | System.Reflection.Metadata;EventAccessors;get_Remover;();summary;df-generated | @@ -28529,6 +32861,8 @@ neutral | System.Reflection.Metadata;EventDefinitionHandle;Equals;(System.Reflection.Metadata.EventDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;EventDefinitionHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;EventDefinitionHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;EventDefinitionHandle;op_Equality;(System.Reflection.Metadata.EventDefinitionHandle,System.Reflection.Metadata.EventDefinitionHandle);summary;df-generated | +| System.Reflection.Metadata;EventDefinitionHandle;op_Inequality;(System.Reflection.Metadata.EventDefinitionHandle,System.Reflection.Metadata.EventDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;EventDefinitionHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;EventDefinitionHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;EventDefinitionHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28551,6 +32885,8 @@ neutral | System.Reflection.Metadata;ExportedTypeHandle;Equals;(System.Reflection.Metadata.ExportedTypeHandle);summary;df-generated | | System.Reflection.Metadata;ExportedTypeHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;ExportedTypeHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;ExportedTypeHandle;op_Equality;(System.Reflection.Metadata.ExportedTypeHandle,System.Reflection.Metadata.ExportedTypeHandle);summary;df-generated | +| System.Reflection.Metadata;ExportedTypeHandle;op_Inequality;(System.Reflection.Metadata.ExportedTypeHandle,System.Reflection.Metadata.ExportedTypeHandle);summary;df-generated | | System.Reflection.Metadata;ExportedTypeHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;ExportedTypeHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;ExportedTypeHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28570,6 +32906,8 @@ neutral | System.Reflection.Metadata;FieldDefinitionHandle;Equals;(System.Reflection.Metadata.FieldDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;FieldDefinitionHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;FieldDefinitionHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;FieldDefinitionHandle;op_Equality;(System.Reflection.Metadata.FieldDefinitionHandle,System.Reflection.Metadata.FieldDefinitionHandle);summary;df-generated | +| System.Reflection.Metadata;FieldDefinitionHandle;op_Inequality;(System.Reflection.Metadata.FieldDefinitionHandle,System.Reflection.Metadata.FieldDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;FieldDefinitionHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;FieldDefinitionHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;FieldDefinitionHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28586,6 +32924,8 @@ neutral | System.Reflection.Metadata;GenericParameterConstraintHandle;Equals;(System.Reflection.Metadata.GenericParameterConstraintHandle);summary;df-generated | | System.Reflection.Metadata;GenericParameterConstraintHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;GenericParameterConstraintHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;GenericParameterConstraintHandle;op_Equality;(System.Reflection.Metadata.GenericParameterConstraintHandle,System.Reflection.Metadata.GenericParameterConstraintHandle);summary;df-generated | +| System.Reflection.Metadata;GenericParameterConstraintHandle;op_Inequality;(System.Reflection.Metadata.GenericParameterConstraintHandle,System.Reflection.Metadata.GenericParameterConstraintHandle);summary;df-generated | | System.Reflection.Metadata;GenericParameterConstraintHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;GenericParameterConstraintHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;GenericParameterConstraintHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28597,6 +32937,8 @@ neutral | System.Reflection.Metadata;GenericParameterHandle;Equals;(System.Reflection.Metadata.GenericParameterHandle);summary;df-generated | | System.Reflection.Metadata;GenericParameterHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;GenericParameterHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;GenericParameterHandle;op_Equality;(System.Reflection.Metadata.GenericParameterHandle,System.Reflection.Metadata.GenericParameterHandle);summary;df-generated | +| System.Reflection.Metadata;GenericParameterHandle;op_Inequality;(System.Reflection.Metadata.GenericParameterHandle,System.Reflection.Metadata.GenericParameterHandle);summary;df-generated | | System.Reflection.Metadata;GenericParameterHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;GenericParameterHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;GenericParameterHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28608,11 +32950,15 @@ neutral | System.Reflection.Metadata;GuidHandle;Equals;(System.Reflection.Metadata.GuidHandle);summary;df-generated | | System.Reflection.Metadata;GuidHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;GuidHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;GuidHandle;op_Equality;(System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);summary;df-generated | +| System.Reflection.Metadata;GuidHandle;op_Inequality;(System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);summary;df-generated | | System.Reflection.Metadata;Handle;Equals;(System.Object);summary;df-generated | | System.Reflection.Metadata;Handle;Equals;(System.Reflection.Metadata.Handle);summary;df-generated | | System.Reflection.Metadata;Handle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;Handle;get_IsNil;();summary;df-generated | | System.Reflection.Metadata;Handle;get_Kind;();summary;df-generated | +| System.Reflection.Metadata;Handle;op_Equality;(System.Reflection.Metadata.Handle,System.Reflection.Metadata.Handle);summary;df-generated | +| System.Reflection.Metadata;Handle;op_Inequality;(System.Reflection.Metadata.Handle,System.Reflection.Metadata.Handle);summary;df-generated | | System.Reflection.Metadata;HandleComparer;Compare;(System.Reflection.Metadata.EntityHandle,System.Reflection.Metadata.EntityHandle);summary;df-generated | | System.Reflection.Metadata;HandleComparer;Compare;(System.Reflection.Metadata.Handle,System.Reflection.Metadata.Handle);summary;df-generated | | System.Reflection.Metadata;HandleComparer;Equals;(System.Reflection.Metadata.EntityHandle,System.Reflection.Metadata.EntityHandle);summary;df-generated | @@ -28666,11 +33012,15 @@ neutral | System.Reflection.Metadata;ImportScopeHandle;Equals;(System.Reflection.Metadata.ImportScopeHandle);summary;df-generated | | System.Reflection.Metadata;ImportScopeHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;ImportScopeHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;ImportScopeHandle;op_Equality;(System.Reflection.Metadata.ImportScopeHandle,System.Reflection.Metadata.ImportScopeHandle);summary;df-generated | +| System.Reflection.Metadata;ImportScopeHandle;op_Inequality;(System.Reflection.Metadata.ImportScopeHandle,System.Reflection.Metadata.ImportScopeHandle);summary;df-generated | | System.Reflection.Metadata;InterfaceImplementation;get_Interface;();summary;df-generated | | System.Reflection.Metadata;InterfaceImplementationHandle;Equals;(System.Object);summary;df-generated | | System.Reflection.Metadata;InterfaceImplementationHandle;Equals;(System.Reflection.Metadata.InterfaceImplementationHandle);summary;df-generated | | System.Reflection.Metadata;InterfaceImplementationHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;InterfaceImplementationHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;InterfaceImplementationHandle;op_Equality;(System.Reflection.Metadata.InterfaceImplementationHandle,System.Reflection.Metadata.InterfaceImplementationHandle);summary;df-generated | +| System.Reflection.Metadata;InterfaceImplementationHandle;op_Inequality;(System.Reflection.Metadata.InterfaceImplementationHandle,System.Reflection.Metadata.InterfaceImplementationHandle);summary;df-generated | | System.Reflection.Metadata;InterfaceImplementationHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;InterfaceImplementationHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;InterfaceImplementationHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28682,6 +33032,8 @@ neutral | System.Reflection.Metadata;LocalConstantHandle;Equals;(System.Reflection.Metadata.LocalConstantHandle);summary;df-generated | | System.Reflection.Metadata;LocalConstantHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;LocalConstantHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;LocalConstantHandle;op_Equality;(System.Reflection.Metadata.LocalConstantHandle,System.Reflection.Metadata.LocalConstantHandle);summary;df-generated | +| System.Reflection.Metadata;LocalConstantHandle;op_Inequality;(System.Reflection.Metadata.LocalConstantHandle,System.Reflection.Metadata.LocalConstantHandle);summary;df-generated | | System.Reflection.Metadata;LocalConstantHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;LocalConstantHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;LocalConstantHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28696,6 +33048,8 @@ neutral | System.Reflection.Metadata;LocalScopeHandle;Equals;(System.Reflection.Metadata.LocalScopeHandle);summary;df-generated | | System.Reflection.Metadata;LocalScopeHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;LocalScopeHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;LocalScopeHandle;op_Equality;(System.Reflection.Metadata.LocalScopeHandle,System.Reflection.Metadata.LocalScopeHandle);summary;df-generated | +| System.Reflection.Metadata;LocalScopeHandle;op_Inequality;(System.Reflection.Metadata.LocalScopeHandle,System.Reflection.Metadata.LocalScopeHandle);summary;df-generated | | System.Reflection.Metadata;LocalScopeHandleCollection+ChildrenEnumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;LocalScopeHandleCollection+ChildrenEnumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;LocalScopeHandleCollection+ChildrenEnumerator;Reset;();summary;df-generated | @@ -28712,6 +33066,8 @@ neutral | System.Reflection.Metadata;LocalVariableHandle;Equals;(System.Reflection.Metadata.LocalVariableHandle);summary;df-generated | | System.Reflection.Metadata;LocalVariableHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;LocalVariableHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;LocalVariableHandle;op_Equality;(System.Reflection.Metadata.LocalVariableHandle,System.Reflection.Metadata.LocalVariableHandle);summary;df-generated | +| System.Reflection.Metadata;LocalVariableHandle;op_Inequality;(System.Reflection.Metadata.LocalVariableHandle,System.Reflection.Metadata.LocalVariableHandle);summary;df-generated | | System.Reflection.Metadata;LocalVariableHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;LocalVariableHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;LocalVariableHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28725,6 +33081,8 @@ neutral | System.Reflection.Metadata;ManifestResourceHandle;Equals;(System.Reflection.Metadata.ManifestResourceHandle);summary;df-generated | | System.Reflection.Metadata;ManifestResourceHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;ManifestResourceHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;ManifestResourceHandle;op_Equality;(System.Reflection.Metadata.ManifestResourceHandle,System.Reflection.Metadata.ManifestResourceHandle);summary;df-generated | +| System.Reflection.Metadata;ManifestResourceHandle;op_Inequality;(System.Reflection.Metadata.ManifestResourceHandle,System.Reflection.Metadata.ManifestResourceHandle);summary;df-generated | | System.Reflection.Metadata;ManifestResourceHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;ManifestResourceHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;ManifestResourceHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28741,6 +33099,8 @@ neutral | System.Reflection.Metadata;MemberReferenceHandle;Equals;(System.Reflection.Metadata.MemberReferenceHandle);summary;df-generated | | System.Reflection.Metadata;MemberReferenceHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;MemberReferenceHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;MemberReferenceHandle;op_Equality;(System.Reflection.Metadata.MemberReferenceHandle,System.Reflection.Metadata.MemberReferenceHandle);summary;df-generated | +| System.Reflection.Metadata;MemberReferenceHandle;op_Inequality;(System.Reflection.Metadata.MemberReferenceHandle,System.Reflection.Metadata.MemberReferenceHandle);summary;df-generated | | System.Reflection.Metadata;MemberReferenceHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;MemberReferenceHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;MemberReferenceHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28802,6 +33162,8 @@ neutral | System.Reflection.Metadata;MethodDebugInformationHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;MethodDebugInformationHandle;ToDefinitionHandle;();summary;df-generated | | System.Reflection.Metadata;MethodDebugInformationHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;MethodDebugInformationHandle;op_Equality;(System.Reflection.Metadata.MethodDebugInformationHandle,System.Reflection.Metadata.MethodDebugInformationHandle);summary;df-generated | +| System.Reflection.Metadata;MethodDebugInformationHandle;op_Inequality;(System.Reflection.Metadata.MethodDebugInformationHandle,System.Reflection.Metadata.MethodDebugInformationHandle);summary;df-generated | | System.Reflection.Metadata;MethodDebugInformationHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;MethodDebugInformationHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;MethodDebugInformationHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28821,6 +33183,8 @@ neutral | System.Reflection.Metadata;MethodDefinitionHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;MethodDefinitionHandle;ToDebugInformationHandle;();summary;df-generated | | System.Reflection.Metadata;MethodDefinitionHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;MethodDefinitionHandle;op_Equality;(System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.Metadata.MethodDefinitionHandle);summary;df-generated | +| System.Reflection.Metadata;MethodDefinitionHandle;op_Inequality;(System.Reflection.Metadata.MethodDefinitionHandle,System.Reflection.Metadata.MethodDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;MethodDefinitionHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;MethodDefinitionHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;MethodDefinitionHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28833,6 +33197,8 @@ neutral | System.Reflection.Metadata;MethodImplementationHandle;Equals;(System.Reflection.Metadata.MethodImplementationHandle);summary;df-generated | | System.Reflection.Metadata;MethodImplementationHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;MethodImplementationHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;MethodImplementationHandle;op_Equality;(System.Reflection.Metadata.MethodImplementationHandle,System.Reflection.Metadata.MethodImplementationHandle);summary;df-generated | +| System.Reflection.Metadata;MethodImplementationHandle;op_Inequality;(System.Reflection.Metadata.MethodImplementationHandle,System.Reflection.Metadata.MethodImplementationHandle);summary;df-generated | | System.Reflection.Metadata;MethodImplementationHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;MethodImplementationHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;MethodImplementationHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28853,6 +33219,8 @@ neutral | System.Reflection.Metadata;MethodSpecificationHandle;Equals;(System.Reflection.Metadata.MethodSpecificationHandle);summary;df-generated | | System.Reflection.Metadata;MethodSpecificationHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;MethodSpecificationHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;MethodSpecificationHandle;op_Equality;(System.Reflection.Metadata.MethodSpecificationHandle,System.Reflection.Metadata.MethodSpecificationHandle);summary;df-generated | +| System.Reflection.Metadata;MethodSpecificationHandle;op_Inequality;(System.Reflection.Metadata.MethodSpecificationHandle,System.Reflection.Metadata.MethodSpecificationHandle);summary;df-generated | | System.Reflection.Metadata;ModuleDefinition;get_BaseGenerationId;();summary;df-generated | | System.Reflection.Metadata;ModuleDefinition;get_Generation;();summary;df-generated | | System.Reflection.Metadata;ModuleDefinition;get_GenerationId;();summary;df-generated | @@ -28862,15 +33230,21 @@ neutral | System.Reflection.Metadata;ModuleDefinitionHandle;Equals;(System.Reflection.Metadata.ModuleDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;ModuleDefinitionHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;ModuleDefinitionHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;ModuleDefinitionHandle;op_Equality;(System.Reflection.Metadata.ModuleDefinitionHandle,System.Reflection.Metadata.ModuleDefinitionHandle);summary;df-generated | +| System.Reflection.Metadata;ModuleDefinitionHandle;op_Inequality;(System.Reflection.Metadata.ModuleDefinitionHandle,System.Reflection.Metadata.ModuleDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;ModuleReference;get_Name;();summary;df-generated | | System.Reflection.Metadata;ModuleReferenceHandle;Equals;(System.Object);summary;df-generated | | System.Reflection.Metadata;ModuleReferenceHandle;Equals;(System.Reflection.Metadata.ModuleReferenceHandle);summary;df-generated | | System.Reflection.Metadata;ModuleReferenceHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;ModuleReferenceHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;ModuleReferenceHandle;op_Equality;(System.Reflection.Metadata.ModuleReferenceHandle,System.Reflection.Metadata.ModuleReferenceHandle);summary;df-generated | +| System.Reflection.Metadata;ModuleReferenceHandle;op_Inequality;(System.Reflection.Metadata.ModuleReferenceHandle,System.Reflection.Metadata.ModuleReferenceHandle);summary;df-generated | | System.Reflection.Metadata;NamespaceDefinitionHandle;Equals;(System.Object);summary;df-generated | | System.Reflection.Metadata;NamespaceDefinitionHandle;Equals;(System.Reflection.Metadata.NamespaceDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;NamespaceDefinitionHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;NamespaceDefinitionHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;NamespaceDefinitionHandle;op_Equality;(System.Reflection.Metadata.NamespaceDefinitionHandle,System.Reflection.Metadata.NamespaceDefinitionHandle);summary;df-generated | +| System.Reflection.Metadata;NamespaceDefinitionHandle;op_Inequality;(System.Reflection.Metadata.NamespaceDefinitionHandle,System.Reflection.Metadata.NamespaceDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;PEReaderExtensions;GetMethodBody;(System.Reflection.PortableExecutable.PEReader,System.Int32);summary;df-generated | | System.Reflection.Metadata;Parameter;GetDefaultValue;();summary;df-generated | | System.Reflection.Metadata;Parameter;GetMarshallingDescriptor;();summary;df-generated | @@ -28881,6 +33255,8 @@ neutral | System.Reflection.Metadata;ParameterHandle;Equals;(System.Reflection.Metadata.ParameterHandle);summary;df-generated | | System.Reflection.Metadata;ParameterHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;ParameterHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;ParameterHandle;op_Equality;(System.Reflection.Metadata.ParameterHandle,System.Reflection.Metadata.ParameterHandle);summary;df-generated | +| System.Reflection.Metadata;ParameterHandle;op_Inequality;(System.Reflection.Metadata.ParameterHandle,System.Reflection.Metadata.ParameterHandle);summary;df-generated | | System.Reflection.Metadata;ParameterHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;ParameterHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;ParameterHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28898,6 +33274,8 @@ neutral | System.Reflection.Metadata;PropertyDefinitionHandle;Equals;(System.Reflection.Metadata.PropertyDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;PropertyDefinitionHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;PropertyDefinitionHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;PropertyDefinitionHandle;op_Equality;(System.Reflection.Metadata.PropertyDefinitionHandle,System.Reflection.Metadata.PropertyDefinitionHandle);summary;df-generated | +| System.Reflection.Metadata;PropertyDefinitionHandle;op_Inequality;(System.Reflection.Metadata.PropertyDefinitionHandle,System.Reflection.Metadata.PropertyDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;PropertyDefinitionHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;PropertyDefinitionHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;PropertyDefinitionHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28932,6 +33310,8 @@ neutral | System.Reflection.Metadata;SignatureHeader;get_IsInstance;();summary;df-generated | | System.Reflection.Metadata;SignatureHeader;get_Kind;();summary;df-generated | | System.Reflection.Metadata;SignatureHeader;get_RawValue;();summary;df-generated | +| System.Reflection.Metadata;SignatureHeader;op_Equality;(System.Reflection.Metadata.SignatureHeader,System.Reflection.Metadata.SignatureHeader);summary;df-generated | +| System.Reflection.Metadata;SignatureHeader;op_Inequality;(System.Reflection.Metadata.SignatureHeader,System.Reflection.Metadata.SignatureHeader);summary;df-generated | | System.Reflection.Metadata;StandaloneSignature;DecodeLocalSignature<,>;(System.Reflection.Metadata.ISignatureTypeProvider,TGenericContext);summary;df-generated | | System.Reflection.Metadata;StandaloneSignature;DecodeMethodSignature<,>;(System.Reflection.Metadata.ISignatureTypeProvider,TGenericContext);summary;df-generated | | System.Reflection.Metadata;StandaloneSignature;GetKind;();summary;df-generated | @@ -28940,10 +33320,14 @@ neutral | System.Reflection.Metadata;StandaloneSignatureHandle;Equals;(System.Reflection.Metadata.StandaloneSignatureHandle);summary;df-generated | | System.Reflection.Metadata;StandaloneSignatureHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;StandaloneSignatureHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;StandaloneSignatureHandle;op_Equality;(System.Reflection.Metadata.StandaloneSignatureHandle,System.Reflection.Metadata.StandaloneSignatureHandle);summary;df-generated | +| System.Reflection.Metadata;StandaloneSignatureHandle;op_Inequality;(System.Reflection.Metadata.StandaloneSignatureHandle,System.Reflection.Metadata.StandaloneSignatureHandle);summary;df-generated | | System.Reflection.Metadata;StringHandle;Equals;(System.Object);summary;df-generated | | System.Reflection.Metadata;StringHandle;Equals;(System.Reflection.Metadata.StringHandle);summary;df-generated | | System.Reflection.Metadata;StringHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;StringHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;StringHandle;op_Equality;(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.StringHandle);summary;df-generated | +| System.Reflection.Metadata;StringHandle;op_Inequality;(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.StringHandle);summary;df-generated | | System.Reflection.Metadata;TypeDefinition;GetDeclaringType;();summary;df-generated | | System.Reflection.Metadata;TypeDefinition;GetGenericParameters;();summary;df-generated | | System.Reflection.Metadata;TypeDefinition;GetLayout;();summary;df-generated | @@ -28959,6 +33343,8 @@ neutral | System.Reflection.Metadata;TypeDefinitionHandle;Equals;(System.Reflection.Metadata.TypeDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;TypeDefinitionHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;TypeDefinitionHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;TypeDefinitionHandle;op_Equality;(System.Reflection.Metadata.TypeDefinitionHandle,System.Reflection.Metadata.TypeDefinitionHandle);summary;df-generated | +| System.Reflection.Metadata;TypeDefinitionHandle;op_Inequality;(System.Reflection.Metadata.TypeDefinitionHandle,System.Reflection.Metadata.TypeDefinitionHandle);summary;df-generated | | System.Reflection.Metadata;TypeDefinitionHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;TypeDefinitionHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;TypeDefinitionHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28976,6 +33362,8 @@ neutral | System.Reflection.Metadata;TypeReferenceHandle;Equals;(System.Reflection.Metadata.TypeReferenceHandle);summary;df-generated | | System.Reflection.Metadata;TypeReferenceHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;TypeReferenceHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;TypeReferenceHandle;op_Equality;(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.TypeReferenceHandle);summary;df-generated | +| System.Reflection.Metadata;TypeReferenceHandle;op_Inequality;(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.TypeReferenceHandle);summary;df-generated | | System.Reflection.Metadata;TypeReferenceHandleCollection+Enumerator;Dispose;();summary;df-generated | | System.Reflection.Metadata;TypeReferenceHandleCollection+Enumerator;MoveNext;();summary;df-generated | | System.Reflection.Metadata;TypeReferenceHandleCollection+Enumerator;Reset;();summary;df-generated | @@ -28988,10 +33376,14 @@ neutral | System.Reflection.Metadata;TypeSpecificationHandle;Equals;(System.Reflection.Metadata.TypeSpecificationHandle);summary;df-generated | | System.Reflection.Metadata;TypeSpecificationHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;TypeSpecificationHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;TypeSpecificationHandle;op_Equality;(System.Reflection.Metadata.TypeSpecificationHandle,System.Reflection.Metadata.TypeSpecificationHandle);summary;df-generated | +| System.Reflection.Metadata;TypeSpecificationHandle;op_Inequality;(System.Reflection.Metadata.TypeSpecificationHandle,System.Reflection.Metadata.TypeSpecificationHandle);summary;df-generated | | System.Reflection.Metadata;UserStringHandle;Equals;(System.Object);summary;df-generated | | System.Reflection.Metadata;UserStringHandle;Equals;(System.Reflection.Metadata.UserStringHandle);summary;df-generated | | System.Reflection.Metadata;UserStringHandle;GetHashCode;();summary;df-generated | | System.Reflection.Metadata;UserStringHandle;get_IsNil;();summary;df-generated | +| System.Reflection.Metadata;UserStringHandle;op_Equality;(System.Reflection.Metadata.UserStringHandle,System.Reflection.Metadata.UserStringHandle);summary;df-generated | +| System.Reflection.Metadata;UserStringHandle;op_Inequality;(System.Reflection.Metadata.UserStringHandle,System.Reflection.Metadata.UserStringHandle);summary;df-generated | | System.Reflection.PortableExecutable;CodeViewDebugDirectoryData;get_Age;();summary;df-generated | | System.Reflection.PortableExecutable;CodeViewDebugDirectoryData;get_Guid;();summary;df-generated | | System.Reflection.PortableExecutable;CodeViewDebugDirectoryData;get_Path;();summary;df-generated | @@ -29248,6 +33640,8 @@ neutral | System.Reflection;Assembly;get_Modules;();summary;df-generated | | System.Reflection;Assembly;get_ReflectionOnly;();summary;df-generated | | System.Reflection;Assembly;get_SecurityRuleSet;();summary;df-generated | +| System.Reflection;Assembly;op_Equality;(System.Reflection.Assembly,System.Reflection.Assembly);summary;df-generated | +| System.Reflection;Assembly;op_Inequality;(System.Reflection.Assembly,System.Reflection.Assembly);summary;df-generated | | System.Reflection;AssemblyAlgorithmIdAttribute;AssemblyAlgorithmIdAttribute;(System.Configuration.Assemblies.AssemblyHashAlgorithm);summary;df-generated | | System.Reflection;AssemblyAlgorithmIdAttribute;AssemblyAlgorithmIdAttribute;(System.UInt32);summary;df-generated | | System.Reflection;AssemblyAlgorithmIdAttribute;get_AlgorithmId;();summary;df-generated | @@ -29332,6 +33726,8 @@ neutral | System.Reflection;ConstructorInfo;Invoke;(System.Object[]);summary;df-generated | | System.Reflection;ConstructorInfo;Invoke;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo);summary;df-generated | | System.Reflection;ConstructorInfo;get_MemberType;();summary;df-generated | +| System.Reflection;ConstructorInfo;op_Equality;(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo);summary;df-generated | +| System.Reflection;ConstructorInfo;op_Inequality;(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo);summary;df-generated | | System.Reflection;CustomAttributeData;CustomAttributeData;();summary;df-generated | | System.Reflection;CustomAttributeData;Equals;(System.Object);summary;df-generated | | System.Reflection;CustomAttributeData;GetCustomAttributes;(System.Reflection.Assembly);summary;df-generated | @@ -29386,8 +33782,12 @@ neutral | System.Reflection;CustomAttributeNamedArgument;Equals;(System.Object);summary;df-generated | | System.Reflection;CustomAttributeNamedArgument;GetHashCode;();summary;df-generated | | System.Reflection;CustomAttributeNamedArgument;get_IsField;();summary;df-generated | +| System.Reflection;CustomAttributeNamedArgument;op_Equality;(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument);summary;df-generated | +| System.Reflection;CustomAttributeNamedArgument;op_Inequality;(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument);summary;df-generated | | System.Reflection;CustomAttributeTypedArgument;Equals;(System.Object);summary;df-generated | | System.Reflection;CustomAttributeTypedArgument;GetHashCode;();summary;df-generated | +| System.Reflection;CustomAttributeTypedArgument;op_Equality;(System.Reflection.CustomAttributeTypedArgument,System.Reflection.CustomAttributeTypedArgument);summary;df-generated | +| System.Reflection;CustomAttributeTypedArgument;op_Inequality;(System.Reflection.CustomAttributeTypedArgument,System.Reflection.CustomAttributeTypedArgument);summary;df-generated | | System.Reflection;DefaultMemberAttribute;DefaultMemberAttribute;(System.String);summary;df-generated | | System.Reflection;DefaultMemberAttribute;get_MemberName;();summary;df-generated | | System.Reflection;DispatchProxy;Create<,>;();summary;df-generated | @@ -29408,6 +33808,8 @@ neutral | System.Reflection;EventInfo;get_IsMulticast;();summary;df-generated | | System.Reflection;EventInfo;get_IsSpecialName;();summary;df-generated | | System.Reflection;EventInfo;get_MemberType;();summary;df-generated | +| System.Reflection;EventInfo;op_Equality;(System.Reflection.EventInfo,System.Reflection.EventInfo);summary;df-generated | +| System.Reflection;EventInfo;op_Inequality;(System.Reflection.EventInfo,System.Reflection.EventInfo);summary;df-generated | | System.Reflection;ExceptionHandlingClause;ExceptionHandlingClause;();summary;df-generated | | System.Reflection;ExceptionHandlingClause;get_CatchType;();summary;df-generated | | System.Reflection;ExceptionHandlingClause;get_FilterOffset;();summary;df-generated | @@ -29448,6 +33850,8 @@ neutral | System.Reflection;FieldInfo;get_IsSpecialName;();summary;df-generated | | System.Reflection;FieldInfo;get_IsStatic;();summary;df-generated | | System.Reflection;FieldInfo;get_MemberType;();summary;df-generated | +| System.Reflection;FieldInfo;op_Equality;(System.Reflection.FieldInfo,System.Reflection.FieldInfo);summary;df-generated | +| System.Reflection;FieldInfo;op_Inequality;(System.Reflection.FieldInfo,System.Reflection.FieldInfo);summary;df-generated | | System.Reflection;ICustomAttributeProvider;GetCustomAttributes;(System.Boolean);summary;df-generated | | System.Reflection;ICustomAttributeProvider;GetCustomAttributes;(System.Type,System.Boolean);summary;df-generated | | System.Reflection;ICustomAttributeProvider;IsDefined;(System.Type,System.Boolean);summary;df-generated | @@ -29493,6 +33897,8 @@ neutral | System.Reflection;MemberInfo;get_Module;();summary;df-generated | | System.Reflection;MemberInfo;get_Name;();summary;df-generated | | System.Reflection;MemberInfo;get_ReflectedType;();summary;df-generated | +| System.Reflection;MemberInfo;op_Equality;(System.Reflection.MemberInfo,System.Reflection.MemberInfo);summary;df-generated | +| System.Reflection;MemberInfo;op_Inequality;(System.Reflection.MemberInfo,System.Reflection.MemberInfo);summary;df-generated | | System.Reflection;MemberInfoExtensions;GetMetadataToken;(System.Reflection.MemberInfo);summary;df-generated | | System.Reflection;MemberInfoExtensions;HasMetadataToken;(System.Reflection.MemberInfo);summary;df-generated | | System.Reflection;MethodBase;Equals;(System.Object);summary;df-generated | @@ -29531,6 +33937,8 @@ neutral | System.Reflection;MethodBase;get_IsVirtual;();summary;df-generated | | System.Reflection;MethodBase;get_MethodHandle;();summary;df-generated | | System.Reflection;MethodBase;get_MethodImplementationFlags;();summary;df-generated | +| System.Reflection;MethodBase;op_Equality;(System.Reflection.MethodBase,System.Reflection.MethodBase);summary;df-generated | +| System.Reflection;MethodBase;op_Inequality;(System.Reflection.MethodBase,System.Reflection.MethodBase);summary;df-generated | | System.Reflection;MethodBody;GetILAsByteArray;();summary;df-generated | | System.Reflection;MethodBody;MethodBody;();summary;df-generated | | System.Reflection;MethodBody;get_ExceptionHandlingClauses;();summary;df-generated | @@ -29552,6 +33960,8 @@ neutral | System.Reflection;MethodInfo;get_ReturnParameter;();summary;df-generated | | System.Reflection;MethodInfo;get_ReturnType;();summary;df-generated | | System.Reflection;MethodInfo;get_ReturnTypeCustomAttributes;();summary;df-generated | +| System.Reflection;MethodInfo;op_Equality;(System.Reflection.MethodInfo,System.Reflection.MethodInfo);summary;df-generated | +| System.Reflection;MethodInfo;op_Inequality;(System.Reflection.MethodInfo,System.Reflection.MethodInfo);summary;df-generated | | System.Reflection;Missing;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Reflection;Module;Equals;(System.Object);summary;df-generated | | System.Reflection;Module;GetCustomAttributes;(System.Boolean);summary;df-generated | @@ -29589,6 +33999,8 @@ neutral | System.Reflection;Module;get_ModuleVersionId;();summary;df-generated | | System.Reflection;Module;get_Name;();summary;df-generated | | System.Reflection;Module;get_ScopeName;();summary;df-generated | +| System.Reflection;Module;op_Equality;(System.Reflection.Module,System.Reflection.Module);summary;df-generated | +| System.Reflection;Module;op_Inequality;(System.Reflection.Module,System.Reflection.Module);summary;df-generated | | System.Reflection;ModuleExtensions;GetModuleVersionId;(System.Reflection.Module);summary;df-generated | | System.Reflection;ModuleExtensions;HasModuleVersionId;(System.Reflection.Module);summary;df-generated | | System.Reflection;NullabilityInfo;get_ElementType;();summary;df-generated | @@ -29661,6 +34073,8 @@ neutral | System.Reflection;PropertyInfo;get_IsSpecialName;();summary;df-generated | | System.Reflection;PropertyInfo;get_MemberType;();summary;df-generated | | System.Reflection;PropertyInfo;get_PropertyType;();summary;df-generated | +| System.Reflection;PropertyInfo;op_Equality;(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo);summary;df-generated | +| System.Reflection;PropertyInfo;op_Inequality;(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo);summary;df-generated | | System.Reflection;ReflectionContext;GetTypeForObject;(System.Object);summary;df-generated | | System.Reflection;ReflectionContext;MapAssembly;(System.Reflection.Assembly);summary;df-generated | | System.Reflection;ReflectionContext;MapType;(System.Reflection.TypeInfo);summary;df-generated | @@ -30252,6 +34666,8 @@ neutral | System.Runtime.InteropServices;ArrayWithOffset;Equals;(System.Runtime.InteropServices.ArrayWithOffset);summary;df-generated | | System.Runtime.InteropServices;ArrayWithOffset;GetHashCode;();summary;df-generated | | System.Runtime.InteropServices;ArrayWithOffset;GetOffset;();summary;df-generated | +| System.Runtime.InteropServices;ArrayWithOffset;op_Equality;(System.Runtime.InteropServices.ArrayWithOffset,System.Runtime.InteropServices.ArrayWithOffset);summary;df-generated | +| System.Runtime.InteropServices;ArrayWithOffset;op_Inequality;(System.Runtime.InteropServices.ArrayWithOffset,System.Runtime.InteropServices.ArrayWithOffset);summary;df-generated | | System.Runtime.InteropServices;AutomationProxyAttribute;AutomationProxyAttribute;(System.Boolean);summary;df-generated | | System.Runtime.InteropServices;AutomationProxyAttribute;get_Value;();summary;df-generated | | System.Runtime.InteropServices;BStrWrapper;BStrWrapper;(System.Object);summary;df-generated | @@ -30370,6 +34786,8 @@ neutral | System.Runtime.InteropServices;GCHandle;GetHashCode;();summary;df-generated | | System.Runtime.InteropServices;GCHandle;get_IsAllocated;();summary;df-generated | | System.Runtime.InteropServices;GCHandle;get_Target;();summary;df-generated | +| System.Runtime.InteropServices;GCHandle;op_Equality;(System.Runtime.InteropServices.GCHandle,System.Runtime.InteropServices.GCHandle);summary;df-generated | +| System.Runtime.InteropServices;GCHandle;op_Inequality;(System.Runtime.InteropServices.GCHandle,System.Runtime.InteropServices.GCHandle);summary;df-generated | | System.Runtime.InteropServices;GCHandle;set_Target;(System.Object);summary;df-generated | | System.Runtime.InteropServices;GuidAttribute;GuidAttribute;(System.String);summary;df-generated | | System.Runtime.InteropServices;GuidAttribute;get_Value;();summary;df-generated | @@ -30627,6 +35045,8 @@ neutral | System.Runtime.InteropServices;OSPlatform;get_Linux;();summary;df-generated | | System.Runtime.InteropServices;OSPlatform;get_OSX;();summary;df-generated | | System.Runtime.InteropServices;OSPlatform;get_Windows;();summary;df-generated | +| System.Runtime.InteropServices;OSPlatform;op_Equality;(System.Runtime.InteropServices.OSPlatform,System.Runtime.InteropServices.OSPlatform);summary;df-generated | +| System.Runtime.InteropServices;OSPlatform;op_Inequality;(System.Runtime.InteropServices.OSPlatform,System.Runtime.InteropServices.OSPlatform);summary;df-generated | | System.Runtime.InteropServices;OptionalAttribute;OptionalAttribute;();summary;df-generated | | System.Runtime.InteropServices;OutAttribute;OutAttribute;();summary;df-generated | | System.Runtime.InteropServices;PosixSignalContext;PosixSignalContext;(System.Runtime.InteropServices.PosixSignal);summary;df-generated | @@ -34491,6 +38911,19 @@ neutral | System.Runtime.Intrinsics;Vector64<>;get_Count;();summary;df-generated | | System.Runtime.Intrinsics;Vector64<>;get_Item;(System.Int32);summary;df-generated | | System.Runtime.Intrinsics;Vector64<>;get_Zero;();summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_Addition;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_BitwiseAnd;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_BitwiseOr;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_Division;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_Equality;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_ExclusiveOr;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_Inequality;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_Multiply;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_Multiply;(System.Runtime.Intrinsics.Vector64<>,T);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_Multiply;(T,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_OnesComplement;(System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_Subtraction;(System.Runtime.Intrinsics.Vector64<>,System.Runtime.Intrinsics.Vector64<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector64<>;op_UnaryNegation;(System.Runtime.Intrinsics.Vector64<>);summary;df-generated | | System.Runtime.Intrinsics;Vector128;Add<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128);summary;df-generated | | System.Runtime.Intrinsics;Vector128;AndNot<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector128);summary;df-generated | | System.Runtime.Intrinsics;Vector128;As<,>;(System.Runtime.Intrinsics.Vector128);summary;df-generated | @@ -34649,6 +39082,19 @@ neutral | System.Runtime.Intrinsics;Vector128<>;get_Count;();summary;df-generated | | System.Runtime.Intrinsics;Vector128<>;get_Item;(System.Int32);summary;df-generated | | System.Runtime.Intrinsics;Vector128<>;get_Zero;();summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_Addition;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_BitwiseAnd;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_BitwiseOr;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_Division;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_Equality;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_ExclusiveOr;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_Inequality;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_Multiply;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_Multiply;(System.Runtime.Intrinsics.Vector128<>,T);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_Multiply;(T,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_OnesComplement;(System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_Subtraction;(System.Runtime.Intrinsics.Vector128<>,System.Runtime.Intrinsics.Vector128<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector128<>;op_UnaryNegation;(System.Runtime.Intrinsics.Vector128<>);summary;df-generated | | System.Runtime.Intrinsics;Vector256;Add<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256);summary;df-generated | | System.Runtime.Intrinsics;Vector256;AndNot<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector256);summary;df-generated | | System.Runtime.Intrinsics;Vector256;As<,>;(System.Runtime.Intrinsics.Vector256);summary;df-generated | @@ -34799,6 +39245,19 @@ neutral | System.Runtime.Intrinsics;Vector256<>;get_Count;();summary;df-generated | | System.Runtime.Intrinsics;Vector256<>;get_Item;(System.Int32);summary;df-generated | | System.Runtime.Intrinsics;Vector256<>;get_Zero;();summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_Addition;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_BitwiseAnd;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_BitwiseOr;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_Division;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_Equality;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_ExclusiveOr;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_Inequality;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_Multiply;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_Multiply;(System.Runtime.Intrinsics.Vector256<>,T);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_Multiply;(T,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_OnesComplement;(System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_Subtraction;(System.Runtime.Intrinsics.Vector256<>,System.Runtime.Intrinsics.Vector256<>);summary;df-generated | +| System.Runtime.Intrinsics;Vector256<>;op_UnaryNegation;(System.Runtime.Intrinsics.Vector256<>);summary;df-generated | | System.Runtime.Loader;AssemblyDependencyResolver;AssemblyDependencyResolver;(System.String);summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext+ContextualReflectionScope;Dispose;();summary;df-generated | | System.Runtime.Loader;AssemblyLoadContext;AssemblyLoadContext;();summary;df-generated | @@ -35126,6 +39585,8 @@ neutral | System.Runtime.Versioning;FrameworkName;Equals;(System.Runtime.Versioning.FrameworkName);summary;df-generated | | System.Runtime.Versioning;FrameworkName;FrameworkName;(System.String,System.Version);summary;df-generated | | System.Runtime.Versioning;FrameworkName;GetHashCode;();summary;df-generated | +| System.Runtime.Versioning;FrameworkName;op_Equality;(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName);summary;df-generated | +| System.Runtime.Versioning;FrameworkName;op_Inequality;(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName);summary;df-generated | | System.Runtime.Versioning;OSPlatformAttribute;get_PlatformName;();summary;df-generated | | System.Runtime.Versioning;RequiresPreviewFeaturesAttribute;RequiresPreviewFeaturesAttribute;();summary;df-generated | | System.Runtime.Versioning;RequiresPreviewFeaturesAttribute;RequiresPreviewFeaturesAttribute;(System.String);summary;df-generated | @@ -35335,6 +39796,8 @@ neutral | System.Security.AccessControl;GenericAce;get_InheritanceFlags;();summary;df-generated | | System.Security.AccessControl;GenericAce;get_IsInherited;();summary;df-generated | | System.Security.AccessControl;GenericAce;get_PropagationFlags;();summary;df-generated | +| System.Security.AccessControl;GenericAce;op_Equality;(System.Security.AccessControl.GenericAce,System.Security.AccessControl.GenericAce);summary;df-generated | +| System.Security.AccessControl;GenericAce;op_Inequality;(System.Security.AccessControl.GenericAce,System.Security.AccessControl.GenericAce);summary;df-generated | | System.Security.AccessControl;GenericAce;set_AceFlags;(System.Security.AccessControl.AceFlags);summary;df-generated | | System.Security.AccessControl;GenericAcl;CopyTo;(System.Security.AccessControl.GenericAce[],System.Int32);summary;df-generated | | System.Security.AccessControl;GenericAcl;GenericAcl;();summary;df-generated | @@ -36196,6 +40659,8 @@ neutral | System.Security.Cryptography;CngAlgorithm;get_Sha256;();summary;df-generated | | System.Security.Cryptography;CngAlgorithm;get_Sha384;();summary;df-generated | | System.Security.Cryptography;CngAlgorithm;get_Sha512;();summary;df-generated | +| System.Security.Cryptography;CngAlgorithm;op_Equality;(System.Security.Cryptography.CngAlgorithm,System.Security.Cryptography.CngAlgorithm);summary;df-generated | +| System.Security.Cryptography;CngAlgorithm;op_Inequality;(System.Security.Cryptography.CngAlgorithm,System.Security.Cryptography.CngAlgorithm);summary;df-generated | | System.Security.Cryptography;CngAlgorithmGroup;CngAlgorithmGroup;(System.String);summary;df-generated | | System.Security.Cryptography;CngAlgorithmGroup;Equals;(System.Object);summary;df-generated | | System.Security.Cryptography;CngAlgorithmGroup;Equals;(System.Security.Cryptography.CngAlgorithmGroup);summary;df-generated | @@ -36207,6 +40672,8 @@ neutral | System.Security.Cryptography;CngAlgorithmGroup;get_ECDiffieHellman;();summary;df-generated | | System.Security.Cryptography;CngAlgorithmGroup;get_ECDsa;();summary;df-generated | | System.Security.Cryptography;CngAlgorithmGroup;get_Rsa;();summary;df-generated | +| System.Security.Cryptography;CngAlgorithmGroup;op_Equality;(System.Security.Cryptography.CngAlgorithmGroup,System.Security.Cryptography.CngAlgorithmGroup);summary;df-generated | +| System.Security.Cryptography;CngAlgorithmGroup;op_Inequality;(System.Security.Cryptography.CngAlgorithmGroup,System.Security.Cryptography.CngAlgorithmGroup);summary;df-generated | | System.Security.Cryptography;CngKey;Create;(System.Security.Cryptography.CngAlgorithm);summary;df-generated | | System.Security.Cryptography;CngKey;Create;(System.Security.Cryptography.CngAlgorithm,System.String);summary;df-generated | | System.Security.Cryptography;CngKey;Create;(System.Security.Cryptography.CngAlgorithm,System.String,System.Security.Cryptography.CngKeyCreationParameters);summary;df-generated | @@ -36254,6 +40721,8 @@ neutral | System.Security.Cryptography;CngKeyBlobFormat;get_GenericPublicBlob;();summary;df-generated | | System.Security.Cryptography;CngKeyBlobFormat;get_OpaqueTransportBlob;();summary;df-generated | | System.Security.Cryptography;CngKeyBlobFormat;get_Pkcs8PrivateBlob;();summary;df-generated | +| System.Security.Cryptography;CngKeyBlobFormat;op_Equality;(System.Security.Cryptography.CngKeyBlobFormat,System.Security.Cryptography.CngKeyBlobFormat);summary;df-generated | +| System.Security.Cryptography;CngKeyBlobFormat;op_Inequality;(System.Security.Cryptography.CngKeyBlobFormat,System.Security.Cryptography.CngKeyBlobFormat);summary;df-generated | | System.Security.Cryptography;CngKeyCreationParameters;CngKeyCreationParameters;();summary;df-generated | | System.Security.Cryptography;CngKeyCreationParameters;get_ExportPolicy;();summary;df-generated | | System.Security.Cryptography;CngKeyCreationParameters;get_KeyCreationOptions;();summary;df-generated | @@ -36275,6 +40744,8 @@ neutral | System.Security.Cryptography;CngProperty;GetValue;();summary;df-generated | | System.Security.Cryptography;CngProperty;get_Name;();summary;df-generated | | System.Security.Cryptography;CngProperty;get_Options;();summary;df-generated | +| System.Security.Cryptography;CngProperty;op_Equality;(System.Security.Cryptography.CngProperty,System.Security.Cryptography.CngProperty);summary;df-generated | +| System.Security.Cryptography;CngProperty;op_Inequality;(System.Security.Cryptography.CngProperty,System.Security.Cryptography.CngProperty);summary;df-generated | | System.Security.Cryptography;CngPropertyCollection;CngPropertyCollection;();summary;df-generated | | System.Security.Cryptography;CngProvider;CngProvider;(System.String);summary;df-generated | | System.Security.Cryptography;CngProvider;Equals;(System.Object);summary;df-generated | @@ -36285,6 +40756,8 @@ neutral | System.Security.Cryptography;CngProvider;get_MicrosoftSmartCardKeyStorageProvider;();summary;df-generated | | System.Security.Cryptography;CngProvider;get_MicrosoftSoftwareKeyStorageProvider;();summary;df-generated | | System.Security.Cryptography;CngProvider;get_Provider;();summary;df-generated | +| System.Security.Cryptography;CngProvider;op_Equality;(System.Security.Cryptography.CngProvider,System.Security.Cryptography.CngProvider);summary;df-generated | +| System.Security.Cryptography;CngProvider;op_Inequality;(System.Security.Cryptography.CngProvider,System.Security.Cryptography.CngProvider);summary;df-generated | | System.Security.Cryptography;CngUIPolicy;CngUIPolicy;(System.Security.Cryptography.CngUIProtectionLevels);summary;df-generated | | System.Security.Cryptography;CngUIPolicy;CngUIPolicy;(System.Security.Cryptography.CngUIProtectionLevels,System.String);summary;df-generated | | System.Security.Cryptography;CngUIPolicy;CngUIPolicy;(System.Security.Cryptography.CngUIProtectionLevels,System.String,System.String);summary;df-generated | @@ -36833,6 +41306,8 @@ neutral | System.Security.Cryptography;HashAlgorithmName;get_SHA256;();summary;df-generated | | System.Security.Cryptography;HashAlgorithmName;get_SHA384;();summary;df-generated | | System.Security.Cryptography;HashAlgorithmName;get_SHA512;();summary;df-generated | +| System.Security.Cryptography;HashAlgorithmName;op_Equality;(System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.HashAlgorithmName);summary;df-generated | +| System.Security.Cryptography;HashAlgorithmName;op_Inequality;(System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.HashAlgorithmName);summary;df-generated | | System.Security.Cryptography;ICryptoTransform;TransformBlock;(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32);summary;df-generated | | System.Security.Cryptography;ICryptoTransform;TransformFinalBlock;(System.Byte[],System.Int32,System.Int32);summary;df-generated | | System.Security.Cryptography;ICryptoTransform;get_CanReuseTransform;();summary;df-generated | @@ -37048,6 +41523,8 @@ neutral | System.Security.Cryptography;RSAEncryptionPadding;get_OaepSHA384;();summary;df-generated | | System.Security.Cryptography;RSAEncryptionPadding;get_OaepSHA512;();summary;df-generated | | System.Security.Cryptography;RSAEncryptionPadding;get_Pkcs1;();summary;df-generated | +| System.Security.Cryptography;RSAEncryptionPadding;op_Equality;(System.Security.Cryptography.RSAEncryptionPadding,System.Security.Cryptography.RSAEncryptionPadding);summary;df-generated | +| System.Security.Cryptography;RSAEncryptionPadding;op_Inequality;(System.Security.Cryptography.RSAEncryptionPadding,System.Security.Cryptography.RSAEncryptionPadding);summary;df-generated | | System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;DecryptKeyExchange;(System.Byte[]);summary;df-generated | | System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;RSAOAEPKeyExchangeDeformatter;();summary;df-generated | | System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;get_Parameters;();summary;df-generated | @@ -37085,6 +41562,8 @@ neutral | System.Security.Cryptography;RSASignaturePadding;get_Mode;();summary;df-generated | | System.Security.Cryptography;RSASignaturePadding;get_Pkcs1;();summary;df-generated | | System.Security.Cryptography;RSASignaturePadding;get_Pss;();summary;df-generated | +| System.Security.Cryptography;RSASignaturePadding;op_Equality;(System.Security.Cryptography.RSASignaturePadding,System.Security.Cryptography.RSASignaturePadding);summary;df-generated | +| System.Security.Cryptography;RSASignaturePadding;op_Inequality;(System.Security.Cryptography.RSASignaturePadding,System.Security.Cryptography.RSASignaturePadding);summary;df-generated | | System.Security.Cryptography;RandomNumberGenerator;Create;();summary;df-generated | | System.Security.Cryptography;RandomNumberGenerator;Create;(System.String);summary;df-generated | | System.Security.Cryptography;RandomNumberGenerator;Dispose;();summary;df-generated | @@ -37444,6 +41923,8 @@ neutral | System.Security.Principal;IdentityReference;ToString;();summary;df-generated | | System.Security.Principal;IdentityReference;Translate;(System.Type);summary;df-generated | | System.Security.Principal;IdentityReference;get_Value;();summary;df-generated | +| System.Security.Principal;IdentityReference;op_Equality;(System.Security.Principal.IdentityReference,System.Security.Principal.IdentityReference);summary;df-generated | +| System.Security.Principal;IdentityReference;op_Inequality;(System.Security.Principal.IdentityReference,System.Security.Principal.IdentityReference);summary;df-generated | | System.Security.Principal;IdentityReferenceCollection;Contains;(System.Security.Principal.IdentityReference);summary;df-generated | | System.Security.Principal;IdentityReferenceCollection;IdentityReferenceCollection;();summary;df-generated | | System.Security.Principal;IdentityReferenceCollection;IdentityReferenceCollection;(System.Int32);summary;df-generated | @@ -37462,6 +41943,8 @@ neutral | System.Security.Principal;NTAccount;ToString;();summary;df-generated | | System.Security.Principal;NTAccount;Translate;(System.Type);summary;df-generated | | System.Security.Principal;NTAccount;get_Value;();summary;df-generated | +| System.Security.Principal;NTAccount;op_Equality;(System.Security.Principal.NTAccount,System.Security.Principal.NTAccount);summary;df-generated | +| System.Security.Principal;NTAccount;op_Inequality;(System.Security.Principal.NTAccount,System.Security.Principal.NTAccount);summary;df-generated | | System.Security.Principal;SecurityIdentifier;CompareTo;(System.Security.Principal.SecurityIdentifier);summary;df-generated | | System.Security.Principal;SecurityIdentifier;Equals;(System.Object);summary;df-generated | | System.Security.Principal;SecurityIdentifier;Equals;(System.Security.Principal.SecurityIdentifier);summary;df-generated | @@ -37480,6 +41963,8 @@ neutral | System.Security.Principal;SecurityIdentifier;get_AccountDomainSid;();summary;df-generated | | System.Security.Principal;SecurityIdentifier;get_BinaryLength;();summary;df-generated | | System.Security.Principal;SecurityIdentifier;get_Value;();summary;df-generated | +| System.Security.Principal;SecurityIdentifier;op_Equality;(System.Security.Principal.SecurityIdentifier,System.Security.Principal.SecurityIdentifier);summary;df-generated | +| System.Security.Principal;SecurityIdentifier;op_Inequality;(System.Security.Principal.SecurityIdentifier,System.Security.Principal.SecurityIdentifier);summary;df-generated | | System.Security.Principal;WindowsIdentity;Clone;();summary;df-generated | | System.Security.Principal;WindowsIdentity;Dispose;();summary;df-generated | | System.Security.Principal;WindowsIdentity;Dispose;(System.Boolean);summary;df-generated | @@ -38749,6 +43234,12 @@ neutral | System.Text;Rune;get_Utf8SequenceLength;();summary;df-generated | | System.Text;Rune;get_Utf16SequenceLength;();summary;df-generated | | System.Text;Rune;get_Value;();summary;df-generated | +| System.Text;Rune;op_Equality;(System.Text.Rune,System.Text.Rune);summary;df-generated | +| System.Text;Rune;op_GreaterThan;(System.Text.Rune,System.Text.Rune);summary;df-generated | +| System.Text;Rune;op_GreaterThanOrEqual;(System.Text.Rune,System.Text.Rune);summary;df-generated | +| System.Text;Rune;op_Inequality;(System.Text.Rune,System.Text.Rune);summary;df-generated | +| System.Text;Rune;op_LessThan;(System.Text.Rune,System.Text.Rune);summary;df-generated | +| System.Text;Rune;op_LessThanOrEqual;(System.Text.Rune,System.Text.Rune);summary;df-generated | | System.Text;SpanLineEnumerator;MoveNext;();summary;df-generated | | System.Text;SpanRuneEnumerator;MoveNext;();summary;df-generated | | System.Text;StringBuilder+AppendInterpolatedStringHandler;AppendFormatted;(System.Object,System.Int32,System.String);summary;df-generated | @@ -38883,6 +43374,8 @@ neutral | System.Threading.RateLimiting;MetadataName<>;Equals;(System.Object);summary;df-generated | | System.Threading.RateLimiting;MetadataName<>;Equals;(System.Threading.RateLimiting.MetadataName<>);summary;df-generated | | System.Threading.RateLimiting;MetadataName<>;GetHashCode;();summary;df-generated | +| System.Threading.RateLimiting;MetadataName<>;op_Equality;(System.Threading.RateLimiting.MetadataName<>,System.Threading.RateLimiting.MetadataName<>);summary;df-generated | +| System.Threading.RateLimiting;MetadataName<>;op_Inequality;(System.Threading.RateLimiting.MetadataName<>,System.Threading.RateLimiting.MetadataName<>);summary;df-generated | | System.Threading.RateLimiting;RateLimitLease;Dispose;();summary;df-generated | | System.Threading.RateLimiting;RateLimitLease;Dispose;(System.Boolean);summary;df-generated | | System.Threading.RateLimiting;RateLimitLease;TryGetMetadata;(System.String,System.Object);summary;df-generated | @@ -38981,6 +43474,8 @@ neutral | System.Threading.Tasks.Dataflow;DataflowMessageHeader;GetHashCode;();summary;df-generated | | System.Threading.Tasks.Dataflow;DataflowMessageHeader;get_Id;();summary;df-generated | | System.Threading.Tasks.Dataflow;DataflowMessageHeader;get_IsValid;();summary;df-generated | +| System.Threading.Tasks.Dataflow;DataflowMessageHeader;op_Equality;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.DataflowMessageHeader);summary;df-generated | +| System.Threading.Tasks.Dataflow;DataflowMessageHeader;op_Inequality;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.DataflowMessageHeader);summary;df-generated | | System.Threading.Tasks.Dataflow;ExecutionDataflowBlockOptions;ExecutionDataflowBlockOptions;();summary;df-generated | | System.Threading.Tasks.Dataflow;ExecutionDataflowBlockOptions;get_MaxDegreeOfParallelism;();summary;df-generated | | System.Threading.Tasks.Dataflow;ExecutionDataflowBlockOptions;get_SingleProducerConstrained;();summary;df-generated | @@ -39177,6 +43672,8 @@ neutral | System.Threading.Tasks;ValueTask;get_IsCompleted;();summary;df-generated | | System.Threading.Tasks;ValueTask;get_IsCompletedSuccessfully;();summary;df-generated | | System.Threading.Tasks;ValueTask;get_IsFaulted;();summary;df-generated | +| System.Threading.Tasks;ValueTask;op_Equality;(System.Threading.Tasks.ValueTask,System.Threading.Tasks.ValueTask);summary;df-generated | +| System.Threading.Tasks;ValueTask;op_Inequality;(System.Threading.Tasks.ValueTask,System.Threading.Tasks.ValueTask);summary;df-generated | | System.Threading.Tasks;ValueTask<>;Equals;(System.Object);summary;df-generated | | System.Threading.Tasks;ValueTask<>;Equals;(System.Threading.Tasks.ValueTask<>);summary;df-generated | | System.Threading.Tasks;ValueTask<>;GetHashCode;();summary;df-generated | @@ -39184,6 +43681,8 @@ neutral | System.Threading.Tasks;ValueTask<>;get_IsCompleted;();summary;df-generated | | System.Threading.Tasks;ValueTask<>;get_IsCompletedSuccessfully;();summary;df-generated | | System.Threading.Tasks;ValueTask<>;get_IsFaulted;();summary;df-generated | +| System.Threading.Tasks;ValueTask<>;op_Equality;(System.Threading.Tasks.ValueTask<>,System.Threading.Tasks.ValueTask<>);summary;df-generated | +| System.Threading.Tasks;ValueTask<>;op_Inequality;(System.Threading.Tasks.ValueTask<>,System.Threading.Tasks.ValueTask<>);summary;df-generated | | System.Threading;AbandonedMutexException;AbandonedMutexException;();summary;df-generated | | System.Threading;AbandonedMutexException;AbandonedMutexException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Threading;AbandonedMutexException;AbandonedMutexException;(System.String);summary;df-generated | @@ -39194,6 +43693,8 @@ neutral | System.Threading;AsyncFlowControl;Equals;(System.Threading.AsyncFlowControl);summary;df-generated | | System.Threading;AsyncFlowControl;GetHashCode;();summary;df-generated | | System.Threading;AsyncFlowControl;Undo;();summary;df-generated | +| System.Threading;AsyncFlowControl;op_Equality;(System.Threading.AsyncFlowControl,System.Threading.AsyncFlowControl);summary;df-generated | +| System.Threading;AsyncFlowControl;op_Inequality;(System.Threading.AsyncFlowControl,System.Threading.AsyncFlowControl);summary;df-generated | | System.Threading;AsyncLocal<>;AsyncLocal;();summary;df-generated | | System.Threading;AsyncLocal<>;get_Value;();summary;df-generated | | System.Threading;AsyncLocal<>;set_Value;(T);summary;df-generated | @@ -39230,6 +43731,8 @@ neutral | System.Threading;CancellationToken;get_CanBeCanceled;();summary;df-generated | | System.Threading;CancellationToken;get_IsCancellationRequested;();summary;df-generated | | System.Threading;CancellationToken;get_None;();summary;df-generated | +| System.Threading;CancellationToken;op_Equality;(System.Threading.CancellationToken,System.Threading.CancellationToken);summary;df-generated | +| System.Threading;CancellationToken;op_Inequality;(System.Threading.CancellationToken,System.Threading.CancellationToken);summary;df-generated | | System.Threading;CancellationTokenRegistration;Dispose;();summary;df-generated | | System.Threading;CancellationTokenRegistration;DisposeAsync;();summary;df-generated | | System.Threading;CancellationTokenRegistration;Equals;(System.Object);summary;df-generated | @@ -39237,6 +43740,8 @@ neutral | System.Threading;CancellationTokenRegistration;GetHashCode;();summary;df-generated | | System.Threading;CancellationTokenRegistration;Unregister;();summary;df-generated | | System.Threading;CancellationTokenRegistration;get_Token;();summary;df-generated | +| System.Threading;CancellationTokenRegistration;op_Equality;(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration);summary;df-generated | +| System.Threading;CancellationTokenRegistration;op_Inequality;(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration);summary;df-generated | | System.Threading;CancellationTokenSource;Cancel;();summary;df-generated | | System.Threading;CancellationTokenSource;Cancel;(System.Boolean);summary;df-generated | | System.Threading;CancellationTokenSource;CancelAfter;(System.Int32);summary;df-generated | @@ -39343,6 +43848,8 @@ neutral | System.Threading;LockCookie;Equals;(System.Object);summary;df-generated | | System.Threading;LockCookie;Equals;(System.Threading.LockCookie);summary;df-generated | | System.Threading;LockCookie;GetHashCode;();summary;df-generated | +| System.Threading;LockCookie;op_Equality;(System.Threading.LockCookie,System.Threading.LockCookie);summary;df-generated | +| System.Threading;LockCookie;op_Inequality;(System.Threading.LockCookie,System.Threading.LockCookie);summary;df-generated | | System.Threading;LockRecursionException;LockRecursionException;();summary;df-generated | | System.Threading;LockRecursionException;LockRecursionException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System.Threading;LockRecursionException;LockRecursionException;(System.String);summary;df-generated | @@ -39743,6 +44250,8 @@ neutral | System.Transactions;Transaction;Rollback;();summary;df-generated | | System.Transactions;Transaction;get_Current;();summary;df-generated | | System.Transactions;Transaction;get_IsolationLevel;();summary;df-generated | +| System.Transactions;Transaction;op_Equality;(System.Transactions.Transaction,System.Transactions.Transaction);summary;df-generated | +| System.Transactions;Transaction;op_Inequality;(System.Transactions.Transaction,System.Transactions.Transaction);summary;df-generated | | System.Transactions;Transaction;set_Current;(System.Transactions.Transaction);summary;df-generated | | System.Transactions;TransactionAbortedException;TransactionAbortedException;();summary;df-generated | | System.Transactions;TransactionAbortedException;TransactionAbortedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | @@ -39778,6 +44287,8 @@ neutral | System.Transactions;TransactionOptions;Equals;(System.Object);summary;df-generated | | System.Transactions;TransactionOptions;GetHashCode;();summary;df-generated | | System.Transactions;TransactionOptions;get_IsolationLevel;();summary;df-generated | +| System.Transactions;TransactionOptions;op_Equality;(System.Transactions.TransactionOptions,System.Transactions.TransactionOptions);summary;df-generated | +| System.Transactions;TransactionOptions;op_Inequality;(System.Transactions.TransactionOptions,System.Transactions.TransactionOptions);summary;df-generated | | System.Transactions;TransactionOptions;set_IsolationLevel;(System.Transactions.IsolationLevel);summary;df-generated | | System.Transactions;TransactionPromotionException;TransactionPromotionException;();summary;df-generated | | System.Transactions;TransactionPromotionException;TransactionPromotionException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | @@ -39869,12 +44380,16 @@ neutral | System.Xml.Linq;XName;Equals;(System.Xml.Linq.XName);summary;df-generated | | System.Xml.Linq;XName;GetHashCode;();summary;df-generated | | System.Xml.Linq;XName;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | +| System.Xml.Linq;XName;op_Equality;(System.Xml.Linq.XName,System.Xml.Linq.XName);summary;df-generated | +| System.Xml.Linq;XName;op_Inequality;(System.Xml.Linq.XName,System.Xml.Linq.XName);summary;df-generated | | System.Xml.Linq;XNamespace;Equals;(System.Object);summary;df-generated | | System.Xml.Linq;XNamespace;Get;(System.String);summary;df-generated | | System.Xml.Linq;XNamespace;GetHashCode;();summary;df-generated | | System.Xml.Linq;XNamespace;get_None;();summary;df-generated | | System.Xml.Linq;XNamespace;get_Xml;();summary;df-generated | | System.Xml.Linq;XNamespace;get_Xmlns;();summary;df-generated | +| System.Xml.Linq;XNamespace;op_Equality;(System.Xml.Linq.XNamespace,System.Xml.Linq.XNamespace);summary;df-generated | +| System.Xml.Linq;XNamespace;op_Inequality;(System.Xml.Linq.XNamespace,System.Xml.Linq.XNamespace);summary;df-generated | | System.Xml.Linq;XNode;AddAfterSelf;(System.Object[]);summary;df-generated | | System.Xml.Linq;XNode;AddBeforeSelf;(System.Object[]);summary;df-generated | | System.Xml.Linq;XNode;CompareDocumentOrder;(System.Xml.Linq.XNode,System.Xml.Linq.XNode);summary;df-generated | @@ -40659,6 +45174,8 @@ neutral | System.Xml;UniqueId;UniqueId;(System.Guid);summary;df-generated | | System.Xml;UniqueId;get_CharArrayLength;();summary;df-generated | | System.Xml;UniqueId;get_IsGuid;();summary;df-generated | +| System.Xml;UniqueId;op_Equality;(System.Xml.UniqueId,System.Xml.UniqueId);summary;df-generated | +| System.Xml;UniqueId;op_Inequality;(System.Xml.UniqueId,System.Xml.UniqueId);summary;df-generated | | System.Xml;XmlAttribute;XmlAttribute;(System.String,System.String,System.String,System.Xml.XmlDocument);summary;df-generated | | System.Xml;XmlAttribute;get_Specified;();summary;df-generated | | System.Xml;XmlAttribute;set_InnerText;(System.String);summary;df-generated | @@ -41003,6 +45520,8 @@ neutral | System.Xml;XmlQualifiedName;get_IsEmpty;();summary;df-generated | | System.Xml;XmlQualifiedName;get_Name;();summary;df-generated | | System.Xml;XmlQualifiedName;get_Namespace;();summary;df-generated | +| System.Xml;XmlQualifiedName;op_Equality;(System.Xml.XmlQualifiedName,System.Xml.XmlQualifiedName);summary;df-generated | +| System.Xml;XmlQualifiedName;op_Inequality;(System.Xml.XmlQualifiedName,System.Xml.XmlQualifiedName);summary;df-generated | | System.Xml;XmlReader;Close;();summary;df-generated | | System.Xml;XmlReader;Dispose;();summary;df-generated | | System.Xml;XmlReader;Dispose;(System.Boolean);summary;df-generated | @@ -41644,6 +46163,8 @@ neutral | System;ArraySegment<>;get_Empty;();summary;df-generated | | System;ArraySegment<>;get_IsReadOnly;();summary;df-generated | | System;ArraySegment<>;get_Offset;();summary;df-generated | +| System;ArraySegment<>;op_Equality;(System.ArraySegment<>,System.ArraySegment<>);summary;df-generated | +| System;ArraySegment<>;op_Inequality;(System.ArraySegment<>,System.ArraySegment<>);summary;df-generated | | System;ArraySegment<>;set_Item;(System.Int32,T);summary;df-generated | | System;ArrayTypeMismatchException;ArrayTypeMismatchException;();summary;df-generated | | System;ArrayTypeMismatchException;ArrayTypeMismatchException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | @@ -42064,6 +46585,8 @@ neutral | System;ConsoleKeyInfo;get_Key;();summary;df-generated | | System;ConsoleKeyInfo;get_KeyChar;();summary;df-generated | | System;ConsoleKeyInfo;get_Modifiers;();summary;df-generated | +| System;ConsoleKeyInfo;op_Equality;(System.ConsoleKeyInfo,System.ConsoleKeyInfo);summary;df-generated | +| System;ConsoleKeyInfo;op_Inequality;(System.ConsoleKeyInfo,System.ConsoleKeyInfo);summary;df-generated | | System;ContextBoundObject;ContextBoundObject;();summary;df-generated | | System;ContextMarshalException;ContextMarshalException;();summary;df-generated | | System;ContextMarshalException;ContextMarshalException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | @@ -42144,6 +46667,12 @@ neutral | System;DateOnly;get_MinValue;();summary;df-generated | | System;DateOnly;get_Month;();summary;df-generated | | System;DateOnly;get_Year;();summary;df-generated | +| System;DateOnly;op_Equality;(System.DateOnly,System.DateOnly);summary;df-generated | +| System;DateOnly;op_GreaterThan;(System.DateOnly,System.DateOnly);summary;df-generated | +| System;DateOnly;op_GreaterThanOrEqual;(System.DateOnly,System.DateOnly);summary;df-generated | +| System;DateOnly;op_Inequality;(System.DateOnly,System.DateOnly);summary;df-generated | +| System;DateOnly;op_LessThan;(System.DateOnly,System.DateOnly);summary;df-generated | +| System;DateOnly;op_LessThanOrEqual;(System.DateOnly,System.DateOnly);summary;df-generated | | System;DateTime;Add;(System.TimeSpan);summary;df-generated | | System;DateTime;AddDays;(System.Double);summary;df-generated | | System;DateTime;AddHours;(System.Double);summary;df-generated | @@ -42246,6 +46775,15 @@ neutral | System;DateTime;get_Today;();summary;df-generated | | System;DateTime;get_UtcNow;();summary;df-generated | | System;DateTime;get_Year;();summary;df-generated | +| System;DateTime;op_Addition;(System.DateTime,System.TimeSpan);summary;df-generated | +| System;DateTime;op_Equality;(System.DateTime,System.DateTime);summary;df-generated | +| System;DateTime;op_GreaterThan;(System.DateTime,System.DateTime);summary;df-generated | +| System;DateTime;op_GreaterThanOrEqual;(System.DateTime,System.DateTime);summary;df-generated | +| System;DateTime;op_Inequality;(System.DateTime,System.DateTime);summary;df-generated | +| System;DateTime;op_LessThan;(System.DateTime,System.DateTime);summary;df-generated | +| System;DateTime;op_LessThanOrEqual;(System.DateTime,System.DateTime);summary;df-generated | +| System;DateTime;op_Subtraction;(System.DateTime,System.DateTime);summary;df-generated | +| System;DateTime;op_Subtraction;(System.DateTime,System.TimeSpan);summary;df-generated | | System;DateTimeOffset;Add;(System.TimeSpan);summary;df-generated | | System;DateTimeOffset;AddDays;(System.Double);summary;df-generated | | System;DateTimeOffset;AddHours;(System.Double);summary;df-generated | @@ -42323,6 +46861,15 @@ neutral | System;DateTimeOffset;get_UtcNow;();summary;df-generated | | System;DateTimeOffset;get_UtcTicks;();summary;df-generated | | System;DateTimeOffset;get_Year;();summary;df-generated | +| System;DateTimeOffset;op_Addition;(System.DateTimeOffset,System.TimeSpan);summary;df-generated | +| System;DateTimeOffset;op_Equality;(System.DateTimeOffset,System.DateTimeOffset);summary;df-generated | +| System;DateTimeOffset;op_GreaterThan;(System.DateTimeOffset,System.DateTimeOffset);summary;df-generated | +| System;DateTimeOffset;op_GreaterThanOrEqual;(System.DateTimeOffset,System.DateTimeOffset);summary;df-generated | +| System;DateTimeOffset;op_Inequality;(System.DateTimeOffset,System.DateTimeOffset);summary;df-generated | +| System;DateTimeOffset;op_LessThan;(System.DateTimeOffset,System.DateTimeOffset);summary;df-generated | +| System;DateTimeOffset;op_LessThanOrEqual;(System.DateTimeOffset,System.DateTimeOffset);summary;df-generated | +| System;DateTimeOffset;op_Subtraction;(System.DateTimeOffset,System.DateTimeOffset);summary;df-generated | +| System;DateTimeOffset;op_Subtraction;(System.DateTimeOffset,System.TimeSpan);summary;df-generated | | System;Decimal;Abs;(System.Decimal);summary;df-generated | | System;Decimal;Add;(System.Decimal,System.Decimal);summary;df-generated | | System;Decimal;Ceiling;(System.Decimal);summary;df-generated | @@ -42429,6 +46976,8 @@ neutral | System;Delegate;Equals;(System.Object);summary;df-generated | | System;Delegate;GetHashCode;();summary;df-generated | | System;Delegate;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | +| System;Delegate;op_Equality;(System.Delegate,System.Delegate);summary;df-generated | +| System;Delegate;op_Inequality;(System.Delegate,System.Delegate);summary;df-generated | | System;DivideByZeroException;DivideByZeroException;();summary;df-generated | | System;DivideByZeroException;DivideByZeroException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System;DivideByZeroException;DivideByZeroException;(System.String);summary;df-generated | @@ -42752,6 +47301,8 @@ neutral | System;Guid;TryParseExact;(System.ReadOnlySpan,System.ReadOnlySpan,System.Guid);summary;df-generated | | System;Guid;TryParseExact;(System.String,System.String,System.Guid);summary;df-generated | | System;Guid;TryWriteBytes;(System.Span);summary;df-generated | +| System;Guid;op_Equality;(System.Guid,System.Guid);summary;df-generated | +| System;Guid;op_Inequality;(System.Guid,System.Guid);summary;df-generated | | System;Half;Abs;(System.Half);summary;df-generated | | System;Half;Acos;(System.Half);summary;df-generated | | System;Half;Acosh;(System.Half);summary;df-generated | @@ -43123,6 +47674,8 @@ neutral | System;IntPtr;get_One;();summary;df-generated | | System;IntPtr;get_Size;();summary;df-generated | | System;IntPtr;get_Zero;();summary;df-generated | +| System;IntPtr;op_Addition;(System.IntPtr,System.Int32);summary;df-generated | +| System;IntPtr;op_Subtraction;(System.IntPtr,System.Int32);summary;df-generated | | System;InvalidCastException;InvalidCastException;();summary;df-generated | | System;InvalidCastException;InvalidCastException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System;InvalidCastException;InvalidCastException;(System.String);summary;df-generated | @@ -43455,11 +48008,15 @@ neutral | System;ModuleHandle;ResolveTypeHandle;(System.Int32);summary;df-generated | | System;ModuleHandle;ResolveTypeHandle;(System.Int32,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]);summary;df-generated | | System;ModuleHandle;get_MDStreamVersion;();summary;df-generated | +| System;ModuleHandle;op_Equality;(System.ModuleHandle,System.ModuleHandle);summary;df-generated | +| System;ModuleHandle;op_Inequality;(System.ModuleHandle,System.ModuleHandle);summary;df-generated | | System;MulticastDelegate;Equals;(System.Object);summary;df-generated | | System;MulticastDelegate;GetHashCode;();summary;df-generated | | System;MulticastDelegate;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System;MulticastDelegate;MulticastDelegate;(System.Object,System.String);summary;df-generated | | System;MulticastDelegate;MulticastDelegate;(System.Type,System.String);summary;df-generated | +| System;MulticastDelegate;op_Equality;(System.MulticastDelegate,System.MulticastDelegate);summary;df-generated | +| System;MulticastDelegate;op_Inequality;(System.MulticastDelegate,System.MulticastDelegate);summary;df-generated | | System;MulticastNotSupportedException;MulticastNotSupportedException;();summary;df-generated | | System;MulticastNotSupportedException;MulticastNotSupportedException;(System.String);summary;df-generated | | System;MulticastNotSupportedException;MulticastNotSupportedException;(System.String,System.Exception);summary;df-generated | @@ -43613,6 +48170,8 @@ neutral | System;ReadOnlySpan<>;get_IsEmpty;();summary;df-generated | | System;ReadOnlySpan<>;get_Item;(System.Int32);summary;df-generated | | System;ReadOnlySpan<>;get_Length;();summary;df-generated | +| System;ReadOnlySpan<>;op_Equality;(System.ReadOnlySpan<>,System.ReadOnlySpan<>);summary;df-generated | +| System;ReadOnlySpan<>;op_Inequality;(System.ReadOnlySpan<>,System.ReadOnlySpan<>);summary;df-generated | | System;ResolveEventArgs;ResolveEventArgs;(System.String);summary;df-generated | | System;ResolveEventArgs;ResolveEventArgs;(System.String,System.Reflection.Assembly);summary;df-generated | | System;ResolveEventArgs;get_Name;();summary;df-generated | @@ -43621,16 +48180,24 @@ neutral | System;RuntimeFieldHandle;Equals;(System.RuntimeFieldHandle);summary;df-generated | | System;RuntimeFieldHandle;GetHashCode;();summary;df-generated | | System;RuntimeFieldHandle;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | +| System;RuntimeFieldHandle;op_Equality;(System.RuntimeFieldHandle,System.RuntimeFieldHandle);summary;df-generated | +| System;RuntimeFieldHandle;op_Inequality;(System.RuntimeFieldHandle,System.RuntimeFieldHandle);summary;df-generated | | System;RuntimeMethodHandle;Equals;(System.Object);summary;df-generated | | System;RuntimeMethodHandle;Equals;(System.RuntimeMethodHandle);summary;df-generated | | System;RuntimeMethodHandle;GetFunctionPointer;();summary;df-generated | | System;RuntimeMethodHandle;GetHashCode;();summary;df-generated | | System;RuntimeMethodHandle;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | +| System;RuntimeMethodHandle;op_Equality;(System.RuntimeMethodHandle,System.RuntimeMethodHandle);summary;df-generated | +| System;RuntimeMethodHandle;op_Inequality;(System.RuntimeMethodHandle,System.RuntimeMethodHandle);summary;df-generated | | System;RuntimeTypeHandle;Equals;(System.Object);summary;df-generated | | System;RuntimeTypeHandle;Equals;(System.RuntimeTypeHandle);summary;df-generated | | System;RuntimeTypeHandle;GetHashCode;();summary;df-generated | | System;RuntimeTypeHandle;GetModuleHandle;();summary;df-generated | | System;RuntimeTypeHandle;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | +| System;RuntimeTypeHandle;op_Equality;(System.Object,System.RuntimeTypeHandle);summary;df-generated | +| System;RuntimeTypeHandle;op_Equality;(System.RuntimeTypeHandle,System.Object);summary;df-generated | +| System;RuntimeTypeHandle;op_Inequality;(System.Object,System.RuntimeTypeHandle);summary;df-generated | +| System;RuntimeTypeHandle;op_Inequality;(System.RuntimeTypeHandle,System.Object);summary;df-generated | | System;SByte;Abs;(System.SByte);summary;df-generated | | System;SByte;Clamp;(System.SByte,System.SByte,System.SByte);summary;df-generated | | System;SByte;CompareTo;(System.Object);summary;df-generated | @@ -43815,6 +48382,8 @@ neutral | System;Span<>;get_IsEmpty;();summary;df-generated | | System;Span<>;get_Item;(System.Int32);summary;df-generated | | System;Span<>;get_Length;();summary;df-generated | +| System;Span<>;op_Equality;(System.Span<>,System.Span<>);summary;df-generated | +| System;Span<>;op_Inequality;(System.Span<>,System.Span<>);summary;df-generated | | System;StackOverflowException;StackOverflowException;();summary;df-generated | | System;StackOverflowException;StackOverflowException;(System.String);summary;df-generated | | System;StackOverflowException;StackOverflowException;(System.String,System.Exception);summary;df-generated | @@ -43915,6 +48484,8 @@ neutral | System;String;TryCopyTo;(System.Span);summary;df-generated | | System;String;get_Chars;(System.Int32);summary;df-generated | | System;String;get_Length;();summary;df-generated | +| System;String;op_Equality;(System.String,System.String);summary;df-generated | +| System;String;op_Inequality;(System.String,System.String);summary;df-generated | | System;StringComparer;Compare;(System.Object,System.Object);summary;df-generated | | System;StringComparer;Compare;(System.String,System.String);summary;df-generated | | System;StringComparer;Create;(System.Globalization.CultureInfo,System.Boolean);summary;df-generated | @@ -43996,6 +48567,13 @@ neutral | System;TimeOnly;get_Minute;();summary;df-generated | | System;TimeOnly;get_Second;();summary;df-generated | | System;TimeOnly;get_Ticks;();summary;df-generated | +| System;TimeOnly;op_Equality;(System.TimeOnly,System.TimeOnly);summary;df-generated | +| System;TimeOnly;op_GreaterThan;(System.TimeOnly,System.TimeOnly);summary;df-generated | +| System;TimeOnly;op_GreaterThanOrEqual;(System.TimeOnly,System.TimeOnly);summary;df-generated | +| System;TimeOnly;op_Inequality;(System.TimeOnly,System.TimeOnly);summary;df-generated | +| System;TimeOnly;op_LessThan;(System.TimeOnly,System.TimeOnly);summary;df-generated | +| System;TimeOnly;op_LessThanOrEqual;(System.TimeOnly,System.TimeOnly);summary;df-generated | +| System;TimeOnly;op_Subtraction;(System.TimeOnly,System.TimeOnly);summary;df-generated | | System;TimeSpan;Add;(System.TimeSpan);summary;df-generated | | System;TimeSpan;Compare;(System.TimeSpan,System.TimeSpan);summary;df-generated | | System;TimeSpan;CompareTo;(System.Object);summary;df-generated | @@ -44056,6 +48634,19 @@ neutral | System;TimeSpan;get_TotalMilliseconds;();summary;df-generated | | System;TimeSpan;get_TotalMinutes;();summary;df-generated | | System;TimeSpan;get_TotalSeconds;();summary;df-generated | +| System;TimeSpan;op_Addition;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_Division;(System.TimeSpan,System.Double);summary;df-generated | +| System;TimeSpan;op_Division;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_Equality;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_GreaterThan;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_GreaterThanOrEqual;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_Inequality;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_LessThan;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_LessThanOrEqual;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_Multiply;(System.Double,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_Multiply;(System.TimeSpan,System.Double);summary;df-generated | +| System;TimeSpan;op_Subtraction;(System.TimeSpan,System.TimeSpan);summary;df-generated | +| System;TimeSpan;op_UnaryNegation;(System.TimeSpan);summary;df-generated | | System;TimeZone;GetDaylightChanges;(System.Int32);summary;df-generated | | System;TimeZone;GetUtcOffset;(System.DateTime);summary;df-generated | | System;TimeZone;IsDaylightSavingTime;(System.DateTime);summary;df-generated | @@ -44076,6 +48667,8 @@ neutral | System;TimeZoneInfo+TransitionTime;get_IsFixedDateRule;();summary;df-generated | | System;TimeZoneInfo+TransitionTime;get_Month;();summary;df-generated | | System;TimeZoneInfo+TransitionTime;get_Week;();summary;df-generated | +| System;TimeZoneInfo+TransitionTime;op_Equality;(System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);summary;df-generated | +| System;TimeZoneInfo+TransitionTime;op_Inequality;(System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);summary;df-generated | | System;TimeZoneInfo;ClearCachedData;();summary;df-generated | | System;TimeZoneInfo;ConvertTime;(System.DateTimeOffset,System.TimeZoneInfo);summary;df-generated | | System;TimeZoneInfo;ConvertTimeBySystemTimeZoneId;(System.DateTimeOffset,System.String);summary;df-generated | @@ -44307,6 +48900,8 @@ neutral | System;Type;get_StructLayoutAttribute;();summary;df-generated | | System;Type;get_TypeHandle;();summary;df-generated | | System;Type;get_UnderlyingSystemType;();summary;df-generated | +| System;Type;op_Equality;(System.Type,System.Type);summary;df-generated | +| System;Type;op_Inequality;(System.Type,System.Type);summary;df-generated | | System;TypeAccessException;TypeAccessException;();summary;df-generated | | System;TypeAccessException;TypeAccessException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System;TypeAccessException;TypeAccessException;(System.String);summary;df-generated | @@ -44548,6 +49143,8 @@ neutral | System;UIntPtr;get_One;();summary;df-generated | | System;UIntPtr;get_Size;();summary;df-generated | | System;UIntPtr;get_Zero;();summary;df-generated | +| System;UIntPtr;op_Addition;(System.UIntPtr,System.Int32);summary;df-generated | +| System;UIntPtr;op_Subtraction;(System.UIntPtr,System.Int32);summary;df-generated | | System;UnauthorizedAccessException;UnauthorizedAccessException;();summary;df-generated | | System;UnauthorizedAccessException;UnauthorizedAccessException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System;UnauthorizedAccessException;UnauthorizedAccessException;(System.String);summary;df-generated | @@ -44586,6 +49183,8 @@ neutral | System;Uri;get_Port;();summary;df-generated | | System;Uri;get_Segments;();summary;df-generated | | System;Uri;get_UserEscaped;();summary;df-generated | +| System;Uri;op_Equality;(System.Uri,System.Uri);summary;df-generated | +| System;Uri;op_Inequality;(System.Uri,System.Uri);summary;df-generated | | System;UriBuilder;Equals;(System.Object);summary;df-generated | | System;UriBuilder;GetHashCode;();summary;df-generated | | System;UriBuilder;ToString;();summary;df-generated | @@ -44723,6 +49322,12 @@ neutral | System;Version;get_Minor;();summary;df-generated | | System;Version;get_MinorRevision;();summary;df-generated | | System;Version;get_Revision;();summary;df-generated | +| System;Version;op_Equality;(System.Version,System.Version);summary;df-generated | +| System;Version;op_GreaterThan;(System.Version,System.Version);summary;df-generated | +| System;Version;op_GreaterThanOrEqual;(System.Version,System.Version);summary;df-generated | +| System;Version;op_Inequality;(System.Version,System.Version);summary;df-generated | +| System;Version;op_LessThan;(System.Version,System.Version);summary;df-generated | +| System;Version;op_LessThanOrEqual;(System.Version,System.Version);summary;df-generated | | System;WeakReference;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);summary;df-generated | | System;WeakReference;WeakReference;(System.Object);summary;df-generated | | System;WeakReference;WeakReference;(System.Object,System.Boolean);summary;df-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 4a121dcab40..fc5e30e8a28 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -1,4 +1,54 @@ summary +| Dapper;CustomPropertyTypeMap;false;CustomPropertyTypeMap;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Dapper;DynamicParameters;false;Output<>;(T,System.Linq.Expressions.Expression>,System.Nullable,System.Nullable);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper+GridReader;false;Read<>;(System.Type[],System.Func,System.String,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;Query<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;QueryAsync<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;add_QueryCachePurged;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Dapper;SqlMapper;false;remove_QueryCachePurged;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,,,>;(Funq.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,,,>;(System.String,Funq.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,,>;(Funq.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,,>;(System.String,Funq.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,>;(Funq.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,,>;(System.String,Funq.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,,>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,,>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<,>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;Register<>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| Funq;Container;false;RegisterFactory<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| Funq;Func<,,,,,,,>;false;BeginInvoke;(T1,T2,T3,T4,T5,T6,T7,System.AsyncCallback,System.Object);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| Funq;Func<,,,,,,>;false;BeginInvoke;(T1,T2,T3,T4,T5,T6,System.AsyncCallback,System.Object);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| Funq;Func<,,,,,>;false;BeginInvoke;(T1,T2,T3,T4,T5,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| Funq;IInitializable<>;true;InitializedBy;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Authentication.Cookies;CookieAuthenticationEvents;false;set_OnCheckSlidingExpiration;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Authentication.Cookies;CookieAuthenticationEvents;false;set_OnRedirectToAccessDenied;(System.Func,System.Threading.Tasks.Task>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Microsoft.AspNetCore.Authentication.Cookies;CookieAuthenticationEvents;false;set_OnRedirectToLogin;(System.Func,System.Threading.Tasks.Task>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | @@ -1423,6 +1473,1895 @@ summary | Newtonsoft.Json;JsonSerializerSettings;false;set_ReferenceResolverProvider;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Newtonsoft.Json;JsonValidatingReader;false;add_ValidationEventHandler;(Newtonsoft.Json.Schema.ValidationEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | Newtonsoft.Json;JsonValidatingReader;false;remove_ValidationEventHandler;(Newtonsoft.Json.Schema.ValidationEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;RemoveFromUserForm;(System.Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnAfterCreateUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnAfterDeleteUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnAfterUpdateUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnBeforeCreateUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnBeforeDeleteUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_OnBeforeUpdateUser;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Admin;AdminUsersFeature;false;set_ValidateFn;(ServiceStack.Auth.ValidateAsyncFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.AsyncEx;TaskCompletionSourceExtensions;false;TryCompleteFromCompletedTask<>;(System.Threading.Tasks.TaskCompletionSource,System.Threading.Tasks.Task,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;ApiKeyAuthProvider;false;set_CreateApiKeyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;ApiKeyAuthProvider;false;set_GenerateApiKey;(ServiceStack.Auth.CreateApiKeyDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProvider;false;set_AccountLockedValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProvider;false;set_CustomValidationFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProvider;false;set_LoadUserAuthFilter;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProvider;false;set_LoadUserAuthInfoFilterAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProviderSync;false;set_AccountLockedValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProviderSync;false;set_CustomValidationFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthProviderSync;false;set_LoadUserAuthFilter;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthenticateService;false;Init;(System.Func,ServiceStack.Auth.IAuthProvider[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthenticateService;false;set_AuthResponseDecorator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthenticateService;false;set_CurrentSessionFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;AuthenticateService;false;set_ValidateFn;(ServiceStack.Auth.ValidateFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;CreateApiKeyDelegate;false;BeginInvoke;(System.String,System.String,System.Int32,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProvider;false;CreateJwt;(ServiceStack.Text.JsonObject,ServiceStack.Text.JsonObject,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_CreateHeaderFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_CreatePayloadFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_PopulateSessionFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_PreValidateJwtPayloadFilter;(System.Func,System.String>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ResolveJwtId;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ResolveRefreshJwtId;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ResolveUnixTime;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ValidateRefreshToken;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;JwtAuthProviderReader;false;set_ValidateToken;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;MicrosoftGraphAuthProvider;false;set_PhotoUrl;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;NetCoreIdentityAuthProvider;false;set_AutoSignInSessionsMatching;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;NetCoreIdentityAuthProvider;false;set_CreateClaimsPrincipal;(System.Func,ServiceStack.Auth.IAuthSession,ServiceStack.Web.IRequest,System.Security.Claims.ClaimsPrincipal>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;NetCoreIdentityAuthProvider;false;set_PopulateSessionFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;OAuth2Provider;false;set_ResolveUnknownDisplayName;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;OAuthProvider;false;set_VerifyAccessTokenAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;OAuthProviderSync;false;set_VerifyAccessToken;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;Pbkdf2DeriveKeyDelegate;false;BeginInvoke;(System.String,System.Byte[],Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf,System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;Pbkdf2Provider;false;set_DeriveKey;(ServiceStack.Auth.Pbkdf2DeriveKeyDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;RegisterService;false;set_ValidateFn;(ServiceStack.Auth.ValidateFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;ValidateAsyncFn;false;BeginInvoke;(ServiceStack.IServiceBase,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Auth;ValidateFn;false;BeginInvoke;(ServiceStack.IServiceBase,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Configuration;AppSettingsBase;false;set_ParsingStrategy;(ServiceStack.Configuration.ParsingStrategyDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Configuration;ParsingStrategyDelegate;false;BeginInvoke;(System.String,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Data;DbConnectionFactory;false;DbConnectionFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Attributes;AttributedValidatorFactory;false;AttributedValidatorFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;AccessorCache<>;false;GetCachedAccessor<>;(System.Reflection.MemberInfo,System.Linq.Expressions.Expression>,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;CollectionPropertyRule;(System.Reflection.MemberInfo,System.Func,System.Linq.Expressions.LambdaExpression,System.Func,System.Type,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;CollectionPropertyRule;(System.Reflection.MemberInfo,System.Func,System.Linq.Expressions.LambdaExpression,System.Func,System.Type,System.Type);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;Create;(System.Linq.Expressions.Expression>>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;Create;(System.Linq.Expressions.Expression>>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;set_Filter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;CollectionPropertyRule<,>;false;set_IndexBuilder;(System.Func,TElement,System.Int32,System.String>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;CoerceToNonGeneric<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;Extensions;false;GetMember<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IConfigurable<,>;true;Configure;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;Create;(ServiceStack.FluentValidation.IValidator,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;Create<>;(System.Func,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;Create<>;(System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;IncludeRule;(ServiceStack.FluentValidation.IValidator,System.Func,System.Type,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;IncludeRule;(System.Func>,System.Func,System.Type,System.Type,System.Type);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;IncludeRule<>;false;IncludeRule;(System.Func>,System.Func,System.Type,System.Type,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;MemberAccessor<,>;false;MemberAccessor;(System.Linq.Expressions.Expression>,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;MemberAccessor<,>;false;op_Implicit;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;Create<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;Create<,>;(System.Linq.Expressions.Expression>,System.Func,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;Create<,>;(System.Linq.Expressions.Expression>,System.Func,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;PropertyRule;(System.Reflection.MemberInfo,System.Func,System.Linq.Expressions.LambdaExpression,System.Func,System.Type,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;PropertyRule;(System.Reflection.MemberInfo,System.Func,System.Linq.Expressions.LambdaExpression,System.Func,System.Type,System.Type);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;SetDisplayName;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;set_MessageBuilder;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;set_OnFailure;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;PropertyRule;false;set_Transformer;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Internal;RuleBuilder<,>;false;SetValidator<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Resources;LanguageStringSource;false;LanguageStringSource;(System.Func,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Resources;LazyStringSource;false;LazyStringSource;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Results;ValidationFailure;false;set_ErrorCodeResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ITestPropertyChain<>;true;Property<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;TestValidationResult<>;false;ShouldHaveValidationErrorFor<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;TestValidationResult<>;false;ShouldNotHaveValidationErrorFor<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveChildValidator<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,System.Type);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveValidationErrorFor<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,T,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveValidationErrorFor<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,TValue,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveValidationErrorForAsync<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,T,System.Threading.CancellationToken,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldHaveValidationErrorForAsync<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,TValue,System.Threading.CancellationToken,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldNotHaveValidationErrorFor<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,T,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldNotHaveValidationErrorFor<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,TValue,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldNotHaveValidationErrorForAsync<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,T,System.Threading.CancellationToken,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;ShouldNotHaveValidationErrorForAsync<,>;(ServiceStack.FluentValidation.IValidator,System.Linq.Expressions.Expression>,TValue,System.Threading.CancellationToken,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;TestValidate<>;(ServiceStack.FluentValidation.IValidator,T,System.Action>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;TestValidateAsync<>;(ServiceStack.FluentValidation.IValidator,T,System.Action>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;When;(System.Collections.Generic.IEnumerable,System.Func,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidationTestExtension;false;WhenAll;(System.Collections.Generic.IEnumerable,System.Func,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.TestHelper;ValidatorTester<,>;false;ValidatorTester;(System.Linq.Expressions.Expression>,ServiceStack.FluentValidation.IValidator,TValue);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;AbstractComparisonValidator;false;AbstractComparisonValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;AbstractComparisonValidator;false;AbstractComparisonValidator;(System.Func,System.Reflection.MemberInfo,System.String,ServiceStack.FluentValidation.Resources.IStringSource);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;AsyncPredicateValidator;false;AsyncPredicateValidator;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;ChildValidatorAdaptor<,>;false;ChildValidatorAdaptor;(System.Func>,System.Type);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;CustomValidator<>;false;CustomValidator;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;CustomValidator<>;false;CustomValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;EqualValidator;false;EqualValidator;(System.Func,System.Reflection.MemberInfo,System.String,System.Collections.IEqualityComparer);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;ExactLengthValidator;false;ExactLengthValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;GreaterThanOrEqualValidator;false;GreaterThanOrEqualValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;GreaterThanValidator;false;GreaterThanValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LengthValidator;false;LengthValidator;(System.Func,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LengthValidator;false;LengthValidator;(System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LengthValidator;false;set_MaxFunc;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LengthValidator;false;set_MinFunc;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LessThanOrEqualValidator;false;LessThanOrEqualValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;LessThanValidator;false;LessThanValidator;(System.Func,System.Reflection.MemberInfo,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;MaximumLengthValidator;false;MaximumLengthValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;MinimumLengthValidator;false;MinimumLengthValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;NotEqualValidator;false;NotEqualValidator;(System.Func,System.Reflection.MemberInfo,System.String,System.Collections.IEqualityComparer);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;OnFailureValidator<>;false;OnFailureValidator;(ServiceStack.FluentValidation.Validators.IPropertyValidator,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;PolymorphicValidator<,>;false;Add<>;(System.Func>,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;PolymorphicValidator<,>;false;Add<>;(System.Func>,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;PredicateValidator+Predicate;false;BeginInvoke;(System.Object,System.Object,ServiceStack.FluentValidation.Validators.PropertyValidatorContext,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;PredicateValidator;false;PredicateValidator;(ServiceStack.FluentValidation.Validators.PredicateValidator+Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;RegularExpressionValidator;false;RegularExpressionValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;RegularExpressionValidator;false;RegularExpressionValidator;(System.Func,System.Text.RegularExpressions.RegexOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation.Validators;RegularExpressionValidator;false;RegularExpressionValidator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Include<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RuleFor<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RuleForEach<>;(System.Linq.Expressions.Expression>>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RuleSet;(ServiceStack.ApplyTo,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;RuleSet;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Transform<,>;(System.Linq.Expressions.Expression>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Transform<,>;(System.Linq.Expressions.Expression>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Transform<,>;(System.Linq.Expressions.Expression>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Transform<,>;(System.Linq.Expressions.Expression>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;TransformForEach<,>;(System.Linq.Expressions.Expression>>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;TransformForEach<,>;(System.Linq.Expressions.Expression>>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;TransformForEach<,>;(System.Linq.Expressions.Expression>>,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;TransformForEach<,>;(System.Linq.Expressions.Expression>>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Unless;(System.Func,System.Boolean>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Unless;(System.Func,System.Boolean>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Unless;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;Unless;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;UnlessAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;UnlessAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;UnlessAsync;(System.Func>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;UnlessAsync;(System.Func>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;When;(System.Func,System.Boolean>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;When;(System.Func,System.Boolean>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;When;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;When;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;WhenAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;WhenAsync;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;WhenAsync;(System.Func>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AbstractValidator<>;false;WhenAsync;(System.Func>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;AssemblyScanner;false;ForEach;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;ChildRules<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Custom<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;CustomAsync<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Equal<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>,System.Collections.IEqualityComparer);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;ForEach<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Action,TElement>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThan<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThan<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThan<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThan<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;GreaterThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Length<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Length<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Length<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThan<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThan<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThan<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThan<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;LessThanOrEqualTo<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Matches<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Matches<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func,System.Text.RegularExpressions.RegexOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Matches<>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Must<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Must<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Must<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;MustAsync<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;MustAsync<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;MustAsync<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;NotEqual<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Linq.Expressions.Expression>,System.Collections.IEqualityComparer);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;SetInheritanceValidator<,>;(ServiceStack.FluentValidation.IRuleBuilder,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;Validate<>;(ServiceStack.FluentValidation.IValidator,T,System.Action>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorExtensions;false;ValidateAsync<>;(ServiceStack.FluentValidation.IValidator,T,System.Action>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;DependentRules<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnAnyFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnAnyFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OnFailure<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OverrideIndexer<,>;(ServiceStack.FluentValidation.IRuleBuilderInitialCollection,System.Func,TCollectionElement,System.Int32,System.String>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;OverridePropertyName<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;Unless<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,System.Boolean>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;Unless<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;UnlessAsync<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;UnlessAsync<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;When<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,System.Boolean>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;When<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WhenAsync<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func,System.Threading.CancellationToken,System.Threading.Tasks.Task>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WhenAsync<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;Where<,>;(ServiceStack.FluentValidation.IRuleBuilderInitialCollection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithMessage<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithMessage<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithName<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithSeverity<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithSeverity<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithState<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;DefaultValidatorOptions;false;WithState<,>;(ServiceStack.FluentValidation.IRuleBuilderOptions,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IConditionBuilder;true;Otherwise;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IRuleBuilder<,>;true;SetValidator<>;(System.Func,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IRuleBuilder<,>;true;SetValidator<>;(System.Func,System.String[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IRuleBuilderInitial<,>;true;Transform<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IRuleBuilderInitialCollection<,>;true;Transform<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IServiceStackValidator;true;RemovePropertyRules;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IValidationRule;true;ApplyAsyncCondition;(System.Func>,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IValidationRule;true;ApplyCondition;(System.Func,ServiceStack.FluentValidation.ApplyConditionTo);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IValidationRule;true;ApplySharedAsyncCondition;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;IValidationRule;true;ApplySharedCondition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;InlineValidator<>;false;Add<>;(System.Func,ServiceStack.FluentValidation.IRuleBuilderOptions>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;ApplyAsyncCondition;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;ApplyCondition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;SetErrorMessage;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;set_AsyncCondition;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;set_Condition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;set_CustomStateProvider;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;PropertyValidatorOptions;false;set_SeverityProvider;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidationContext<>;false;CreateWithOptions;(T,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorConfiguration;false;set_DisplayNameResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorConfiguration;false;set_ErrorCodeResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorConfiguration;false;set_MessageFormatterFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorConfiguration;false;set_PropertyNameResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorDescriptor<>;false;GetName;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorOptions;false;set_DisplayNameResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorOptions;false;set_ErrorCodeResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorOptions;false;set_MessageFormatterFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorOptions;false;set_PropertyNameResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorSelectorOptions;false;set_DefaultValidatorSelectorFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorSelectorOptions;false;set_MemberNameValidatorSelectorFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.FluentValidation;ValidatorSelectorOptions;false;set_RulesetValidatorSelectorFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Formats;HtmlFormat;false;set_ResolveTemplate;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomActionHandler;false;CustomActionHandler;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomActionHandler;false;set_Action;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomActionHandlerAsync;false;CustomActionHandlerAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomActionHandlerAsync;false;set_Action;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomResponseHandler;false;CustomResponseHandler;(System.Func,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomResponseHandler;false;set_Action;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomResponseHandlerAsync;false;CustomResponseHandlerAsync;(System.Func>,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;CustomResponseHandlerAsync;false;set_Action;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host.Handlers;StaticFileHandler;false;set_ResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ActionContext;false;set_ServiceAction;(ServiceStack.Host.ActionInvokerFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ActionInvokerFn;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;SetContentTypeDeserializer;(System.String,ServiceStack.Web.StreamDeserializerDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;SetContentTypeSerializer;(System.String,ServiceStack.Web.StreamSerializerDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;set_UnknownContentTypeDeserializer;(ServiceStack.Web.StreamDeserializerDelegateAsync);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ContentTypes;false;set_UnknownContentTypeSerializer;(ServiceStack.Web.StreamSerializerDelegateAsync);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;FallbackRestPathDelegate;false;BeginInvoke;(ServiceStack.Web.IHttpRequest,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleGatewayExceptionAsyncDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleGatewayExceptionDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleServiceExceptionAsyncDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleServiceExceptionDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Exception,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleUncaughtExceptionAsyncDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,ServiceStack.Web.IResponse,System.String,System.Exception,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HandleUncaughtExceptionDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,ServiceStack.Web.IResponse,System.String,System.Exception,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;HttpHandlerResolverDelegate;false;BeginInvoke;(System.String,System.String,System.String,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;IHttpAsyncHandler;true;Middleware;(Microsoft.AspNetCore.Http.HttpContext,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;InstanceExecFn;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;MetadataTypeExtensions;false;ToMetadataServiceRoutes;(System.Collections.Generic.Dictionary,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;RestPath;false;set_CalculateMatchScore;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;RouteNamingConventionDelegate;false;BeginInvoke;(ServiceStack.Web.IServiceRoutes,System.Type,System.String,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ServiceController;false;ServiceController;(ServiceStack.ServiceStackHost,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ServiceController;false;set_ResolveServicesFn;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;ServiceExecFn;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;StreamSerializerResolverDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,ServiceStack.Web.IResponse,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;TypedFilter<>;false;TypedFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;TypedFilterAsync<>;false;TypedFilterAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Host;VoidActionInvokerFn;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;Input;false;AddCss;(ServiceStack.InputInfo,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;Input;false;For<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;Input;false;For<>;(System.Linq.Expressions.Expression>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;Input;false;For<>;(System.Linq.Expressions.Expression>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;InspectUtils;false;GetFieldNames<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;InspectUtils;false;PropertyFromExpression<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Html;MediaRuleCreator;false;Show<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;ApplyToLineContaining;false;ApplyToLineContaining;(System.String,System.Func,System.ReadOnlyMemory>,ServiceStack.Run);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FileHandler;false;set_VirtualFilesResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesHandler;false;set_VirtualFilesResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformer;false;Clone;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformer;false;CopyAll;(ServiceStack.IO.IVirtualFiles,ServiceStack.IO.IVirtualFiles,System.Boolean,System.Func,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformer;false;CopyAll;(ServiceStack.IO.IVirtualFiles,ServiceStack.IO.IVirtualFiles,System.Boolean,System.Func,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformer;false;Defaults;(System.Nullable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;FilesTransformerUtils;false;Defaults;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;HtmlHandlerFragment;false;HtmlHandlerFragment;(System.String,System.String,System.Func>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;HtmlTokenFragment;false;HtmlTokenFragment;(System.String,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.HtmlModules;MinifyBlock;false;set_Convert;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;IVirtualFiles;true;WriteFiles;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;IVirtualFilesAsync;true;WriteFilesAsync;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;VirtualFilesExtensions;false;CopyFrom;(ServiceStack.IO.IVirtualPathProvider,System.Collections.Generic.IEnumerable,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.IO;VirtualFilesExtensions;false;WriteFiles;(ServiceStack.IO.IVirtualPathProvider,System.Collections.Generic.IEnumerable,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Logging;GenericLogFactory;false;GenericLogFactory;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;CreateMessageHandlerFactory<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;CreateMessageHandlerFactory<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;set_RequestFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;BackgroundMqService;false;set_ResponseFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageHandler;true;ProcessQueue;(ServiceStack.Messaging.IMessageQueueClient,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;IMessageService;true;RegisterHandler<>;(System.Func,System.Object>,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;MessageHandler;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;MessageHandler;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;MessageHandler;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>,System.Action,System.Exception>,System.Int32);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandler<>;false;set_ReplyClientFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;MessageHandlerFactory;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;MessageHandlerFactory;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;MessageHandlerFactory;(ServiceStack.Messaging.IMessageService,System.Func,System.Object>,System.Action,System.Exception>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;set_RequestFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageHandlerFactory<>;false;set_ResponseFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageQueueClientFactory;false;add_MessageReceived;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;MessageQueueClientFactory;false;remove_MessageReceived;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;RedisMessageProducer;false;RedisMessageProducer;(ServiceStack.Redis.IRedisClientsManager,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;RedisMessageQueueClient;false;RedisMessageQueueClient;(ServiceStack.Redis.IRedisClientsManager,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;RedisMessageQueueClientFactory;false;RedisMessageQueueClientFactory;(ServiceStack.Redis.IRedisClientsManager,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;CreateMessageHandlerFactory<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Messaging;TransientMessageServiceBase;false;CreateMessageHandlerFactory<>;(System.Func,System.Object>,System.Action,System.Exception>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Metadata;IndexOperationsControl;false;set_GetOperation;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.CSharp;CSharpGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Dart;DartGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.FSharp;FSharpGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Java;JavaGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Kotlin;KotlinGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_CookedDeclarationTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_CookedTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_DeclarationTypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_FilterTypes;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_IsPropertyOptional;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_ReturnMarkerFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Python;PythonGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_EnumNameStrategy;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.Swift;SwiftGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;CommonJsGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;CommonJsGenerator;false;set_FilterTypes;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;CommonJsGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;CommonJsGenerator;false;set_ReturnTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_CookedDeclarationTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_CookedTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_DeclarationTypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_FilterTypes;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_IsPropertyOptional;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_ReturnMarkerFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.TypeScript;TypeScriptGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_AddCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_InnerTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_InsertCodeFilter;(ServiceStack.NativeTypes.AddCodeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PostPropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PostTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PrePropertyFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PreTypeFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_PropertyTypeFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes.VbNet;VbNetGenerator;false;set_TypeFilter;(ServiceStack.NativeTypes.TypeFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;AddCodeDelegate;false;BeginInvoke;(System.Collections.Generic.List,ServiceStack.MetadataTypesConfig,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;CreateTypeOptions;false;set_ImplementsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;INativeTypesMetadata;true;GetMetadataTypes;(ServiceStack.Web.IRequest,ServiceStack.MetadataTypesConfig,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;LangGeneratorExtensions;false;GenerateSourceCode;(ServiceStack.MetadataTypes,ServiceStack.MetadataTypesConfig,System.String,ServiceStack.Web.IRequest,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;LangGeneratorExtensions;false;GenerateSourceCode;(System.Collections.Generic.List,System.String,ServiceStack.Web.IRequest,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;MetadataTypesGenerator;false;GetMetadataTypes;(ServiceStack.Web.IRequest,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NativeTypes;TypeFilterDelegate;false;BeginInvoke;(System.String,System.String[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.NetCore;NetCoreHeadersCollection;false;Clear;();;Argument[this].WithoutElement;Argument[this];value;manual | +| ServiceStack.NetCore;NetCoreQueryStringCollection;false;Clear;();;Argument[this].WithoutElement;Argument[this];value;manual | +| ServiceStack.OrmLite.Dapper;CustomPropertyTypeMap;false;CustomPropertyTypeMap;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;DynamicParameters;false;Output<>;(T,System.Linq.Expressions.Expression>,System.Nullable,System.Nullable);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<,,>;(System.Func,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper+GridReader;false;Read<>;(System.Type[],System.Func,System.String,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;Query<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,ServiceStack.OrmLite.Dapper.CommandDefinition,System.Func,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;QueryAsync<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;add_QueryCachePurged;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Dapper;SqlMapper;false;remove_QueryCachePurged;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadApiAsyncLegacy;false;ExistsAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadApiLegacy;false;Exists<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;CountAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;LoadSelectAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.String[],System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;SelectAsync<,>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;SelectAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiAsyncLegacy;false;SingleAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;Count<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;LoadSelect<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Collections.Generic.IEnumerable);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;LoadSelect<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;LoadSelect<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;Select<,>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;Select<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteReadExpressionsApiLegacy;false;Single<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiAsyncLegacy;false;DeleteAsync<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiAsyncLegacy;false;InsertOnlyAsync<>;(System.Data.IDbConnection,T,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiAsyncLegacy;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,T,System.Func,ServiceStack.OrmLite.SqlExpression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiLegacy;false;Delete<>;(System.Data.IDbConnection,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiLegacy;false;InsertOnly<>;(System.Data.IDbConnection,T,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite.Legacy;OrmLiteWriteExpressionsApiLegacy;false;UpdateOnly<>;(System.Data.IDbConnection,T,System.Func,ServiceStack.OrmLite.SqlExpression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;DbDataParameterExtensions;false;AddParam;(ServiceStack.OrmLite.IOrmLiteDialectProvider,System.Data.IDbCommand,System.Object,ServiceStack.OrmLite.FieldDefinition,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;FieldDefinition;false;Clone;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;FieldDefinition;false;set_GetValueFn;(ServiceStack.GetMemberDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;FieldDefinition;false;set_SetValueFn;(ServiceStack.SetMemberDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;GetValueDelegate;false;BeginInvoke;(System.Int32,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;PrepareParameterizedInsertStatement<>;(System.Data.IDbCommand,System.Collections.Generic.ICollection,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ReaderEach<>;(System.Data.IDataReader,System.Action,Return,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ReaderEach<>;(System.Data.IDataReader,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ReaderRead<>;(System.Data.IDataReader,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ToAddForeignKeyStatement<,>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ToAddForeignKeyStatement<,>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;ToCreateIndexStatement<>;(System.Linq.Expressions.Expression>,System.String,System.Boolean);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;set_OnOpenConnection;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteDialectProvider;true;set_ParamNameFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec;(System.Data.IDbConnection,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;Exec<>;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IOrmLiteExecFilter;true;ExecLazy<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IPropertyInvoker;true;set_ConvertValueFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedApi;true;Insert;(System.Object,System.Action,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedApi;true;InsertAll;(System.Collections.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedApi;true;UpdateAll;(System.Collections.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;And<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;And<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;CrossJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Ensure<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Ensure<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;FullJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Join<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;LeftJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Or<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Or<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;OrderBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;OrderByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;RightJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Select<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Select<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;SelectDistinct<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;SelectDistinct<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;ThenBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;ThenByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Where<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;IUntypedSqlExpression;true;Where<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;JoinFormatDelegate;false;BeginInvoke;(ServiceStack.OrmLite.IOrmLiteDialectProvider,ServiceStack.OrmLite.ModelDefinition,System.String,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;AssertFieldDefinition;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetFieldDefinition;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetFieldDefinition;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetFieldDefinition<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetFieldDefinitionMap;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;ModelDefinition;false;GetOrderedFieldDefinitions;(System.Collections.Generic.ICollection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_AfterExecFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_BeforeExecFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_ExceptionFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_InsertFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_LoadReferenceSelectFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_OnDbNullFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_OnModelDefinitionInit;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_ParamNameFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_PopulatedObjectFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_SqlExpressionInitFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_SqlExpressionSelectFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_StringFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConfig;false;set_UpdateFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConnectionFactory;false;set_ConnectionFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteConnectionFactory;false;set_OnDispose;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteContext;false;GetOrCreate<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteDialectProviderBase<>;false;set_CreateTableFieldsStrategy;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApi;false;Exists<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApi;false;LoadSingleById<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExistsAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LoadSingleByIdAsync<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadCommandExtensions;false;AddParam;(System.Data.IDbCommand,System.String,System.Object,System.Data.ParameterDirection,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Action);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Count<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec;(System.Data.IDbConnection,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Exec<>;(System.Data.IDbConnection,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;ExecLazy<>;(System.Data.IDbConnection,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;From<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;From<>;(System.Data.IDbConnection,ServiceStack.OrmLite.TableOptions,System.Action>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;From<>;(System.Data.IDbConnection,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<,>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;LoadSelect<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Scalar<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Scalar<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Scalar<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Select<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;Single<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;CountAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;LoadSelectAsync<,>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;LoadSelectAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;LoadSelectAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;LoadSelectAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String[],System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;ScalarAsync<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;ScalarAsync<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;ScalarAsync<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;SingleAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ColumnDistinctResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ColumnResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_DictionaryResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ExecuteSqlFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_LastInsertIdFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_LongScalarResultFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_LookupResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_RefResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_RefSingleResultFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ResultsFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_ScalarResultFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_SingleResultFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_SqlCommandFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilter;false;set_SqlFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteResultsFilterExtensions;false;ExecNonQuery;(System.Data.IDbCommand,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaApi;false;ColumnExists<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaApi;false;ColumnExistsAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;AddColumn<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;AddForeignKey<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;AddForeignKey<,>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.OnFkOption,ServiceStack.OrmLite.OnFkOption,System.String);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;AlterColumn<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;ChangeColumnName<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;CreateIndex<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteSchemaModifyApi;false;DropColumn<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteUtils;false;EvalFactoryFn<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteUtils;false;set_SqlVerifyFragmentFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Delete<>;(System.Data.IDbConnection,System.Object,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Delete<>;(System.Data.IDbConnection,T,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;DeleteById<>;(System.Data.IDbConnection,System.Object,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;DeleteById<>;(System.Data.IDbConnection,System.Object,System.UInt64,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Insert<>;(System.Data.IDbConnection,System.Action,System.Collections.Generic.Dictionary,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Insert<>;(System.Data.IDbConnection,System.Action,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Insert<>;(System.Data.IDbConnection,T,System.Action,System.Boolean);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;InsertAll<>;(System.Data.IDbConnection,System.Collections.Generic.IEnumerable,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;InsertIntoSelect<>;(System.Data.IDbConnection,ServiceStack.OrmLite.ISqlExpression,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Update<>;(System.Data.IDbConnection,System.Action,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Update<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;Update<>;(System.Data.IDbConnection,T,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApi;false;UpdateAll<>;(System.Data.IDbConnection,System.Collections.Generic.IEnumerable,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Action,System.Threading.CancellationToken,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Action,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Object,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,T,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteByIdAsync<>;(System.Data.IDbConnection,System.Object,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteByIdAsync<>;(System.Data.IDbConnection,System.Object,System.UInt64,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;DeleteByIdsAsync<>;(System.Data.IDbConnection,System.Collections.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertAllAsync<>;(System.Data.IDbConnection,System.Collections.Generic.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertAsync<>;(System.Data.IDbConnection,System.Action,System.Collections.Generic.Dictionary,System.Boolean,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertAsync<>;(System.Data.IDbConnection,System.Action,System.Threading.CancellationToken,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertAsync<>;(System.Data.IDbConnection,T,System.Action,System.Boolean,System.Boolean,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;InsertIntoSelectAsync<>;(System.Data.IDbConnection,ServiceStack.OrmLite.ISqlExpression,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAllAsync<>;(System.Data.IDbConnection,System.Collections.Generic.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Action,System.Threading.CancellationToken,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Action,T[]);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,T,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Delete<>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Delete<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Delete<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;InsertOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;InsertOnly<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Boolean);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Update<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Update<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Update<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;Update<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateAdd<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateNonDefaults<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Linq.Expressions.Expression>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.String,System.Object[],System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Collections.Generic.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnly<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Collections.Generic.IEnumerable,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,ServiceStack.OrmLite.SqlExpression,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.String[],System.Linq.Expressions.Expression>,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApi;false;UpdateOnlyFields<>;(System.Data.IDbConnection,T,System.String[],System.Linq.Expressions.Expression>,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;DeleteAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;DeleteWhereAsync<>;(System.Data.IDbConnection,System.String,System.Object[],System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;InsertOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;InsertOnlyAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAddAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,System.Object,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateNonDefaultsAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Collections.Generic.Dictionary,System.String,System.Object[],System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Collections.Generic.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyAsync<>;(System.Data.IDbConnection,System.Linq.Expressions.Expression>,System.String,System.Collections.Generic.IEnumerable,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,ServiceStack.OrmLite.SqlExpression,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.String[],System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;OrmLiteWriteExpressionsApiAsync;false;UpdateOnlyFieldsAsync<>;(System.Data.IDbConnection,T,System.String[],System.Linq.Expressions.Expression>,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;And<>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;And<>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;Create<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;Not<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;Or<>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;PredicateBuilder;false;Or<>;(System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;CrossJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;CrossJoin<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;FullJoin<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;FullJoin<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;FullJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;FullJoin<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;InternalJoin<,>;(System.String,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;InternalJoin<,>;(System.String,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;InternalJoin<,>;(System.String,System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;Join<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;LeftJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<,>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.JoinFormatDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;RightJoin<>;(System.Linq.Expressions.Expression>,ServiceStack.OrmLite.TableOptions);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;set_SelectFilter;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;false;set_SqlFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And;(System.Linq.Expressions.Expression>,System.Object[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;And<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Ensure<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;GroupBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Having;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Having<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Having<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Having<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Insert<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or;(System.Linq.Expressions.Expression>,System.Object[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Or<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;OrderByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Select<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;SelectDistinct<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenBy<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;ThenByDescending<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Update;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where;(System.Linq.Expressions.Expression>,System.Object[]);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;Where<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpression<>;true;WithSqlFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpressionExtensions;false;Column<>;(ServiceStack.OrmLite.IOrmLiteDialectProvider,System.Linq.Expressions.Expression>,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;SqlExpressionExtensions;false;Column<>;(ServiceStack.OrmLite.ISqlExpression,System.Linq.Expressions.Expression>,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Exec;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Exec<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Exec<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.OrmLite;UntypedApi<>;false;Update;(System.Object,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Action>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Boolean>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Byte[]>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.HashSet>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Collections.Generic.List>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Double>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int32>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.Int64>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,System.String>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperation<>;true;QueueCommand;(System.Func,T>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Generic;IRedisTypedQueueableOperationAsync<>;true;QueueCommand;(System.Func,System.Threading.Tasks.ValueTask>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteBytesQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteDoubleQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteIntQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteLongQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteMultiBytesQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteMultiStringQueuedCommand;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteRedisDataQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteStringQueuedCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperation;true;CompleteVoidQueuedCommand;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteBytesQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteDoubleQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteIntQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteLongQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteMultiBytesQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteMultiStringQueuedCommandAsync;(System.Func>>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteRedisDataQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteStringQueuedCommandAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueCompletableOperationAsync;true;CompleteVoidQueuedCommandAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Action,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperation;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>>,System.Action>,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func>,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis.Pipeline;IRedisQueueableOperationAsync;true;QueueCommand;(System.Func,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisClient;true;ExecCachedLua<>;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisClientAsync;true;ExecCachedLuaAsync<>;(System.String,System.Func>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnDispose;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnEvent;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnFailover;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnInit;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnMessage;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnStart;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnStop;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisPubSubServer;true;set_OnUnSubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscription;true;set_OnMessage;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscription;true;set_OnMessageBytes;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscription;true;set_OnSubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscription;true;set_OnUnSubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;add_OnMessageAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;add_OnMessageBytesAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;add_OnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;add_OnUnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;remove_OnMessageAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;remove_OnMessageBytesAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;remove_OnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Redis;IRedisSubscriptionAsync;true;remove_OnUnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Reflection;DelegateFactory+LateBoundMethod;false;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Reflection;DelegateFactory+LateBoundVoid;false;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;DefaultScripts;false;MatchesStringValue;(System.Object,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ISharpPages;true;OneTimePage;(System.String,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;JsExpressionUtils;false;GetJsExpressionAndEvaluate;(System.ReadOnlyMemory,ServiceStack.Script.ScriptScopeContext,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;JsExpressionUtils;false;GetJsExpressionAndEvaluateAsync;(System.ReadOnlyMemory,ServiceStack.Script.ScriptScopeContext,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;JsExpressionUtils;false;GetJsExpressionAndEvaluateToBool;(System.ReadOnlyMemory,ServiceStack.Script.ScriptScopeContext,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;JsExpressionUtils;false;GetJsExpressionAndEvaluateToBoolAsync;(System.ReadOnlyMemory,ServiceStack.Script.ScriptScopeContext,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+BuiltInFunc;false;BuiltInFunc;(System.String,System.Int32,ServiceStack.Script.Lisp+BuiltInFuncBody);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+BuiltInFuncBody;false;BeginInvoke;(ServiceStack.Script.Lisp+Interpreter,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+Cell;false;Walk;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+Interpreter;false;Def;(System.String,System.Int32,ServiceStack.Script.Lisp+BuiltInFuncBody);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+Interpreter;false;Def;(System.String,System.Int32,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;Lisp+Sym;false;New;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;PageFormat;false;set_EncodeValue;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;PageFormat;false;set_OnExpressionException;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;PageFormat;false;set_OnViewException;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;PageFormat;false;set_ResolveLayout;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ParseRealNumber;false;BeginInvoke;(System.ReadOnlySpan,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;RemoveBlocks;(System.Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;RemoveFilters;(System.Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;RemovePlugins;(System.Predicate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;set_OnAfterPlugins;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;set_OnRenderException;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptContext;false;set_OnUnhandledExpression;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Script;ScriptMethodInfo;false;GetScriptMethods;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;ActionExecHandler;false;ActionExecHandler;(System.Action,System.Threading.AutoResetEvent);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;Execute;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;Execute<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;ExecuteAsync;(System.Func,System.Threading.CancellationToken);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;ExecuteAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;ExecuteAsync<>;(System.Func>,System.Threading.CancellationToken);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Support;AdapterBase;false;ExecuteAsync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;BasicAppHost;false;set_ConfigFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;BasicAppHost;false;set_ConfigureAppHost;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;BasicAppHost;false;set_ConfigureContainer;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;BasicAppHost;false;set_UseServiceController;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;MockRestGateway;false;set_ResultsFilter;(ServiceStack.Testing.RestGatewayDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Testing;RestGatewayDelegate;false;BeginInvoke;(System.String,System.Type,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ConvertInstanceDelegate;false;BeginInvoke;(System.Object,System.Type,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ConvertObjectDelegate;false;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DateTimeSerializer;false;set_OnParseErrorFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializationErrorDelegate;false;BeginInvoke;(System.Object,System.Type,System.String,System.String,System.Exception,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<,>;false;ParseGenericArray;(System.ReadOnlySpan,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<,>;false;ParseGenericArray;(System.String,ServiceStack.Text.Common.ParseStringDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<>+ParseArrayOfElementsDelegate;false;BeginInvoke;(System.ReadOnlySpan,ServiceStack.Text.Common.ParseStringSpanDelegate,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<>+ParseArrayOfElementsDelegate;false;BeginInvoke;(System.ReadOnlySpan,ServiceStack.Text.Common.ParseStringSpanDelegate,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeArrayWithElements<>+ParseArrayOfElementsDelegate;false;Invoke;(System.ReadOnlySpan,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionary<,>;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionary<,>;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionary<,>;(System.String,System.Type,ServiceStack.Text.Common.ParseStringDelegate,ServiceStack.Text.Common.ParseStringDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionary<,>;(System.String,System.Type,ServiceStack.Text.Common.ParseStringDelegate,ServiceStack.Text.Common.ParseStringDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionaryType;(System.ReadOnlySpan,System.Type,System.Type[],ServiceStack.Text.Common.ParseStringSpanDelegate,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionaryType;(System.ReadOnlySpan,System.Type,System.Type[],ServiceStack.Text.Common.ParseStringSpanDelegate,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionaryType;(System.String,System.Type,System.Type[],ServiceStack.Text.Common.ParseStringDelegate,ServiceStack.Text.Common.ParseStringDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeDictionary<>;false;ParseDictionaryType;(System.String,System.Type,System.Type[],ServiceStack.Text.Common.ParseStringDelegate,ServiceStack.Text.Common.ParseStringDelegate);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<,>;false;ParseGenericList;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<,>;false;ParseGenericList;(System.String,System.Type,ServiceStack.Text.Common.ParseStringDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>+ParseListDelegate;false;BeginInvoke;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>+ParseListDelegate;false;BeginInvoke;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>+ParseListDelegate;false;Invoke;(System.ReadOnlySpan,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>;false;GetListTypeParseFn;(System.Type,System.Type,ServiceStack.Text.Common.ParseStringDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeListWithElements<>;false;GetListTypeParseStringSpanFn;(System.Type,System.Type,ServiceStack.Text.Common.ParseStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;DeserializeStringSpanDelegate;false;BeginInvoke;(System.Type,System.ReadOnlySpan,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ITypeSerializer;true;set_ObjectDeserializer;(ServiceStack.Text.Common.ObjectDeserializerDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;JsWriter;false;WriteDynamic;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ObjectDeserializerDelegate;false;BeginInvoke;(System.ReadOnlySpan,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ParseStringDelegate;false;BeginInvoke;(System.String,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ParseStringSpanDelegate;false;BeginInvoke;(System.ReadOnlySpan,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ToStringDictionaryMethods<,,>;false;WriteGenericIDictionary;(System.IO.TextWriter,System.Collections.Generic.IDictionary,ServiceStack.Text.Common.WriteObjectDelegate,ServiceStack.Text.Common.WriteObjectDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ToStringDictionaryMethods<,,>;false;WriteGenericIDictionary;(System.IO.TextWriter,System.Collections.Generic.IDictionary,ServiceStack.Text.Common.WriteObjectDelegate,ServiceStack.Text.Common.WriteObjectDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ToStringDictionaryMethods<,,>;false;WriteIDictionary;(System.IO.TextWriter,System.Object,ServiceStack.Text.Common.WriteObjectDelegate,ServiceStack.Text.Common.WriteObjectDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;ToStringDictionaryMethods<,,>;false;WriteIDictionary;(System.IO.TextWriter,System.Object,ServiceStack.Text.Common.WriteObjectDelegate,ServiceStack.Text.Common.WriteObjectDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Common;WriteObjectDelegate;false;BeginInvoke;(System.IO.TextWriter,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;ObjectPool<>+Factory;false;BeginInvoke;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;ObjectPool<>;false;ObjectPool;(ServiceStack.Text.Pools.ObjectPool<>+Factory);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;ObjectPool<>;false;ObjectPool;(ServiceStack.Text.Pools.ObjectPool<>+Factory,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;PooledObject<>;false;PooledObject;(ServiceStack.Text.Pools.ObjectPool,System.Func,T>,System.Action,T>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text.Pools;PooledObject<>;false;PooledObject;(ServiceStack.Text.Pools.ObjectPool,System.Func,T>,System.Action,T>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_ModelFactory;(ServiceStack.EmptyCtorFactoryDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_OnDeserializationError;(ServiceStack.Text.Common.DeserializationErrorDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_ParsePrimitiveFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_TypeFinder;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;Config;false;set_TypeWriter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;CsvReader;false;ParseFields;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;CsvSerializer;false;set_OnSerialize;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;With;(System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.String,System.String,System.Func,System.Func,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,ServiceStack.EmptyCtorFactoryDelegate,System.String[],System.Nullable);;Argument[20];Argument[20].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;With;(System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.String,System.String,System.Func,System.Func,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,ServiceStack.EmptyCtorFactoryDelegate,System.String[],System.Nullable);;Argument[21];Argument[21].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;With;(System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.String,System.String,System.Func,System.Func,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,System.Nullable,ServiceStack.EmptyCtorFactoryDelegate,System.String[],System.Nullable);;Argument[30];Argument[30].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_AllowRuntimeType;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_ModelFactory;(ServiceStack.EmptyCtorFactoryDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_OnDeserializationError;(ServiceStack.Text.Common.DeserializationErrorDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_ParsePrimitiveFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_TypeFinder;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig;false;set_TypeWriter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_DeSerializeFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_OnDeserializedFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_OnDeserializingFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_OnSerializedFn;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_OnSerializingFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_RawDeserializeFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_RawSerializeFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsConfig<>;false;set_SerializeFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsonExtensions;false;ConvertAll<>;(ServiceStack.Text.JsonArrayObjects,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsonExtensions;false;ConvertTo<>;(ServiceStack.Text.JsonObject,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;JsonSerializer;false;set_OnSerialize;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;MemoryProvider;true;Deserialize;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;MemoryProvider;true;DeserializeAsync;(System.IO.Stream,System.Type,ServiceStack.Text.Common.DeserializeStringSpanDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager+EventHandler;false;BeginInvoke;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager+LargeBufferDiscardedEventHandler;false;BeginInvoke;(ServiceStack.Text.RecyclableMemoryStreamManager+Events+MemoryStreamDiscardReason,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager+StreamLengthReportHandler;false;BeginInvoke;(System.Int64,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager+UsageReportEventHandler;false;BeginInvoke;(System.Int64,System.Int64,System.Int64,System.Int64,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_BlockCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_BlockDiscarded;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_LargeBufferCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_LargeBufferDiscarded;(ServiceStack.Text.RecyclableMemoryStreamManager+LargeBufferDiscardedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamConvertedToArray;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamDisposed;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamFinalized;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_StreamLength;(ServiceStack.Text.RecyclableMemoryStreamManager+StreamLengthReportHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;add_UsageReport;(ServiceStack.Text.RecyclableMemoryStreamManager+UsageReportEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_BlockCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_BlockDiscarded;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_LargeBufferCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_LargeBufferDiscarded;(ServiceStack.Text.RecyclableMemoryStreamManager+LargeBufferDiscardedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamConvertedToArray;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamCreated;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamDisposed;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamFinalized;(ServiceStack.Text.RecyclableMemoryStreamManager+EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_StreamLength;(ServiceStack.Text.RecyclableMemoryStreamManager+StreamLengthReportHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;RecyclableMemoryStreamManager;false;remove_UsageReport;(ServiceStack.Text.RecyclableMemoryStreamManager+UsageReportEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;TypeConfig<>;false;set_OnDeserializing;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Text;TypeSerializer;false;set_OnSerialize;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Validation;ValidationFeature;false;set_ErrorResponseFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.VirtualPath;AbstractVirtualDirectoryBase;true;GetPathToRoot;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.VirtualPath;AbstractVirtualFileBase;true;GetPathToRoot;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IContentTypes;true;Register;(System.String,ServiceStack.Web.StreamSerializerDelegate,ServiceStack.Web.StreamDeserializerDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IContentTypes;true;Register;(System.String,ServiceStack.Web.StreamSerializerDelegate,ServiceStack.Web.StreamDeserializerDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IContentTypes;true;RegisterAsync;(System.String,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.StreamDeserializerDelegateAsync);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IContentTypes;true;RegisterAsync;(System.String,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.StreamDeserializerDelegateAsync);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IHttpResult;true;set_ResultScope;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_CurrentDateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_IgnoreFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_RequestBodyTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_RequestLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_ResponseTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;IRequestLogger;true;set_SkipLogging;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StreamDeserializerDelegate;false;BeginInvoke;(System.Type,System.IO.Stream,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StreamDeserializerDelegateAsync;false;BeginInvoke;(System.Type,System.IO.Stream,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StreamSerializerDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.IO.Stream,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StreamSerializerDelegateAsync;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.IO.Stream,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StringDeserializerDelegate;false;BeginInvoke;(System.String,System.Type,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;StringSerializerDelegate;false;BeginInvoke;(ServiceStack.Web.IRequest,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;TextDeserializerDelegate;false;BeginInvoke;(System.Type,System.String,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack.Web;TextSerializerDelegate;false;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ActionInvoker;false;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ApiAllowableValuesAttribute;false;ApiAllowableValuesAttribute;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ApiAllowableValuesAttribute;false;ApiAllowableValuesAttribute;(System.String,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostBase;false;set_BeforeNextMiddleware;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostBase;false;set_NetCoreHandler;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostBase;true;ProcessRequest;(Microsoft.AspNetCore.Http.HttpContext,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;AddIfNotExists<>;(System.Collections.Generic.List,T,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureOperation<>;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureOperations;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureType<>;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureTypes;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureTypes;(ServiceStack.IAppHost,System.Action,System.Predicate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;ConfigureTypes;(ServiceStack.IAppHost,System.Action,System.Predicate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppHostExtensions;false;RegisterRequestBinder<>;(ServiceStack.IAppHost,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachOperation;(ServiceStack.AppMetadata,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachOperation;(ServiceStack.AppMetadata,System.Action,System.Predicate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachOperation;(ServiceStack.AppMetadata,System.Action,System.Predicate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachProperty;(ServiceStack.MetadataType,System.Func,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachProperty;(ServiceStack.MetadataType,System.Func,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachType;(ServiceStack.AppMetadata,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachType;(ServiceStack.AppMetadata,System.Action,System.Predicate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;EachType;(ServiceStack.AppMetadata,System.Action,System.Predicate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;Property;(ServiceStack.MetadataType,System.String,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;RemoveProperty;(ServiceStack.MetadataType,System.Predicate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppMetadataUtils;false;ToInput;(ServiceStack.InputAttributeBase,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppUtils;false;DbContextExec<,>;(System.IServiceProvider,System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppUtils;false;DbContextExec<,>;(System.IServiceProvider,System.Func,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppUtils;false;NewScope<>;(System.IServiceProvider,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AppUtils;false;ToObjectDictionary;(System.Data.IDataReader,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncContext;false;ContinueWith;(System.Threading.Tasks.Task,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncContext;false;ContinueWith;(System.Threading.Tasks.Task,System.Action,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_ExceptionFilter;(ServiceStack.ExceptionFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_GlobalRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_GlobalResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_HttpLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_OnAuthenticationRequired;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_OnDownloadProgress;(ServiceStack.ProgressDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_OnUploadProgress;(ServiceStack.ProgressDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_RequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_ResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_ResultsFilter;(ServiceStack.ResultsFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_ResultsFilterResponse;(ServiceStack.ResultsFilterResponseDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_StreamDeserializer;(ServiceStack.Web.StreamDeserializerDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AsyncServiceClient;false;set_StreamSerializer;(ServiceStack.Web.StreamSerializerDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;AuthFeature;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;AuthFeature;(System.Func,ServiceStack.Auth.IAuthProvider[],System.String);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_AllowGetAuthenticateRequests;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_AuthResponseDecorator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_IsValidUsernameFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_OnAuthenticateValidate;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_RegisterResponseDecorator;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_SessionFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_ValidateFn;(ServiceStack.Auth.ValidateFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AuthFeature;false;set_ValidateRedirectLinks;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoMapping;false;RegisterConverter<,>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoMapping;false;RegisterPopulator<,>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoMappingUtils;false;ThenDo<>;(To,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryData;false;set_GlobalQueryFilter;(ServiceStack.QueryDataFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataExtensions;false;And<>;(ServiceStack.IDataQuery,System.Linq.Expressions.Expression>,ServiceStack.QueryCondition,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataExtensions;false;MemorySource<>;(ServiceStack.QueryDataContext,System.Func>,ServiceStack.Caching.ICacheClient,System.Nullable,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataExtensions;false;Or<>;(ServiceStack.IDataQuery,System.Linq.Expressions.Expression>,ServiceStack.QueryCondition,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;AddDataSource;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;AddDataSource<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;AddDataSource<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;RegisterQueryFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;set_GenerateServiceFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryDataFeature;false;set_GlobalQueryFilter;(ServiceStack.QueryDataFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;AutoQueryMetadataFeature;false;set_MetadataFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CacheClientExtensions;false;GetOrCreate<>;(ServiceStack.Caching.ICacheClient,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CacheClientExtensions;false;GetOrCreate<>;(ServiceStack.Caching.ICacheClient,System.String,System.TimeSpan,System.Func);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CacheClientExtensions;false;GetOrCreateAsync<>;(ServiceStack.Caching.ICacheClientAsync,System.String,System.Func>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CacheClientExtensions;false;GetOrCreateAsync<>;(ServiceStack.Caching.ICacheClientAsync,System.String,System.TimeSpan,System.Func>);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CachedExpressionCompiler;false;Compile<,>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ClientConfig;false;set_EncodeDispositionFileName;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CompareTypeUtils;false;Aggregate;(System.Collections.IEnumerable,System.Func,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerExtensions;false;AddSingleton<>;(ServiceStack.IContainer,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerExtensions;false;AddTransient<>;(ServiceStack.IContainer,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddScoped<,>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddScoped<>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddSingleton<,>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddSingleton<>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddTransient<,>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ContainerNetCoreExtensions;false;AddTransient<>;(Funq.Container,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CsvRequestLogger;false;set_OnReadLastEntryError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CsvRequestLogger;false;set_OnWriteLogsError;(System.Action,System.Exception>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;CustomPlugin;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;CustomPlugin;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;set_OnAfterPluginsLoaded;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;set_OnBeforePluginsLoaded;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomPlugin;false;set_OnRegister;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomRequestFilter;false;CustomRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;CustomResponseFilter;false;CustomResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DataConditionExpression;false;set_FieldGetter;(ServiceStack.GetMemberDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Defer;false;Defer;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;ConvertAll<,,>;(System.Collections.Generic.IDictionary,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;ForEach<,>;(System.Collections.Generic.Dictionary,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;GetOrAdd<,>;(System.Collections.Generic.Dictionary,K,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;GetValue<,>;(System.Collections.Generic.Dictionary,TKey,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DictionaryExtensions;false;MoveKey<,>;(System.Collections.Generic.Dictionary,TKey,TKey,System.Func);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;DisposableExtensions;false;Run<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EmptyCtorDelegate;false;BeginInvoke;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EmptyCtorFactoryDelegate;false;BeginInvoke;(System.Type,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;AllAsync<>;(System.Collections.Generic.IEnumerable>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;AllAsync<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;AnyAsync<>;(System.Collections.Generic.IEnumerable>,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;AnyAsync<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Each<,>;(System.Collections.Generic.IDictionary,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Each<>;(System.Collections.Generic.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Each<>;(System.Collections.Generic.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;EquivalentTo<,>;(System.Collections.Generic.IDictionary,System.Collections.Generic.IDictionary,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;EquivalentTo<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;EquivalentTo<>;(T[],T[],System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Map<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;Map<>;(System.Collections.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EnumerableExtensions;false;ToSafeDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnDispose;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnHungConnection;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnPublish;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_OnPublishAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_WriteEvent;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;EventSubscription;false;set_WriteEventAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExceptionFilterDelegate;false;BeginInvoke;(System.Net.WebException,System.Net.WebResponse,System.String,System.Type,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExceptionFilterHttpDelegate;false;BeginInvoke;(System.Net.Http.HttpResponseMessage,System.String,System.Type,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecAll<>;(System.Collections.Generic.IEnumerable,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecAllAsync<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecAllReturnFirstAsync<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecAllWithFirstOut<,>;(System.Collections.Generic.IEnumerable,System.Func,TReturn);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecReturnFirstWithResult<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;ExecReturnFirstWithResultAsync<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryOnException;(System.Action,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryOnException;(System.Action,System.Nullable);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryOnExceptionAsync;(System.Func,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryOnExceptionAsync;(System.Func,System.Nullable);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryUntilTrue;(System.Func,System.Nullable);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExecUtils;false;RetryUntilTrueAsync;(System.Func>,System.Nullable);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExpressionUtils;false;AssignedValues<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExpressionUtils;false;GetFieldNames<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExpressionUtils;false;GetMemberExpression<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ExpressionUtils;false;GetMemberName<>;(System.Linq.Expressions.Expression>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FieldAccessor;false;FieldAccessor;(System.Reflection.FieldInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.SetMemberRefDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FieldAccessor;false;FieldAccessor;(System.Reflection.FieldInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.SetMemberRefDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FieldAccessor;false;FieldAccessor;(System.Reflection.FieldInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate,ServiceStack.SetMemberRefDelegate);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FilesUploadFeature;false;set_FileResult;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FuncUtils;false;TryExec;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FuncUtils;false;TryExec<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FuncUtils;false;TryExec<>;(System.Func,T);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;FuncUtils;false;WaitWhile;(System.Func,System.Int32,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GenericAppHost;false;set_ConfigFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GenericAppHost;false;set_ConfigureAppHost;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GenericAppHost;false;set_ConfigureContainer;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GetMemberDelegate;false;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GetMemberDelegate<>;false;BeginInvoke;(T,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;GitHubGateway;false;set_GetJsonFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostConfig;false;set_FallbackRestPath;(ServiceStack.Host.FallbackRestPathDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostContext;false;ConfigureAppHost;(System.Action,System.Action,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostContext;false;ConfigureAppHost;(System.Action,System.Action,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostContext;false;ConfigureAppHost;(System.Action,System.Action,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HostContext;false;ConfigureAppHost;(System.Action,System.Action,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HtmlModule;false;set_FileContentsResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HtmlModuleContext;false;Cache;(System.String,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HtmlModulesFeature;false;Configure;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HtmlModulesFeature;false;set_FileContentsResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpCacheFeature;false;set_CacheControlFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpExtensions;false;EndHttpHandlerRequest;(ServiceStack.Web.IResponse,System.Boolean,System.Boolean,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpExtensions;false;EndHttpHandlerRequestAsync;(ServiceStack.Web.IResponse,System.Boolean,System.Boolean,System.Func);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpExtensions;false;EndRequestAsync;(ServiceStack.Web.IResponse,System.Boolean,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpRequestExtensions;false;EachRequest<>;(ServiceStack.Web.IRequest,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpRequestExtensions;false;ResolveItem;(ServiceStack.Web.IRequest,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpResponseExtensionsInternal;false;WriteToResponse;(ServiceStack.Web.IResponse,System.Object,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.IRequest,System.Byte[],System.Byte[],System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpResponseExtensionsInternal;false;WriteToResponse;(ServiceStack.Web.IResponse,System.Object,ServiceStack.Web.StreamSerializerDelegateAsync,ServiceStack.Web.IRequest,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpResult;false;HttpResult;(System.Byte[],System.String);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.IO.Stream,System.String);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.Object);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.Object,System.Net.HttpStatusCode);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.Object,System.String);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.Object,System.String,System.Net.HttpStatusCode);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpResult;false;HttpResult;(System.String,System.String);;Argument[0];Argument[this];taint;manual | +| ServiceStack;HttpUtils;false;DeleteFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;DeleteFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;DeleteFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;DeleteFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetBytesFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetBytesFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetBytesFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetBytesFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetCsvFromUrl;(System.String,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetCsvFromUrl;(System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetCsvFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetCsvFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetJsonFromUrl;(System.String,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetJsonFromUrl;(System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetJsonFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetJsonFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStreamFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStreamFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStreamFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStreamFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStringFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStringFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStringFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetStringFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetXmlFromUrl;(System.String,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetXmlFromUrl;(System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetXmlFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;GetXmlFromUrlAsync;(System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;HeadFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;HeadFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;HeadFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;HeadFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;OptionsFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;OptionsFromUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;OptionsFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;OptionsFromUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PatchToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostBytesToUrl;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostBytesToUrl;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostBytesToUrlAsync;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostBytesToUrlAsync;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostCsvToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostFileToUrl;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostFileToUrl;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostFileToUrlAsync;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostFileToUrlAsync;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStreamToUrl;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStreamToUrl;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStreamToUrlAsync;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStreamToUrlAsync;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PostXmlToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutBytesToUrl;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutBytesToUrl;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutBytesToUrlAsync;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutBytesToUrlAsync;(System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutCsvToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutFileToUrl;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutFileToUrl;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutFileToUrlAsync;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutFileToUrlAsync;(System.String,System.IO.FileInfo,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrlAsync;(System.String,System.Object,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutJsonToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStreamToUrl;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStreamToUrl;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStreamToUrlAsync;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStreamToUrlAsync;(System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStringToUrl;(System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutStringToUrlAsync;(System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrl;(System.String,System.Object,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrl;(System.String,System.String,System.String,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrlAsync;(System.String,System.Object,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutToUrlAsync;(System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrl;(System.String,System.Object,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrl;(System.String,System.String,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrl;(System.String,System.String,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;PutXmlToUrlAsync;(System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrl;(System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrl;(System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrlAsync;(System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendBytesToUrlAsync;(System.String,System.String,System.Byte[],System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrl;(System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrl;(System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrlAsync;(System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStreamToUrlAsync;(System.String,System.String,System.IO.Stream,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrl;(System.Net.Http.HttpClient,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrl;(System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrl;(System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrlAsync;(System.Net.Http.HttpClient,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrlAsync;(System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;SendStringToUrlAsync;(System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFile;(System.Net.Http.HttpClient,System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFile;(System.Net.Http.HttpClient,System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[9];Argument[9].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFile;(System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFile;(System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFileAsync;(System.Net.Http.HttpClient,System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFileAsync;(System.Net.Http.HttpClient,System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[9];Argument[9].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFileAsync;(System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;UploadFileAsync;(System.Net.Http.HttpRequestMessage,System.IO.Stream,System.String,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;With;(System.Net.Http.HttpRequestMessage,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;set_CreateClient;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;HttpUtils;false;set_HttpClientHandlerFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;AfterPluginLoaded<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;ConfigurePlugin<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;PostConfigurePlugin<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedMessageRequestFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedMessageResponseFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedRequestFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedRequestFilter<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedRequestFilterAsync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedRequestFilterAsync<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedResponseFilter<>;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedResponseFilter<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedResponseFilterAsync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IAppHost;true;RegisterTypedResponseFilterAsync<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IContainer;true;AddSingleton;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IContainer;true;AddTransient;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IEventSubscription;true;set_OnUnsubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IEventSubscription;true;set_OnUnsubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IServerEvents;true;QueueAsyncTask;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Inspect+Config;false;set_DumpTableFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Inspect+Config;false;set_VarsFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;InstanceMapper;false;BeginInvoke;(System.Object,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;Times;(System.Int32,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;Times;(System.Int32,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;Times<>;(System.Int32,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;Times<>;(System.Int32,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;TimesAsync;(System.Int32,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;TimesAsync;(System.Int32,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;TimesAsync;(System.Int32,System.Func,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;IntExtensions;false;TimesAsync<>;(System.Int32,System.Func>,System.Threading.CancellationToken);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;ToWebServiceException;(System.Net.Http.HttpResponseMessage,System.Object,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_ExceptionFilter;(ServiceStack.ExceptionFilterHttpDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_GlobalHttpMessageHandlerFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_GlobalRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_GlobalResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_RequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_ResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_ResultsFilter;(ServiceStack.ResultsFilterHttpDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_ResultsFilterResponse;(ServiceStack.ResultsFilterHttpResponseDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_TypedUrlResolver;(ServiceStack.TypedUrlResolverDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;JsonApiClient;false;set_UrlResolver;(ServiceStack.UrlResolverDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ListExtensions;false;SafeWhere<>;(System.Collections.Generic.List,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_NotifyHeartbeatAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_NotifyJoinAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_NotifyLeaveAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_NotifyUpdateAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnRemoveSubscriptionAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnUnsubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_OnUpdateAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MemoryServerEvents;false;set_Serialize;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MetadataFeature;false;set_DetailPageFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MetadataFeature;false;set_IndexPageFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MetadataFeature;false;set_TagFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MethodInvoker;false;BeginInvoke;(System.Object,System.Object[],System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;MimeTypes;false;set_IsBinaryFilter;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ModelConfig<>;false;Id;(ServiceStack.GetMemberDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ModularStartup;false;ModularStartup;(Microsoft.Extensions.Configuration.IConfiguration,System.Func>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NativeTypesFeature;false;ExportAttribute;(System.Type,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NativeTypesFeature;false;ExportAttribute<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetCoreAppHostExtensions;false;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action,System.Action,System.Action,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetCoreAppHostExtensions;false;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action,System.Action,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetCoreAppHostExtensions;false;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action,System.Action,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetCoreAppHostExtensions;false;ConfigureAppHost;(Microsoft.AspNetCore.Hosting.IWebHostBuilder,System.Action,System.Action,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;NetStandardPclExportClient;false;GetHeader;(System.Net.WebHeaderCollection,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ObjectActivator;false;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;OrderByExpression;false;OrderByExpression;(System.String,ServiceStack.GetMemberDelegate,System.Boolean);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PclExportClient;false;CreateTimer;(System.Threading.TimerCallback,System.TimeSpan,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PclExportClient;false;GetHeader;(System.Net.WebHeaderCollection,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PclExportClient;false;RunOnUiThread;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;Measure;(System.Action,System.Int32,System.Int32,System.Action,System.Action,System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;Measure;(System.Action,System.Int32,System.Int32,System.Action,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;Measure;(System.Action,System.Int32,System.Int32,System.Action,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;Measure;(System.Action,System.Int32,System.Int32,System.Action,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PerfUtils;false;MeasureFor;(System.Action,System.Int32);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PlatformExtensions;false;ToObjectDictionary;(System.Object,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Plugins;false;AddToAppMetadata;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;Plugins;false;ModifyAppMetadata;(ServiceStack.IAppHost,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PocoDataSource;false;Create<>;(System.Collections.Generic.ICollection,System.Func,System.Int64>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PocoDataSource;false;Create<>;(System.Collections.Generic.IEnumerable,System.Func,System.Int64>);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PopulateMemberDelegate;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PreProcessRequest;false;set_HandleUploadFileAsync;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProcessUtils;false;RunAsync;(System.Diagnostics.ProcessStartInfo,System.Nullable,System.Action,System.Action);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProcessUtils;false;RunAsync;(System.Diagnostics.ProcessStartInfo,System.Nullable,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProcessUtils;false;RunShellAsync;(System.String,System.String,System.Nullable,System.Action,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProcessUtils;false;RunShellAsync;(System.String,System.String,System.Nullable,System.Action,System.Action);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProfilingFeature;false;set_DiagnosticEntryFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProfilingFeature;false;set_ExcludeRequestsFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProfilingFeature;false;set_ResponseTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProfilingFeature;false;set_TagResolver;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProgressDelegate;false;BeginInvoke;(System.Int64,System.Int64,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PropertyAccessor;false;PropertyAccessor;(System.Reflection.PropertyInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;PropertyAccessor;false;PropertyAccessor;(System.Reflection.PropertyInfo,ServiceStack.GetMemberDelegate,ServiceStack.SetMemberDelegate);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;ProxyFeature;(System.Func,System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;ProxyFeature;(System.Func,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;set_ProxyRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;set_ProxyResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;set_TransformRequest;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeature;false;set_TransformResponse;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_ProxyRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_ProxyResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_ResolveUrl;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_TransformRequest;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ProxyFeatureHandler;false;set_TransformResponse;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;QueryDataFilterDelegate;false;BeginInvoke;(ServiceStack.IDataQuery,ServiceStack.IQueryData,ServiceStack.Web.IRequest,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;QueryStringSerializer;false;set_ComplexTypeStrategy;(ServiceStack.WriteComplexTypeDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RegistrationFeature;false;set_ValidateFn;(ServiceStack.Auth.ValidateFn);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestContext;false;GetOrCreate<>;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;GetSessionFromSourceAsync;(ServiceStack.Web.IRequest,System.String,System.Func,System.Threading.CancellationToken);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;ToOptimizedResultUsingCache<>;(ServiceStack.Web.IRequest,ServiceStack.Caching.ICacheClient,System.String,System.Func);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;ToOptimizedResultUsingCache<>;(ServiceStack.Web.IRequest,ServiceStack.Caching.ICacheClient,System.String,System.Nullable,System.Func);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;ToOptimizedResultUsingCacheAsync<>;(ServiceStack.Web.IRequest,ServiceStack.Caching.ICacheClientAsync,System.String,System.Func,System.Threading.CancellationToken);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestExtensions;false;ToOptimizedResultUsingCacheAsync<>;(ServiceStack.Web.IRequest,ServiceStack.Caching.ICacheClientAsync,System.String,System.Nullable,System.Func,System.Threading.CancellationToken);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_CurrentDateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_IgnoreFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_RequestBodyTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_RequestLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_ResponseTrackingFilter;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;RequestLogsFeature;false;set_SkipLogging;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ResultsFilterDelegate;false;BeginInvoke;(System.Type,System.String,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ResultsFilterHttpDelegate;false;BeginInvoke;(System.Type,System.String,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ResultsFilterHttpResponseDelegate;false;BeginInvoke;(System.Net.Http.HttpResponseMessage,System.Object,System.String,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ResultsFilterResponseDelegate;false;BeginInvoke;(System.Net.WebResponse,System.Object,System.String,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SameSiteCookiesServiceCollectionExtensions;false;ConfigureNonBreakingSameSiteCookies;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventCallback;false;BeginInvoke;(ServiceStack.ServerEventsClient,ServiceStack.ServerEventMessage,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;AddListener;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;HasListener;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;RemoveListener;(System.String,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_AllRequestFilters;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_EventStreamRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_HeartbeatRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_HttpClientHandlerFactory;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_ResolveStreamUrl;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsClient;false;set_UnRegisterRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnConnect;(System.Action>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnCreated;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnDispose;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnError;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnHeartbeatInit;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnHungConnection;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnInit;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnPublish;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnPublishAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnSubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnSubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnUnsubscribe;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnUnsubscribeAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_OnUpdateAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_Serialize;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_WriteEvent;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServerEventsFeature;false;set_WriteEventAsync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;CaptureHttp;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;PrepareWebRequest;(System.String,System.String,System.Object,System.Action);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;SendStringToUrl;(System.Net.HttpWebRequest,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;SendStringToUrl;(System.Net.HttpWebRequest,System.String,System.String,System.String,System.String,System.Action,System.Action);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;SendStringToUrlAsync;(System.Net.HttpWebRequest,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;SendStringToUrlAsync;(System.Net.HttpWebRequest,System.String,System.String,System.String,System.String,System.Action,System.Action,System.Threading.CancellationToken);;Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;ToWebServiceException;(System.Net.WebException,System.Func,System.String);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;UploadFile;(System.Net.WebRequest,System.IO.Stream,System.String,System.String,System.String,System.Action,System.String,System.String);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_ExceptionFilter;(ServiceStack.ExceptionFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_GlobalRequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_GlobalResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_HttpLogFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_OnAuthenticationRequired;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_OnDownloadProgress;(ServiceStack.ProgressDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_OnUploadProgress;(ServiceStack.ProgressDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_RequestFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_ResponseFilter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_ResultsFilter;(ServiceStack.ResultsFilterDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_ResultsFilterResponse;(ServiceStack.ResultsFilterResponseDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_TypedUrlResolver;(ServiceStack.TypedUrlResolverDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;false;set_UrlResolver;(ServiceStack.UrlResolverDelegate);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;true;HandleResponseException<>;(System.Exception,System.Object,System.String,System.Func,System.Func,TResponse);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientBase;true;HandleResponseException<>;(System.Exception,System.Object,System.String,System.Func,System.Func,TResponse);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceClientExtensions;false;Apply<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;ServiceExtensions;false;RunAction<,>;(TService,TRequest,System.Func,ServiceStack.Web.IRequest);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SetMemberDelegate;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SetMemberDelegate<>;false;BeginInvoke;(T,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SetMemberRefDelegate;false;BeginInvoke;(System.Object,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SetMemberRefDelegate<>;false;BeginInvoke;(T,System.Object,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SharpPageHandler;false;set_Filter;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SharpPageHandler;false;set_ValidateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StaticActionInvoker;false;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StaticMethodInvoker;false;BeginInvoke;(System.Object[],System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StringExtensions;false;ToCsv<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StringExtensions;false;ToJson<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;StringExtensions;false;ToJsv<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;SvgFeature;false;set_ValidateFn;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExt;false;RunSync;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExt;false;RunSync<>;(System.Func>);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExtensions;false;Error;(System.Threading.Tasks.Task,System.Action,System.Boolean,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExtensions;false;Error<>;(System.Threading.Tasks.Task,System.Action,System.Boolean,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExtensions;false;Success;(System.Threading.Tasks.Task,System.Action,System.Boolean,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskExtensions;false;Success<>;(System.Threading.Tasks.Task,System.Action,System.Boolean,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskUtils;false;EachAsync<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskUtils;false;Then;(System.Threading.Tasks.Task,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TaskUtils;false;Then<,>;(System.Threading.Tasks.Task,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TopLevelAppModularStartup;false;Create<>;(THost,Microsoft.Extensions.Configuration.IConfiguration,System.Func>);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TopLevelAppModularStartup;false;TopLevelAppModularStartup;(System.Type,ServiceStack.AppHostBase,Microsoft.Extensions.Configuration.IConfiguration,System.Func>);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;TypedUrlResolverDelegate;false;BeginInvoke;(ServiceStack.IServiceClientMeta,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UiFeature;false;set_Configure;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[10];Argument[10].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[11];Argument[11].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[12];Argument[12].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;UploadLocation;(System.String,ServiceStack.IO.IVirtualFiles,System.Func,System.String,System.String,System.String[],ServiceStack.FilesUploadOperation,System.Nullable,System.Nullable,System.Nullable,System.Action,System.Action,System.Action,System.Func);;Argument[13];Argument[13].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;set_ResolvePath;(System.Func);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;set_ValidateDelete;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;set_ValidateDownload;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UploadLocation;false;set_ValidateUpload;(System.Action);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UrlExtensions;false;ToUrl;(System.Object,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;UrlResolverDelegate;false;BeginInvoke;(ServiceStack.IServiceClientMeta,System.String,System.String,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;WriteComplexTypeDelegate;false;BeginInvoke;(System.IO.TextWriter,System.String,System.Object,System.AsyncCallback,System.Object);;Argument[3];Argument[3].Parameter[delegate-self];value;hq-generated | +| ServiceStack;X;false;Apply<>;(T,System.Action);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;X;false;Map<,>;(From,System.Func);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| ServiceStack;XLinqExtensions;false;GetAttributeValueOrDefault<>;(System.Xml.Linq.XAttribute,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| ServiceStack;XLinqExtensions;false;GetElementValueOrDefault<>;(System.Xml.Linq.XElement,System.String,System.Func);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Buffers;ArrayBufferWriter<>;false;GetMemory;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | | System.Buffers;ArrayBufferWriter<>;false;get_WrittenMemory;();;Argument[this];ReturnValue;taint;df-generated | | System.Buffers;BuffersExtensions;false;PositionOf<>;(System.Buffers.ReadOnlySequence,T);;Argument[0];ReturnValue;taint;df-generated | @@ -2993,6 +4932,30 @@ summary | System.Data.Entity;DbSet<>;false;Add;(TEntity);;Argument[0];Argument[this].Element;value;manual | | System.Data.Entity;DbSet<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].WithElement;Argument[this];value;manual | | System.Data.Entity;DbSet<>;false;Attach;(TEntity);;Argument[0];Argument[this].Element;value;manual | +| System.Data.SqlClient;OnChangeEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlNotificationEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlBulkCopy;false;add_SqlRowsCopied;(System.Data.SqlClient.SqlRowsCopiedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlBulkCopy;false;remove_SqlRowsCopied;(System.Data.SqlClient.SqlRowsCopiedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;BeginExecuteNonQuery;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;BeginExecuteReader;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;BeginExecuteReader;(System.AsyncCallback,System.Object,System.Data.CommandBehavior);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;BeginExecuteXmlReader;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String);;Argument[0];Argument[this];taint;manual | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection);;Argument[0];Argument[this];taint;manual | +| System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection,System.Data.SqlClient.SqlTransaction);;Argument[0];Argument[this];taint;manual | +| System.Data.SqlClient;SqlCommand;false;add_StatementCompleted;(System.Data.StatementCompletedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlCommand;false;remove_StatementCompleted;(System.Data.StatementCompletedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlConnection;false;add_InfoMessage;(System.Data.SqlClient.SqlInfoMessageEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlConnection;false;remove_InfoMessage;(System.Data.SqlClient.SqlInfoMessageEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDataAdapter;false;add_RowUpdated;(System.Data.SqlClient.SqlRowUpdatedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDataAdapter;false;add_RowUpdating;(System.Data.SqlClient.SqlRowUpdatingEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDataAdapter;false;remove_RowUpdated;(System.Data.SqlClient.SqlRowUpdatedEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDataAdapter;false;remove_RowUpdating;(System.Data.SqlClient.SqlRowUpdatingEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDependency;false;add_OnChange;(System.Data.SqlClient.OnChangeEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlDependency;false;remove_OnChange;(System.Data.SqlClient.OnChangeEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlInfoMessageEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlInfoMessageEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlRowUpdatedEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlRowUpdatedEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlRowUpdatingEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlRowUpdatingEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Data.SqlClient;SqlRowsCopiedEventHandler;false;BeginInvoke;(System.Object,System.Data.SqlClient.SqlRowsCopiedEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | | System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;df-generated | @@ -3002,6 +4965,8 @@ summary | System.Data.SqlTypes;SqlBinary;false;ToSqlGuid;();;Argument[this];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlBinary;false;WriteXml;(System.Xml.XmlWriter);;Argument[this];Argument[0];taint;df-generated | | System.Data.SqlTypes;SqlBinary;false;get_Value;();;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlBinary;false;op_Addition;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlBinary;false;op_Addition;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlBytes;false;Read;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[this];Argument[1].Element;taint;df-generated | | System.Data.SqlTypes;SqlBytes;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[this];taint;df-generated | | System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.Byte[]);;Argument[0].Element;Argument[this];taint;df-generated | @@ -3021,6 +4986,7 @@ summary | System.Data.SqlTypes;SqlDecimal;false;Floor;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlDecimal;false;Round;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlDecimal;false;Truncate;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlDecimal;false;op_UnaryNegation;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlGuid;false;SqlGuid;(System.Byte[]);;Argument[0].Element;Argument[this];taint;df-generated | | System.Data.SqlTypes;SqlGuid;false;ToByteArray;();;Argument[this];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlGuid;false;ToSqlBinary;();;Argument[this];ReturnValue;taint;df-generated | @@ -3038,6 +5004,8 @@ summary | System.Data.SqlTypes;SqlString;false;WriteXml;(System.Xml.XmlWriter);;Argument[this];Argument[0];taint;df-generated | | System.Data.SqlTypes;SqlString;false;get_CompareInfo;();;Argument[this];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlString;false;get_Value;();;Argument[this];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlString;false;op_Addition;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;df-generated | +| System.Data.SqlTypes;SqlString;false;op_Addition;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;df-generated | | System.Data.SqlTypes;SqlXml;false;SqlXml;(System.IO.Stream);;Argument[0];Argument[this];taint;df-generated | | System.Data;Constraint;false;SetDataSet;(System.Data.DataSet);;Argument[0];Argument[this];taint;df-generated | | System.Data;Constraint;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | @@ -3737,6 +5705,167 @@ summary | System.Diagnostics;TraceSource;false;get_Switch;();;Argument[this];ReturnValue;taint;df-generated | | System.Diagnostics;TraceSource;false;remove_Initializing;(System.EventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.Diagnostics;TraceSource;false;set_Switch;(System.Diagnostics.SourceSwitch);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Design;CategoryNameCollection;false;CategoryNameCollection;(System.Drawing.Design.CategoryNameCollection);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Design;CategoryNameCollection;false;CategoryNameCollection;(System.String[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Design;CategoryNameCollection;false;CopyTo;(System.String[],System.Int32);;Argument[this];Argument[0].Element;taint;df-generated | +| System.Drawing.Design;CategoryNameCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;BitmapData;false;get_Scan0;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;BitmapData;false;set_Scan0;(System.IntPtr);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ColorMap;false;get_NewColor;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ColorMap;false;get_OldColor;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ColorMap;false;set_NewColor;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ColorMap;false;set_OldColor;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ColorPalette;false;get_Entries;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;Encoder;false;Encoder;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;Encoder;false;get_Guid;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte,System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte[],System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int16);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int16[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Drawing.Imaging.EncoderParameterValueType,System.IntPtr);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32,System.Int32);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32[],System.Int32[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32[],System.Int32[],System.Int32[],System.Int32[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64,System.Int64);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64[],System.Int64[]);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;get_Encoder;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;EncoderParameter;false;set_Encoder;(System.Drawing.Imaging.Encoder);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;EncoderParameters;false;get_Param;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;EncoderParameters;false;set_Param;(System.Drawing.Imaging.EncoderParameter[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Imaging;FrameDimension;false;FrameDimension;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;FrameDimension;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;FrameDimension;false;get_Guid;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_Clsid;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_CodecName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_DllName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_FilenameExtension;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_FormatDescription;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_FormatID;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_MimeType;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_SignatureMasks;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;get_SignaturePatterns;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_Clsid;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_CodecName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_DllName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_FilenameExtension;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_FormatDescription;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_FormatID;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_MimeType;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_SignatureMasks;(System.Byte[][]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageCodecInfo;false;set_SignaturePatterns;(System.Byte[][]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageFormat;false;ImageFormat;(System.Guid);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Imaging;ImageFormat;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;ImageFormat;false;get_Guid;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;Metafile;false;GetHenhmetafile;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Imaging;PlayRecordCallback;false;BeginInvoke;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.IntPtr,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;InvalidPrinterException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[this];Argument[0];taint;df-generated | +| System.Drawing.Printing;InvalidPrinterException;false;InvalidPrinterException;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;MarginsConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;df-generated | +| System.Drawing.Printing;MarginsConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;Clone;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;PageSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_Margins;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PaperSize;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PaperSource;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PrintableArea;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PrinterResolution;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;get_PrinterSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_Margins;(System.Drawing.Printing.Margins);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_PaperSize;(System.Drawing.Printing.PaperSize);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_PaperSource;(System.Drawing.Printing.PaperSource);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_PrinterResolution;(System.Drawing.Printing.PrinterResolution);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PageSettings;false;set_PrinterSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PaperSize;false;PaperSize;(System.String,System.Int32,System.Int32);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PaperSize;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PaperSize;false;get_PaperName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PaperSize;false;set_PaperName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PaperSource;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PaperSource;false;get_SourceName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PaperSource;false;set_SourceName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PreviewPageInfo;false;PreviewPageInfo;(System.Drawing.Image,System.Drawing.Size);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PreviewPageInfo;false;PreviewPageInfo;(System.Drawing.Image,System.Drawing.Size);;Argument[1];Argument[this];taint;df-generated | +| System.Drawing.Printing;PreviewPageInfo;false;get_Image;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PreviewPageInfo;false;get_PhysicalSize;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PreviewPrintController;false;GetPreviewPageInfo;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;add_BeginPrint;(System.Drawing.Printing.PrintEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;add_EndPrint;(System.Drawing.Printing.PrintEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;add_PrintPage;(System.Drawing.Printing.PrintPageEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;add_QueryPageSettings;(System.Drawing.Printing.QueryPageSettingsEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;get_DefaultPageSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;get_DocumentName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;get_PrintController;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;get_PrinterSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;remove_BeginPrint;(System.Drawing.Printing.PrintEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;remove_EndPrint;(System.Drawing.Printing.PrintEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;remove_PrintPage;(System.Drawing.Printing.PrintPageEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;remove_QueryPageSettings;(System.Drawing.Printing.QueryPageSettingsEventHandler);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintDocument;false;set_DefaultPageSettings;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;set_DocumentName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;set_PrintController;(System.Drawing.Printing.PrintController);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintDocument;false;set_PrinterSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintEventHandler;false;BeginInvoke;(System.Object,System.Drawing.Printing.PrintEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[1];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[2];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[3];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;get_Graphics;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;get_MarginBounds;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;get_PageBounds;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintPageEventArgs;false;get_PageSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrintPageEventHandler;false;BeginInvoke;(System.Object,System.Drawing.Printing.PrintPageEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;Add;(System.Drawing.Printing.PaperSize);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;GetEnumerator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;PaperSizeCollection;(System.Drawing.Printing.PaperSize[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;get_SyncRoot;();;Argument[this];ReturnValue;value;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;Add;(System.Drawing.Printing.PaperSource);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;GetEnumerator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;PaperSourceCollection;(System.Drawing.Printing.PaperSource[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;get_SyncRoot;();;Argument[this];ReturnValue;value;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;Add;(System.Drawing.Printing.PrinterResolution);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;GetEnumerator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;PrinterResolutionCollection;(System.Drawing.Printing.PrinterResolution[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;get_SyncRoot;();;Argument[this];ReturnValue;value;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;Add;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;GetEnumerator;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;StringCollection;(System.String[]);;Argument[0].Element;Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;get_Item;(System.Int32);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings+StringCollection;false;get_SyncRoot;();;Argument[this];ReturnValue;value;df-generated | +| System.Drawing.Printing;PrinterSettings;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_DefaultPageSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PaperSizes;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PaperSources;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PrintFileName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PrinterName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;get_PrinterResolutions;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;set_PrintFileName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;PrinterSettings;false;set_PrinterName;(System.String);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;QueryPageSettingsEventArgs;false;QueryPageSettingsEventArgs;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;QueryPageSettingsEventArgs;false;get_PageSettings;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing.Printing;QueryPageSettingsEventArgs;false;set_PageSettings;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing.Printing;QueryPageSettingsEventHandler;false;BeginInvoke;(System.Object,System.Drawing.Printing.QueryPageSettingsEventArgs,System.AsyncCallback,System.Object);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing.Printing;StandardPrintController;false;OnStartPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);;Argument[1];ReturnValue;taint;df-generated | +| System.Drawing;Bitmap;false;Bitmap;(System.String,System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Bitmap;false;LockBits;(System.Drawing.Rectangle,System.Drawing.Imaging.ImageLockMode,System.Drawing.Imaging.PixelFormat,System.Drawing.Imaging.BitmapData);;Argument[3];ReturnValue;taint;df-generated | +| System.Drawing;Brush;false;SetNativeBrush;(System.IntPtr);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;BufferedGraphics;false;get_Graphics;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;Allocate;(System.Drawing.Graphics,System.Drawing.Rectangle);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;Allocate;(System.Drawing.Graphics,System.Drawing.Rectangle);;Argument[1];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;Allocate;(System.IntPtr,System.Drawing.Rectangle);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;Allocate;(System.IntPtr,System.Drawing.Rectangle);;Argument[1];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;get_MaximumBuffer;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;BufferedGraphicsContext;false;set_MaximumBuffer;(System.Drawing.Size);;Argument[0];Argument[this];taint;df-generated | | System.Drawing;Color;false;FromName;(System.String);;Argument[0];ReturnValue;taint;df-generated | | System.Drawing;Color;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | | System.Drawing;Color;false;get_Name;();;Argument[this];ReturnValue;taint;df-generated | @@ -3745,6 +5874,87 @@ summary | System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | | System.Drawing;ColorTranslator;false;FromHtml;(System.String);;Argument[0];ReturnValue;taint;df-generated | | System.Drawing;ColorTranslator;false;ToHtml;(System.Drawing.Color);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;Clone;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;Font;(System.Drawing.Font,System.Drawing.FontStyle);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Font;false;Font;(System.Drawing.FontFamily,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte,System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Font;false;Font;(System.String,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte,System.Boolean);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Font;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[this];Argument[0];taint;df-generated | +| System.Drawing;Font;false;ToHfont;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;get_FontFamily;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;get_OriginalFontName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Font;false;get_SystemFontName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;FontConverter+FontNameConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing;FontConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing;Graphics+DrawImageAbort;false;BeginInvoke;(System.IntPtr,System.AsyncCallback,System.Object);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics+EnumerateMetafileProc;false;BeginInvoke;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.IntPtr,System.Drawing.Imaging.PlayRecordCallback,System.AsyncCallback,System.Object);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics+EnumerateMetafileProc;false;BeginInvoke;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.IntPtr,System.Drawing.Imaging.PlayRecordCallback,System.AsyncCallback,System.Object);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics+EnumerateMetafileProc;false;Invoke;(System.Drawing.Imaging.EmfPlusRecordType,System.Int32,System.Int32,System.IntPtr,System.Drawing.Imaging.PlayRecordCallback);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort,System.Int32);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort,System.Int32);;Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort,System.IntPtr);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;DrawImage;(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics+DrawImageAbort,System.IntPtr);;Argument[8];Argument[8].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;EnumerateMetafile;(System.Drawing.Imaging.Metafile,System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Graphics+EnumerateMetafileProc,System.IntPtr,System.Drawing.Imaging.ImageAttributes);;Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Graphics;false;FromImage;(System.Drawing.Image);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Graphics;false;GetHdc;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Icon;false;Clone;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Icon;false;FromHandle;(System.IntPtr);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Icon;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[this];Argument[0];taint;df-generated | +| System.Drawing;Icon;false;Icon;(System.Drawing.Icon,System.Drawing.Size);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Icon;false;Icon;(System.Drawing.Icon,System.Drawing.Size);;Argument[1];Argument[this];taint;df-generated | +| System.Drawing;Icon;false;get_Handle;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Icon;false;get_Size;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Image+GetThumbnailImageAbort;false;BeginInvoke;(System.AsyncCallback,System.Object);;Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Image;false;FromFile;(System.String);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Image;false;FromFile;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;df-generated | +| System.Drawing;Image;false;GetThumbnailImage;(System.Int32,System.Int32,System.Drawing.Image+GetThumbnailImageAbort,System.IntPtr);;Argument[2];Argument[2].Parameter[delegate-self];value;hq-generated | +| System.Drawing;Image;false;get_Tag;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Image;false;set_Tag;(System.Object);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;ImageAnimator;false;Animate;(System.Drawing.Image,System.EventHandler);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Drawing;ImageAnimator;false;StopAnimate;(System.Drawing.Image,System.EventHandler);;Argument[1];Argument[1].Parameter[delegate-self];value;hq-generated | +| System.Drawing;ImageFormatConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing;Pen;false;Pen;(System.Drawing.Color,System.Single);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;Pen;false;get_Color;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Pen;false;get_CustomEndCap;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;Pen;false;set_Color;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | | System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;df-generated | | System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | | System.Drawing;Rectangle;false;Inflate;(System.Drawing.Rectangle,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;df-generated | @@ -3755,6 +5965,14 @@ summary | System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | | System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;df-generated | | System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;df-generated | +| System.Drawing;SolidBrush;false;SolidBrush;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;SolidBrush;false;get_Color;();;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;SolidBrush;false;set_Color;(System.Drawing.Color);;Argument[0];Argument[this];taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Object);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Object,System.Boolean);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type,System.Boolean);;Argument[this];ReturnValue;taint;df-generated | +| System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type,System.String,System.Boolean);;Argument[this];ReturnValue;taint;df-generated | | System.Dynamic;BindingRestrictions;false;GetExpressionRestriction;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;df-generated | | System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[0];ReturnValue;taint;df-generated | | System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[1];ReturnValue;taint;df-generated | @@ -7050,6 +9268,11 @@ summary | System.Numerics;Matrix4x4;false;Negate;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | | System.Numerics;Matrix4x4;false;Subtract;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | | System.Numerics;Matrix4x4;false;Transpose;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_Addition;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_Subtraction;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | +| System.Numerics;Matrix4x4;false;op_UnaryNegation;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;df-generated | | System.Numerics;Plane;false;Normalize;(System.Numerics.Plane);;Argument[0];ReturnValue;taint;df-generated | | System.Numerics;Plane;false;Plane;(System.Numerics.Vector3,System.Single);;Argument[0];Argument[this];taint;df-generated | | System.Numerics;Plane;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | @@ -7957,14 +10180,17 @@ summary | System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlySequenceSegment<>;(System.Buffers.ReadOnlySequence,System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector64;false;Abs<>;(System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector64;false;WithElement<>;(System.Runtime.Intrinsics.Vector64,System.Int32,T);;Argument[0];ReturnValue;taint;df-generated | +| System.Runtime.Intrinsics;Vector64<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector64<>);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector128;false;Abs<>;(System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector128;false;WithElement<>;(System.Runtime.Intrinsics.Vector128,System.Int32,T);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector128;false;WithLower<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector128;false;WithUpper<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;df-generated | +| System.Runtime.Intrinsics;Vector128<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector128<>);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector256;false;Abs<>;(System.Runtime.Intrinsics.Vector256);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector256;false;WithElement<>;(System.Runtime.Intrinsics.Vector256,System.Int32,T);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector256;false;WithLower<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Intrinsics;Vector256;false;WithUpper<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;df-generated | +| System.Runtime.Intrinsics;Vector256<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector256<>);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[0];ReturnValue;taint;df-generated | | System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[this];ReturnValue;taint;df-generated | | System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[0];ReturnValue;taint;df-generated | @@ -9985,6 +12211,8 @@ summary | System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[this];ReturnValue;taint;df-generated | | System.Xml.Linq;XNamespace;false;ToString;();;Argument[this];ReturnValue;taint;df-generated | | System.Xml.Linq;XNamespace;false;get_NamespaceName;();;Argument[this];ReturnValue;taint;df-generated | +| System.Xml.Linq;XNamespace;false;op_Addition;(System.Xml.Linq.XNamespace,System.String);;Argument[0];ReturnValue;taint;df-generated | +| System.Xml.Linq;XNamespace;false;op_Addition;(System.Xml.Linq.XNamespace,System.String);;Argument[1];ReturnValue;taint;df-generated | | System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object);;Argument[this];Argument[0];taint;df-generated | | System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object);;Argument[this];Argument[0];taint;df-generated | | System.Xml.Linq;XNode;false;Ancestors;();;Argument[this];ReturnValue;taint;df-generated | @@ -12237,6 +14465,7 @@ summary | System;StringNormalizationExtensions;false;Normalize;(System.String,System.Text.NormalizationForm);;Argument[0];ReturnValue;taint;df-generated | | System;TimeOnly;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;df-generated | | System;TimeOnly;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;df-generated | +| System;TimeSpan;false;op_UnaryPlus;(System.TimeSpan);;Argument[0];ReturnValue;taint;df-generated | | System;TimeZone;true;ToLocalTime;(System.DateTime);;Argument[0];ReturnValue;taint;df-generated | | System;TimeZone;true;ToUniversalTime;(System.DateTime);;Argument[0];ReturnValue;taint;df-generated | | System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[0];ReturnValue;taint;df-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.ql b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.ql index c1e093a1f42..7bd6298b03e 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.ql +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.ql @@ -1,6 +1,6 @@ import shared.FlowSummaries private import semmle.code.csharp.dataflow.internal.DataFlowPrivate::Csv -private import semmle.code.csharp.dataflow.ExternalFlow +private import semmle.code.csharp.dataflow.internal.ExternalFlow class IncludeFilteredSummarizedCallable extends IncludeSummarizedCallable instanceof SummarizedCallable { diff --git a/csharp/ql/test/library-tests/dataflow/library/options b/csharp/ql/test/library-tests/dataflow/library/options index 6fb355b88a5..20aa36df6db 100644 --- a/csharp/ql/test/library-tests/dataflow/library/options +++ b/csharp/ql/test/library-tests/dataflow/library/options @@ -1,5 +1,8 @@ semmle-extractor-options: /nostdlib /noconfig semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj -semmle-extractor-options: --load-sources-from-project:../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Dapper/2.0.90/Dapper.csproj +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/ServiceStack/6.2.0/ServiceStack.csproj +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/ServiceStack.OrmLite.SqlServer/6.2.0/ServiceStack.OrmLite.SqlServer.csproj semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs semmle-extractor-options: ${testdir}/../../../resources/stubs/EntityFramework.cs diff --git a/csharp/ql/test/library-tests/dataflow/types/Types.cs b/csharp/ql/test/library-tests/dataflow/types/Types.cs index 9cb505004b7..cc4d2638ee4 100644 --- a/csharp/ql/test/library-tests/dataflow/types/Types.cs +++ b/csharp/ql/test/library-tests/dataflow/types/Types.cs @@ -13,7 +13,7 @@ class Types class D : B { - public override void M() => Sink(this); + public override void M() => Sink(this); // $ hasValueFlow=line:32 $ hasValueFlow=line:33 $ hasValueFlow=line:40 } static void M1() @@ -41,13 +41,13 @@ class Types M9(new D()); // no flow object o = null; // flow - Sink(o); + Sink(o); // $ hasValueFlow=line:43 } static void M2(A a) { if (a is C c) - Sink(c); + Sink(c); // $ hasValueFlow=line:23 } static void M3(A a) @@ -55,18 +55,18 @@ class Types switch (a) { case D d: - Sink(d); + Sink(d); // $ hasValueFlow=line:35 break; } } - static void M4(A a) => Sink((C)a); + static void M4(A a) => Sink((C)a); // $ hasValueFlow=line:25 - static void M5(T x) => Sink(x); + static void M5(T x) => Sink(x); // $ hasValueFlow=line:26 $ hasValueFlow=line:37 - static void M6(T x) where T : A => Sink(x); + static void M6(T x) where T : A => Sink(x); // $ hasValueFlow=line:27 $ hasValueFlow=line:38 - static void M7(T x) where T : class => Sink(x); + static void M7(T x) where T : class => Sink(x); // $ hasValueFlow=line:28 $ hasValueFlow=line:39 static void M8(T x) { @@ -77,7 +77,7 @@ class Types static void M9(A a) { if (a is B b) - Sink(b); + Sink(b); // $ hasValueFlow=line:30 } static void Sink(T x) { } @@ -112,15 +112,15 @@ class Types public override void M() { - Sink(this.Field); + Sink(this.Field); // $ hasValueFlow=line:110 } void M10() { var a = new A(); var e2 = new E2(); - Sink(Through(a)); // flow - Sink(Through(e2)); // flow + Sink(Through(a)); // $ hasValueFlow=line:120 + Sink(Through(e2)); // $ hasValueFlow=line:121 Sink((E2)Through(a)); // no flow Sink((A)Through(e2)); // no flow } @@ -150,6 +150,28 @@ class Types class FieldC : FieldA { - public override void M() => Sink(this.Field); + public override void M() => Sink(this.Field); // $ hasValueFlow=line:144 + } + + class F + { + public virtual void M() { } + + class F1 : F + { + public override void M() => Sink(this); // $ hasValueFlow=line:167 + } + + class F2 : F { } + + F GetF1() => new F1(); + + F GetF2() => new F2(); + + private void M2() + { + GetF1().M(); + GetF2().M(); + } } } diff --git a/csharp/ql/test/library-tests/dataflow/types/Types.expected b/csharp/ql/test/library-tests/dataflow/types/Types.expected index 5cf9e17191f..76628874c48 100644 --- a/csharp/ql/test/library-tests/dataflow/types/Types.expected +++ b/csharp/ql/test/library-tests/dataflow/types/Types.expected @@ -1,3 +1,4 @@ +testFailures edges | Types.cs:7:21:7:25 | this : D | Types.cs:7:32:7:35 | this access : D | | Types.cs:7:32:7:35 | this access : D | Types.cs:16:30:16:30 | this : D | @@ -54,6 +55,9 @@ edges | Types.cs:145:13:145:13 | access to parameter c : FieldC [field Field] : Object | Types.cs:138:21:138:25 | this : FieldC [field Field] : Object | | Types.cs:153:30:153:30 | this : FieldC [field Field] : Object | Types.cs:153:42:153:45 | this access : FieldC [field Field] : Object | | Types.cs:153:42:153:45 | this access : FieldC [field Field] : Object | Types.cs:153:42:153:51 | access to field Field | +| Types.cs:162:34:162:34 | this : Types+F+F1 | Types.cs:162:46:162:49 | this access | +| Types.cs:167:22:167:34 | object creation of type F1 : Types+F+F1 | Types.cs:173:13:173:19 | call to method GetF1 : Types+F+F1 | +| Types.cs:173:13:173:19 | call to method GetF1 : Types+F+F1 | Types.cs:162:34:162:34 | this : Types+F+F1 | nodes | Types.cs:7:21:7:25 | this : D | semmle.label | this : D | | Types.cs:7:32:7:35 | this access : D | semmle.label | this access : D | @@ -123,6 +127,10 @@ nodes | Types.cs:153:30:153:30 | this : FieldC [field Field] : Object | semmle.label | this : FieldC [field Field] : Object | | Types.cs:153:42:153:45 | this access : FieldC [field Field] : Object | semmle.label | this access : FieldC [field Field] : Object | | Types.cs:153:42:153:51 | access to field Field | semmle.label | access to field Field | +| Types.cs:162:34:162:34 | this : Types+F+F1 | semmle.label | this : Types+F+F1 | +| Types.cs:162:46:162:49 | this access | semmle.label | this access | +| Types.cs:167:22:167:34 | object creation of type F1 : Types+F+F1 | semmle.label | object creation of type F1 : Types+F+F1 | +| Types.cs:173:13:173:19 | call to method GetF1 : Types+F+F1 | semmle.label | call to method GetF1 : Types+F+F1 | subpaths | Types.cs:122:30:122:30 | access to local variable a : A | Types.cs:130:34:130:34 | x : A | Types.cs:130:40:130:40 | access to parameter x : A | Types.cs:122:22:122:31 | call to method Through | | Types.cs:123:30:123:31 | access to local variable e2 : Types+E.E2 | Types.cs:130:34:130:34 | x : Types+E.E2 | Types.cs:130:40:130:40 | access to parameter x : Types+E.E2 | Types.cs:123:22:123:32 | call to method Through | @@ -145,3 +153,4 @@ subpaths | Types.cs:120:25:120:31 | object creation of type A : A | Types.cs:120:25:120:31 | object creation of type A : A | Types.cs:122:22:122:31 | call to method Through | $@ | Types.cs:122:22:122:31 | call to method Through | call to method Through | | Types.cs:121:26:121:33 | object creation of type E2 : Types+E.E2 | Types.cs:121:26:121:33 | object creation of type E2 : Types+E.E2 | Types.cs:123:22:123:32 | call to method Through | $@ | Types.cs:123:22:123:32 | call to method Through | call to method Through | | Types.cs:144:23:144:34 | object creation of type Object : Object | Types.cs:144:23:144:34 | object creation of type Object : Object | Types.cs:153:42:153:51 | access to field Field | $@ | Types.cs:153:42:153:51 | access to field Field | access to field Field | +| Types.cs:167:22:167:34 | object creation of type F1 : Types+F+F1 | Types.cs:167:22:167:34 | object creation of type F1 : Types+F+F1 | Types.cs:162:46:162:49 | this access | $@ | Types.cs:162:46:162:49 | this access | this access | diff --git a/csharp/ql/test/library-tests/dataflow/types/Types.ql b/csharp/ql/test/library-tests/dataflow/types/Types.ql index 3b11ab505e3..1a8728df5a3 100644 --- a/csharp/ql/test/library-tests/dataflow/types/Types.ql +++ b/csharp/ql/test/library-tests/dataflow/types/Types.ql @@ -3,7 +3,8 @@ */ import csharp -import Types::PathGraph +import TestUtilities.InlineFlowTest +import PathGraph module TypesConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node src) { @@ -17,10 +18,12 @@ module TypesConfig implements DataFlow::ConfigSig { mc.getAnArgument() = sink.asExpr() ) } + + int fieldFlowBranchLimit() { result = 1000 } } -module Types = DataFlow::Global; +import ValueFlowTest -from Types::PathNode source, Types::PathNode sink -where Types::flowPath(source, sink) +from PathNode source, PathNode sink +where flowPath(source, sink) select source, source, sink, "$@", sink, sink.toString() diff --git a/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.ql b/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.ql index 75faad9d633..f2d0a1eadc5 100644 --- a/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.ql +++ b/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.ql @@ -1,6 +1,6 @@ import semmle.code.csharp.frameworks.EntityFramework::EntityFramework import shared.FlowSummaries -import semmle.code.csharp.dataflow.ExternalFlow as ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow as ExternalFlow private class IncludeEFSummarizedCallable extends IncludeSummarizedCallable instanceof EFSummarizedCallable { } diff --git a/csharp/ql/test/library-tests/frameworks/sql/Sql1.ql b/csharp/ql/test/library-tests/frameworks/sql/Sql1.ql index 944d4180992..659c37f769e 100644 --- a/csharp/ql/test/library-tests/frameworks/sql/Sql1.ql +++ b/csharp/ql/test/library-tests/frameworks/sql/Sql1.ql @@ -1,5 +1,5 @@ import semmle.code.csharp.frameworks.Sql -import semmle.code.csharp.dataflow.ExternalFlow +import semmle.code.csharp.dataflow.internal.ExternalFlow import semmle.code.csharp.dataflow.internal.DataFlowPublic query predicate sqlExpressions(SqlExpr se, Expr e) { se.getSql() = e } diff --git a/csharp/tools/tracing-config.lua b/csharp/tools/tracing-config.lua index bfc146b76ea..55f803c5adb 100644 --- a/csharp/tools/tracing-config.lua +++ b/csharp/tools/tracing-config.lua @@ -80,16 +80,15 @@ function RegisterExtractorPack(id) end end - -- for `dotnet test`, we should not append `-p:UseSharedCompilation=false` to the command line - -- if an `exe` or `dll` is passed as an argument as the call is forwarded to vstest. - if testMatch and (arg:match('%.exe$') or arg:match('%.dll')) then - match = false - break - end - -- we have found a sub-command, ignore all strings that look like sub-command names from now on inSubCommandPosition = false end + -- for `dotnet test`, we should not append `-p:UseSharedCompilation=false` to the command line + -- if an `exe` or `dll` is passed as an argument as the call is forwarded to vstest. + if testMatch and (arg:match('%.exe$') or arg:match('%.dll')) then + match = false + break + end -- if we see a separator to `dotnet run`, inject just prior to the existing separator if arg == '--' then dotnetRunNeedsSeparator = false diff --git a/docs/codeql/codeql-for-visual-studio-code/customizing-settings.rst b/docs/codeql/codeql-for-visual-studio-code/customizing-settings.rst index 7cbe816cf1c..88ad273a3d6 100644 --- a/docs/codeql/codeql-for-visual-studio-code/customizing-settings.rst +++ b/docs/codeql/codeql-for-visual-studio-code/customizing-settings.rst @@ -39,7 +39,7 @@ Changing the labels of query history items The query history **Format** setting controls how the extension lists queries in the query history. By default, each item has a label with the following format:: - %q on %d - %s, %r result count [%t] + %q on %d - %s %r [%t] - ``%q`` is the query name - ``%d`` is the database name @@ -107,6 +107,19 @@ You can also edit the items shown in the Variant Analysis Repositories panel by You can change the items shown in the panel or add new items by directly editing this file. +Configuring settings for adding databases +------------------------------------------------ + +To automatically add database source folders to your workspace, you can enable the **Adding Databases > Add Database Source to Workspace** setting. + +This setting is disabled by default. You may want to enable the setting if you regularly browse the source code of databases, for example to view the abstract syntax tree of the code. For more information, see ":ref:`Exploring the structure of your source code `." + +.. pull-quote:: Note + + If you are in a single-folder workspace, adding database source folders will cause the workspace to reload as a multi-root workspace. This may cause query history and database lists to be reset. + + Before enabling this setting, we recommend that you save your workspace as a multi-root workspace. For more information, see "`Multi-root Workspaces `__" in the Visual Studio Code help. + Configuring settings for testing queries locally ------------------------------------------------ diff --git a/docs/codeql/codeql-for-visual-studio-code/exploring-the-structure-of-your-source-code.rst b/docs/codeql/codeql-for-visual-studio-code/exploring-the-structure-of-your-source-code.rst index b04316f6296..708b2f0cc0c 100644 --- a/docs/codeql/codeql-for-visual-studio-code/exploring-the-structure-of-your-source-code.rst +++ b/docs/codeql/codeql-for-visual-studio-code/exploring-the-structure-of-your-source-code.rst @@ -18,20 +18,26 @@ CodeQL for Visual Studio Code contains an AST viewer. The viewer consists of a g Viewing the abstract syntax tree of a source file -------------------------------------------------- -1. Open a source file from a CodeQL database. For example, you can navigate to a source file in the File Explorer. +1. Open the CodeQL Databases view and right-click the database that you want to explore. Click **Add Database Source to Workspace**. + + .. image:: ../images/codeql-for-visual-studio-code/add-database-source-to-workspace.png + :width: 350 + :alt: Add database source to workspace + +2. Navigate to a CodeQL database's source file in the File Explorer. .. image:: ../images/codeql-for-visual-studio-code/open-source-file.png :width: 350 :alt: Open a source file -2. Run **CodeQL: View AST** from the Command Palette. This runs a CodeQL query (usually called ``printAST.ql``) over the active file, which may take a few seconds. +3. Run **CodeQL: View AST** from the Command Palette. This runs a CodeQL query (usually called ``printAST.ql``) over the active file, which may take a few seconds. .. pull-quote:: Note If you don't have an appropriate ``printAST.ql`` query in your workspace, the **CodeQL: View AST** command won't work. To fix this, you can update your copy of the `CodeQL `__ repository from ``main``. If you do this, you may need to upgrade your databases. Also, query caches may be discarded and your next query runs could be slower. -3. Once the query has run, the AST viewer displays the structure of the source file. -4. To see the nested structure, click the arrows and expand the nodes. +4. Once the query has run, the AST viewer displays the structure of the source file. +5. To see the nested structure, click the arrows and expand the nodes. .. image:: ../images/codeql-for-visual-studio-code/explore-ast.png :alt: Explore the AST diff --git a/docs/codeql/codeql-language-guides/extensible-predicates.rst b/docs/codeql/codeql-language-guides/extensible-predicates.rst index 2ef077fe056..0ed962df4af 100644 --- a/docs/codeql/codeql-language-guides/extensible-predicates.rst +++ b/docs/codeql/codeql-language-guides/extensible-predicates.rst @@ -22,7 +22,7 @@ About extensible predicates At a high level, there are two main components to using data extensions. The query writer defines one or more extensible predicates in their query libraries. CLI and code scanning users who want to augment these predicates supply one or more extension files whose data gets injected into the extensible predicate during evaluation. The extension files are either stored directly in the repository where the codebase to be analyzed is hosted, or downloaded as CodeQL model packs. -This example of an extensible predicate for a source is taken from the core Java libraries https://github.com/github/codeql/blob/main/java/ql/lib/semmle/code/java/dataflow/ExternalFlowExtensions.qll#L8-L11 +This example of an extensible predicate for a source is taken from the core Java libraries https://github.com/github/codeql/blob/main/java/ql/lib/semmle/code/java/dataflow/internal/ExternalFlowExtensions.qll#L8-L11 .. code-block:: ql diff --git a/docs/codeql/images/codeql-for-visual-studio-code/add-database-source-to-workspace.png b/docs/codeql/images/codeql-for-visual-studio-code/add-database-source-to-workspace.png new file mode 100644 index 00000000000..0f2076a76e0 Binary files /dev/null and b/docs/codeql/images/codeql-for-visual-studio-code/add-database-source-to-workspace.png differ diff --git a/docs/codeql/images/codeql-for-visual-studio-code/open-source-file.png b/docs/codeql/images/codeql-for-visual-studio-code/open-source-file.png index 316798fcd7c..bcbdb24cd30 100644 Binary files a/docs/codeql/images/codeql-for-visual-studio-code/open-source-file.png and b/docs/codeql/images/codeql-for-visual-studio-code/open-source-file.png differ diff --git a/docs/codeql/reusables/supported-frameworks.rst b/docs/codeql/reusables/supported-frameworks.rst index 3f39a57cbad..91c413c86af 100644 --- a/docs/codeql/reusables/supported-frameworks.rst +++ b/docs/codeql/reusables/supported-frameworks.rst @@ -11,8 +11,8 @@ and the CodeQL library pack ``codeql/cpp-all`` (`changelog `__, Utility library `Berkeley socket API library `__, Network communicator + `Bloomberg Standard Library `__, Utility library string.h, String library C# built-in support @@ -82,8 +82,8 @@ and the CodeQL library pack ``codeql/go-all`` (`changelog `_, Network communicator `protobuf `_, Serialization `Revel `_, Web framework - `sqlx `_, Database `SendGrid `_, Email library + `sqlx `_, Database `Squirrel `_, Database `ws `_, Network communicator `xmlpath `_, XPath library @@ -108,20 +108,20 @@ and the CodeQL library pack ``codeql/java-all`` (`changelog `__, Cryptography library `SQLite3 `__, Database `SQLite.swift `__, Database - `WebKit `__, User interface library `UIKit `__, User interface library + `WebKit `__, User interface library diff --git a/go/Makefile b/go/Makefile index 24688cce942..d0289a093a5 100644 --- a/go/Makefile +++ b/go/Makefile @@ -47,7 +47,7 @@ endif qhelp-to-markdown: scripts/qhelp-to-markdown.sh ql/src "$(QHELP_OUT_DIR)" -tools: $(addsuffix $(EXE),$(addprefix tools/bin/,$(BINARIES))) tools/tokenizer.jar +tools: tools-codeql tools/tokenizer.jar .PHONY: $(addsuffix $(EXE),$(addprefix tools/bin/,$(BINARIES))) $(addsuffix $(EXE),$(addprefix tools/bin/,$(BINARIES))): @@ -67,7 +67,10 @@ tools-osx64: $(addprefix tools/osx64/,$(BINARIES)) .PHONY: $(addprefix tools/osx64/,$(BINARIES)) $(addprefix tools/osx64/,$(BINARIES)): - GOOS=darwin GOARCH=amd64 go build -C extractor -mod=vendor -o ../$@ ./cli/$(@F) + GOOS=darwin GOARCH=amd64 go build -C extractor -mod=vendor -o ../$@.amd64 ./cli/$(@F) + GOOS=darwin GOARCH=arm64 go build -C extractor -mod=vendor -o ../$@.arm64 ./cli/$(@F) + lipo -create $@.amd64 $@.arm64 -output $@ + rm $@.amd64 $@.arm64 tools-win64: $(addsuffix .exe,$(addprefix tools/win64/,$(BINARIES))) diff --git a/go/extractor/go.mod b/go/extractor/go.mod index bd988f818d2..d06ab189973 100644 --- a/go/extractor/go.mod +++ b/go/extractor/go.mod @@ -3,8 +3,8 @@ module github.com/github/codeql-go/extractor go 1.21 require ( - golang.org/x/mod v0.13.0 - golang.org/x/tools v0.14.0 + golang.org/x/mod v0.14.0 + golang.org/x/tools v0.15.0 ) -require golang.org/x/sys v0.13.0 // indirect +require golang.org/x/sys v0.14.0 // indirect diff --git a/go/extractor/go.sum b/go/extractor/go.sum index 2f975f56f3b..47781355a69 100644 --- a/go/extractor/go.sum +++ b/go/extractor/go.sum @@ -1,8 +1,8 @@ -golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= -golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= -golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc= -golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= +golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= diff --git a/go/extractor/vendor/golang.org/x/mod/modfile/rule.go b/go/extractor/vendor/golang.org/x/mod/modfile/rule.go index e0869fa3868..35fd1f534cf 100644 --- a/go/extractor/vendor/golang.org/x/mod/modfile/rule.go +++ b/go/extractor/vendor/golang.org/x/mod/modfile/rule.go @@ -542,7 +542,7 @@ func parseReplace(filename string, line *Line, verb string, args []string, fix V if strings.Contains(ns, "@") { return nil, errorf("replacement module must match format 'path version', not 'path@version'") } - return nil, errorf("replacement module without version must be directory path (rooted or starting with ./ or ../)") + return nil, errorf("replacement module without version must be directory path (rooted or starting with . or ..)") } if filepath.Separator == '/' && strings.Contains(ns, `\`) { return nil, errorf("replacement directory appears to be Windows path (on a non-windows system)") @@ -555,7 +555,6 @@ func parseReplace(filename string, line *Line, verb string, args []string, fix V } if IsDirectoryPath(ns) { return nil, errorf("replacement module directory path %q cannot have version", ns) - } } return &Replace{ @@ -679,14 +678,15 @@ func (f *WorkFile) add(errs *ErrorList, line *Line, verb string, args []string, } } -// IsDirectoryPath reports whether the given path should be interpreted -// as a directory path. Just like on the go command line, relative paths +// IsDirectoryPath reports whether the given path should be interpreted as a directory path. +// Just like on the go command line, relative paths starting with a '.' or '..' path component // and rooted paths are directory paths; the rest are module paths. func IsDirectoryPath(ns string) bool { // Because go.mod files can move from one system to another, // we check all known path syntaxes, both Unix and Windows. - return strings.HasPrefix(ns, "./") || strings.HasPrefix(ns, "../") || strings.HasPrefix(ns, "/") || - strings.HasPrefix(ns, `.\`) || strings.HasPrefix(ns, `..\`) || strings.HasPrefix(ns, `\`) || + return ns == "." || strings.HasPrefix(ns, "./") || strings.HasPrefix(ns, `.\`) || + ns == ".." || strings.HasPrefix(ns, "../") || strings.HasPrefix(ns, `..\`) || + strings.HasPrefix(ns, "/") || strings.HasPrefix(ns, `\`) || len(ns) >= 2 && ('A' <= ns[0] && ns[0] <= 'Z' || 'a' <= ns[0] && ns[0] <= 'z') && ns[1] == ':' } diff --git a/go/extractor/vendor/golang.org/x/sys/execabs/execabs_go118.go b/go/extractor/vendor/golang.org/x/sys/execabs/execabs_go118.go index 2000064a812..5627d70e398 100644 --- a/go/extractor/vendor/golang.org/x/sys/execabs/execabs_go118.go +++ b/go/extractor/vendor/golang.org/x/sys/execabs/execabs_go118.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build !go1.19 -// +build !go1.19 package execabs diff --git a/go/extractor/vendor/golang.org/x/sys/execabs/execabs_go119.go b/go/extractor/vendor/golang.org/x/sys/execabs/execabs_go119.go index f364b341892..d60ab1b4195 100644 --- a/go/extractor/vendor/golang.org/x/sys/execabs/execabs_go119.go +++ b/go/extractor/vendor/golang.org/x/sys/execabs/execabs_go119.go @@ -3,7 +3,6 @@ // license that can be found in the LICENSE file. //go:build go1.19 -// +build go1.19 package execabs diff --git a/go/extractor/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go b/go/extractor/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go index 0454cdd78e5..333676b7cfc 100644 --- a/go/extractor/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go +++ b/go/extractor/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go @@ -13,16 +13,17 @@ import ( "golang.org/x/tools/internal/gocommand" ) -var debug = false - func GetSizesForArgsGolist(ctx context.Context, inv gocommand.Invocation, gocmdRunner *gocommand.Runner) (string, string, error) { inv.Verb = "list" inv.Args = []string{"-f", "{{context.GOARCH}} {{context.Compiler}}", "--", "unsafe"} stdout, stderr, friendlyErr, rawErr := gocmdRunner.RunRaw(ctx, inv) var goarch, compiler string if rawErr != nil { - if rawErrMsg := rawErr.Error(); strings.Contains(rawErrMsg, "cannot find main module") || strings.Contains(rawErrMsg, "go.mod file not found") { - // User's running outside of a module. All bets are off. Get GOARCH and guess compiler is gc. + rawErrMsg := rawErr.Error() + if strings.Contains(rawErrMsg, "cannot find main module") || + strings.Contains(rawErrMsg, "go.mod file not found") { + // User's running outside of a module. + // All bets are off. Get GOARCH and guess compiler is gc. // TODO(matloob): Is this a problem in practice? inv.Verb = "env" inv.Args = []string{"GOARCH"} @@ -32,8 +33,12 @@ func GetSizesForArgsGolist(ctx context.Context, inv gocommand.Invocation, gocmdR } goarch = strings.TrimSpace(envout.String()) compiler = "gc" - } else { + } else if friendlyErr != nil { return "", "", friendlyErr + } else { + // This should be unreachable, but be defensive + // in case RunRaw's error results are inconsistent. + return "", "", rawErr } } else { fields := strings.Fields(stdout.String()) diff --git a/go/extractor/vendor/golang.org/x/tools/go/packages/golist.go b/go/extractor/vendor/golang.org/x/tools/go/packages/golist.go index 1f1eade0ac8..c1292b30f3e 100644 --- a/go/extractor/vendor/golang.org/x/tools/go/packages/golist.go +++ b/go/extractor/vendor/golang.org/x/tools/go/packages/golist.go @@ -208,62 +208,6 @@ extractQueries: } } - // Only use go/packages' overlay processing if we're using a Go version - // below 1.16. Otherwise, go list handles it. - if goVersion, err := state.getGoVersion(); err == nil && goVersion < 16 { - modifiedPkgs, needPkgs, err := state.processGolistOverlay(response) - if err != nil { - return nil, err - } - - var containsCandidates []string - if len(containFiles) > 0 { - containsCandidates = append(containsCandidates, modifiedPkgs...) - containsCandidates = append(containsCandidates, needPkgs...) - } - if err := state.addNeededOverlayPackages(response, needPkgs); err != nil { - return nil, err - } - // Check candidate packages for containFiles. - if len(containFiles) > 0 { - for _, id := range containsCandidates { - pkg, ok := response.seenPackages[id] - if !ok { - response.addPackage(&Package{ - ID: id, - Errors: []Error{{ - Kind: ListError, - Msg: fmt.Sprintf("package %s expected but not seen", id), - }}, - }) - continue - } - for _, f := range containFiles { - for _, g := range pkg.GoFiles { - if sameFile(f, g) { - response.addRoot(id) - } - } - } - } - } - // Add root for any package that matches a pattern. This applies only to - // packages that are modified by overlays, since they are not added as - // roots automatically. - for _, pattern := range restPatterns { - match := matchPattern(pattern) - for _, pkgID := range modifiedPkgs { - pkg, ok := response.seenPackages[pkgID] - if !ok { - continue - } - if match(pkg.PkgPath) { - response.addRoot(pkg.ID) - } - } - } - } - sizeswg.Wait() if sizeserr != nil { return nil, sizeserr @@ -271,24 +215,6 @@ extractQueries: return response.dr, nil } -func (state *golistState) addNeededOverlayPackages(response *responseDeduper, pkgs []string) error { - if len(pkgs) == 0 { - return nil - } - dr, err := state.createDriverResponse(pkgs...) - if err != nil { - return err - } - for _, pkg := range dr.Packages { - response.addPackage(pkg) - } - _, needPkgs, err := state.processGolistOverlay(response) - if err != nil { - return err - } - return state.addNeededOverlayPackages(response, needPkgs) -} - func (state *golistState) runContainsQueries(response *responseDeduper, queries []string) error { for _, query := range queries { // TODO(matloob): Do only one query per directory. diff --git a/go/extractor/vendor/golang.org/x/tools/go/packages/golist_overlay.go b/go/extractor/vendor/golang.org/x/tools/go/packages/golist_overlay.go index 9576b472f9c..d823c474ad3 100644 --- a/go/extractor/vendor/golang.org/x/tools/go/packages/golist_overlay.go +++ b/go/extractor/vendor/golang.org/x/tools/go/packages/golist_overlay.go @@ -6,314 +6,11 @@ package packages import ( "encoding/json" - "fmt" - "go/parser" - "go/token" - "os" "path/filepath" - "regexp" - "sort" - "strconv" - "strings" "golang.org/x/tools/internal/gocommand" ) -// processGolistOverlay provides rudimentary support for adding -// files that don't exist on disk to an overlay. The results can be -// sometimes incorrect. -// TODO(matloob): Handle unsupported cases, including the following: -// - determining the correct package to add given a new import path -func (state *golistState) processGolistOverlay(response *responseDeduper) (modifiedPkgs, needPkgs []string, err error) { - havePkgs := make(map[string]string) // importPath -> non-test package ID - needPkgsSet := make(map[string]bool) - modifiedPkgsSet := make(map[string]bool) - - pkgOfDir := make(map[string][]*Package) - for _, pkg := range response.dr.Packages { - // This is an approximation of import path to id. This can be - // wrong for tests, vendored packages, and a number of other cases. - havePkgs[pkg.PkgPath] = pkg.ID - dir, err := commonDir(pkg.GoFiles) - if err != nil { - return nil, nil, err - } - if dir != "" { - pkgOfDir[dir] = append(pkgOfDir[dir], pkg) - } - } - - // If no new imports are added, it is safe to avoid loading any needPkgs. - // Otherwise, it's hard to tell which package is actually being loaded - // (due to vendoring) and whether any modified package will show up - // in the transitive set of dependencies (because new imports are added, - // potentially modifying the transitive set of dependencies). - var overlayAddsImports bool - - // If both a package and its test package are created by the overlay, we - // need the real package first. Process all non-test files before test - // files, and make the whole process deterministic while we're at it. - var overlayFiles []string - for opath := range state.cfg.Overlay { - overlayFiles = append(overlayFiles, opath) - } - sort.Slice(overlayFiles, func(i, j int) bool { - iTest := strings.HasSuffix(overlayFiles[i], "_test.go") - jTest := strings.HasSuffix(overlayFiles[j], "_test.go") - if iTest != jTest { - return !iTest // non-tests are before tests. - } - return overlayFiles[i] < overlayFiles[j] - }) - for _, opath := range overlayFiles { - contents := state.cfg.Overlay[opath] - base := filepath.Base(opath) - dir := filepath.Dir(opath) - var pkg *Package // if opath belongs to both a package and its test variant, this will be the test variant - var testVariantOf *Package // if opath is a test file, this is the package it is testing - var fileExists bool - isTestFile := strings.HasSuffix(opath, "_test.go") - pkgName, ok := extractPackageName(opath, contents) - if !ok { - // Don't bother adding a file that doesn't even have a parsable package statement - // to the overlay. - continue - } - // If all the overlay files belong to a different package, change the - // package name to that package. - maybeFixPackageName(pkgName, isTestFile, pkgOfDir[dir]) - nextPackage: - for _, p := range response.dr.Packages { - if pkgName != p.Name && p.ID != "command-line-arguments" { - continue - } - for _, f := range p.GoFiles { - if !sameFile(filepath.Dir(f), dir) { - continue - } - // Make sure to capture information on the package's test variant, if needed. - if isTestFile && !hasTestFiles(p) { - // TODO(matloob): Are there packages other than the 'production' variant - // of a package that this can match? This shouldn't match the test main package - // because the file is generated in another directory. - testVariantOf = p - continue nextPackage - } else if !isTestFile && hasTestFiles(p) { - // We're examining a test variant, but the overlaid file is - // a non-test file. Because the overlay implementation - // (currently) only adds a file to one package, skip this - // package, so that we can add the file to the production - // variant of the package. (https://golang.org/issue/36857 - // tracks handling overlays on both the production and test - // variant of a package). - continue nextPackage - } - if pkg != nil && p != pkg && pkg.PkgPath == p.PkgPath { - // We have already seen the production version of the - // for which p is a test variant. - if hasTestFiles(p) { - testVariantOf = pkg - } - } - pkg = p - if filepath.Base(f) == base { - fileExists = true - } - } - } - // The overlay could have included an entirely new package or an - // ad-hoc package. An ad-hoc package is one that we have manually - // constructed from inadequate `go list` results for a file= query. - // It will have the ID command-line-arguments. - if pkg == nil || pkg.ID == "command-line-arguments" { - // Try to find the module or gopath dir the file is contained in. - // Then for modules, add the module opath to the beginning. - pkgPath, ok, err := state.getPkgPath(dir) - if err != nil { - return nil, nil, err - } - if !ok { - break - } - var forTest string // only set for x tests - isXTest := strings.HasSuffix(pkgName, "_test") - if isXTest { - forTest = pkgPath - pkgPath += "_test" - } - id := pkgPath - if isTestFile { - if isXTest { - id = fmt.Sprintf("%s [%s.test]", pkgPath, forTest) - } else { - id = fmt.Sprintf("%s [%s.test]", pkgPath, pkgPath) - } - } - if pkg != nil { - // TODO(rstambler): We should change the package's path and ID - // here. The only issue is that this messes with the roots. - } else { - // Try to reclaim a package with the same ID, if it exists in the response. - for _, p := range response.dr.Packages { - if reclaimPackage(p, id, opath, contents) { - pkg = p - break - } - } - // Otherwise, create a new package. - if pkg == nil { - pkg = &Package{ - PkgPath: pkgPath, - ID: id, - Name: pkgName, - Imports: make(map[string]*Package), - } - response.addPackage(pkg) - havePkgs[pkg.PkgPath] = id - // Add the production package's sources for a test variant. - if isTestFile && !isXTest && testVariantOf != nil { - pkg.GoFiles = append(pkg.GoFiles, testVariantOf.GoFiles...) - pkg.CompiledGoFiles = append(pkg.CompiledGoFiles, testVariantOf.CompiledGoFiles...) - // Add the package under test and its imports to the test variant. - pkg.forTest = testVariantOf.PkgPath - for k, v := range testVariantOf.Imports { - pkg.Imports[k] = &Package{ID: v.ID} - } - } - if isXTest { - pkg.forTest = forTest - } - } - } - } - if !fileExists { - pkg.GoFiles = append(pkg.GoFiles, opath) - // TODO(matloob): Adding the file to CompiledGoFiles can exhibit the wrong behavior - // if the file will be ignored due to its build tags. - pkg.CompiledGoFiles = append(pkg.CompiledGoFiles, opath) - modifiedPkgsSet[pkg.ID] = true - } - imports, err := extractImports(opath, contents) - if err != nil { - // Let the parser or type checker report errors later. - continue - } - for _, imp := range imports { - // TODO(rstambler): If the package is an x test and the import has - // a test variant, make sure to replace it. - if _, found := pkg.Imports[imp]; found { - continue - } - overlayAddsImports = true - id, ok := havePkgs[imp] - if !ok { - var err error - id, err = state.resolveImport(dir, imp) - if err != nil { - return nil, nil, err - } - } - pkg.Imports[imp] = &Package{ID: id} - // Add dependencies to the non-test variant version of this package as well. - if testVariantOf != nil { - testVariantOf.Imports[imp] = &Package{ID: id} - } - } - } - - // toPkgPath guesses the package path given the id. - toPkgPath := func(sourceDir, id string) (string, error) { - if i := strings.IndexByte(id, ' '); i >= 0 { - return state.resolveImport(sourceDir, id[:i]) - } - return state.resolveImport(sourceDir, id) - } - - // Now that new packages have been created, do another pass to determine - // the new set of missing packages. - for _, pkg := range response.dr.Packages { - for _, imp := range pkg.Imports { - if len(pkg.GoFiles) == 0 { - return nil, nil, fmt.Errorf("cannot resolve imports for package %q with no Go files", pkg.PkgPath) - } - pkgPath, err := toPkgPath(filepath.Dir(pkg.GoFiles[0]), imp.ID) - if err != nil { - return nil, nil, err - } - if _, ok := havePkgs[pkgPath]; !ok { - needPkgsSet[pkgPath] = true - } - } - } - - if overlayAddsImports { - needPkgs = make([]string, 0, len(needPkgsSet)) - for pkg := range needPkgsSet { - needPkgs = append(needPkgs, pkg) - } - } - modifiedPkgs = make([]string, 0, len(modifiedPkgsSet)) - for pkg := range modifiedPkgsSet { - modifiedPkgs = append(modifiedPkgs, pkg) - } - return modifiedPkgs, needPkgs, err -} - -// resolveImport finds the ID of a package given its import path. -// In particular, it will find the right vendored copy when in GOPATH mode. -func (state *golistState) resolveImport(sourceDir, importPath string) (string, error) { - env, err := state.getEnv() - if err != nil { - return "", err - } - if env["GOMOD"] != "" { - return importPath, nil - } - - searchDir := sourceDir - for { - vendorDir := filepath.Join(searchDir, "vendor") - exists, ok := state.vendorDirs[vendorDir] - if !ok { - info, err := os.Stat(vendorDir) - exists = err == nil && info.IsDir() - state.vendorDirs[vendorDir] = exists - } - - if exists { - vendoredPath := filepath.Join(vendorDir, importPath) - if info, err := os.Stat(vendoredPath); err == nil && info.IsDir() { - // We should probably check for .go files here, but shame on anyone who fools us. - path, ok, err := state.getPkgPath(vendoredPath) - if err != nil { - return "", err - } - if ok { - return path, nil - } - } - } - - // We know we've hit the top of the filesystem when we Dir / and get /, - // or C:\ and get C:\, etc. - next := filepath.Dir(searchDir) - if next == searchDir { - break - } - searchDir = next - } - return importPath, nil -} - -func hasTestFiles(p *Package) bool { - for _, f := range p.GoFiles { - if strings.HasSuffix(f, "_test.go") { - return true - } - } - return false -} - // determineRootDirs returns a mapping from absolute directories that could // contain code to their corresponding import path prefixes. func (state *golistState) determineRootDirs() (map[string]string, error) { @@ -384,192 +81,3 @@ func (state *golistState) determineRootDirsGOPATH() (map[string]string, error) { } return m, nil } - -func extractImports(filename string, contents []byte) ([]string, error) { - f, err := parser.ParseFile(token.NewFileSet(), filename, contents, parser.ImportsOnly) // TODO(matloob): reuse fileset? - if err != nil { - return nil, err - } - var res []string - for _, imp := range f.Imports { - quotedPath := imp.Path.Value - path, err := strconv.Unquote(quotedPath) - if err != nil { - return nil, err - } - res = append(res, path) - } - return res, nil -} - -// reclaimPackage attempts to reuse a package that failed to load in an overlay. -// -// If the package has errors and has no Name, GoFiles, or Imports, -// then it's possible that it doesn't yet exist on disk. -func reclaimPackage(pkg *Package, id string, filename string, contents []byte) bool { - // TODO(rstambler): Check the message of the actual error? - // It differs between $GOPATH and module mode. - if pkg.ID != id { - return false - } - if len(pkg.Errors) != 1 { - return false - } - if pkg.Name != "" || pkg.ExportFile != "" { - return false - } - if len(pkg.GoFiles) > 0 || len(pkg.CompiledGoFiles) > 0 || len(pkg.OtherFiles) > 0 { - return false - } - if len(pkg.Imports) > 0 { - return false - } - pkgName, ok := extractPackageName(filename, contents) - if !ok { - return false - } - pkg.Name = pkgName - pkg.Errors = nil - return true -} - -func extractPackageName(filename string, contents []byte) (string, bool) { - // TODO(rstambler): Check the message of the actual error? - // It differs between $GOPATH and module mode. - f, err := parser.ParseFile(token.NewFileSet(), filename, contents, parser.PackageClauseOnly) // TODO(matloob): reuse fileset? - if err != nil { - return "", false - } - return f.Name.Name, true -} - -// commonDir returns the directory that all files are in, "" if files is empty, -// or an error if they aren't in the same directory. -func commonDir(files []string) (string, error) { - seen := make(map[string]bool) - for _, f := range files { - seen[filepath.Dir(f)] = true - } - if len(seen) > 1 { - return "", fmt.Errorf("files (%v) are in more than one directory: %v", files, seen) - } - for k := range seen { - // seen has only one element; return it. - return k, nil - } - return "", nil // no files -} - -// It is possible that the files in the disk directory dir have a different package -// name from newName, which is deduced from the overlays. If they all have a different -// package name, and they all have the same package name, then that name becomes -// the package name. -// It returns true if it changes the package name, false otherwise. -func maybeFixPackageName(newName string, isTestFile bool, pkgsOfDir []*Package) { - names := make(map[string]int) - for _, p := range pkgsOfDir { - names[p.Name]++ - } - if len(names) != 1 { - // some files are in different packages - return - } - var oldName string - for k := range names { - oldName = k - } - if newName == oldName { - return - } - // We might have a case where all of the package names in the directory are - // the same, but the overlay file is for an x test, which belongs to its - // own package. If the x test does not yet exist on disk, we may not yet - // have its package name on disk, but we should not rename the packages. - // - // We use a heuristic to determine if this file belongs to an x test: - // The test file should have a package name whose package name has a _test - // suffix or looks like "newName_test". - maybeXTest := strings.HasPrefix(oldName+"_test", newName) || strings.HasSuffix(newName, "_test") - if isTestFile && maybeXTest { - return - } - for _, p := range pkgsOfDir { - p.Name = newName - } -} - -// This function is copy-pasted from -// https://github.com/golang/go/blob/9706f510a5e2754595d716bd64be8375997311fb/src/cmd/go/internal/search/search.go#L360. -// It should be deleted when we remove support for overlays from go/packages. -// -// NOTE: This does not handle any ./... or ./ style queries, as this function -// doesn't know the working directory. -// -// matchPattern(pattern)(name) reports whether -// name matches pattern. Pattern is a limited glob -// pattern in which '...' means 'any string' and there -// is no other special syntax. -// Unfortunately, there are two special cases. Quoting "go help packages": -// -// First, /... at the end of the pattern can match an empty string, -// so that net/... matches both net and packages in its subdirectories, like net/http. -// Second, any slash-separated pattern element containing a wildcard never -// participates in a match of the "vendor" element in the path of a vendored -// package, so that ./... does not match packages in subdirectories of -// ./vendor or ./mycode/vendor, but ./vendor/... and ./mycode/vendor/... do. -// Note, however, that a directory named vendor that itself contains code -// is not a vendored package: cmd/vendor would be a command named vendor, -// and the pattern cmd/... matches it. -func matchPattern(pattern string) func(name string) bool { - // Convert pattern to regular expression. - // The strategy for the trailing /... is to nest it in an explicit ? expression. - // The strategy for the vendor exclusion is to change the unmatchable - // vendor strings to a disallowed code point (vendorChar) and to use - // "(anything but that codepoint)*" as the implementation of the ... wildcard. - // This is a bit complicated but the obvious alternative, - // namely a hand-written search like in most shell glob matchers, - // is too easy to make accidentally exponential. - // Using package regexp guarantees linear-time matching. - - const vendorChar = "\x00" - - if strings.Contains(pattern, vendorChar) { - return func(name string) bool { return false } - } - - re := regexp.QuoteMeta(pattern) - re = replaceVendor(re, vendorChar) - switch { - case strings.HasSuffix(re, `/`+vendorChar+`/\.\.\.`): - re = strings.TrimSuffix(re, `/`+vendorChar+`/\.\.\.`) + `(/vendor|/` + vendorChar + `/\.\.\.)` - case re == vendorChar+`/\.\.\.`: - re = `(/vendor|/` + vendorChar + `/\.\.\.)` - case strings.HasSuffix(re, `/\.\.\.`): - re = strings.TrimSuffix(re, `/\.\.\.`) + `(/\.\.\.)?` - } - re = strings.ReplaceAll(re, `\.\.\.`, `[^`+vendorChar+`]*`) - - reg := regexp.MustCompile(`^` + re + `$`) - - return func(name string) bool { - if strings.Contains(name, vendorChar) { - return false - } - return reg.MatchString(replaceVendor(name, vendorChar)) - } -} - -// replaceVendor returns the result of replacing -// non-trailing vendor path elements in x with repl. -func replaceVendor(x, repl string) string { - if !strings.Contains(x, "vendor") { - return x - } - elem := strings.Split(x, "/") - for i := 0; i < len(elem)-1; i++ { - if elem[i] == "vendor" { - elem[i] = repl - } - } - return strings.Join(elem, "/") -} diff --git a/go/extractor/vendor/golang.org/x/tools/go/packages/packages.go b/go/extractor/vendor/golang.org/x/tools/go/packages/packages.go index ece0e7c603e..6cbd3de83ec 100644 --- a/go/extractor/vendor/golang.org/x/tools/go/packages/packages.go +++ b/go/extractor/vendor/golang.org/x/tools/go/packages/packages.go @@ -258,31 +258,52 @@ type driverResponse struct { // proceeding with further analysis. The PrintErrors function is // provided for convenient display of all errors. func Load(cfg *Config, patterns ...string) ([]*Package, error) { - l := newLoader(cfg) - response, err := defaultDriver(&l.Config, patterns...) + ld := newLoader(cfg) + response, external, err := defaultDriver(&ld.Config, patterns...) if err != nil { return nil, err } - l.sizes = types.SizesFor(response.Compiler, response.Arch) - return l.refine(response) + + ld.sizes = types.SizesFor(response.Compiler, response.Arch) + if ld.sizes == nil && ld.Config.Mode&(NeedTypes|NeedTypesSizes|NeedTypesInfo) != 0 { + // Type size information is needed but unavailable. + if external { + // An external driver may fail to populate the Compiler/GOARCH fields, + // especially since they are relatively new (see #63700). + // Provide a sensible fallback in this case. + ld.sizes = types.SizesFor("gc", runtime.GOARCH) + if ld.sizes == nil { // gccgo-only arch + ld.sizes = types.SizesFor("gc", "amd64") + } + } else { + // Go list should never fail to deliver accurate size information. + // Reject the whole Load since the error is the same for every package. + return nil, fmt.Errorf("can't determine type sizes for compiler %q on GOARCH %q", + response.Compiler, response.Arch) + } + } + + return ld.refine(response) } // defaultDriver is a driver that implements go/packages' fallback behavior. // It will try to request to an external driver, if one exists. If there's // no external driver, or the driver returns a response with NotHandled set, // defaultDriver will fall back to the go list driver. -func defaultDriver(cfg *Config, patterns ...string) (*driverResponse, error) { - driver := findExternalDriver(cfg) - if driver == nil { - driver = goListDriver +// The boolean result indicates that an external driver handled the request. +func defaultDriver(cfg *Config, patterns ...string) (*driverResponse, bool, error) { + if driver := findExternalDriver(cfg); driver != nil { + response, err := driver(cfg, patterns...) + if err != nil { + return nil, false, err + } else if !response.NotHandled { + return response, true, nil + } + // (fall through) } - response, err := driver(cfg, patterns...) - if err != nil { - return response, err - } else if response.NotHandled { - return goListDriver(cfg, patterns...) - } - return response, nil + + response, err := goListDriver(cfg, patterns...) + return response, false, err } // A Package describes a loaded Go package. @@ -553,7 +574,7 @@ type loaderPackage struct { type loader struct { pkgs map[string]*loaderPackage Config - sizes types.Sizes + sizes types.Sizes // non-nil if needed by mode parseCache map[string]*parseValue parseCacheMu sync.Mutex exportMu sync.Mutex // enforces mutual exclusion of exportdata operations @@ -678,39 +699,38 @@ func (ld *loader) refine(response *driverResponse) ([]*Package, error) { } } - // Materialize the import graph. + if ld.Mode&NeedImports != 0 { + // Materialize the import graph. - const ( - white = 0 // new - grey = 1 // in progress - black = 2 // complete - ) + const ( + white = 0 // new + grey = 1 // in progress + black = 2 // complete + ) - // visit traverses the import graph, depth-first, - // and materializes the graph as Packages.Imports. - // - // Valid imports are saved in the Packages.Import map. - // Invalid imports (cycles and missing nodes) are saved in the importErrors map. - // Thus, even in the presence of both kinds of errors, the Import graph remains a DAG. - // - // visit returns whether the package needs src or has a transitive - // dependency on a package that does. These are the only packages - // for which we load source code. - var stack []*loaderPackage - var visit func(lpkg *loaderPackage) bool - var srcPkgs []*loaderPackage - visit = func(lpkg *loaderPackage) bool { - switch lpkg.color { - case black: - return lpkg.needsrc - case grey: - panic("internal error: grey node") - } - lpkg.color = grey - stack = append(stack, lpkg) // push - stubs := lpkg.Imports // the structure form has only stubs with the ID in the Imports - // If NeedImports isn't set, the imports fields will all be zeroed out. - if ld.Mode&NeedImports != 0 { + // visit traverses the import graph, depth-first, + // and materializes the graph as Packages.Imports. + // + // Valid imports are saved in the Packages.Import map. + // Invalid imports (cycles and missing nodes) are saved in the importErrors map. + // Thus, even in the presence of both kinds of errors, + // the Import graph remains a DAG. + // + // visit returns whether the package needs src or has a transitive + // dependency on a package that does. These are the only packages + // for which we load source code. + var stack []*loaderPackage + var visit func(lpkg *loaderPackage) bool + visit = func(lpkg *loaderPackage) bool { + switch lpkg.color { + case black: + return lpkg.needsrc + case grey: + panic("internal error: grey node") + } + lpkg.color = grey + stack = append(stack, lpkg) // push + stubs := lpkg.Imports // the structure form has only stubs with the ID in the Imports lpkg.Imports = make(map[string]*Package, len(stubs)) for importPath, ipkg := range stubs { var importErr error @@ -734,40 +754,39 @@ func (ld *loader) refine(response *driverResponse) ([]*Package, error) { } lpkg.Imports[importPath] = imp.Package } - } - if lpkg.needsrc { - srcPkgs = append(srcPkgs, lpkg) - } - if ld.Mode&NeedTypesSizes != 0 { - lpkg.TypesSizes = ld.sizes - } - stack = stack[:len(stack)-1] // pop - lpkg.color = black - return lpkg.needsrc - } + // Complete type information is required for the + // immediate dependencies of each source package. + if lpkg.needsrc && ld.Mode&NeedTypes != 0 { + for _, ipkg := range lpkg.Imports { + ld.pkgs[ipkg.ID].needtypes = true + } + } - if ld.Mode&NeedImports == 0 { - // We do this to drop the stub import packages that we are not even going to try to resolve. - for _, lpkg := range initial { - lpkg.Imports = nil + // NeedTypeSizes causes TypeSizes to be set even + // on packages for which types aren't needed. + if ld.Mode&NeedTypesSizes != 0 { + lpkg.TypesSizes = ld.sizes + } + stack = stack[:len(stack)-1] // pop + lpkg.color = black + + return lpkg.needsrc } - } else { + // For each initial package, create its import DAG. for _, lpkg := range initial { visit(lpkg) } - } - if ld.Mode&NeedImports != 0 && ld.Mode&NeedTypes != 0 { - for _, lpkg := range srcPkgs { - // Complete type information is required for the - // immediate dependencies of each source package. - for _, ipkg := range lpkg.Imports { - imp := ld.pkgs[ipkg.ID] - imp.needtypes = true - } + + } else { + // !NeedImports: drop the stub (ID-only) import packages + // that we are not even going to try to resolve. + for _, lpkg := range initial { + lpkg.Imports = nil } } + // Load type data and syntax if needed, starting at // the initial packages (roots of the import DAG). if ld.Mode&NeedTypes != 0 || ld.Mode&NeedSyntax != 0 { @@ -1042,7 +1061,7 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) { IgnoreFuncBodies: ld.Mode&NeedDeps == 0 && !lpkg.initial, Error: appendError, - Sizes: ld.sizes, + Sizes: ld.sizes, // may be nil } if lpkg.Module != nil && lpkg.Module.GoVersion != "" { typesinternal.SetGoVersion(tc, "go"+lpkg.Module.GoVersion) diff --git a/go/extractor/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go b/go/extractor/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go index fa5834baf72..e742ecc4644 100644 --- a/go/extractor/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go +++ b/go/extractor/vendor/golang.org/x/tools/go/types/objectpath/objectpath.go @@ -26,13 +26,10 @@ package objectpath import ( "fmt" "go/types" - "sort" "strconv" "strings" - _ "unsafe" "golang.org/x/tools/internal/typeparams" - "golang.org/x/tools/internal/typesinternal" ) // A Path is an opaque name that identifies a types.Object @@ -123,20 +120,7 @@ func For(obj types.Object) (Path, error) { // An Encoder amortizes the cost of encoding the paths of multiple objects. // The zero value of an Encoder is ready to use. type Encoder struct { - scopeMemo map[*types.Scope][]types.Object // memoization of scopeObjects - namedMethodsMemo map[*types.Named][]*types.Func // memoization of namedMethods() - skipMethodSorting bool -} - -// Expose back doors so that gopls can avoid method sorting, which can dominate -// analysis on certain repositories. -// -// TODO(golang/go#61443): remove this. -func init() { - typesinternal.SkipEncoderMethodSorting = func(enc interface{}) { - enc.(*Encoder).skipMethodSorting = true - } - typesinternal.ObjectpathObject = object + scopeMemo map[*types.Scope][]types.Object // memoization of scopeObjects } // For returns the path to an object relative to its package, @@ -328,31 +312,18 @@ func (enc *Encoder) For(obj types.Object) (Path, error) { // Inspect declared methods of defined types. if T, ok := o.Type().(*types.Named); ok { path = append(path, opType) - if !enc.skipMethodSorting { - // Note that method index here is always with respect - // to canonical ordering of methods, regardless of how - // they appear in the underlying type. - for i, m := range enc.namedMethods(T) { - path2 := appendOpArg(path, opMethod, i) - if m == obj { - return Path(path2), nil // found declared method - } - if r := find(obj, m.Type(), append(path2, opType), nil); r != nil { - return Path(r), nil - } + // The method index here is always with respect + // to the underlying go/types data structures, + // which ultimately derives from source order + // and must be preserved by export data. + for i := 0; i < T.NumMethods(); i++ { + m := T.Method(i) + path2 := appendOpArg(path, opMethod, i) + if m == obj { + return Path(path2), nil // found declared method } - } else { - // This branch must match the logic in the branch above, using go/types - // APIs without sorting. - for i := 0; i < T.NumMethods(); i++ { - m := T.Method(i) - path2 := appendOpArg(path, opMethod, i) - if m == obj { - return Path(path2), nil // found declared method - } - if r := find(obj, m.Type(), append(path2, opType), nil); r != nil { - return Path(r), nil - } + if r := find(obj, m.Type(), append(path2, opType), nil); r != nil { + return Path(r), nil } } } @@ -448,22 +419,13 @@ func (enc *Encoder) concreteMethod(meth *types.Func) (Path, bool) { path = append(path, name...) path = append(path, opType) - if !enc.skipMethodSorting { - for i, m := range enc.namedMethods(named) { - if m == meth { - path = appendOpArg(path, opMethod, i) - return Path(path), true - } - } - } else { - // This branch must match the logic of the branch above, using go/types - // APIs without sorting. - for i := 0; i < named.NumMethods(); i++ { - m := named.Method(i) - if m == meth { - path = appendOpArg(path, opMethod, i) - return Path(path), true - } + // Method indices are w.r.t. the go/types data structures, + // ultimately deriving from source order, + // which is preserved by export data. + for i := 0; i < named.NumMethods(); i++ { + if named.Method(i) == meth { + path = appendOpArg(path, opMethod, i) + return Path(path), true } } @@ -576,12 +538,7 @@ func findTypeParam(obj types.Object, list *typeparams.TypeParamList, path []byte // Object returns the object denoted by path p within the package pkg. func Object(pkg *types.Package, p Path) (types.Object, error) { - return object(pkg, string(p), false) -} - -// Note: the skipMethodSorting parameter must match the value of -// Encoder.skipMethodSorting used during encoding. -func object(pkg *types.Package, pathstr string, skipMethodSorting bool) (types.Object, error) { + pathstr := string(p) if pathstr == "" { return nil, fmt.Errorf("empty path") } @@ -747,12 +704,7 @@ func object(pkg *types.Package, pathstr string, skipMethodSorting bool) (types.O if index >= t.NumMethods() { return nil, fmt.Errorf("method index %d out of range [0-%d)", index, t.NumMethods()) } - if skipMethodSorting { - obj = t.Method(index) - } else { - methods := namedMethods(t) // (unmemoized) - obj = methods[index] // Id-ordered - } + obj = t.Method(index) default: return nil, fmt.Errorf("cannot apply %q to %s (got %T, want interface or named)", code, t, t) @@ -779,33 +731,6 @@ func object(pkg *types.Package, pathstr string, skipMethodSorting bool) (types.O return obj, nil // success } -// namedMethods returns the methods of a Named type in ascending Id order. -func namedMethods(named *types.Named) []*types.Func { - methods := make([]*types.Func, named.NumMethods()) - for i := range methods { - methods[i] = named.Method(i) - } - sort.Slice(methods, func(i, j int) bool { - return methods[i].Id() < methods[j].Id() - }) - return methods -} - -// namedMethods is a memoization of the namedMethods function. Callers must not modify the result. -func (enc *Encoder) namedMethods(named *types.Named) []*types.Func { - m := enc.namedMethodsMemo - if m == nil { - m = make(map[*types.Named][]*types.Func) - enc.namedMethodsMemo = m - } - methods, ok := m[named] - if !ok { - methods = namedMethods(named) // allocates and sorts - m[named] = methods - } - return methods -} - // scopeObjects is a memoization of scope objects. // Callers must not modify the result. func (enc *Encoder) scopeObjects(scope *types.Scope) []types.Object { diff --git a/go/extractor/vendor/golang.org/x/tools/internal/gocommand/invoke.go b/go/extractor/vendor/golang.org/x/tools/internal/gocommand/invoke.go index 53cf66da019..c27b91f8c7e 100644 --- a/go/extractor/vendor/golang.org/x/tools/internal/gocommand/invoke.go +++ b/go/extractor/vendor/golang.org/x/tools/internal/gocommand/invoke.go @@ -85,6 +85,7 @@ func (runner *Runner) RunPiped(ctx context.Context, inv Invocation, stdout, stde // RunRaw runs the invocation, serializing requests only if they fight over // go.mod changes. +// Postcondition: both error results have same nilness. func (runner *Runner) RunRaw(ctx context.Context, inv Invocation) (*bytes.Buffer, *bytes.Buffer, error, error) { ctx, done := event.Start(ctx, "gocommand.Runner.RunRaw", invLabels(inv)...) defer done() @@ -95,23 +96,24 @@ func (runner *Runner) RunRaw(ctx context.Context, inv Invocation) (*bytes.Buffer stdout, stderr, friendlyErr, err := runner.runConcurrent(ctx, inv) // If we encounter a load concurrency error, we need to retry serially. - if friendlyErr == nil || !modConcurrencyError.MatchString(friendlyErr.Error()) { - return stdout, stderr, friendlyErr, err - } - event.Error(ctx, "Load concurrency error, will retry serially", err) + if friendlyErr != nil && modConcurrencyError.MatchString(friendlyErr.Error()) { + event.Error(ctx, "Load concurrency error, will retry serially", err) + + // Run serially by calling runPiped. + stdout.Reset() + stderr.Reset() + friendlyErr, err = runner.runPiped(ctx, inv, stdout, stderr) + } - // Run serially by calling runPiped. - stdout.Reset() - stderr.Reset() - friendlyErr, err = runner.runPiped(ctx, inv, stdout, stderr) return stdout, stderr, friendlyErr, err } +// Postcondition: both error results have same nilness. func (runner *Runner) runConcurrent(ctx context.Context, inv Invocation) (*bytes.Buffer, *bytes.Buffer, error, error) { // Wait for 1 worker to become available. select { case <-ctx.Done(): - return nil, nil, nil, ctx.Err() + return nil, nil, ctx.Err(), ctx.Err() case runner.inFlight <- struct{}{}: defer func() { <-runner.inFlight }() } @@ -121,6 +123,7 @@ func (runner *Runner) runConcurrent(ctx context.Context, inv Invocation) (*bytes return stdout, stderr, friendlyErr, err } +// Postcondition: both error results have same nilness. func (runner *Runner) runPiped(ctx context.Context, inv Invocation, stdout, stderr io.Writer) (error, error) { // Make sure the runner is always initialized. runner.initialize() @@ -129,7 +132,7 @@ func (runner *Runner) runPiped(ctx context.Context, inv Invocation, stdout, stde // runPiped commands. select { case <-ctx.Done(): - return nil, ctx.Err() + return ctx.Err(), ctx.Err() case runner.serialized <- struct{}{}: defer func() { <-runner.serialized }() } @@ -139,7 +142,7 @@ func (runner *Runner) runPiped(ctx context.Context, inv Invocation, stdout, stde for i := 0; i < maxInFlight; i++ { select { case <-ctx.Done(): - return nil, ctx.Err() + return ctx.Err(), ctx.Err() case runner.inFlight <- struct{}{}: // Make sure we always "return" any workers we took. defer func() { <-runner.inFlight }() @@ -172,6 +175,7 @@ type Invocation struct { Logf func(format string, args ...interface{}) } +// Postcondition: both error results have same nilness. func (i *Invocation) runWithFriendlyError(ctx context.Context, stdout, stderr io.Writer) (friendlyError error, rawError error) { rawError = i.run(ctx, stdout, stderr) if rawError != nil { diff --git a/go/extractor/vendor/golang.org/x/tools/internal/typesinternal/objectpath.go b/go/extractor/vendor/golang.org/x/tools/internal/typesinternal/objectpath.go deleted file mode 100644 index 5e96e895573..00000000000 --- a/go/extractor/vendor/golang.org/x/tools/internal/typesinternal/objectpath.go +++ /dev/null @@ -1,24 +0,0 @@ -// 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. - -package typesinternal - -import "go/types" - -// This file contains back doors that allow gopls to avoid method sorting when -// using the objectpath package. -// -// This is performance-critical in certain repositories, but changing the -// behavior of the objectpath package is still being discussed in -// golang/go#61443. If we decide to remove the sorting in objectpath we can -// simply delete these back doors. Otherwise, we should add a new API to -// objectpath that allows controlling the sorting. - -// SkipEncoderMethodSorting marks enc (which must be an *objectpath.Encoder) as -// not requiring sorted methods. -var SkipEncoderMethodSorting func(enc interface{}) - -// ObjectpathObject is like objectpath.Object, but allows suppressing method -// sorting. -var ObjectpathObject func(pkg *types.Package, p string, skipMethodSorting bool) (types.Object, error) diff --git a/go/extractor/vendor/modules.txt b/go/extractor/vendor/modules.txt index c4069b86f18..9f02bbfd712 100644 --- a/go/extractor/vendor/modules.txt +++ b/go/extractor/vendor/modules.txt @@ -1,13 +1,13 @@ -# golang.org/x/mod v0.13.0 +# golang.org/x/mod v0.14.0 ## explicit; go 1.18 golang.org/x/mod/internal/lazyregexp golang.org/x/mod/modfile golang.org/x/mod/module golang.org/x/mod/semver -# golang.org/x/sys v0.13.0 -## explicit; go 1.17 +# golang.org/x/sys v0.14.0 +## explicit; go 1.18 golang.org/x/sys/execabs -# golang.org/x/tools v0.14.0 +# golang.org/x/tools v0.15.0 ## explicit; go 1.18 golang.org/x/tools/go/gcexportdata golang.org/x/tools/go/internal/packagesdriver diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index a79e1a6bb05..4b72ca8125a 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -74,7 +74,7 @@ */ private import go -private import ExternalFlowExtensions as Extensions +import internal.ExternalFlowExtensions private import internal.DataFlowPrivate private import internal.FlowSummaryImpl::Private::External private import internal.FlowSummaryImplSpecific @@ -82,15 +82,6 @@ private import internal.AccessPathSyntax private import FlowSummary private import codeql.mad.ModelValidation as SharedModelVal -/** Holds if a source model exists for the given parameters. */ -predicate sourceModel = Extensions::sourceModel/9; - -/** Holds if a sink model exists for the given parameters. */ -predicate sinkModel = Extensions::sinkModel/9; - -/** Holds if a summary model exists for the given parameters. */ -predicate summaryModel = Extensions::summaryModel/10; - /** Holds if `package` have MaD framework coverage. */ private predicate packageHasMaDCoverage(string package) { sourceModel(package, _, _, _, _, _, _, _, _) or diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlowExtensions.qll b/go/ql/lib/semmle/go/dataflow/internal/ExternalFlowExtensions.qll similarity index 100% rename from go/ql/lib/semmle/go/dataflow/ExternalFlowExtensions.qll rename to go/ql/lib/semmle/go/dataflow/internal/ExternalFlowExtensions.qll diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/test.py index 1cb00f89f55..d087461cd89 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/test.py @@ -3,14 +3,16 @@ from create_database_utils import * from diagnostics_test_utils import * # Ensure we're using an old Java version that won't work with Gradle -if "JAVA_HOME_8_X64" in os.environ: - os.environ["JAVA_HOME"] = os.environ["JAVA_HOME_8_X64"] - sep = ";" if platform.system() == "Windows" else ":" - os.environ["PATH"] = "".join([os.path.join(os.environ["JAVA_HOME"], "bin"), sep, os.environ["PATH"]]) +for k in os.environ: + if k.upper() in ["JAVA_HOME_8_X64", "JAVA_HOME_8_ARM64"]: + os.environ["JAVA_HOME"] = os.environ[k] + sep = ";" if platform.system() == "Windows" else ":" + os.environ["PATH"] = "".join([os.path.join(os.environ["JAVA_HOME"], "bin"), sep, os.environ["PATH"]]) + break -# Ensure the autobuilder *doesn't* see Java 11 or 17, which it could switch to in order to build the project: -for k in ["JAVA_HOME_11_X64", "JAVA_HOME_17_X64"]: - if k in os.environ: +# Ensure the autobuilder *doesn't* see newer Java versions, which it could switch to in order to build the project: +for k in os.environ: + if re.match(r"^JAVA_HOME_\d\d_", k): del os.environ[k] # Use a custom, empty toolchains.xml file so the autobuilder doesn't see any Java versions that may be diff --git a/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll b/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll index 3a9e1347c97..48ee41630d9 100644 --- a/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll +++ b/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll @@ -93,7 +93,7 @@ private import internal.DataFlowPrivate private import internal.FlowSummaryImpl::Private::External private import internal.FlowSummaryImplSpecific as FlowSummaryImplSpecific private import internal.AccessPathSyntax -private import ExternalFlowExtensions as Extensions +private import internal.ExternalFlowExtensions as Extensions private import FlowSummary private import codeql.mad.ModelValidation as SharedModelVal diff --git a/java/ql/lib/semmle/code/java/dataflow/RangeAnalysis.qll b/java/ql/lib/semmle/code/java/dataflow/RangeAnalysis.qll index ee614517872..64d17202d67 100644 --- a/java/ql/lib/semmle/code/java/dataflow/RangeAnalysis.qll +++ b/java/ql/lib/semmle/code/java/dataflow/RangeAnalysis.qll @@ -66,7 +66,6 @@ import java private import SSA private import RangeUtils -private import semmle.code.java.dataflow.internal.rangeanalysis.SsaReadPositionCommon private import semmle.code.java.controlflow.internal.GuardsLogic private import semmle.code.java.security.RandomDataSource private import SignAnalysis @@ -80,7 +79,6 @@ module Sem implements Semantic { private import java as J private import SSA as SSA private import RangeUtils as RU - private import semmle.code.java.dataflow.internal.rangeanalysis.SsaReadPositionCommon as SsaReadPos private import semmle.code.java.controlflow.internal.GuardsLogic as GL class Expr = J::Expr; @@ -211,7 +209,17 @@ module Sem implements Semantic { class BasicBlock = J::BasicBlock; - class Guard extends GL::Guard { + BasicBlock getABasicBlockSuccessor(BasicBlock bb) { result = bb.getABBSuccessor() } + + private predicate id(BasicBlock x, BasicBlock y) { x = y } + + private predicate idOf(BasicBlock x, int y) = equivalenceRelation(id/2)(x, y) + + int getBlockId1(BasicBlock bb) { idOf(bb, result) } + + final private class FinalGuard = GL::Guard; + + class Guard extends FinalGuard { Expr asExpr() { result = this } } @@ -219,14 +227,6 @@ module Sem implements Semantic { GL::implies_v2(g1, b1, g2, b2) } - predicate guardDirectlyControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { - RU::guardDirectlyControlsSsaRead(guard, controlled, testIsTrue) - } - - predicate guardControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { - RU::guardControlsSsaRead(guard, controlled, testIsTrue) - } - class Type = J::Type; class IntegerType extends J::IntegralType { @@ -247,31 +247,14 @@ module Sem implements Semantic { Expr getAUse() { result = super.getAUse() } } - class SsaPhiNode extends SsaVariable instanceof SSA::SsaPhiNode { } + class SsaPhiNode extends SsaVariable instanceof SSA::SsaPhiNode { + predicate hasInputFromBlock(SsaVariable inp, BasicBlock bb) { super.hasInputFromBlock(inp, bb) } + } class SsaExplicitUpdate extends SsaVariable instanceof SSA::SsaExplicitUpdate { Expr getDefiningExpr() { result = super.getDefiningExpr() } } - final private class FinalSsaReadPosition = SsaReadPos::SsaReadPosition; - - class SsaReadPosition extends FinalSsaReadPosition { - predicate hasReadOfVar(SsaVariable v) { super.hasReadOfVar(v) } - } - - class SsaReadPositionPhiInputEdge extends SsaReadPosition instanceof SsaReadPos::SsaReadPositionPhiInputEdge - { - predicate phiInput(SsaPhiNode phi, SsaVariable inp) { super.phiInput(phi, inp) } - } - - class SsaReadPositionBlock extends SsaReadPosition instanceof SsaReadPos::SsaReadPositionBlock { - BasicBlock getBlock() { result = super.getBlock() } - } - - predicate backEdge(SsaPhiNode phi, SsaVariable inp, SsaReadPositionPhiInputEdge edge) { - RU::backEdge(phi, inp, edge) - } - predicate conversionCannotOverflow = safeCast/2; } @@ -388,7 +371,6 @@ module JavaLangImpl implements LangSig { module Utils implements UtilSig { private import RangeUtils as RU - private import semmle.code.java.dataflow.internal.rangeanalysis.SsaReadPositionCommon as SsaReadPos Sem::Guard semEqFlowCond( Sem::SsaVariable v, Sem::Expr e, int delta, boolean isEq, boolean testIsTrue @@ -407,14 +389,6 @@ module Utils implements UtilSig { } Sem::Type getTrackedType(Sem::Expr e) { result = e.getType() } - - predicate rankedPhiInput( - Sem::SsaPhiNode phi, Sem::SsaVariable inp, Sem::SsaReadPositionPhiInputEdge edge, int r - ) { - SsaReadPos::rankedPhiInput(phi, inp, edge, r) - } - - predicate maxPhiInputRank(Sem::SsaPhiNode phi, int rix) { SsaReadPos::maxPhiInputRank(phi, rix) } } module Bounds implements BoundSig { diff --git a/java/ql/lib/semmle/code/java/dataflow/RangeUtils.qll b/java/ql/lib/semmle/code/java/dataflow/RangeUtils.qll index 1336caac654..f01d5cc8d54 100644 --- a/java/ql/lib/semmle/code/java/dataflow/RangeUtils.qll +++ b/java/ql/lib/semmle/code/java/dataflow/RangeUtils.qll @@ -5,8 +5,19 @@ import java private import SSA private import semmle.code.java.controlflow.internal.GuardsLogic -private import semmle.code.java.dataflow.internal.rangeanalysis.SsaReadPositionCommon private import semmle.code.java.Constants +private import semmle.code.java.dataflow.RangeAnalysis +private import codeql.rangeanalysis.internal.RangeUtils + +private module U = MakeUtils; + +private predicate backEdge = U::backEdge/3; + +predicate ssaRead = U::ssaRead/2; + +predicate guardDirectlyControlsSsaRead = U::guardDirectlyControlsSsaRead/3; + +predicate guardControlsSsaRead = U::guardControlsSsaRead/3; /** * Holds if `v` is an input to `phi` that is not along a back edge, and the @@ -145,79 +156,6 @@ class ConstantStringExpr extends Expr { string getStringValue() { constantStringExpr(this, result) } } -bindingset[f] -private predicate okInt(float f) { -2.pow(31) <= f and f <= 2.pow(31) - 1 } - -/** - * Gets an expression that equals `v - d`. - */ -Expr ssaRead(SsaVariable v, int delta) { - result = v.getAUse() and delta = 0 - or - exists(int d1, ConstantIntegerExpr c | - result.(AddExpr).hasOperands(ssaRead(v, d1), c) and - delta = d1 - c.getIntValue() and - okInt(d1.(float) - c.getIntValue().(float)) - ) - or - exists(SubExpr sub, int d1, ConstantIntegerExpr c | - result = sub and - sub.getLeftOperand() = ssaRead(v, d1) and - sub.getRightOperand() = c and - delta = d1 + c.getIntValue() and - okInt(d1.(float) + c.getIntValue().(float)) - ) - or - v.(SsaExplicitUpdate).getDefiningExpr().(PreIncExpr) = result and delta = 0 - or - v.(SsaExplicitUpdate).getDefiningExpr().(PreDecExpr) = result and delta = 0 - or - v.(SsaExplicitUpdate).getDefiningExpr().(PostIncExpr) = result and delta = 1 // x++ === ++x - 1 - or - v.(SsaExplicitUpdate).getDefiningExpr().(PostDecExpr) = result and delta = -1 // x-- === --x + 1 - or - v.(SsaExplicitUpdate).getDefiningExpr().(Assignment) = result and delta = 0 - or - result.(AssignExpr).getSource() = ssaRead(v, delta) -} - -/** - * Holds if `inp` is an input to `phi` along a back edge. - */ -predicate backEdge(SsaPhiNode phi, SsaVariable inp, SsaReadPositionPhiInputEdge edge) { - edge.phiInput(phi, inp) and - // Conservatively assume that every edge is a back edge if we don't have dominance information. - ( - phi.getBasicBlock().bbDominates(edge.getOrigBlock()) or - not hasDominanceInformation(edge.getOrigBlock()) - ) -} - -/** - * Holds if `guard` directly controls the position `controlled` with the - * value `testIsTrue`. - */ -predicate guardDirectlyControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { - guard.directlyControls(controlled.(SsaReadPositionBlock).getBlock(), testIsTrue) - or - exists(SsaReadPositionPhiInputEdge controlledEdge | controlledEdge = controlled | - guard.directlyControls(controlledEdge.getOrigBlock(), testIsTrue) or - guard.hasBranchEdge(controlledEdge.getOrigBlock(), controlledEdge.getPhiBlock(), testIsTrue) - ) -} - -/** - * Holds if `guard` controls the position `controlled` with the value `testIsTrue`. - */ -predicate guardControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { - guardDirectlyControlsSsaRead(guard, controlled, testIsTrue) - or - exists(Guard guard0, boolean testIsTrue0 | - implies_v2(guard0, testIsTrue0, guard, testIsTrue) and - guardControlsSsaRead(guard0, controlled, testIsTrue0) - ) -} - /** * Gets a condition that tests whether `v` equals `e + delta`. * diff --git a/java/ql/lib/semmle/code/java/dataflow/ExternalFlowExtensions.qll b/java/ql/lib/semmle/code/java/dataflow/internal/ExternalFlowExtensions.qll similarity index 100% rename from java/ql/lib/semmle/code/java/dataflow/ExternalFlowExtensions.qll rename to java/ql/lib/semmle/code/java/dataflow/internal/ExternalFlowExtensions.qll diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/ModulusAnalysisSpecific.qll b/java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/ModulusAnalysisSpecific.qll index 7e13861c0da..35384874b0d 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/ModulusAnalysisSpecific.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/ModulusAnalysisSpecific.qll @@ -4,6 +4,7 @@ module Private { private import semmle.code.java.dataflow.RangeUtils as RU private import semmle.code.java.controlflow.Guards as G private import semmle.code.java.controlflow.BasicBlocks as BB + private import semmle.code.java.controlflow.internal.GuardsLogic as GL private import SsaReadPositionCommon class BasicBlock = BB::BasicBlock; @@ -100,9 +101,31 @@ module Private { } } - predicate guardDirectlyControlsSsaRead = RU::guardDirectlyControlsSsaRead/3; + /** + * Holds if `guard` directly controls the position `controlled` with the + * value `testIsTrue`. + */ + pragma[nomagic] + predicate guardDirectlyControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { + guard.directlyControls(controlled.(SsaReadPositionBlock).getBlock(), testIsTrue) + or + exists(SsaReadPositionPhiInputEdge controlledEdge | controlledEdge = controlled | + guard.directlyControls(controlledEdge.getOrigBlock(), testIsTrue) or + guard.hasBranchEdge(controlledEdge.getOrigBlock(), controlledEdge.getPhiBlock(), testIsTrue) + ) + } - predicate guardControlsSsaRead = RU::guardControlsSsaRead/3; + /** + * Holds if `guard` controls the position `controlled` with the value `testIsTrue`. + */ + predicate guardControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { + guardDirectlyControlsSsaRead(guard, controlled, testIsTrue) + or + exists(Guard guard0, boolean testIsTrue0 | + GL::implies_v2(guard0, testIsTrue0, guard, testIsTrue) and + guardControlsSsaRead(guard0, controlled, testIsTrue0) + ) + } predicate valueFlowStep = RU::valueFlowStep/3; diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll b/java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll index 253506347f3..bcc11e26518 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SignAnalysisSpecific.qll @@ -6,6 +6,8 @@ module Private { import semmle.code.java.dataflow.RangeUtils as RU private import semmle.code.java.dataflow.SSA as Ssa private import semmle.code.java.controlflow.Guards as G + private import SsaReadPositionCommon + private import semmle.code.java.controlflow.internal.GuardsLogic as GL private import Sign import Impl @@ -168,7 +170,33 @@ module Private { predicate ssaRead = RU::ssaRead/2; - predicate guardControlsSsaRead = RU::guardControlsSsaRead/3; + /** + * Holds if `guard` directly controls the position `controlled` with the + * value `testIsTrue`. + */ + pragma[nomagic] + private predicate guardDirectlyControlsSsaRead( + Guard guard, SsaReadPosition controlled, boolean testIsTrue + ) { + guard.directlyControls(controlled.(SsaReadPositionBlock).getBlock(), testIsTrue) + or + exists(SsaReadPositionPhiInputEdge controlledEdge | controlledEdge = controlled | + guard.directlyControls(controlledEdge.getOrigBlock(), testIsTrue) or + guard.hasBranchEdge(controlledEdge.getOrigBlock(), controlledEdge.getPhiBlock(), testIsTrue) + ) + } + + /** + * Holds if `guard` controls the position `controlled` with the value `testIsTrue`. + */ + predicate guardControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { + guardDirectlyControlsSsaRead(guard, controlled, testIsTrue) + or + exists(Guard guard0, boolean testIsTrue0 | + GL::implies_v2(guard0, testIsTrue0, guard, testIsTrue) and + guardControlsSsaRead(guard0, controlled, testIsTrue0) + ) + } } private module Impl { diff --git a/java/ql/lib/semmle/code/java/frameworks/Jms.qll b/java/ql/lib/semmle/code/java/frameworks/Jms.qll new file mode 100644 index 00000000000..653582100bd --- /dev/null +++ b/java/ql/lib/semmle/code/java/frameworks/Jms.qll @@ -0,0 +1,10 @@ +/** Provides definitions for working with the JMS library. */ + +import java + +/** The method `ObjectMessage.getObject`. */ +class ObjectMessageGetObjectMethod extends Method { + ObjectMessageGetObjectMethod() { + this.hasQualifiedName(["javax", "jakarta"] + ".jms", "ObjectMessage", "getObject") + } +} diff --git a/java/ql/lib/semmle/code/java/security/UnsafeDeserializationQuery.qll b/java/ql/lib/semmle/code/java/security/UnsafeDeserializationQuery.qll index 1760ed259b0..272c483f7a2 100644 --- a/java/ql/lib/semmle/code/java/security/UnsafeDeserializationQuery.qll +++ b/java/ql/lib/semmle/code/java/security/UnsafeDeserializationQuery.qll @@ -4,6 +4,7 @@ import semmle.code.java.dataflow.FlowSources private import semmle.code.java.dataflow.TaintTracking2 +private import semmle.code.java.dispatch.VirtualDispatch private import semmle.code.java.frameworks.Kryo private import semmle.code.java.frameworks.XStream private import semmle.code.java.frameworks.SnakeYaml @@ -15,6 +16,7 @@ private import semmle.code.java.frameworks.HessianBurlap private import semmle.code.java.frameworks.Castor private import semmle.code.java.frameworks.Jackson private import semmle.code.java.frameworks.Jabsorb +private import semmle.code.java.frameworks.Jms private import semmle.code.java.frameworks.JoddJson private import semmle.code.java.frameworks.Flexjson private import semmle.code.java.frameworks.google.Gson @@ -224,6 +226,11 @@ predicate unsafeDeserialization(MethodCall ma, Expr sink) { m instanceof GsonDeserializeMethod and sink = ma.getArgument(0) and UnsafeTypeFlow::flowToExpr(ma.getArgument(1)) + or + m.getASourceOverriddenMethod*() instanceof ObjectMessageGetObjectMethod and + sink = ma.getQualifier().getUnderlyingExpr() and + // If we can see an implementation, we trust dataflow to find a path to the other sinks instead + not exists(viableCallable(ma)) ) } diff --git a/java/ql/lib/semmle/code/java/security/regexp/ExponentialBackTracking.qll b/java/ql/lib/semmle/code/java/security/regexp/ExponentialBackTracking.qll index d0a08dc88bf..0a948ff6d98 100644 --- a/java/ql/lib/semmle/code/java/security/regexp/ExponentialBackTracking.qll +++ b/java/ql/lib/semmle/code/java/security/regexp/ExponentialBackTracking.qll @@ -3,7 +3,7 @@ * * James Kirrage, Asiri Rathnayake, Hayo Thielecke: Static Analysis for * Regular Expression Denial-of-Service Attacks. NSS 2013. - * (http://www.cs.bham.ac.uk/~hxt/research/reg-exp-sec.pdf) + * (https://arxiv.org/abs/1301.0849) * Asiri Rathnayake, Hayo Thielecke: Static Analysis for Regular Expression * Exponential Runtime via Substructural Logics. 2014. * (https://www.cs.bham.ac.uk/~hxt/research/redos_full.pdf) diff --git a/java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.qhelp b/java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.qhelp index 6806527e442..087a873dfc7 100644 --- a/java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.qhelp +++ b/java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.qhelp @@ -15,7 +15,7 @@ may have unforeseen effects, such as the execution of arbitrary code.

There are many different serialization frameworks. This query currently supports Kryo, XmlDecoder, XStream, SnakeYaml, JYaml, JsonIO, YAMLBeans, HessianBurlap, Castor, Burlap, -Jackson, Jabsorb, Jodd JSON, Flexjson, Gson and Java IO serialization through +Jackson, Jabsorb, Jodd JSON, Flexjson, Gson, JMS, and Java IO serialization through ObjectInputStream/ObjectOutputStream.

@@ -74,6 +74,12 @@ Recommendations specific to particular frameworks supported by this query:
  • Recommendation: Do not use with untrusted user input.
  • +

    ObjectMesssage - Java EE/Jakarta EE

    +
      +
    • Secure by Default: Depends on the JMS implementation.
    • +
    • Recommendation: Do not use with untrusted user input.
    • +
    +

    @@ -158,6 +164,10 @@ RCE in Flexjson: Android Intent deserialization vulnerabilities with GSON parser: Insecure use of JSON parsers. +
  • +Research by Matthias Kaiser: +Pwning Your Java Messaging With Deserialization Vulnerabilities. +
  • diff --git a/java/ql/src/Security/CWE/CWE-730/ReDoSReferences.inc.qhelp b/java/ql/src/Security/CWE/CWE-730/ReDoSReferences.inc.qhelp index 2b3e5f17c62..7aec3aa0bf0 100644 --- a/java/ql/src/Security/CWE/CWE-730/ReDoSReferences.inc.qhelp +++ b/java/ql/src/Security/CWE/CWE-730/ReDoSReferences.inc.qhelp @@ -10,7 +10,7 @@
  • Wikipedia: ReDoS.
  • Wikipedia: Time complexity.
  • James Kirrage, Asiri Rathnayake, Hayo Thielecke: - Static Analysis for Regular Expression Denial-of-Service Attack. + Static Analysis for Regular Expression Denial-of-Service Attack.
  • diff --git a/java/ql/src/change-notes/2023-10-26-jms-unsafe-deserialization.md b/java/ql/src/change-notes/2023-10-26-jms-unsafe-deserialization.md new file mode 100644 index 00000000000..9ea3fbd866b --- /dev/null +++ b/java/ql/src/change-notes/2023-10-26-jms-unsafe-deserialization.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The query `java/unsafe-deserialization` has been improved to detect insecure calls to `ObjectMessage.getObject` in JMS. diff --git a/java/ql/test/query-tests/security/CWE-502/ObjectMessageTest.java b/java/ql/test/query-tests/security/CWE-502/ObjectMessageTest.java new file mode 100644 index 00000000000..15da41b93c8 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-502/ObjectMessageTest.java @@ -0,0 +1,9 @@ +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.ObjectMessage; + +public class ObjectMessageTest implements MessageListener { + public void onMessage(Message message) { + ((ObjectMessage) message).getObject(); // $ unsafeDeserialization + } +} diff --git a/java/ql/test/query-tests/security/CWE-502/options b/java/ql/test/query-tests/security/CWE-502/options index 47e25fe74fb..f15c0b92538 100644 --- a/java/ql/test/query-tests/security/CWE-502/options +++ b/java/ql/test/query-tests/security/CWE-502/options @@ -1 +1 @@ -//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/snakeyaml-1.21:${testdir}/../../../stubs/xstream-1.4.10:${testdir}/../../../stubs/kryo-4.0.2:${testdir}/../../../stubs/jsr311-api-1.1.1:${testdir}/../../../stubs/fastjson-1.2.74:${testdir}/../../../stubs/springframework-5.3.8:${testdir}/../../../stubs/servlet-api-2.4:${testdir}/../../../stubs/jyaml-1.3:${testdir}/../../../stubs/json-io-4.10.0:${testdir}/../../../stubs/yamlbeans-1.09:${testdir}/../../../stubs/hessian-4.0.38:${testdir}/../../../stubs/castor-1.4.1:${testdir}/../../../stubs/jackson-databind-2.12:${testdir}/../../../stubs/jackson-core-2.12:${testdir}/../../../stubs/jabsorb-1.3.2:${testdir}/../../../stubs/json-java-20210307:${testdir}/../../../stubs/joddjson-6.0.3:${testdir}/../../../stubs/flexjson-2.1:${testdir}/../../../stubs/gson-2.8.6:${testdir}/../../../stubs/google-android-9.0.0:${testdir}/../../../stubs/serialkiller-4.0.0 +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/snakeyaml-1.21:${testdir}/../../../stubs/xstream-1.4.10:${testdir}/../../../stubs/kryo-4.0.2:${testdir}/../../../stubs/jsr311-api-1.1.1:${testdir}/../../../stubs/fastjson-1.2.74:${testdir}/../../../stubs/springframework-5.3.8:${testdir}/../../../stubs/servlet-api-2.4:${testdir}/../../../stubs/jyaml-1.3:${testdir}/../../../stubs/json-io-4.10.0:${testdir}/../../../stubs/yamlbeans-1.09:${testdir}/../../../stubs/hessian-4.0.38:${testdir}/../../../stubs/castor-1.4.1:${testdir}/../../../stubs/jackson-databind-2.12:${testdir}/../../../stubs/jackson-core-2.12:${testdir}/../../../stubs/jabsorb-1.3.2:${testdir}/../../../stubs/json-java-20210307:${testdir}/../../../stubs/joddjson-6.0.3:${testdir}/../../../stubs/flexjson-2.1:${testdir}/../../../stubs/gson-2.8.6:${testdir}/../../../stubs/google-android-9.0.0:${testdir}/../../../stubs/serialkiller-4.0.0:${testdir}/../../../stubs/jms-api-1 diff --git a/javascript/BUILD.bazel b/javascript/BUILD.bazel index 7ba94d09634..ce1d8b5578a 100644 --- a/javascript/BUILD.bazel +++ b/javascript/BUILD.bazel @@ -1,3 +1,7 @@ +load("@//:dist.bzl", "dist") +load("@rules_pkg//pkg:mappings.bzl", "pkg_files") +load("@//buildutils-internal:zipmerge.bzl", "zipmerge") + package(default_visibility = ["//visibility:public"]) alias( @@ -9,3 +13,36 @@ alias( name = "dbscheme-stats", actual = "//javascript/ql/lib:dbscheme-stats", ) + +pkg_files( + name = "dbscheme-group", + srcs = [ + ":dbscheme", + ":dbscheme-stats", + ], + strip_prefix = None, +) + +dist( + name = "javascript-extractor-pack", + srcs = [ + ":dbscheme-group", + "//javascript/downgrades", + "//javascript/externs", + "//javascript/extractor:tools-extractor", + "@//language-packs/javascript:resources", + ], + prefix = "javascript", +) + +# We have to zipmerge in the typescript parser wrapper, as it's generated by a genrule +# and we don't know a list of its output files. Therefore, we sidestep the +# rules_pkg tooling here, and generate the zip for the language pack manually. +zipmerge( + name = "javascript", + srcs = [ + ":javascript-extractor-pack.zip", + "//javascript/extractor/lib/typescript", + ], + out = "javascript.zip", +) diff --git a/javascript/downgrades/BUILD.bazel b/javascript/downgrades/BUILD.bazel new file mode 100644 index 00000000000..3e3d9a17d94 --- /dev/null +++ b/javascript/downgrades/BUILD.bazel @@ -0,0 +1,11 @@ +load("@//:dist.bzl", "pack_zip") + +pack_zip( + name = "downgrades", + srcs = glob( + ["**/*"], + exclude = ["BUILD.bazel"], + ), + prefix = "downgrades", + visibility = ["//visibility:public"], +) diff --git a/javascript/externs/BUILD.bazel b/javascript/externs/BUILD.bazel new file mode 100644 index 00000000000..882f90e8d29 --- /dev/null +++ b/javascript/externs/BUILD.bazel @@ -0,0 +1,11 @@ +load("@//:dist.bzl", "pack_zip") + +pack_zip( + name = "externs", + srcs = glob( + ["**/*"], + exclude = ["BUILD.bazel"], + ), + prefix = "tools/data/externs", + visibility = ["//visibility:public"], +) diff --git a/javascript/extractor/BUILD.bazel b/javascript/extractor/BUILD.bazel index 8ad3664e872..96a1288da20 100644 --- a/javascript/extractor/BUILD.bazel +++ b/javascript/extractor/BUILD.bazel @@ -1,18 +1,63 @@ -load("@//:common.bzl", "codeql_java_project") +load("@//:common.bzl", "codeql_fat_jar", "codeql_java_project") +load("@rules_pkg//pkg:mappings.bzl", "pkg_files") -codeql_java_project( - name = "extractor", - deps = [ - "@//extractor", +java_library( + name = "deps", + visibility = [":__subpackages__"], + exports = [ + "@//extractor:html", + "@//extractor:yaml", "@//resources/lib/java:commons-compress", "@//resources/lib/java:gson", "@//resources/lib/java:jericho-html", "@//resources/lib/java:slf4j-api", "@//resources/lib/java:snakeyaml", - "@//resources/lib/java/DO_NOT_DISTRIBUTE:junit", "@//third_party:jackson", "@//third_party:logback", "@//util-java7", "@//util-java8", ], ) + +codeql_java_project( + name = "extractor", + deps = [ + ":deps", + ], +) + +pkg_files( + name = "javascript-extractor-resources", + srcs = glob(["resources/**"]), + strip_prefix = "resources", +) + +codeql_fat_jar( + name = "extractor-javascript", + srcs = [ + ":extractor", + "@//extractor:html", + "@//extractor:xml-trap-writer", + "@//extractor:yaml", + "@//resources/lib/java:commons-compress", + "@//resources/lib/java:gson", + "@//resources/lib/java:jericho-html", + "@//resources/lib/java:slf4j-api", + "@//resources/lib/java:snakeyaml", + "@//third_party:jackson", + "@//third_party:logback", + "@//util-java7", + "@//util-java8", + ], + files = [":javascript-extractor-resources"], + main_class = "com.semmle.js.extractor.Main", +) + +pkg_files( + name = "tools-extractor", + srcs = [ + ":extractor-javascript", + ], + prefix = "tools", + visibility = ["//visibility:public"], +) diff --git a/javascript/extractor/lib/typescript/BUILD.bazel b/javascript/extractor/lib/typescript/BUILD.bazel new file mode 100644 index 00000000000..f1676ac9e93 --- /dev/null +++ b/javascript/extractor/lib/typescript/BUILD.bazel @@ -0,0 +1,55 @@ +load("@//:common.bzl", "on_windows") + +# Builds a zip file of the compiled typscript-parser-wrapper and its dependencies. +genrule( + name = "typescript", + srcs = [ + "tsconfig.json", + "package.json", + "package-lock.json", + ] + glob(["src/**"]), + outs = ["javascript.zip"], + cmd = "\n".join([ + # the original working directory is not preserved anywhere, but needs to be accessible, as + # all paths are relative to this + # unfortunately, we need to change the working directory to run npm. + "export BAZEL_ROOT=$$(pwd)", + # we need a temp dir, and unfortunately, $TMPDIR is not set on Windows + "export TEMP=$$(mktemp -d)", + # Add node to the path so that npm run can find it - it's calling env node + "export PATH=$$PATH:$$BAZEL_ROOT/$$(dirname $(execpath @nodejs//:node_bin))", + "export NPM=$$BAZEL_ROOT/$(execpath @nodejs//:npm_bin)", + # npm has a global cache which doesn't work on macos, where absolute paths aren't filtered out by the sandbox. + # Therefore, set a temporary cache directory. + "export NPM_CONFIG_USERCONFIG=$$TEMP/npmrc", + "$$NPM config set cache $$TEMP/npm", + "$$NPM config set update-notifier false", + "rm -rf $(RULEDIR)/inputs", + "cp -L -R $$(dirname $(execpath package.json)) $(RULEDIR)/inputs", + "cd $(RULEDIR)/inputs", + "$$NPM install", + "$$NPM run build", + "rm -rf node_modules", + # Install again with only runtime deps + "$$NPM install --prod", + "mv node_modules build/", + "mkdir -p javascript/tools/typescript-parser-wrapper", + "mv build/* javascript/tools/typescript-parser-wrapper", + "", + ]) + on_windows( + " && ".join([ + "$$BAZEL_ROOT/$(execpath @bazel_tools//tools/zip:zipper) cC $$(cygpath -w $$BAZEL_ROOT/$@) $$(find javascript -name '*' -print)", + "rm -rf $$TEMP", + ]), + " && ".join([ + "$$BAZEL_ROOT/$(execpath @bazel_tools//tools/zip:zipper) cC $$BAZEL_ROOT/$@ $$(find javascript -name '*' -print)", + "rm -rf $$TEMP", + ]), + ), + tools = [ + "@bazel_tools//tools/zip:zipper", + "@nodejs//:node_bin", + "@nodejs//:npm_bin", + ], + visibility = ["//visibility:public"], +) diff --git a/javascript/extractor/lib/typescript/yarn.lock b/javascript/extractor/lib/typescript/yarn.lock deleted file mode 100644 index d72f714a4fb..00000000000 --- a/javascript/extractor/lib/typescript/yarn.lock +++ /dev/null @@ -1,13 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@types/node@18.15.3": - version "18.15.3" - resolved "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz" - integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== - -typescript@5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== diff --git a/javascript/extractor/lib/typescript/yarnrc-build b/javascript/extractor/lib/typescript/yarnrc-build deleted file mode 100644 index e9b20e22b8a..00000000000 --- a/javascript/extractor/lib/typescript/yarnrc-build +++ /dev/null @@ -1 +0,0 @@ -yarn-offline-mirror "./yarn-mirror" diff --git a/javascript/extractor/parser-tests/BUILD.bazel b/javascript/extractor/parser-tests/BUILD.bazel new file mode 100644 index 00000000000..b3a59d98eae --- /dev/null +++ b/javascript/extractor/parser-tests/BUILD.bazel @@ -0,0 +1,5 @@ +filegroup( + name = "parser-tests", + srcs = glob(["**/*"]), + visibility = ["//visibility:public"], +) diff --git a/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java b/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java index 398f7e6de68..df2838a427f 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java +++ b/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java @@ -892,10 +892,15 @@ protected DependencyInstallationResult preparePackagesAndDependencies(Set // For named packages, find the main file. String name = packageJson.getName(); if (name != null) { - Path entryPoint = guessPackageMainFile(path, packageJson, FileType.TYPESCRIPT.getExtensions()); - if (entryPoint == null) { - // Try a TypeScript-recognized JS extension instead - entryPoint = guessPackageMainFile(path, packageJson, Arrays.asList(".js", ".jsx")); + Path entryPoint = null; + try { + entryPoint = guessPackageMainFile(path, packageJson, FileType.TYPESCRIPT.getExtensions()); + if (entryPoint == null) { + // Try a TypeScript-recognized JS extension instead + entryPoint = guessPackageMainFile(path, packageJson, Arrays.asList(".js", ".jsx")); + } + } catch (InvalidPathException ignore) { + // can happen if the `main:` field is invalid. E.g. on Windows a path like `dist/*.js` will crash. } if (entryPoint != null) { System.out.println(relativePath + ": Main file set to " + sourceRoot.relativize(entryPoint)); diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/ASTMatchingTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/ASTMatchingTests.java similarity index 95% rename from javascript/extractor/src/com/semmle/js/extractor/test/ASTMatchingTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/ASTMatchingTests.java index f46c604d17e..b1a29580047 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/test/ASTMatchingTests.java +++ b/javascript/extractor/test/com/semmle/js/extractor/test/ASTMatchingTests.java @@ -12,6 +12,7 @@ import com.semmle.jcorn.SyntaxError; import com.semmle.js.ast.AST2JSON; import com.semmle.js.ast.Program; import com.semmle.util.io.WholeIO; +import com.semmle.util.tests.TestPaths; import java.io.File; import java.util.Iterator; import java.util.Map.Entry; @@ -54,7 +55,7 @@ public abstract class ASTMatchingTests { } } - private static final File BABYLON_BASE = new File("parser-tests/babylon").getAbsoluteFile(); + private static final File BABYLON_BASE = TestPaths.get("parser-tests/babylon").toAbsolutePath().toFile(); protected void babylonTest(String dir) { babylonTest(dir, new Options().esnext(true)); diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/AllTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/AllTests.java similarity index 100% rename from javascript/extractor/src/com/semmle/js/extractor/test/AllTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/AllTests.java diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/AutoBuildTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/AutoBuildTests.java similarity index 98% rename from javascript/extractor/src/com/semmle/js/extractor/test/AutoBuildTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/AutoBuildTests.java index 7c60a05d33f..46285275fb1 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/test/AutoBuildTests.java +++ b/javascript/extractor/test/com/semmle/js/extractor/test/AutoBuildTests.java @@ -30,6 +30,7 @@ import com.semmle.js.extractor.FileExtractor; import com.semmle.js.extractor.FileExtractor.FileType; import com.semmle.js.extractor.VirtualSourceRoot; import com.semmle.util.data.StringUtil; +import com.semmle.util.exception.Exceptions; import com.semmle.util.exception.UserError; import com.semmle.util.files.FileUtil; import com.semmle.util.files.FileUtil8; @@ -443,8 +444,12 @@ public class AutoBuildTests { /** Hide {@code p} on using {@link DosFileAttributeView} if available; otherwise do nothing. */ private void hide(Path p) throws IOException { + try { DosFileAttributeView attrs = Files.getFileAttributeView(p, DosFileAttributeView.class); if (attrs != null) attrs.setHidden(true); + } catch (IOException e) { + Exceptions.ignore(e, "On Linux within the bazel sandbox, we get a DosFileAttributeView that then throws an exception upon use"); + } } @Test diff --git a/javascript/extractor/test/com/semmle/js/extractor/test/BUILD.bazel b/javascript/extractor/test/com/semmle/js/extractor/test/BUILD.bazel new file mode 100644 index 00000000000..57305838039 --- /dev/null +++ b/javascript/extractor/test/com/semmle/js/extractor/test/BUILD.bazel @@ -0,0 +1,33 @@ +java_test( + name = "test_jar", + srcs = glob(["**/*.java"]), + test_class = "com.semmle.js.extractor.test.AllTests", + deps = [ + "//javascript/extractor", + "//javascript/extractor:deps", + "@//resources/lib/java/DO_NOT_DISTRIBUTE:junit", + ], +) + +# We need to unzip the typescript wrapper, and provide node on the path. +# Therefore, we're wrapping the java_test inside a sh_test. +sh_test( + name = "test", + size = "small", + srcs = ["run_tests.sh"], + args = [ + "$(execpath @nodejs//:node_bin)", + "$(JAVABASE)/bin/java", + "$(rootpath //javascript/extractor/lib/typescript)", + "$(rootpath test_jar_deploy.jar)", + ], + data = [ + ":test_jar_deploy.jar", + "//javascript/extractor/lib/typescript", + "//javascript/extractor/parser-tests", + "//javascript/extractor/tests", + "@bazel_tools//tools/jdk:current_java_runtime", + "@nodejs//:node_bin", + ], + toolchains = ["@bazel_tools//tools/jdk:current_java_runtime"], +) diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/ClassPropertiesTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/ClassPropertiesTests.java similarity index 100% rename from javascript/extractor/src/com/semmle/js/extractor/test/ClassPropertiesTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/ClassPropertiesTests.java diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/DecoratorTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/DecoratorTests.java similarity index 100% rename from javascript/extractor/src/com/semmle/js/extractor/test/DecoratorTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/DecoratorTests.java diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/ExportExtensionsTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/ExportExtensionsTests.java similarity index 100% rename from javascript/extractor/src/com/semmle/js/extractor/test/ExportExtensionsTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/ExportExtensionsTests.java diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/FunctionSentTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/FunctionSentTests.java similarity index 100% rename from javascript/extractor/src/com/semmle/js/extractor/test/FunctionSentTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/FunctionSentTests.java diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/JSXTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/JSXTests.java similarity index 95% rename from javascript/extractor/src/com/semmle/js/extractor/test/JSXTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/JSXTests.java index 65c660d05b1..b3b7a13fbf1 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/test/JSXTests.java +++ b/javascript/extractor/test/com/semmle/js/extractor/test/JSXTests.java @@ -10,6 +10,7 @@ import com.semmle.js.ast.AST2JSON; import com.semmle.js.ast.Program; import com.semmle.util.files.FileUtil; import com.semmle.util.io.WholeIO; +import com.semmle.util.tests.TestPaths; import java.io.File; import java.util.ArrayList; import java.util.List; @@ -25,7 +26,7 @@ import org.junit.runners.Parameterized.Parameters; */ @RunWith(Parameterized.class) public class JSXTests extends ASTMatchingTests { - private static final File BASE = new File("parser-tests/jcorn-jsx").getAbsoluteFile(); + private static final File BASE = TestPaths.get("parser-tests/jcorn-jsx").toAbsolutePath().toFile(); @Parameters(name = "{0}") public static Iterable tests() { diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/NodeJSDetectorTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/NodeJSDetectorTests.java similarity index 100% rename from javascript/extractor/src/com/semmle/js/extractor/test/NodeJSDetectorTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/NodeJSDetectorTests.java diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/NumericSeparatorTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/NumericSeparatorTests.java similarity index 100% rename from javascript/extractor/src/com/semmle/js/extractor/test/NumericSeparatorTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/NumericSeparatorTests.java diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/ObjectRestSpreadTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/ObjectRestSpreadTests.java similarity index 100% rename from javascript/extractor/src/com/semmle/js/extractor/test/ObjectRestSpreadTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/ObjectRestSpreadTests.java diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/RobustnessTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/RobustnessTests.java similarity index 77% rename from javascript/extractor/src/com/semmle/js/extractor/test/RobustnessTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/RobustnessTests.java index 3bf164af06f..1bc64fc8ffa 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/test/RobustnessTests.java +++ b/javascript/extractor/test/com/semmle/js/extractor/test/RobustnessTests.java @@ -3,6 +3,7 @@ package com.semmle.js.extractor.test; import com.semmle.jcorn.Options; import com.semmle.jcorn.Parser; import com.semmle.util.io.WholeIO; +import com.semmle.util.tests.TestPaths; import java.io.File; import java.nio.charset.StandardCharsets; import org.junit.Test; @@ -11,7 +12,7 @@ public class RobustnessTests { @Test public void letLookheadTest() { - File test = new File("parser-tests/robustness/letLookahead.js"); + File test = TestPaths.get("parser-tests/robustness/letLookahead.js").toFile(); String src = new WholeIO(StandardCharsets.UTF_8.name()).strictread(test); new Parser(new Options(), src, 0).parse(); } diff --git a/javascript/extractor/src/com/semmle/js/extractor/test/TrapTests.java b/javascript/extractor/test/com/semmle/js/extractor/test/TrapTests.java similarity index 98% rename from javascript/extractor/src/com/semmle/js/extractor/test/TrapTests.java rename to javascript/extractor/test/com/semmle/js/extractor/test/TrapTests.java index ae3a28cbc35..5991ac6669a 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/test/TrapTests.java +++ b/javascript/extractor/test/com/semmle/js/extractor/test/TrapTests.java @@ -13,6 +13,7 @@ import com.semmle.util.extraction.ExtractorOutputConfig; import com.semmle.util.io.WholeIO; import com.semmle.util.process.Env; import com.semmle.util.srcarchive.DummySourceArchive; +import com.semmle.util.tests.TestPaths; import com.semmle.util.trap.ITrapWriterFactory; import com.semmle.util.trap.TrapWriter; import com.semmle.util.trap.pathtransformers.ProjectLayoutTransformer; @@ -35,7 +36,7 @@ import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class TrapTests { - private static final File BASE = new File("tests").getAbsoluteFile(); + private static final File BASE = TestPaths.get("tests").toAbsolutePath().toFile(); @Parameters(name = "{0}:{1}") public static Iterable tests() { diff --git a/javascript/extractor/test/com/semmle/js/extractor/test/run_tests.sh b/javascript/extractor/test/com/semmle/js/extractor/test/run_tests.sh new file mode 100755 index 00000000000..bf208739222 --- /dev/null +++ b/javascript/extractor/test/com/semmle/js/extractor/test/run_tests.sh @@ -0,0 +1,31 @@ +NODE=$1 +JAVA=$2 +PARSER_WRAPPER=$3 +TEST_JAR=$4 + +TEMP=$(mktemp -d) + +UNAME=$(uname -s) +echo $UNAME +# On Windows, the symlink set up by bazel that points at the test jar is a msys2/linux-style path +# The JVM can't resolve that, therefore copy the jar to the temp directory, and then set the +# windows path to it +if [[ "$UNAME" =~ _NT ]]; then + cp $TEST_JAR $TEMP/test.jar + TEST_JAR=$(cygpath -w $TEMP/test.jar) + echo "On Windows, new test jar: $TEST_JAR" +fi + +# unpack parser wrapper +unzip -q $PARSER_WRAPPER -d $TEMP/parser_wrapper +export SEMMLE_TYPESCRIPT_PARSER_WRAPPER=$TEMP/parser_wrapper/javascript/tools/typescript-parser-wrapper/main.js + +# setup node on path +NODE=$(realpath $NODE) +export PATH="$PATH:$(dirname $NODE)" + +$JAVA -Dbazel.test_suite=com.semmle.js.extractor.test.AllTests -jar $TEST_JAR +EXIT_CODE=$? + +rm -rf $TEMP +exit $EXIT_CODE diff --git a/javascript/extractor/tests/BUILD.bazel b/javascript/extractor/tests/BUILD.bazel new file mode 100644 index 00000000000..4f10bc680f4 --- /dev/null +++ b/javascript/extractor/tests/BUILD.bazel @@ -0,0 +1,5 @@ +filegroup( + name = "tests", + srcs = glob(["**/*"]), + visibility = ["//visibility:public"], +) diff --git a/javascript/ql/lib/semmle/javascript/frameworks/CryptoLibraries.qll b/javascript/ql/lib/semmle/javascript/frameworks/CryptoLibraries.qll index e5425b2fb88..db527c03f95 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/CryptoLibraries.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/CryptoLibraries.qll @@ -51,6 +51,7 @@ private module AsmCrypto { private class Apply extends CryptographicOperation::Range instanceof DataFlow::CallNode { DataFlow::Node input; CryptographicAlgorithm algorithm; // non-functional + DataFlow::PropRead algorithmSelection; private string algorithmName; private string methodName; @@ -68,11 +69,14 @@ private module AsmCrypto { exists(DataFlow::SourceNode asmCrypto | asmCrypto = DataFlow::globalVarRef("asmCrypto") and algorithm.matchesName(algorithmName) and - this = asmCrypto.getAPropertyRead(algorithmName).getAMemberCall(methodName) and + algorithmSelection = asmCrypto.getAPropertyRead(algorithmName) and + this = algorithmSelection.getAMemberCall(methodName) and input = this.getArgument(0) ) } + override DataFlow::Node getInitialization() { result = algorithmSelection } + override DataFlow::Node getAnInput() { result = input } override CryptographicAlgorithm getAlgorithm() { result = algorithm } @@ -103,6 +107,7 @@ private module BrowserIdCrypto { private class Apply extends CryptographicOperation::Range instanceof DataFlow::MethodCallNode { CryptographicAlgorithm algorithm; // non-functional + DataFlow::CallNode keygen; Apply() { /* @@ -122,8 +127,7 @@ private module BrowserIdCrypto { */ exists( - DataFlow::SourceNode mod, DataFlow::Node algorithmNameNode, DataFlow::CallNode keygen, - DataFlow::FunctionNode callback + DataFlow::SourceNode mod, DataFlow::Node algorithmNameNode, DataFlow::FunctionNode callback | mod = DataFlow::moduleImport("browserid-crypto") and keygen = mod.getAMemberCall("generateKeypair") and @@ -134,6 +138,8 @@ private module BrowserIdCrypto { ) } + override DataFlow::Node getInitialization() { result = keygen } + override DataFlow::Node getAnInput() { result = super.getArgument(0) } override CryptographicAlgorithm getAlgorithm() { result = algorithm } @@ -239,6 +245,8 @@ private module NodeJSCrypto { Apply() { this = instantiation.getAMethodCall(any(string m | m = "update" or m = "write")) } + override DataFlow::Node getInitialization() { result = instantiation } + override DataFlow::Node getAnInput() { result = super.getArgument(0) } override CryptographicAlgorithm getAlgorithm() { result = instantiation.getAlgorithm() } @@ -324,7 +332,9 @@ private module CryptoJS { ) } - private API::CallNode getEncryptionApplication(API::Node input, CryptographicAlgorithm algorithm) { + private API::CallNode getEncryptionApplication( + API::Node input, API::Node algorithmNode, CryptographicAlgorithm algorithm + ) { /* * ``` * var CryptoJS = require("crypto-js"); @@ -338,11 +348,14 @@ private module CryptoJS { * Also matches where `CryptoJS.` has been replaced by `require("crypto-js/")` */ - result = getAlgorithmNode(algorithm).getMember("encrypt").getACall() and + algorithmNode = getAlgorithmNode(algorithm) and + result = algorithmNode.getMember("encrypt").getACall() and input = result.getParameter(0) } - private API::CallNode getDirectApplication(API::Node input, CryptographicAlgorithm algorithm) { + private API::CallNode getDirectApplication( + API::Node input, API::Node algorithmNode, CryptographicAlgorithm algorithm + ) { /* * ``` * var CryptoJS = require("crypto-js"); @@ -357,7 +370,8 @@ private module CryptoJS { * Also matches where `CryptoJS.` has been replaced by `require("crypto-js/")` */ - result = getAlgorithmNode(algorithm).getACall() and + algorithmNode = getAlgorithmNode(algorithm) and + result = algorithmNode.getACall() and input = result.getParameter(0) } @@ -389,18 +403,23 @@ private module CryptoJS { private class Apply extends CryptographicOperation::Range instanceof API::CallNode { API::Node input; CryptographicAlgorithm algorithm; // non-functional + DataFlow::Node instantiation; Apply() { - this = getEncryptionApplication(input, algorithm) - or - this = getDirectApplication(input, algorithm) - or - exists(InstantiatedAlgorithm instantiation | - this = getUpdatedApplication(input, instantiation) and - algorithm = instantiation.getAlgorithm() + exists(API::Node algorithmNode | + this = getEncryptionApplication(input, algorithmNode, algorithm) + or + this = getDirectApplication(input, algorithmNode, algorithm) + | + instantiation = algorithmNode.asSource() ) + or + this = getUpdatedApplication(input, instantiation) and + algorithm = instantiation.(InstantiatedAlgorithm).getAlgorithm() } + override DataFlow::Node getInitialization() { result = instantiation } + override DataFlow::Node getAnInput() { result = input.asSink() } override CryptographicAlgorithm getAlgorithm() { result = algorithm } @@ -504,6 +523,8 @@ private module TweetNaCl { ) } + override DataFlow::Node getInitialization() { result = this } + override DataFlow::Node getAnInput() { result = input } override CryptographicAlgorithm getAlgorithm() { result = algorithm } @@ -539,6 +560,7 @@ private module HashJs { private class Apply extends CryptographicOperation::Range instanceof DataFlow::CallNode { DataFlow::Node input; CryptographicAlgorithm algorithm; // non-functional + DataFlow::CallNode init; Apply() { /* @@ -554,10 +576,13 @@ private module HashJs { * Also matches where `hash.()` has been replaced by a more specific require a la `require("hash.js/lib/hash/sha/512")` */ - this = getAlgorithmNode(algorithm).getAMemberCall("update") and + init = getAlgorithmNode(algorithm) and + this = init.getAMemberCall("update") and input = super.getArgument(0) } + override DataFlow::Node getInitialization() { result = init } + override DataFlow::Node getAnInput() { result = input } override CryptographicAlgorithm getAlgorithm() { result = algorithm } @@ -653,6 +678,8 @@ private module Forge { algorithm = cipher.getAlgorithm() } + override DataFlow::Node getInitialization() { result = cipher } + override DataFlow::Node getAnInput() { result = input } override CryptographicAlgorithm getAlgorithm() { result = algorithm } @@ -715,6 +742,8 @@ private module Md5 { super.getArgument(0) = input } + override DataFlow::Node getInitialization() { result = this } + override DataFlow::Node getAnInput() { result = input } override CryptographicAlgorithm getAlgorithm() { result = algorithm } @@ -731,17 +760,18 @@ private module Bcrypt { private class Apply extends CryptographicOperation::Range instanceof DataFlow::CallNode { DataFlow::Node input; CryptographicAlgorithm algorithm; + API::Node init; Apply() { // `require("bcrypt").hash(password);` with minor naming variations algorithm.matchesName("BCRYPT") and - this = - API::moduleImport(["bcrypt", "bcryptjs", "bcrypt-nodejs"]) - .getMember(["hash", "hashSync"]) - .getACall() and + init = API::moduleImport(["bcrypt", "bcryptjs", "bcrypt-nodejs"]) and + this = init.getMember(["hash", "hashSync"]).getACall() and super.getArgument(0) = input } + override DataFlow::Node getInitialization() { result = init.asSource() } + override DataFlow::Node getAnInput() { result = input } override CryptographicAlgorithm getAlgorithm() { result = algorithm } @@ -769,6 +799,8 @@ private module Hasha { ) } + override DataFlow::Node getInitialization() { result = this } + override DataFlow::Node getAnInput() { result = input } override CryptographicAlgorithm getAlgorithm() { result = algorithm } diff --git a/javascript/ql/lib/semmle/javascript/internal/ConceptsShared.qll b/javascript/ql/lib/semmle/javascript/internal/ConceptsShared.qll index e86b156e204..135f830e47d 100644 --- a/javascript/ql/lib/semmle/javascript/internal/ConceptsShared.qll +++ b/javascript/ql/lib/semmle/javascript/internal/ConceptsShared.qll @@ -40,6 +40,9 @@ module Cryptography { /** Gets the algorithm used, if it matches a known `CryptographicAlgorithm`. */ CryptographicAlgorithm getAlgorithm() { result = super.getAlgorithm() } + /** Gets the data-flow node where the cryptographic algorithm used in this operation is configured. */ + DataFlow::Node getInitialization() { result = super.getInitialization() } + /** Gets an input the algorithm is used on, for example the plain text input to be encrypted. */ DataFlow::Node getAnInput() { result = super.getAnInput() } @@ -65,6 +68,9 @@ module Cryptography { * extend `CryptographicOperation` instead. */ abstract class Range extends DataFlow::Node { + /** Gets the data-flow node where the cryptographic algorithm used in this operation is configured. */ + abstract DataFlow::Node getInitialization(); + /** Gets the algorithm used, if it matches a known `CryptographicAlgorithm`. */ abstract CryptographicAlgorithm getAlgorithm(); diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/BrokenCryptoAlgorithmCustomizations.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/BrokenCryptoAlgorithmCustomizations.qll index 38d048da84e..e0db75ab52c 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/BrokenCryptoAlgorithmCustomizations.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/BrokenCryptoAlgorithmCustomizations.qll @@ -19,7 +19,10 @@ module BrokenCryptoAlgorithm { /** * A data flow sink for sensitive information in broken or weak cryptographic algorithms. */ - abstract class Sink extends DataFlow::Node { } + abstract class Sink extends DataFlow::Node { + /** Gets the data-flow node where the cryptographic algorithm used in this operation is configured. */ + abstract DataFlow::Node getInitialization(); + } /** * A sanitizer for sensitive information in broken or weak cryptographic algorithms. @@ -38,15 +41,17 @@ module BrokenCryptoAlgorithm { * An expression used by a broken or weak cryptographic algorithm. */ class WeakCryptographicOperationSink extends Sink { + CryptographicOperation application; + WeakCryptographicOperationSink() { - exists(CryptographicOperation application | - ( - application.getAlgorithm().isWeak() - or - application.getBlockMode().isWeak() - ) and - this = application.getAnInput() - ) + ( + application.getAlgorithm().isWeak() + or + application.getBlockMode().isWeak() + ) and + this = application.getAnInput() } + + override DataFlow::Node getInitialization() { result = application.getInitialization() } } } diff --git a/javascript/ql/lib/semmle/javascript/security/regexp/ExponentialBackTracking.qll b/javascript/ql/lib/semmle/javascript/security/regexp/ExponentialBackTracking.qll index aa0cd6b3e69..f930a7d9d3d 100644 --- a/javascript/ql/lib/semmle/javascript/security/regexp/ExponentialBackTracking.qll +++ b/javascript/ql/lib/semmle/javascript/security/regexp/ExponentialBackTracking.qll @@ -3,7 +3,7 @@ * * James Kirrage, Asiri Rathnayake, Hayo Thielecke: Static Analysis for * Regular Expression Denial-of-Service Attacks. NSS 2013. - * (http://www.cs.bham.ac.uk/~hxt/research/reg-exp-sec.pdf) + * (https://arxiv.org/abs/1301.0849) * Asiri Rathnayake, Hayo Thielecke: Static Analysis for Regular Expression * Exponential Runtime via Substructural Logics. 2014. * (https://www.cs.bham.ac.uk/~hxt/research/redos_full.pdf) diff --git a/javascript/ql/src/Performance/ReDoSReferences.inc.qhelp b/javascript/ql/src/Performance/ReDoSReferences.inc.qhelp index 2b3e5f17c62..7aec3aa0bf0 100644 --- a/javascript/ql/src/Performance/ReDoSReferences.inc.qhelp +++ b/javascript/ql/src/Performance/ReDoSReferences.inc.qhelp @@ -10,7 +10,7 @@
  • Wikipedia: ReDoS.
  • Wikipedia: Time complexity.
  • James Kirrage, Asiri Rathnayake, Hayo Thielecke: - Static Analysis for Regular Expression Denial-of-Service Attack. + Static Analysis for Regular Expression Denial-of-Service Attack.
  • diff --git a/javascript/ql/src/Security/CWE-327/BrokenCryptoAlgorithm.ql b/javascript/ql/src/Security/CWE-327/BrokenCryptoAlgorithm.ql index 9826ebefe5f..a4dd7ed6372 100644 --- a/javascript/ql/src/Security/CWE-327/BrokenCryptoAlgorithm.ql +++ b/javascript/ql/src/Security/CWE-327/BrokenCryptoAlgorithm.ql @@ -16,9 +16,14 @@ import semmle.javascript.security.dataflow.BrokenCryptoAlgorithmQuery import semmle.javascript.security.SensitiveActions import DataFlow::PathGraph -from Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink +from + Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, Source sourceNode, + Sink sinkNode where cfg.hasFlowPath(source, sink) and - not source.getNode() instanceof CleartextPasswordExpr // flagged by js/insufficient-password-hash -select sink.getNode(), source, sink, "A broken or weak cryptographic algorithm depends on $@.", - source.getNode(), "sensitive data from " + source.getNode().(Source).describe() + sourceNode = source.getNode() and + sinkNode = sink.getNode() and + not sourceNode instanceof CleartextPasswordExpr // flagged by js/insufficient-password-hash +select sinkNode, source, sink, "$@ depends on $@.", sinkNode.getInitialization(), + "A broken or weak cryptographic algorithm", sourceNode, + "sensitive data from " + sourceNode.describe() diff --git a/javascript/ql/test/query-tests/Security/CWE-327/BrokenCryptoAlgorithm.expected b/javascript/ql/test/query-tests/Security/CWE-327/BrokenCryptoAlgorithm.expected index 1938b020355..3b87a7ccd9c 100644 --- a/javascript/ql/test/query-tests/Security/CWE-327/BrokenCryptoAlgorithm.expected +++ b/javascript/ql/test/query-tests/Security/CWE-327/BrokenCryptoAlgorithm.expected @@ -26,8 +26,8 @@ edges | tst.js:19:17:19:24 | password | tst.js:19:17:19:24 | password | | tst.js:22:21:22:30 | secretText | tst.js:22:21:22:30 | secretText | #select -| tst.js:11:17:11:26 | secretText | tst.js:3:18:3:24 | trusted | tst.js:11:17:11:26 | secretText | A broken or weak cryptographic algorithm depends on $@. | tst.js:3:18:3:24 | trusted | sensitive data from an access to trusted | -| tst.js:11:17:11:26 | secretText | tst.js:11:17:11:26 | secretText | tst.js:11:17:11:26 | secretText | A broken or weak cryptographic algorithm depends on $@. | tst.js:11:17:11:26 | secretText | sensitive data from an access to secretText | -| tst.js:17:17:17:25 | o.trusted | tst.js:17:17:17:25 | o.trusted | tst.js:17:17:17:25 | o.trusted | A broken or weak cryptographic algorithm depends on $@. | tst.js:17:17:17:25 | o.trusted | sensitive data from an access to trusted | -| tst.js:22:21:22:30 | secretText | tst.js:3:18:3:24 | trusted | tst.js:22:21:22:30 | secretText | A broken or weak cryptographic algorithm depends on $@. | tst.js:3:18:3:24 | trusted | sensitive data from an access to trusted | -| tst.js:22:21:22:30 | secretText | tst.js:22:21:22:30 | secretText | tst.js:22:21:22:30 | secretText | A broken or weak cryptographic algorithm depends on $@. | tst.js:22:21:22:30 | secretText | sensitive data from an access to secretText | +| tst.js:11:17:11:26 | secretText | tst.js:3:18:3:24 | trusted | tst.js:11:17:11:26 | secretText | $@ depends on $@. | tst.js:5:19:5:49 | crypto. ... ', key) | A broken or weak cryptographic algorithm | tst.js:3:18:3:24 | trusted | sensitive data from an access to trusted | +| tst.js:11:17:11:26 | secretText | tst.js:11:17:11:26 | secretText | tst.js:11:17:11:26 | secretText | $@ depends on $@. | tst.js:5:19:5:49 | crypto. ... ', key) | A broken or weak cryptographic algorithm | tst.js:11:17:11:26 | secretText | sensitive data from an access to secretText | +| tst.js:17:17:17:25 | o.trusted | tst.js:17:17:17:25 | o.trusted | tst.js:17:17:17:25 | o.trusted | $@ depends on $@. | tst.js:5:19:5:49 | crypto. ... ', key) | A broken or weak cryptographic algorithm | tst.js:17:17:17:25 | o.trusted | sensitive data from an access to trusted | +| tst.js:22:21:22:30 | secretText | tst.js:3:18:3:24 | trusted | tst.js:22:21:22:30 | secretText | $@ depends on $@. | tst.js:21:22:21:60 | crypto. ... ', key) | A broken or weak cryptographic algorithm | tst.js:3:18:3:24 | trusted | sensitive data from an access to trusted | +| tst.js:22:21:22:30 | secretText | tst.js:22:21:22:30 | secretText | tst.js:22:21:22:30 | secretText | $@ depends on $@. | tst.js:21:22:21:60 | crypto. ... ', key) | A broken or weak cryptographic algorithm | tst.js:22:21:22:30 | secretText | sensitive data from an access to secretText | diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll index 123fa862c8e..6e2a462cc5a 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll @@ -1352,7 +1352,10 @@ abstract class DataFlowCall extends TDataFlowCall { abstract ControlFlowNode getNode(); /** Gets the enclosing callable of this call. */ - abstract DataFlowCallable getEnclosingCallable(); + DataFlowCallable getEnclosingCallable() { result = getCallableScope(this.getScope()) } + + /** Gets the scope of this node, if any. */ + abstract Scope getScope(); /** Gets the location of this dataflow call. */ abstract Location getLocation(); @@ -1400,7 +1403,7 @@ class NormalCall extends ExtractedDataFlowCall, TNormalCall { override ControlFlowNode getNode() { result = call } - override DataFlowCallable getEnclosingCallable() { result.getScope() = call.getScope() } + override Scope getScope() { result = call.getScope() } override DataFlowCallable getCallable() { result.(DataFlowFunction).getScope() = target } @@ -1450,7 +1453,7 @@ class PotentialLibraryCall extends ExtractedDataFlowCall, TPotentialLibraryCall override ControlFlowNode getNode() { result = call } - override DataFlowCallable getEnclosingCallable() { result.getScope() = call.getScope() } + override Scope getScope() { result = call.getScope() } } /** @@ -1474,6 +1477,8 @@ class SummaryCall extends DataFlowCall, TSummaryCall { override DataFlowCallable getEnclosingCallable() { result.asLibraryCallable() = c } + override Scope getScope() { none() } + override DataFlowCallable getCallable() { none() } override ArgumentNode getArgument(ArgumentPosition apos) { none() } diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPrivate.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPrivate.qll index 32a2d4a27db..82464c9bda6 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPrivate.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPrivate.qll @@ -1044,3 +1044,11 @@ class ContentApprox = Unit; /** Gets an approximated value for content `c`. */ pragma[inline] ContentApprox getContentApprox(Content c) { any() } + +/** Helper for `.getEnclosingCallable`. */ +DataFlowCallable getCallableScope(Scope s) { + result.getScope() = s + or + not exists(DataFlowCallable c | c.getScope() = s) and + result = getCallableScope(s.getEnclosingScope()) +} diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll index 0456278bc66..e204d0db063 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll @@ -117,14 +117,6 @@ newtype TNode = exists(ParameterPosition ppos | ppos.isKeyword(_) | exists(callable.getParameter(ppos))) } -/** Helper for `Node::getEnclosingCallable`. */ -private DataFlowCallable getCallableScope(Scope s) { - result.getScope() = s - or - not exists(DataFlowCallable c | c.getScope() = s) and - result = getCallableScope(s.getEnclosingScope()) -} - private import semmle.python.internal.CachedStages /** diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/ImportResolution.qll b/python/ql/lib/semmle/python/dataflow/new/internal/ImportResolution.qll index d867ee7b2b3..d7a5d3c2a9d 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/ImportResolution.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/ImportResolution.qll @@ -227,7 +227,7 @@ module ImportResolution { */ pragma[inline] private Module getModuleFromName(string name) { - isPreferredModuleForName(result.getFile(), name + ["", ".__init__"]) + isPreferredModuleForName(result.getFile(), [name, name + ".__init__"]) } /** Gets the module from which attributes are imported by `i`. */ diff --git a/python/ql/lib/semmle/python/frameworks/Cryptodome.qll b/python/ql/lib/semmle/python/frameworks/Cryptodome.qll index 1adca253271..f0a309644ad 100644 --- a/python/ql/lib/semmle/python/frameworks/Cryptodome.qll +++ b/python/ql/lib/semmle/python/frameworks/Cryptodome.qll @@ -128,6 +128,8 @@ private module CryptodomeModel { this = newCall.getReturn().getMember(methodName).getACall() } + override DataFlow::Node getInitialization() { result = newCall } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.matchesName(cipherName) } override DataFlow::Node getAnInput() { @@ -181,21 +183,23 @@ private module CryptodomeModel { class CryptodomeGenericSignatureOperation extends Cryptography::CryptographicOperation::Range, DataFlow::CallCfgNode { + API::CallNode newCall; string methodName; string signatureName; CryptodomeGenericSignatureOperation() { methodName in ["sign", "verify"] and - this = + newCall = API::moduleImport(["Crypto", "Cryptodome"]) .getMember("Signature") .getMember(signatureName) .getMember("new") - .getReturn() - .getMember(methodName) - .getACall() + .getACall() and + this = newCall.getReturn().getMember(methodName).getACall() } + override DataFlow::Node getInitialization() { result = newCall } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.matchesName(signatureName) } @@ -221,19 +225,23 @@ private module CryptodomeModel { class CryptodomeGenericHashOperation extends Cryptography::CryptographicOperation::Range, DataFlow::CallCfgNode { + API::CallNode newCall; string hashName; CryptodomeGenericHashOperation() { exists(API::Node hashModule | hashModule = - API::moduleImport(["Crypto", "Cryptodome"]).getMember("Hash").getMember(hashName) + API::moduleImport(["Crypto", "Cryptodome"]).getMember("Hash").getMember(hashName) and + newCall = hashModule.getMember("new").getACall() | - this = hashModule.getMember("new").getACall() + this = newCall or - this = hashModule.getMember("new").getReturn().getMember("update").getACall() + this = newCall.getReturn().getMember("update").getACall() ) } + override DataFlow::Node getInitialization() { result = newCall } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.matchesName(hashName) } override DataFlow::Node getAnInput() { result in [this.getArg(0), this.getArgByName("data")] } diff --git a/python/ql/lib/semmle/python/frameworks/Cryptography.qll b/python/ql/lib/semmle/python/frameworks/Cryptography.qll index 07d80aad7f5..41d69d064d7 100644 --- a/python/ql/lib/semmle/python/frameworks/Cryptography.qll +++ b/python/ql/lib/semmle/python/frameworks/Cryptography.qll @@ -209,18 +209,18 @@ private module CryptographyModel { class CryptographyGenericCipherOperation extends Cryptography::CryptographicOperation::Range, DataFlow::MethodCallNode { + API::CallNode init; string algorithmName; string modeName; CryptographyGenericCipherOperation() { - this = - cipherInstance(algorithmName, modeName) - .getMember(["decryptor", "encryptor"]) - .getReturn() - .getMember(["update", "update_into"]) - .getACall() + init = + cipherInstance(algorithmName, modeName).getMember(["decryptor", "encryptor"]).getACall() and + this = init.getReturn().getMember(["update", "update_into"]).getACall() } + override DataFlow::Node getInitialization() { result = init } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.matchesName(algorithmName) } @@ -247,19 +247,17 @@ private module CryptographyModel { } /** Gets a reference to a Hash instance using algorithm with `algorithmName`. */ - private API::Node hashInstance(string algorithmName) { - exists(API::CallNode call | result = call.getReturn() | - call = - API::moduleImport("cryptography") - .getMember("hazmat") - .getMember("primitives") - .getMember("hashes") - .getMember("Hash") - .getACall() and - algorithmClassRef(algorithmName).getReturn().getAValueReachableFromSource() in [ - call.getArg(0), call.getArgByName("algorithm") - ] - ) + private API::CallNode hashInstance(string algorithmName) { + result = + API::moduleImport("cryptography") + .getMember("hazmat") + .getMember("primitives") + .getMember("hashes") + .getMember("Hash") + .getACall() and + algorithmClassRef(algorithmName).getReturn().getAValueReachableFromSource() in [ + result.getArg(0), result.getArgByName("algorithm") + ] } /** @@ -268,12 +266,16 @@ private module CryptographyModel { class CryptographyGenericHashOperation extends Cryptography::CryptographicOperation::Range, DataFlow::MethodCallNode { + API::CallNode init; string algorithmName; CryptographyGenericHashOperation() { - this = hashInstance(algorithmName).getMember("update").getACall() + init = hashInstance(algorithmName) and + this = init.getReturn().getMember("update").getACall() } + override DataFlow::Node getInitialization() { result = init } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.matchesName(algorithmName) } diff --git a/python/ql/lib/semmle/python/frameworks/Rsa.qll b/python/ql/lib/semmle/python/frameworks/Rsa.qll index 1c582eaa799..4b7142177f9 100644 --- a/python/ql/lib/semmle/python/frameworks/Rsa.qll +++ b/python/ql/lib/semmle/python/frameworks/Rsa.qll @@ -37,6 +37,8 @@ private module Rsa { class RsaEncryptCall extends Cryptography::CryptographicOperation::Range, DataFlow::CallCfgNode { RsaEncryptCall() { this = API::moduleImport("rsa").getMember("encrypt").getACall() } + override DataFlow::Node getInitialization() { result = this } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.getName() = "RSA" } override DataFlow::Node getAnInput() { @@ -54,6 +56,8 @@ private module Rsa { class RsaDecryptCall extends Cryptography::CryptographicOperation::Range, DataFlow::CallCfgNode { RsaDecryptCall() { this = API::moduleImport("rsa").getMember("decrypt").getACall() } + override DataFlow::Node getInitialization() { result = this } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.getName() = "RSA" } override DataFlow::Node getAnInput() { result in [this.getArg(0), this.getArgByName("crypto")] } @@ -69,6 +73,8 @@ private module Rsa { class RsaSignCall extends Cryptography::CryptographicOperation::Range, DataFlow::CallCfgNode { RsaSignCall() { this = API::moduleImport("rsa").getMember("sign").getACall() } + override DataFlow::Node getInitialization() { result = this } + override Cryptography::CryptographicAlgorithm getAlgorithm() { // signature part result.getName() = "RSA" @@ -96,6 +102,8 @@ private module Rsa { class RsaVerifyCall extends Cryptography::CryptographicOperation::Range, DataFlow::CallCfgNode { RsaVerifyCall() { this = API::moduleImport("rsa").getMember("verify").getACall() } + override DataFlow::Node getInitialization() { result = this } + override Cryptography::CryptographicAlgorithm getAlgorithm() { // note that technically there is also a hashing operation going on but we don't // know what algorithm is used up front, since it is encoded in the signature @@ -121,6 +129,8 @@ private module Rsa { { RsaComputeHashCall() { this = API::moduleImport("rsa").getMember("compute_hash").getACall() } + override DataFlow::Node getInitialization() { result = this } + override Cryptography::CryptographicAlgorithm getAlgorithm() { exists(StrConst str, DataFlow::Node hashNameArg | hashNameArg in [this.getArg(1), this.getArgByName("method_name")] and @@ -144,6 +154,8 @@ private module Rsa { class RsaSignHashCall extends Cryptography::CryptographicOperation::Range, DataFlow::CallCfgNode { RsaSignHashCall() { this = API::moduleImport("rsa").getMember("sign_hash").getACall() } + override DataFlow::Node getInitialization() { result = this } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.getName() = "RSA" } override DataFlow::Node getAnInput() { diff --git a/python/ql/lib/semmle/python/frameworks/Stdlib.qll b/python/ql/lib/semmle/python/frameworks/Stdlib.qll index ec79a6dfddf..2c8c8bbb6f0 100644 --- a/python/ql/lib/semmle/python/frameworks/Stdlib.qll +++ b/python/ql/lib/semmle/python/frameworks/Stdlib.qll @@ -2747,6 +2747,8 @@ private module StdlibPrivate { exists(this.getParameter(1, "data")) } + override DataFlow::Node getInitialization() { result = this } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.matchesName(hashName) } override DataFlow::Node getAnInput() { result = this.getParameter(1, "data").asSink() } @@ -2758,12 +2760,16 @@ private module StdlibPrivate { * A hashing operation by using the `update` method on the result of calling the `hashlib.new` function. */ class HashlibNewUpdateCall extends Cryptography::CryptographicOperation::Range, API::CallNode { + API::CallNode init; string hashName; HashlibNewUpdateCall() { - this = hashlibNewCall(hashName).getReturn().getMember("update").getACall() + init = hashlibNewCall(hashName) and + this = init.getReturn().getMember("update").getACall() } + override DataFlow::Node getInitialization() { result = init } + override Cryptography::CryptographicAlgorithm getAlgorithm() { result.matchesName(hashName) } override DataFlow::Node getAnInput() { result = this.getArg(0) } @@ -2802,7 +2808,14 @@ private module StdlibPrivate { * (such as `hashlib.md5`), by calling its' `update` method. */ class HashlibHashClassUpdateCall extends HashlibGenericHashOperation { - HashlibHashClassUpdateCall() { this = hashClass.getReturn().getMember("update").getACall() } + API::CallNode init; + + HashlibHashClassUpdateCall() { + init = hashClass.getACall() and + this = hashClass.getReturn().getMember("update").getACall() + } + + override DataFlow::Node getInitialization() { result = init } override DataFlow::Node getAnInput() { result = this.getArg(0) } } @@ -2819,6 +2832,8 @@ private module StdlibPrivate { exists([this.getArg(0), this.getArgByName("string")]) } + override DataFlow::Node getInitialization() { result = this } + override DataFlow::Node getAnInput() { result = this.getArg(0) or @@ -2865,6 +2880,8 @@ private module StdlibPrivate { exists(this.getParameter(1, "msg").asSink()) } + override DataFlow::Node getInitialization() { result = this } + override API::Node getDigestArg() { result = digestArg } override DataFlow::Node getAnInput() { result = this.getParameter(1, "msg").asSink() } @@ -2876,12 +2893,16 @@ private module StdlibPrivate { * See https://docs.python.org/3.11/library/hmac.html#hmac.HMAC.update */ class HmacUpdateCall extends HmacCryptographicOperation { + API::CallNode init; API::Node digestArg; HmacUpdateCall() { - this = getHmacConstructorCall(digestArg).getReturn().getMember("update").getACall() + init = getHmacConstructorCall(digestArg) and + this = init.getReturn().getMember("update").getACall() } + override DataFlow::Node getInitialization() { result = init } + override API::Node getDigestArg() { result = digestArg } override DataFlow::Node getAnInput() { result = this.getParameter(0, "msg").asSink() } @@ -2895,6 +2916,8 @@ private module StdlibPrivate { class HmacDigestCall extends HmacCryptographicOperation { HmacDigestCall() { this = API::moduleImport("hmac").getMember("digest").getACall() } + override DataFlow::Node getInitialization() { result = this } + override API::Node getDigestArg() { result = this.getParameter(2, "digest") } override DataFlow::Node getAnInput() { result = this.getParameter(1, "msg").asSink() } diff --git a/python/ql/lib/semmle/python/internal/ConceptsShared.qll b/python/ql/lib/semmle/python/internal/ConceptsShared.qll index e86b156e204..135f830e47d 100644 --- a/python/ql/lib/semmle/python/internal/ConceptsShared.qll +++ b/python/ql/lib/semmle/python/internal/ConceptsShared.qll @@ -40,6 +40,9 @@ module Cryptography { /** Gets the algorithm used, if it matches a known `CryptographicAlgorithm`. */ CryptographicAlgorithm getAlgorithm() { result = super.getAlgorithm() } + /** Gets the data-flow node where the cryptographic algorithm used in this operation is configured. */ + DataFlow::Node getInitialization() { result = super.getInitialization() } + /** Gets an input the algorithm is used on, for example the plain text input to be encrypted. */ DataFlow::Node getAnInput() { result = super.getAnInput() } @@ -65,6 +68,9 @@ module Cryptography { * extend `CryptographicOperation` instead. */ abstract class Range extends DataFlow::Node { + /** Gets the data-flow node where the cryptographic algorithm used in this operation is configured. */ + abstract DataFlow::Node getInitialization(); + /** Gets the algorithm used, if it matches a known `CryptographicAlgorithm`. */ abstract CryptographicAlgorithm getAlgorithm(); diff --git a/python/ql/lib/semmle/python/security/regexp/ExponentialBackTracking.qll b/python/ql/lib/semmle/python/security/regexp/ExponentialBackTracking.qll index f4628b883da..263bf0f5345 100644 --- a/python/ql/lib/semmle/python/security/regexp/ExponentialBackTracking.qll +++ b/python/ql/lib/semmle/python/security/regexp/ExponentialBackTracking.qll @@ -3,7 +3,7 @@ * * James Kirrage, Asiri Rathnayake, Hayo Thielecke: Static Analysis for * Regular Expression Denial-of-Service Attacks. NSS 2013. - * (http://www.cs.bham.ac.uk/~hxt/research/reg-exp-sec.pdf) + * (https://arxiv.org/abs/1301.0849) * Asiri Rathnayake, Hayo Thielecke: Static Analysis for Regular Expression * Exponential Runtime via Substructural Logics. 2014. * (https://www.cs.bham.ac.uk/~hxt/research/redos_full.pdf) diff --git a/python/ql/src/Security/CWE-327/BrokenCryptoAlgorithm.ql b/python/ql/src/Security/CWE-327/BrokenCryptoAlgorithm.ql index 9b741c3d76b..9da2124e882 100644 --- a/python/ql/src/Security/CWE-327/BrokenCryptoAlgorithm.ql +++ b/python/ql/src/Security/CWE-327/BrokenCryptoAlgorithm.ql @@ -13,18 +13,15 @@ import python import semmle.python.Concepts -from - Cryptography::CryptographicOperation operation, Cryptography::CryptographicAlgorithm algorithm, - string msgPrefix +from Cryptography::CryptographicOperation operation, string msgPrefix where - algorithm = operation.getAlgorithm() and // `Cryptography::HashingAlgorithm` and `Cryptography::PasswordHashingAlgorithm` are // handled by `py/weak-sensitive-data-hashing` - algorithm instanceof Cryptography::EncryptionAlgorithm and - ( + exists(Cryptography::EncryptionAlgorithm algorithm | algorithm = operation.getAlgorithm() | algorithm.isWeak() and - msgPrefix = "The cryptographic algorithm " + operation.getAlgorithm().getName() + msgPrefix = "The cryptographic algorithm " + algorithm.getName() ) or operation.getBlockMode().isWeak() and msgPrefix = "The block mode " + operation.getBlockMode() -select operation, msgPrefix + " is broken or weak, and should not be used." +select operation, "$@ is broken or weak, and should not be used.", operation.getInitialization(), + msgPrefix diff --git a/python/ql/src/Security/CWE-730/ReDoSReferences.inc.qhelp b/python/ql/src/Security/CWE-730/ReDoSReferences.inc.qhelp index 2b3e5f17c62..7aec3aa0bf0 100644 --- a/python/ql/src/Security/CWE-730/ReDoSReferences.inc.qhelp +++ b/python/ql/src/Security/CWE-730/ReDoSReferences.inc.qhelp @@ -10,7 +10,7 @@
  • Wikipedia: ReDoS.
  • Wikipedia: Time complexity.
  • James Kirrage, Asiri Rathnayake, Hayo Thielecke: - Static Analysis for Regular Expression Denial-of-Service Attack. + Static Analysis for Regular Expression Denial-of-Service Attack.
  • diff --git a/python/ql/test/experimental/dataflow/calls/dataflow-consistency.expected b/python/ql/test/experimental/dataflow/calls/dataflow-consistency.expected index bf226e7fe62..e4f849ac82b 100644 --- a/python/ql/test/experimental/dataflow/calls/dataflow-consistency.expected +++ b/python/ql/test/experimental/dataflow/calls/dataflow-consistency.expected @@ -1,9 +1,5 @@ uniqueEnclosingCallable uniqueCallEnclosingCallable -| new_cls_param.py:14:6:14:16 | classmethod() | Call should have one enclosing callable but has 0. | -| test.py:21:6:21:17 | staticmethod() | Call should have one enclosing callable but has 0. | -| test.py:25:6:25:16 | classmethod() | Call should have one enclosing callable but has 0. | -| test.py:29:6:29:16 | classmethod() | Call should have one enclosing callable but has 0. | uniqueType uniqueNodeLocation missingLocation diff --git a/python/ql/test/experimental/dataflow/consistency/class_scope.py b/python/ql/test/experimental/dataflow/consistency/class_scope.py new file mode 100644 index 00000000000..93a213a098b --- /dev/null +++ b/python/ql/test/experimental/dataflow/consistency/class_scope.py @@ -0,0 +1,25 @@ +# Originally we had module and functions as `DataFlowCallable``, and any call inside a +# class scope would not have a result for getEnclosingCallable. Since this was only a +# consistency error for calls, originally we added a new `DataFlowClassScope` only for +# those classes that had a call in their scope. That's why all the class definitions in +# this test do a call to the dummy function `func`. +# +# Note: this was shortsighted, since most DataFlow::Node use `getCallableScope` helper +# to define their .getEnclosingCallable(), which picks the first DataFlowCallable to +# contain the node. (so for some classes that would be DataFlowClassScope, and for some +# it would be the module/function containing the class definition) + +def func(*args, **kwargs): + print("func()") + +class Cls: + func() + class Inner: + func() + +def other_func(): + class Cls2: + func() + return Cls2 + +x = other_func() diff --git a/python/ql/test/experimental/dataflow/coverage/dataflow-consistency.expected b/python/ql/test/experimental/dataflow/coverage/dataflow-consistency.expected index cedf7388d7d..e4f849ac82b 100644 --- a/python/ql/test/experimental/dataflow/coverage/dataflow-consistency.expected +++ b/python/ql/test/experimental/dataflow/coverage/dataflow-consistency.expected @@ -1,7 +1,5 @@ uniqueEnclosingCallable uniqueCallEnclosingCallable -| datamodel.py:71:6:71:16 | classmethod() | Call should have one enclosing callable but has 0. | -| datamodel.py:76:6:76:17 | staticmethod() | Call should have one enclosing callable but has 0. | uniqueType uniqueNodeLocation missingLocation diff --git a/python/ql/test/experimental/dataflow/validTest.py b/python/ql/test/experimental/dataflow/validTest.py index d77290a51e3..5e12e7cccc7 100644 --- a/python/ql/test/experimental/dataflow/validTest.py +++ b/python/ql/test/experimental/dataflow/validTest.py @@ -84,3 +84,5 @@ if __name__ == "__main__": # The below fails when trying to import modules # check_tests_valid("module-initialization.test") # check_tests_valid("module-initialization.testOnce") + + print("\n🎉 All tests passed 🎉") diff --git a/python/ql/test/experimental/dataflow/variable-capture/dataflow-consistency.expected b/python/ql/test/experimental/dataflow/variable-capture/dataflow-consistency.expected index a2dbc3b14ae..e4f849ac82b 100644 --- a/python/ql/test/experimental/dataflow/variable-capture/dataflow-consistency.expected +++ b/python/ql/test/experimental/dataflow/variable-capture/dataflow-consistency.expected @@ -1,11 +1,5 @@ uniqueEnclosingCallable uniqueCallEnclosingCallable -| test_collections.py:39:17:39:38 | Lambda() | Call should have one enclosing callable but has 0. | -| test_collections.py:39:17:39:38 | Lambda() | Call should have one enclosing callable but has 0. | -| test_collections.py:45:19:45:24 | mod() | Call should have one enclosing callable but has 0. | -| test_collections.py:45:19:45:24 | mod() | Call should have one enclosing callable but has 0. | -| test_collections.py:52:13:52:24 | mod_local() | Call should have one enclosing callable but has 0. | -| test_collections.py:52:13:52:24 | mod_local() | Call should have one enclosing callable but has 0. | uniqueType uniqueNodeLocation missingLocation diff --git a/python/ql/test/experimental/library-tests/CallGraph/dataflow-consistency.expected b/python/ql/test/experimental/library-tests/CallGraph/dataflow-consistency.expected index cc45fe57238..e4f849ac82b 100644 --- a/python/ql/test/experimental/library-tests/CallGraph/dataflow-consistency.expected +++ b/python/ql/test/experimental/library-tests/CallGraph/dataflow-consistency.expected @@ -1,36 +1,5 @@ uniqueEnclosingCallable uniqueCallEnclosingCallable -| code/bound_method_arg.py:5:6:5:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/callable_as_argument.py:37:6:37:17 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/callable_as_argument.py:49:10:49:21 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/class_construction.py:13:6:13:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/class_properties.py:9:6:9:13 | property() | Call should have one enclosing callable but has 0. | -| code/class_properties.py:11:9:11:32 | print() | Call should have one enclosing callable but has 0. | -| code/class_properties.py:14:6:14:15 | Attribute() | Call should have one enclosing callable but has 0. | -| code/class_properties.py:19:6:19:16 | Attribute() | Call should have one enclosing callable but has 0. | -| code/class_properties.py:36:12:36:62 | property() | Call should have one enclosing callable but has 0. | -| code/class_properties.py:38:6:38:13 | property() | Call should have one enclosing callable but has 0. | -| code/class_properties.py:40:9:40:38 | print() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:10:6:10:17 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:14:6:14:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:104:6:104:17 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:108:6:108:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:112:6:112:17 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:116:6:116:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:120:6:120:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:149:6:149:17 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/class_subclass.py:153:6:153:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/class_super.py:13:6:13:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/class_super.py:28:6:28:17 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/class_super.py:36:6:36:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/class_super.py:40:6:40:16 | classmethod() | Call should have one enclosing callable but has 0. | -| code/func_defined_outside_class.py:17:18:17:41 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/func_defined_outside_class.py:18:18:18:40 | classmethod() | Call should have one enclosing callable but has 0. | -| code/func_defined_outside_class.py:38:11:38:21 | _gen() | Call should have one enclosing callable but has 0. | -| code/func_defined_outside_class.py:39:11:39:21 | _gen() | Call should have one enclosing callable but has 0. | -| code/nested_class.py:3:10:3:21 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/nested_class.py:7:10:7:21 | staticmethod() | Call should have one enclosing callable but has 0. | -| code/self_passing.py:60:6:60:16 | classmethod() | Call should have one enclosing callable but has 0. | uniqueType uniqueNodeLocation missingLocation diff --git a/python/ql/test/library-tests/ApiGraphs/py3/dataflow-consistency.expected b/python/ql/test/library-tests/ApiGraphs/py3/dataflow-consistency.expected index 5060efc6fd3..e4f849ac82b 100644 --- a/python/ql/test/library-tests/ApiGraphs/py3/dataflow-consistency.expected +++ b/python/ql/test/library-tests/ApiGraphs/py3/dataflow-consistency.expected @@ -1,9 +1,5 @@ uniqueEnclosingCallable uniqueCallEnclosingCallable -| test_captured.py:7:22:7:25 | p() | Call should have one enclosing callable but has 0. | -| test_captured.py:7:22:7:25 | p() | Call should have one enclosing callable but has 0. | -| test_captured.py:14:26:14:30 | pp() | Call should have one enclosing callable but has 0. | -| test_captured.py:14:26:14:30 | pp() | Call should have one enclosing callable but has 0. | uniqueType uniqueNodeLocation missingLocation diff --git a/python/ql/test/library-tests/frameworks/django-orm/dataflow-consistency.expected b/python/ql/test/library-tests/frameworks/django-orm/dataflow-consistency.expected index e8a3027a15c..f70095401c8 100644 --- a/python/ql/test/library-tests/frameworks/django-orm/dataflow-consistency.expected +++ b/python/ql/test/library-tests/frameworks/django-orm/dataflow-consistency.expected @@ -1,40 +1,5 @@ uniqueEnclosingCallable uniqueCallEnclosingCallable -| testapp/orm_form_test.py:7:12:7:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:30:13:30:44 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:34:25:34:56 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:35:33:35:64 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:39:21:39:52 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:40:33:40:64 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:118:13:118:44 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:122:25:122:56 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:123:33:123:64 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:127:21:127:52 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_inheritance.py:128:33:128:64 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_security_tests.py:16:12:16:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_security_tests.py:17:11:17:31 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_security_tests.py:93:12:93:65 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_security_tests.py:112:12:112:65 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:29:12:29:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:43:12:43:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:59:12:59:61 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:74:12:74:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:90:12:90:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:111:12:111:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:127:12:127:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:128:13:128:44 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:145:12:145:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:146:13:146:44 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:162:12:162:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:178:12:178:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:181:12:181:64 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:207:12:207:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:208:12:208:70 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:234:12:234:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:235:12:235:95 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:256:12:256:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:274:12:274:43 | Attribute() | Call should have one enclosing callable but has 0. | -| testapp/orm_tests.py:295:12:295:43 | Attribute() | Call should have one enclosing callable but has 0. | uniqueType uniqueNodeLocation missingLocation diff --git a/python/ql/test/query-tests/Security/CWE-327-BrokenCryptoAlgorithm/BrokenCryptoAlgorithm.expected b/python/ql/test/query-tests/Security/CWE-327-BrokenCryptoAlgorithm/BrokenCryptoAlgorithm.expected index 4d6ee66ed47..43c6eeb0f77 100644 --- a/python/ql/test/query-tests/Security/CWE-327-BrokenCryptoAlgorithm/BrokenCryptoAlgorithm.expected +++ b/python/ql/test/query-tests/Security/CWE-327-BrokenCryptoAlgorithm/BrokenCryptoAlgorithm.expected @@ -1,4 +1,4 @@ -| test_cryptodome.py:11:13:11:42 | ControlFlowNode for Attribute() | The cryptographic algorithm ARC4 is broken or weak, and should not be used. | -| test_cryptodome.py:16:13:16:42 | ControlFlowNode for Attribute() | The block mode ECB is broken or weak, and should not be used. | -| test_cryptography.py:13:13:13:44 | ControlFlowNode for Attribute() | The cryptographic algorithm ARC4 is broken or weak, and should not be used. | -| test_cryptography.py:22:13:22:58 | ControlFlowNode for Attribute() | The block mode ECB is broken or weak, and should not be used. | +| test_cryptodome.py:11:13:11:42 | ControlFlowNode for Attribute() | $@ is broken or weak, and should not be used. | test_cryptodome.py:10:10:10:22 | ControlFlowNode for Attribute() | The cryptographic algorithm ARC4 | +| test_cryptodome.py:16:13:16:42 | ControlFlowNode for Attribute() | $@ is broken or weak, and should not be used. | test_cryptodome.py:15:10:15:35 | ControlFlowNode for Attribute() | The block mode ECB | +| test_cryptography.py:13:13:13:44 | ControlFlowNode for Attribute() | $@ is broken or weak, and should not be used. | test_cryptography.py:12:13:12:30 | ControlFlowNode for Attribute() | The cryptographic algorithm ARC4 | +| test_cryptography.py:22:13:22:58 | ControlFlowNode for Attribute() | $@ is broken or weak, and should not be used. | test_cryptography.py:21:13:21:30 | ControlFlowNode for Attribute() | The block mode ECB | diff --git a/ruby/ql/lib/codeql/ruby/frameworks/core/Digest.qll b/ruby/ql/lib/codeql/ruby/frameworks/core/Digest.qll index 895ab066d39..52df3feed04 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/core/Digest.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/core/Digest.qll @@ -18,15 +18,21 @@ private API::Node digest(Cryptography::HashingAlgorithm algo) { private class DigestCall extends Cryptography::CryptographicOperation::Range instanceof DataFlow::CallNode { Cryptography::HashingAlgorithm algo; + API::Node digestNode; DigestCall() { - this = digest(algo).getAMethodCall(["hexdigest", "base64digest", "bubblebabble"]) - or - this = digest(algo).getAMethodCall("file") // it's directly hashing the contents of a file, but that's close enough for us. - or - this = digest(algo).getInstance().getAMethodCall(["digest", "update", "<<"]) + digestNode = digest(algo) and + ( + this = digestNode.getAMethodCall(["hexdigest", "base64digest", "bubblebabble"]) + or + this = digestNode.getAMethodCall("file") // it's directly hashing the contents of a file, but that's close enough for us. + or + this = digestNode.getInstance().getAMethodCall(["digest", "update", "<<"]) + ) } + override DataFlow::Node getInitialization() { result = digestNode.asSource() } + override Cryptography::HashingAlgorithm getAlgorithm() { result = algo } override DataFlow::Node getAnInput() { result = super.getArgument(0) } diff --git a/ruby/ql/lib/codeql/ruby/internal/ConceptsShared.qll b/ruby/ql/lib/codeql/ruby/internal/ConceptsShared.qll index e86b156e204..135f830e47d 100644 --- a/ruby/ql/lib/codeql/ruby/internal/ConceptsShared.qll +++ b/ruby/ql/lib/codeql/ruby/internal/ConceptsShared.qll @@ -40,6 +40,9 @@ module Cryptography { /** Gets the algorithm used, if it matches a known `CryptographicAlgorithm`. */ CryptographicAlgorithm getAlgorithm() { result = super.getAlgorithm() } + /** Gets the data-flow node where the cryptographic algorithm used in this operation is configured. */ + DataFlow::Node getInitialization() { result = super.getInitialization() } + /** Gets an input the algorithm is used on, for example the plain text input to be encrypted. */ DataFlow::Node getAnInput() { result = super.getAnInput() } @@ -65,6 +68,9 @@ module Cryptography { * extend `CryptographicOperation` instead. */ abstract class Range extends DataFlow::Node { + /** Gets the data-flow node where the cryptographic algorithm used in this operation is configured. */ + abstract DataFlow::Node getInitialization(); + /** Gets the algorithm used, if it matches a known `CryptographicAlgorithm`. */ abstract CryptographicAlgorithm getAlgorithm(); diff --git a/ruby/ql/lib/codeql/ruby/security/OpenSSL.qll b/ruby/ql/lib/codeql/ruby/security/OpenSSL.qll index 637f7dab04a..cbabdc8782a 100644 --- a/ruby/ql/lib/codeql/ruby/security/OpenSSL.qll +++ b/ruby/ql/lib/codeql/ruby/security/OpenSSL.qll @@ -569,6 +569,8 @@ private class CipherOperation extends Cryptography::CryptographicOperation::Rang this.getMethodName() = "update" } + override DataFlow::Node getInitialization() { result = cipherNode } + override Cryptography::EncryptionAlgorithm getAlgorithm() { result = cipherNode.getCipher().getAlgorithm() } @@ -591,21 +593,21 @@ private module Digest { private class DigestCall extends Cryptography::CryptographicOperation::Range instanceof DataFlow::CallNode { Cryptography::HashingAlgorithm algo; + API::MethodAccessNode call; DigestCall() { - exists(API::MethodAccessNode call | - call = API::getTopLevelMember("OpenSSL").getMember("Digest").getMethod("new") - | - this = call.getReturn().getAMethodCall(["digest", "update", "<<"]) and - algo.matchesName(call.asCall() - .getArgument(0) - .asExpr() - .getExpr() - .getConstantValue() - .getString()) - ) + call = API::getTopLevelMember("OpenSSL").getMember("Digest").getMethod("new") and + this = call.getReturn().getAMethodCall(["digest", "update", "<<"]) and + algo.matchesName(call.asCall() + .getArgument(0) + .asExpr() + .getExpr() + .getConstantValue() + .getString()) } + override DataFlow::Node getInitialization() { result = call.asCall() } + override Cryptography::HashingAlgorithm getAlgorithm() { result = algo } override DataFlow::Node getAnInput() { result = super.getArgument(0) } @@ -617,12 +619,16 @@ private module Digest { private class DigestCallDirect extends Cryptography::CryptographicOperation::Range instanceof DataFlow::CallNode { Cryptography::HashingAlgorithm algo; + API::Node digestNode; DigestCallDirect() { - this = API::getTopLevelMember("OpenSSL").getMember("Digest").getMethod("digest").asCall() and + digestNode = API::getTopLevelMember("OpenSSL").getMember("Digest") and + this = digestNode.getMethod("digest").asCall() and algo.matchesName(this.getArgument(0).asExpr().getExpr().getConstantValue().getString()) } + override DataFlow::Node getInitialization() { result = digestNode.asSource() } + override Cryptography::HashingAlgorithm getAlgorithm() { result = algo } override DataFlow::Node getAnInput() { result = super.getArgument(1) } diff --git a/ruby/ql/lib/codeql/ruby/security/regexp/ExponentialBackTracking.qll b/ruby/ql/lib/codeql/ruby/security/regexp/ExponentialBackTracking.qll index 608f0e59552..c8d21b0bd31 100644 --- a/ruby/ql/lib/codeql/ruby/security/regexp/ExponentialBackTracking.qll +++ b/ruby/ql/lib/codeql/ruby/security/regexp/ExponentialBackTracking.qll @@ -3,7 +3,7 @@ * * James Kirrage, Asiri Rathnayake, Hayo Thielecke: Static Analysis for * Regular Expression Denial-of-Service Attacks. NSS 2013. - * (http://www.cs.bham.ac.uk/~hxt/research/reg-exp-sec.pdf) + * (https://arxiv.org/abs/1301.0849) * Asiri Rathnayake, Hayo Thielecke: Static Analysis for Regular Expression * Exponential Runtime via Substructural Logics. 2014. * (https://www.cs.bham.ac.uk/~hxt/research/redos_full.pdf) diff --git a/ruby/ql/src/queries/security/cwe-1333/ReDoSReferences.inc.qhelp b/ruby/ql/src/queries/security/cwe-1333/ReDoSReferences.inc.qhelp index d8bb9eb9ee0..641b1e56b7c 100644 --- a/ruby/ql/src/queries/security/cwe-1333/ReDoSReferences.inc.qhelp +++ b/ruby/ql/src/queries/security/cwe-1333/ReDoSReferences.inc.qhelp @@ -7,7 +7,7 @@
  • Wikipedia: ReDoS.
  • Wikipedia: Time complexity.
  • James Kirrage, Asiri Rathnayake, Hayo Thielecke: - Static Analysis for Regular Expression Denial-of-Service Attack. + Static Analysis for Regular Expression Denial-of-Service Attack.
  • diff --git a/ruby/ql/src/queries/security/cwe-327/BrokenCryptoAlgorithm.ql b/ruby/ql/src/queries/security/cwe-327/BrokenCryptoAlgorithm.ql index b4082c669aa..b8e6400dd42 100644 --- a/ruby/ql/src/queries/security/cwe-327/BrokenCryptoAlgorithm.ql +++ b/ruby/ql/src/queries/security/cwe-327/BrokenCryptoAlgorithm.ql @@ -23,4 +23,5 @@ where ) or operation.getBlockMode().isWeak() and msgPrefix = "The block mode " + operation.getBlockMode() -select operation, msgPrefix + " is broken or weak, and should not be used." +select operation, "$@ is broken or weak, and should not be used.", operation.getInitialization(), + msgPrefix diff --git a/ruby/ql/test/query-tests/security/cwe-327/BrokenCryptoAlgorithm.expected b/ruby/ql/test/query-tests/security/cwe-327/BrokenCryptoAlgorithm.expected index 62f621fd8c4..fc7b5b1ba67 100644 --- a/ruby/ql/test/query-tests/security/cwe-327/BrokenCryptoAlgorithm.expected +++ b/ruby/ql/test/query-tests/security/cwe-327/BrokenCryptoAlgorithm.expected @@ -1,19 +1,19 @@ -| broken_crypto.rb:4:8:4:34 | call to new | The cryptographic algorithm DES is broken or weak, and should not be used. | -| broken_crypto.rb:8:1:8:18 | call to update | The cryptographic algorithm DES is broken or weak, and should not be used. | -| broken_crypto.rb:12:8:12:43 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:16:1:16:18 | call to update | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:28:1:28:35 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:37:1:37:33 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:42:1:42:33 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:47:1:47:33 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:52:1:52:29 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:57:1:57:32 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:60:1:60:24 | call to new | The cryptographic algorithm DES is broken or weak, and should not be used. | -| broken_crypto.rb:62:1:62:30 | call to new | The cryptographic algorithm DES is broken or weak, and should not be used. | -| broken_crypto.rb:67:1:67:31 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:70:1:70:24 | call to new | The cryptographic algorithm RC2 is broken or weak, and should not be used. | -| broken_crypto.rb:72:1:72:30 | call to new | The block mode ECB is broken or weak, and should not be used. | -| broken_crypto.rb:72:1:72:30 | call to new | The cryptographic algorithm RC2 is broken or weak, and should not be used. | -| broken_crypto.rb:75:1:75:24 | call to new | The cryptographic algorithm RC4 is broken or weak, and should not be used. | -| broken_crypto.rb:77:1:77:29 | call to new | The cryptographic algorithm RC4 is broken or weak, and should not be used. | -| broken_crypto.rb:79:1:79:35 | call to new | The cryptographic algorithm RC4 is broken or weak, and should not be used. | +| broken_crypto.rb:4:8:4:34 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:4:8:4:34 | call to new | The cryptographic algorithm DES | +| broken_crypto.rb:8:1:8:18 | call to update | $@ is broken or weak, and should not be used. | broken_crypto.rb:8:1:8:4 | weak | The cryptographic algorithm DES | +| broken_crypto.rb:12:8:12:43 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:12:8:12:43 | call to new | The block mode ECB | +| broken_crypto.rb:16:1:16:18 | call to update | $@ is broken or weak, and should not be used. | broken_crypto.rb:16:1:16:4 | weak | The block mode ECB | +| broken_crypto.rb:28:1:28:35 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:28:1:28:35 | call to new | The block mode ECB | +| broken_crypto.rb:37:1:37:33 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:37:1:37:33 | call to new | The block mode ECB | +| broken_crypto.rb:42:1:42:33 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:42:1:42:33 | call to new | The block mode ECB | +| broken_crypto.rb:47:1:47:33 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:47:1:47:33 | call to new | The block mode ECB | +| broken_crypto.rb:52:1:52:29 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:52:1:52:29 | call to new | The block mode ECB | +| broken_crypto.rb:57:1:57:32 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:57:1:57:32 | call to new | The block mode ECB | +| broken_crypto.rb:60:1:60:24 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:60:1:60:24 | call to new | The cryptographic algorithm DES | +| broken_crypto.rb:62:1:62:30 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:62:1:62:30 | call to new | The cryptographic algorithm DES | +| broken_crypto.rb:67:1:67:31 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:67:1:67:31 | call to new | The block mode ECB | +| broken_crypto.rb:70:1:70:24 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:70:1:70:24 | call to new | The cryptographic algorithm RC2 | +| broken_crypto.rb:72:1:72:30 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:72:1:72:30 | call to new | The block mode ECB | +| broken_crypto.rb:72:1:72:30 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:72:1:72:30 | call to new | The cryptographic algorithm RC2 | +| broken_crypto.rb:75:1:75:24 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:75:1:75:24 | call to new | The cryptographic algorithm RC4 | +| broken_crypto.rb:77:1:77:29 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:77:1:77:29 | call to new | The cryptographic algorithm RC4 | +| broken_crypto.rb:79:1:79:35 | call to new | $@ is broken or weak, and should not be used. | broken_crypto.rb:79:1:79:35 | call to new | The cryptographic algorithm RC4 | diff --git a/shared/rangeanalysis/codeql/rangeanalysis/ModulusAnalysis.qll b/shared/rangeanalysis/codeql/rangeanalysis/ModulusAnalysis.qll index ee8a79237a0..16d63b8ca00 100644 --- a/shared/rangeanalysis/codeql/rangeanalysis/ModulusAnalysis.qll +++ b/shared/rangeanalysis/codeql/rangeanalysis/ModulusAnalysis.qll @@ -17,9 +17,11 @@ module ModulusAnalysis< LocationSig Location, Semantic Sem, DeltaSig D, BoundSig Bounds, UtilSig U> { + private import internal.RangeUtils::MakeUtils + bindingset[pos, v] pragma[inline_late] - private predicate hasReadOfVarInlineLate(Sem::SsaReadPosition pos, Sem::SsaVariable v) { + private predicate hasReadOfVarInlineLate(SsaReadPosition pos, Sem::SsaVariable v) { pos.hasReadOfVar(v) } @@ -27,15 +29,13 @@ module ModulusAnalysis< * Holds if `e + delta` equals `v` at `pos`. */ pragma[nomagic] - private predicate valueFlowStepSsa( - Sem::SsaVariable v, Sem::SsaReadPosition pos, Sem::Expr e, int delta - ) { + private predicate valueFlowStepSsa(Sem::SsaVariable v, SsaReadPosition pos, Sem::Expr e, int delta) { U::semSsaUpdateStep(v, e, D::fromInt(delta)) and pos.hasReadOfVar(v) or exists(Sem::Guard guard, boolean testIsTrue | hasReadOfVarInlineLate(pos, v) and guard = U::semEqFlowCond(v, e, D::fromInt(delta), true, testIsTrue) and - Sem::guardDirectlyControlsSsaRead(guard, pos, testIsTrue) + guardDirectlyControlsSsaRead(guard, pos, testIsTrue) ) } @@ -103,11 +103,11 @@ module ModulusAnalysis< /** * Holds if a guard ensures that `v` at `pos` is congruent with `val` modulo `mod`. */ - private predicate moduloGuardedRead(Sem::SsaVariable v, Sem::SsaReadPosition pos, int val, int mod) { + private predicate moduloGuardedRead(Sem::SsaVariable v, SsaReadPosition pos, int val, int mod) { exists(Sem::Guard guard, boolean testIsTrue | pos.hasReadOfVar(v) and guard = moduloCheck(v, val, mod, testIsTrue) and - Sem::guardControlsSsaRead(guard, pos, testIsTrue) + guardControlsSsaRead(guard, pos, testIsTrue) ) } @@ -146,7 +146,7 @@ module ModulusAnalysis< * Holds if `inp` is an input to `phi` and equals `phi` modulo `mod` along `edge`. */ private predicate phiSelfModulus( - Sem::SsaPhiNode phi, Sem::SsaVariable inp, Sem::SsaReadPositionPhiInputEdge edge, int mod + Sem::SsaPhiNode phi, Sem::SsaVariable inp, SsaReadPositionPhiInputEdge edge, int mod ) { exists(Bounds::SemSsaBound phibound, int v, int m | edge.phiInput(phi, inp) and @@ -161,7 +161,7 @@ module ModulusAnalysis< * Holds if `b + val` modulo `mod` is a candidate congruence class for `phi`. */ private predicate phiModulusInit(Sem::SsaPhiNode phi, Bounds::SemBound b, int val, int mod) { - exists(Sem::SsaVariable inp, Sem::SsaReadPositionPhiInputEdge edge | + exists(Sem::SsaVariable inp, SsaReadPositionPhiInputEdge edge | edge.phiInput(phi, inp) and ssaModulus(inp, edge, b, val, mod) ) @@ -179,7 +179,7 @@ module ModulusAnalysis< rix = 0 and phiModulusInit(phi, b, val, mod) or - exists(Sem::SsaVariable inp, Sem::SsaReadPositionPhiInputEdge edge, int v1, int m1 | + exists(Sem::SsaVariable inp, SsaReadPositionPhiInputEdge edge, int v1, int m1 | mod != 1 and val = remainder(v1, mod) | @@ -190,7 +190,7 @@ module ModulusAnalysis< // equals `v2` modulo `mod`. The largest value of `mod` that satisfies // this is the greatest common divisor of `m1`, `m2`, and `v1 - v2`. exists(int v2, int m2 | - U::rankedPhiInput(phi, inp, edge, rix) and + rankedPhiInput(phi, inp, edge, rix) and phiModulusRankStep(phi, b, v1, m1, rix - 1) and ssaModulus(inp, edge, b, v2, m2) and mod = m1.gcd(m2).gcd(v1 - v2) @@ -200,7 +200,7 @@ module ModulusAnalysis< // preceding potential congruence class `b + v1` mod `m1`. The result will be // the congruence class modulo the greatest common divisor of `m1` and `m2`. exists(int m2 | - U::rankedPhiInput(phi, inp, edge, rix) and + rankedPhiInput(phi, inp, edge, rix) and phiModulusRankStep(phi, b, v1, m1, rix - 1) and phiSelfModulus(phi, inp, edge, m2) and mod = m1.gcd(m2) @@ -213,7 +213,7 @@ module ModulusAnalysis< */ private predicate phiModulus(Sem::SsaPhiNode phi, Bounds::SemBound b, int val, int mod) { exists(int r | - U::maxPhiInputRank(phi, r) and + maxPhiInputRank(phi, r) and phiModulusRankStep(phi, b, val, mod, r) ) } @@ -222,7 +222,7 @@ module ModulusAnalysis< * Holds if `v` at `pos` is equal to `b + val` modulo `mod`. */ private predicate ssaModulus( - Sem::SsaVariable v, Sem::SsaReadPosition pos, Bounds::SemBound b, int val, int mod + Sem::SsaVariable v, SsaReadPosition pos, Bounds::SemBound b, int val, int mod ) { phiModulus(v, b, val, mod) and pos.hasReadOfVar(v) or @@ -252,7 +252,7 @@ module ModulusAnalysis< val = 0 and b instanceof Bounds::SemZeroBound or - exists(Sem::SsaVariable v, Sem::SsaReadPositionBlock bb | + exists(Sem::SsaVariable v, SsaReadPositionBlock bb | ssaModulus(v, bb, b, val, mod) and e = v.getAUse() and bb.getBlock() = e.getBasicBlock() diff --git a/shared/rangeanalysis/codeql/rangeanalysis/RangeAnalysis.qll b/shared/rangeanalysis/codeql/rangeanalysis/RangeAnalysis.qll index f957761ce7b..3bb399dcebc 100644 --- a/shared/rangeanalysis/codeql/rangeanalysis/RangeAnalysis.qll +++ b/shared/rangeanalysis/codeql/rangeanalysis/RangeAnalysis.qll @@ -142,7 +142,23 @@ signature module Semantic { Expr getBranchExpr(boolean branch); } - class BasicBlock; + class BasicBlock { + /** Holds if this block (transitively) dominates `otherblock`. */ + predicate bbDominates(BasicBlock otherBlock); + } + + /** Gets an immediate successor of basic block `bb`, if any. */ + BasicBlock getABasicBlockSuccessor(BasicBlock bb); + + /** + * Gets an ideally unique integer for `bb`. If it is undesirable to make this + * unique, then `getBlock2` must provide a tiebreaker, such that the pair + * `(getBlockId1(bb),getBlockId2(bb))` becomes unique. + */ + int getBlockId1(BasicBlock bb); + + /** Gets a tiebreaker id in case `getBlockId1` is not unique. */ + default string getBlockId2(BasicBlock bb) { result = "" } class Guard { string toString(); @@ -154,14 +170,12 @@ signature module Semantic { predicate directlyControls(BasicBlock controlled, boolean branch); predicate isEquality(Expr e1, Expr e2, boolean polarity); + + predicate hasBranchEdge(BasicBlock bb1, BasicBlock bb2, boolean branch); } predicate implies_v2(Guard g1, boolean b1, Guard g2, boolean b2); - predicate guardDirectlyControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue); - - predicate guardControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue); - class Type; class IntegerType extends Type { @@ -176,28 +190,19 @@ signature module Semantic { class SsaVariable { Expr getAUse(); + + BasicBlock getBasicBlock(); } - class SsaPhiNode extends SsaVariable; + class SsaPhiNode extends SsaVariable { + /** Holds if `inp` is an input to the phi node along the edge originating in `bb`. */ + predicate hasInputFromBlock(SsaVariable inp, BasicBlock bb); + } class SsaExplicitUpdate extends SsaVariable { Expr getDefiningExpr(); } - class SsaReadPosition { - predicate hasReadOfVar(SsaVariable v); - } - - class SsaReadPositionPhiInputEdge extends SsaReadPosition { - predicate phiInput(SsaPhiNode phi, SsaVariable inp); - } - - class SsaReadPositionBlock extends SsaReadPosition { - BasicBlock getBlock(); - } - - predicate backEdge(SsaPhiNode phi, SsaVariable inp, SsaReadPositionPhiInputEdge edge); - predicate conversionCannotOverflow(Type fromType, Type toType); } @@ -322,19 +327,6 @@ signature module UtilSig { * primitive types as the underlying primitive type. */ Sem::Type getTrackedType(Sem::Expr e); - - /** - * Holds if `inp` is an input to `phi` along `edge` and this input has index `r` - * in an arbitrary 1-based numbering of the input edges to `phi`. - */ - predicate rankedPhiInput( - Sem::SsaPhiNode phi, Sem::SsaVariable inp, Sem::SsaReadPositionPhiInputEdge edge, int r - ); - - /** - * Holds if `rix` is the number of input edges to `phi`. - */ - predicate maxPhiInputRank(Sem::SsaPhiNode phi, int rix); } signature module BoundSig { @@ -680,7 +672,7 @@ module RangeStage< * - `upper = false` : `v >= e + delta` */ private predicate boundFlowStepSsa( - Sem::SsaVariable v, Sem::SsaReadPosition pos, Sem::Expr e, D::Delta delta, boolean upper, + Sem::SsaVariable v, SsaReadPosition pos, Sem::Expr e, D::Delta delta, boolean upper, SemReason reason ) { semSsaUpdateStep(v, e, delta) and @@ -691,20 +683,20 @@ module RangeStage< exists(Sem::Guard guard, boolean testIsTrue | pos.hasReadOfVar(v) and guard = boundFlowCond(v, e, delta, upper, testIsTrue) and - Sem::guardDirectlyControlsSsaRead(guard, pos, testIsTrue) and + guardDirectlyControlsSsaRead(guard, pos, testIsTrue) and reason = TSemCondReason(guard) ) } /** Holds if `v != e + delta` at `pos` and `v` is of integral type. */ private predicate unequalFlowStepIntegralSsa( - Sem::SsaVariable v, Sem::SsaReadPosition pos, Sem::Expr e, D::Delta delta, SemReason reason + Sem::SsaVariable v, SsaReadPosition pos, Sem::Expr e, D::Delta delta, SemReason reason ) { getTrackedTypeForSsaVariable(v) instanceof Sem::IntegerType and exists(Sem::Guard guard, boolean testIsTrue | pos.hasReadOfVar(v) and guard = semEqFlowCond(v, e, delta, false, testIsTrue) and - Sem::guardDirectlyControlsSsaRead(guard, pos, testIsTrue) and + guardDirectlyControlsSsaRead(guard, pos, testIsTrue) and reason = TSemCondReason(guard) ) } @@ -828,7 +820,7 @@ module RangeStage< * - `upper = false` : `v >= b + delta` */ private predicate boundedSsa( - Sem::SsaVariable v, SemBound b, D::Delta delta, Sem::SsaReadPosition pos, boolean upper, + Sem::SsaVariable v, SemBound b, D::Delta delta, SsaReadPosition pos, boolean upper, boolean fromBackEdge, D::Delta origdelta, SemReason reason ) { exists(Sem::Expr mid, D::Delta d1, D::Delta d2, SemReason r1, SemReason r2 | @@ -865,7 +857,7 @@ module RangeStage< * Holds if `v != b + delta` at `pos` and `v` is of integral type. */ private predicate unequalIntegralSsa( - Sem::SsaVariable v, SemBound b, D::Delta delta, Sem::SsaReadPosition pos, SemReason reason + Sem::SsaVariable v, SemBound b, D::Delta delta, SsaReadPosition pos, SemReason reason ) { exists(Sem::Expr e, D::Delta d1, D::Delta d2 | unequalFlowStepIntegralSsa(v, pos, e, d1, reason) and @@ -912,7 +904,7 @@ module RangeStage< * - `upper = false` : `inp >= b + delta` */ private predicate boundedPhiInp( - Sem::SsaPhiNode phi, Sem::SsaVariable inp, Sem::SsaReadPositionPhiInputEdge edge, SemBound b, + Sem::SsaPhiNode phi, Sem::SsaVariable inp, SsaReadPositionPhiInputEdge edge, SemBound b, D::Delta delta, boolean upper, boolean fromBackEdge, D::Delta origdelta, SemReason reason ) { edge.phiInput(phi, inp) and @@ -928,7 +920,7 @@ module RangeStage< origdelta = D::fromFloat(0) and reason = TSemNoReason() | - if Sem::backEdge(phi, inp, edge) + if backEdge(phi, inp, edge) then fromBackEdge = true and ( @@ -956,7 +948,7 @@ module RangeStage< pragma[noinline] private predicate boundedPhiInp1( Sem::SsaPhiNode phi, SemBound b, boolean upper, Sem::SsaVariable inp, - Sem::SsaReadPositionPhiInputEdge edge, D::Delta delta + SsaReadPositionPhiInputEdge edge, D::Delta delta ) { boundedPhiInp(phi, inp, edge, b, delta, upper, _, _, _) } @@ -968,7 +960,7 @@ module RangeStage< * - `upper = false` : `inp >= phi` */ private predicate selfBoundedPhiInp( - Sem::SsaPhiNode phi, Sem::SsaVariable inp, Sem::SsaReadPositionPhiInputEdge edge, boolean upper + Sem::SsaPhiNode phi, Sem::SsaVariable inp, SsaReadPositionPhiInputEdge edge, boolean upper ) { exists(D::Delta d, SemSsaBound phibound | phibound.getVariable() = phi and @@ -1001,8 +993,7 @@ module RangeStage< */ private predicate boundedPhiCandValidForEdge( Sem::SsaPhiNode phi, SemBound b, D::Delta delta, boolean upper, boolean fromBackEdge, - D::Delta origdelta, SemReason reason, Sem::SsaVariable inp, - Sem::SsaReadPositionPhiInputEdge edge + D::Delta origdelta, SemReason reason, Sem::SsaVariable inp, SsaReadPositionPhiInputEdge edge ) { boundedPhiCand(phi, upper, b, delta, fromBackEdge, origdelta, reason) and ( @@ -1028,7 +1019,7 @@ module RangeStage< Sem::SsaPhiNode phi, SemBound b, D::Delta delta, boolean upper, boolean fromBackEdge, D::Delta origdelta, SemReason reason, int rix ) { - exists(Sem::SsaVariable inp, Sem::SsaReadPositionPhiInputEdge edge | + exists(Sem::SsaVariable inp, SsaReadPositionPhiInputEdge edge | rankedPhiInput(phi, inp, edge, rix) and boundedPhiCandValidForEdge(phi, b, delta, upper, fromBackEdge, origdelta, reason, inp, edge) | @@ -1200,7 +1191,7 @@ module RangeStage< origdelta = delta and reason = TSemNoReason() or - exists(Sem::SsaVariable v, Sem::SsaReadPositionBlock bb | + exists(Sem::SsaVariable v, SsaReadPositionBlock bb | boundedSsa(v, b, delta, bb, upper, fromBackEdge, origdelta, reason) and e = v.getAUse() and bb.getBlock() = e.getBasicBlock() diff --git a/shared/rangeanalysis/codeql/rangeanalysis/internal/RangeUtils.qll b/shared/rangeanalysis/codeql/rangeanalysis/internal/RangeUtils.qll index 3a471aa2c38..27205896014 100644 --- a/shared/rangeanalysis/codeql/rangeanalysis/internal/RangeUtils.qll +++ b/shared/rangeanalysis/codeql/rangeanalysis/internal/RangeUtils.qll @@ -1,37 +1,176 @@ private import codeql.rangeanalysis.RangeAnalysis module MakeUtils { + private import Lang + /** * Gets an expression that equals `v - d`. */ - Lang::Expr ssaRead(Lang::SsaVariable v, D::Delta delta) { + Expr ssaRead(SsaVariable v, D::Delta delta) { result = v.getAUse() and delta = D::fromInt(0) or - exists(D::Delta d1, Lang::ConstantIntegerExpr c | - result.(Lang::AddExpr).hasOperands(ssaRead(v, d1), c) and + exists(D::Delta d1, ConstantIntegerExpr c | + result.(AddExpr).hasOperands(ssaRead(v, d1), c) and delta = D::fromFloat(D::toFloat(d1) - c.getIntValue()) and // In the scope of `x += ..`, which is SSA translated as `x2 = x1 + ..`, // the variable `x1` is shadowed by `x2`, so there's no need to view this // as a read of `x1`. - not Lang::isAssignOp(result) + not isAssignOp(result) ) or - exists(Lang::SubExpr sub, D::Delta d1, Lang::ConstantIntegerExpr c | + exists(SubExpr sub, D::Delta d1, ConstantIntegerExpr c | result = sub and sub.getLeftOperand() = ssaRead(v, d1) and sub.getRightOperand() = c and delta = D::fromFloat(D::toFloat(d1) + c.getIntValue()) and - not Lang::isAssignOp(result) + not isAssignOp(result) ) or - result = v.(Lang::SsaExplicitUpdate).getDefiningExpr() and - if result instanceof Lang::PostIncExpr + result = v.(SsaExplicitUpdate).getDefiningExpr() and + if result instanceof PostIncExpr then delta = D::fromFloat(1) // x++ === ++x - 1 else - if result instanceof Lang::PostDecExpr + if result instanceof PostDecExpr then delta = D::fromFloat(-1) // x-- === --x + 1 else delta = D::fromFloat(0) or - result.(Lang::CopyValueExpr).getOperand() = ssaRead(v, delta) + result.(CopyValueExpr).getOperand() = ssaRead(v, delta) + } + + private newtype TSsaReadPosition = + TSsaReadPositionBlock(BasicBlock bb) { + exists(SsaVariable v | v.getAUse().getBasicBlock() = bb) + } or + TSsaReadPositionPhiInputEdge(BasicBlock bbOrig, BasicBlock bbPhi) { + exists(SsaPhiNode phi | phi.hasInputFromBlock(_, bbOrig) and bbPhi = phi.getBasicBlock()) + } + + /** + * A position at which an SSA variable is read. This includes both ordinary + * reads occurring in basic blocks and input to phi nodes occurring along an + * edge between two basic blocks. + */ + class SsaReadPosition extends TSsaReadPosition { + /** Holds if `v` is read at this position. */ + abstract predicate hasReadOfVar(SsaVariable v); + + /** Gets a textual representation of this SSA read position. */ + abstract string toString(); + } + + /** A basic block in which an SSA variable is read. */ + class SsaReadPositionBlock extends SsaReadPosition, TSsaReadPositionBlock { + /** Gets the basic block corresponding to this position. */ + BasicBlock getBlock() { this = TSsaReadPositionBlock(result) } + + override predicate hasReadOfVar(SsaVariable v) { exists(this.getAnSsaRead(v)) } + + pragma[nomagic] + Expr getAnSsaRead(SsaVariable v) { + v.getAUse() = result and result.getBasicBlock() = this.getBlock() + } + + override string toString() { result = "block" } + } + + /** + * An edge between two basic blocks where the latter block has an SSA phi + * definition. The edge therefore has a read of an SSA variable serving as the + * input to the phi node. + */ + class SsaReadPositionPhiInputEdge extends SsaReadPosition, TSsaReadPositionPhiInputEdge { + /** Gets the source of the edge. */ + BasicBlock getOrigBlock() { this = TSsaReadPositionPhiInputEdge(result, _) } + + /** Gets the target of the edge. */ + BasicBlock getPhiBlock() { this = TSsaReadPositionPhiInputEdge(_, result) } + + override predicate hasReadOfVar(SsaVariable v) { this.phiInput(_, v) } + + /** Holds if `inp` is an input to `phi` along this edge. */ + predicate phiInput(SsaPhiNode phi, SsaVariable inp) { + phi.hasInputFromBlock(inp, this.getOrigBlock()) and + this.getPhiBlock() = phi.getBasicBlock() + } + + override string toString() { result = "edge" } + } + + /** + * Holds if `guard` directly controls the position `controlled` with the + * value `testIsTrue`. + */ + pragma[nomagic] + predicate guardDirectlyControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { + guard.directlyControls(controlled.(SsaReadPositionBlock).getBlock(), testIsTrue) + or + exists(SsaReadPositionPhiInputEdge controlledEdge | controlledEdge = controlled | + guard.directlyControls(controlledEdge.getOrigBlock(), testIsTrue) or + guard.hasBranchEdge(controlledEdge.getOrigBlock(), controlledEdge.getPhiBlock(), testIsTrue) + ) + } + + /** + * Holds if `guard` controls the position `controlled` with the value `testIsTrue`. + */ + predicate guardControlsSsaRead(Guard guard, SsaReadPosition controlled, boolean testIsTrue) { + guardDirectlyControlsSsaRead(guard, controlled, testIsTrue) + or + exists(Guard guard0, boolean testIsTrue0 | + implies_v2(guard0, testIsTrue0, guard, testIsTrue) and + guardControlsSsaRead(guard0, controlled, testIsTrue0) + ) + } + + /** + * Holds if `inp` is an input to `phi` along a back edge. + */ + predicate backEdge(SsaPhiNode phi, SsaVariable inp, SsaReadPositionPhiInputEdge edge) { + edge.phiInput(phi, inp) and + ( + phi.getBasicBlock().bbDominates(edge.getOrigBlock()) or + irreducibleSccEdge(edge.getOrigBlock(), phi.getBasicBlock()) + ) + } + + /** + * Holds if the edge from b1 to b2 is part of a multiple-entry cycle in an irreducible control flow + * graph. Or if the edge is part of a cycle in unreachable code. + * + * An irreducible control flow graph is one where the usual dominance-based back edge detection does + * not work, because there is a cycle with multiple entry points, meaning there are + * mutually-reachable basic blocks where neither dominates the other. For such a graph, we first + * remove all detectable back-edges using the normal condition that the predecessor block is + * dominated by the successor block, then mark all edges in a cycle in the resulting graph as back + * edges. + */ + private predicate irreducibleSccEdge(BasicBlock b1, BasicBlock b2) { + trimmedEdge(b1, b2) and trimmedEdge+(b2, b1) + } + + private predicate trimmedEdge(BasicBlock pred, BasicBlock succ) { + getABasicBlockSuccessor(pred) = succ and + not succ.bbDominates(pred) + } + + /** + * Holds if `inp` is an input to `phi` along `edge` and this input has index `r` + * in an arbitrary 1-based numbering of the input edges to `phi`. + */ + predicate rankedPhiInput(SsaPhiNode phi, SsaVariable inp, SsaReadPositionPhiInputEdge edge, int r) { + edge.phiInput(phi, inp) and + edge = + rank[r](SsaReadPositionPhiInputEdge e | + e.phiInput(phi, _) + | + e order by getBlockId1(e.getOrigBlock()), getBlockId2(e.getOrigBlock()) + ) + } + + /** + * Holds if `rix` is the number of input edges to `phi`. + */ + predicate maxPhiInputRank(SsaPhiNode phi, int rix) { + rix = max(int r | rankedPhiInput(phi, _, _, r)) } } diff --git a/shared/regex/codeql/regex/nfa/ExponentialBackTracking.qll b/shared/regex/codeql/regex/nfa/ExponentialBackTracking.qll index a2a35298b37..450ee807089 100644 --- a/shared/regex/codeql/regex/nfa/ExponentialBackTracking.qll +++ b/shared/regex/codeql/regex/nfa/ExponentialBackTracking.qll @@ -3,7 +3,7 @@ * * James Kirrage, Asiri Rathnayake, Hayo Thielecke: Static Analysis for * Regular Expression Denial-of-Service Attacks. NSS 2013. - * (http://www.cs.bham.ac.uk/~hxt/research/reg-exp-sec.pdf) + * (https://arxiv.org/abs/1301.0849) * Asiri Rathnayake, Hayo Thielecke: Static Analysis for Regular Expression * Exponential Runtime via Substructural Logics. 2014. * (https://www.cs.bham.ac.uk/~hxt/research/redos_full.pdf) diff --git a/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/old.dbscheme b/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/old.dbscheme new file mode 100644 index 00000000000..fcc7b497930 --- /dev/null +++ b/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/old.dbscheme @@ -0,0 +1,2642 @@ +// generated by codegen/codegen.py + +// from prefix.dbscheme +/** + * The source location of the snapshot. + */ +sourceLocationPrefix( + string prefix: string ref +); + + +// from schema.py + +@element = + @callable +| @file +| @generic_context +| @locatable +| @location +| @type +; + +#keyset[id] +element_is_unknown( + int id: @element ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_names( + int id: @callable ref, + string name: string ref +); + +#keyset[id] +callable_self_params( + int id: @callable ref, + int self_param: @param_decl_or_none ref +); + +#keyset[id, index] +callable_params( + int id: @callable ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +#keyset[id] +callable_bodies( + int id: @callable ref, + int body: @brace_stmt_or_none ref +); + +#keyset[id, index] +callable_captures( + int id: @callable ref, + int index: int ref, + int capture: @captured_decl_or_none ref +); + +@file = + @db_file +; + +#keyset[id] +files( + int id: @file ref, + string name: string ref +); + +#keyset[id] +file_is_successfully_extracted( + int id: @file ref +); + +@locatable = + @argument +| @ast_node +| @comment +| @diagnostics +| @error_element +; + +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_or_none ref +); + +@location = + @db_location +; + +#keyset[id] +locations( + int id: @location ref, + int file: @file_or_none ref, + int start_line: int ref, + int start_column: int ref, + int end_line: int ref, + int end_column: int ref +); + +@ast_node = + @availability_info +| @availability_spec +| @case_label_item +| @condition_element +| @decl +| @expr +| @key_path_component +| @pattern +| @stmt +| @stmt_condition +| @type_repr +; + +comments( + unique int id: @comment, + string text: string ref +); + +db_files( + unique int id: @db_file +); + +db_locations( + unique int id: @db_location +); + +diagnostics( + unique int id: @diagnostics, + string text: string ref, + int kind: int ref +); + +@error_element = + @error_expr +| @error_type +| @overloaded_decl_ref_expr +| @unresolved_decl_ref_expr +| @unresolved_dot_expr +| @unresolved_member_chain_result_expr +| @unresolved_member_expr +| @unresolved_pattern_expr +| @unresolved_specialize_expr +| @unresolved_type +| @unresolved_type_conversion_expr +| @unspecified_element +; + +availability_infos( + unique int id: @availability_info +); + +#keyset[id] +availability_info_is_unavailable( + int id: @availability_info ref +); + +#keyset[id, index] +availability_info_specs( + int id: @availability_info ref, + int index: int ref, + int spec: @availability_spec_or_none ref +); + +@availability_spec = + @other_availability_spec +| @platform_version_availability_spec +; + +key_path_components( + unique int id: @key_path_component, + int kind: int ref, + int component_type: @type_or_none ref +); + +#keyset[id, index] +key_path_component_subscript_arguments( + int id: @key_path_component ref, + int index: int ref, + int subscript_argument: @argument_or_none ref +); + +#keyset[id] +key_path_component_tuple_indices( + int id: @key_path_component ref, + int tuple_index: int ref +); + +#keyset[id] +key_path_component_decl_refs( + int id: @key_path_component ref, + int decl_ref: @value_decl_or_none ref +); + +unspecified_elements( + unique int id: @unspecified_element, + string property: string ref, + string error: string ref +); + +#keyset[id] +unspecified_element_parents( + int id: @unspecified_element ref, + int parent: @element ref +); + +#keyset[id] +unspecified_element_indices( + int id: @unspecified_element ref, + int index: int ref +); + +#keyset[id, index] +unspecified_element_children( + int id: @unspecified_element ref, + int index: int ref, + int child: @ast_node_or_none ref +); + +other_availability_specs( + unique int id: @other_availability_spec +); + +platform_version_availability_specs( + unique int id: @platform_version_availability_spec, + string platform: string ref, + string version: string ref +); + +@decl = + @captured_decl +| @enum_case_decl +| @extension_decl +| @if_config_decl +| @import_decl +| @missing_member_decl +| @operator_decl +| @pattern_binding_decl +| @pound_diagnostic_decl +| @precedence_group_decl +| @top_level_code_decl +| @value_decl +; + +#keyset[id] +decls( //dir=decl + int id: @decl ref, + int module: @module_decl_or_none ref +); + +#keyset[id, index] +decl_members( //dir=decl + int id: @decl ref, + int index: int ref, + int member: @decl_or_none ref +); + +@generic_context = + @extension_decl +| @function +| @generic_type_decl +| @subscript_decl +; + +#keyset[id, index] +generic_context_generic_type_params( //dir=decl + int id: @generic_context ref, + int index: int ref, + int generic_type_param: @generic_type_param_decl_or_none ref +); + +captured_decls( //dir=decl + unique int id: @captured_decl, + int decl: @value_decl_or_none ref +); + +#keyset[id] +captured_decl_is_direct( //dir=decl + int id: @captured_decl ref +); + +#keyset[id] +captured_decl_is_escaping( //dir=decl + int id: @captured_decl ref +); + +enum_case_decls( //dir=decl + unique int id: @enum_case_decl +); + +#keyset[id, index] +enum_case_decl_elements( //dir=decl + int id: @enum_case_decl ref, + int index: int ref, + int element: @enum_element_decl_or_none ref +); + +extension_decls( //dir=decl + unique int id: @extension_decl, + int extended_type_decl: @nominal_type_decl_or_none ref +); + +#keyset[id, index] +extension_decl_protocols( //dir=decl + int id: @extension_decl ref, + int index: int ref, + int protocol: @protocol_decl_or_none ref +); + +if_config_decls( //dir=decl + unique int id: @if_config_decl +); + +#keyset[id, index] +if_config_decl_active_elements( //dir=decl + int id: @if_config_decl ref, + int index: int ref, + int active_element: @ast_node_or_none ref +); + +import_decls( //dir=decl + unique int id: @import_decl +); + +#keyset[id] +import_decl_is_exported( //dir=decl + int id: @import_decl ref +); + +#keyset[id] +import_decl_imported_modules( //dir=decl + int id: @import_decl ref, + int imported_module: @module_decl_or_none ref +); + +#keyset[id, index] +import_decl_declarations( //dir=decl + int id: @import_decl ref, + int index: int ref, + int declaration: @value_decl_or_none ref +); + +missing_member_decls( //dir=decl + unique int id: @missing_member_decl, + string name: string ref +); + +@operator_decl = + @infix_operator_decl +| @postfix_operator_decl +| @prefix_operator_decl +; + +#keyset[id] +operator_decls( //dir=decl + int id: @operator_decl ref, + string name: string ref +); + +pattern_binding_decls( //dir=decl + unique int id: @pattern_binding_decl +); + +#keyset[id, index] +pattern_binding_decl_inits( //dir=decl + int id: @pattern_binding_decl ref, + int index: int ref, + int init: @expr_or_none ref +); + +#keyset[id, index] +pattern_binding_decl_patterns( //dir=decl + int id: @pattern_binding_decl ref, + int index: int ref, + int pattern: @pattern_or_none ref +); + +pound_diagnostic_decls( //dir=decl + unique int id: @pound_diagnostic_decl, + int kind: int ref, + int message: @string_literal_expr_or_none ref +); + +precedence_group_decls( //dir=decl + unique int id: @precedence_group_decl +); + +top_level_code_decls( //dir=decl + unique int id: @top_level_code_decl, + int body: @brace_stmt_or_none ref +); + +@value_decl = + @abstract_storage_decl +| @enum_element_decl +| @function +| @type_decl +; + +#keyset[id] +value_decls( //dir=decl + int id: @value_decl ref, + int interface_type: @type_or_none ref +); + +@abstract_storage_decl = + @subscript_decl +| @var_decl +; + +#keyset[id, index] +abstract_storage_decl_accessors( //dir=decl + int id: @abstract_storage_decl ref, + int index: int ref, + int accessor: @accessor_or_none ref +); + +enum_element_decls( //dir=decl + unique int id: @enum_element_decl, + string name: string ref +); + +#keyset[id, index] +enum_element_decl_params( //dir=decl + int id: @enum_element_decl ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +@function = + @accessor_or_named_function +| @deinitializer +| @initializer +; + +infix_operator_decls( //dir=decl + unique int id: @infix_operator_decl +); + +#keyset[id] +infix_operator_decl_precedence_groups( //dir=decl + int id: @infix_operator_decl ref, + int precedence_group: @precedence_group_decl_or_none ref +); + +postfix_operator_decls( //dir=decl + unique int id: @postfix_operator_decl +); + +prefix_operator_decls( //dir=decl + unique int id: @prefix_operator_decl +); + +@type_decl = + @abstract_type_param_decl +| @generic_type_decl +| @module_decl +; + +#keyset[id] +type_decls( //dir=decl + int id: @type_decl ref, + string name: string ref +); + +#keyset[id, index] +type_decl_inherited_types( //dir=decl + int id: @type_decl ref, + int index: int ref, + int inherited_type: @type_or_none ref +); + +@abstract_type_param_decl = + @associated_type_decl +| @generic_type_param_decl +; + +@accessor_or_named_function = + @accessor +| @named_function +; + +deinitializers( //dir=decl + unique int id: @deinitializer +); + +@generic_type_decl = + @nominal_type_decl +| @opaque_type_decl +| @type_alias_decl +; + +initializers( //dir=decl + unique int id: @initializer +); + +module_decls( //dir=decl + unique int id: @module_decl +); + +#keyset[id] +module_decl_is_builtin_module( //dir=decl + int id: @module_decl ref +); + +#keyset[id] +module_decl_is_system_module( //dir=decl + int id: @module_decl ref +); + +module_decl_imported_modules( //dir=decl + int id: @module_decl ref, + int imported_module: @module_decl_or_none ref +); + +module_decl_exported_modules( //dir=decl + int id: @module_decl ref, + int exported_module: @module_decl_or_none ref +); + +subscript_decls( //dir=decl + unique int id: @subscript_decl, + int element_type: @type_or_none ref +); + +#keyset[id, index] +subscript_decl_params( //dir=decl + int id: @subscript_decl ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +@var_decl = + @concrete_var_decl +| @param_decl +; + +#keyset[id] +var_decls( //dir=decl + int id: @var_decl ref, + string name: string ref, + int type_: @type_or_none ref +); + +#keyset[id] +var_decl_attached_property_wrapper_types( //dir=decl + int id: @var_decl ref, + int attached_property_wrapper_type: @type_or_none ref +); + +#keyset[id] +var_decl_parent_patterns( //dir=decl + int id: @var_decl ref, + int parent_pattern: @pattern_or_none ref +); + +#keyset[id] +var_decl_parent_initializers( //dir=decl + int id: @var_decl ref, + int parent_initializer: @expr_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_backing_var_bindings( //dir=decl + int id: @var_decl ref, + int property_wrapper_backing_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_backing_vars( //dir=decl + int id: @var_decl ref, + int property_wrapper_backing_var: @var_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_projection_var_bindings( //dir=decl + int id: @var_decl ref, + int property_wrapper_projection_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_projection_vars( //dir=decl + int id: @var_decl ref, + int property_wrapper_projection_var: @var_decl_or_none ref +); + +accessors( //dir=decl + unique int id: @accessor +); + +#keyset[id] +accessor_is_getter( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_setter( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_will_set( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_did_set( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_read( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_modify( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_unsafe_address( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_unsafe_mutable_address( //dir=decl + int id: @accessor ref +); + +associated_type_decls( //dir=decl + unique int id: @associated_type_decl +); + +concrete_var_decls( //dir=decl + unique int id: @concrete_var_decl, + int introducer_int: int ref +); + +generic_type_param_decls( //dir=decl + unique int id: @generic_type_param_decl +); + +named_functions( //dir=decl + unique int id: @named_function +); + +@nominal_type_decl = + @class_decl +| @enum_decl +| @protocol_decl +| @struct_decl +; + +#keyset[id] +nominal_type_decls( //dir=decl + int id: @nominal_type_decl ref, + int type_: @type_or_none ref +); + +opaque_type_decls( //dir=decl + unique int id: @opaque_type_decl, + int naming_declaration: @value_decl_or_none ref +); + +#keyset[id, index] +opaque_type_decl_opaque_generic_params( //dir=decl + int id: @opaque_type_decl ref, + int index: int ref, + int opaque_generic_param: @generic_type_param_type_or_none ref +); + +param_decls( //dir=decl + unique int id: @param_decl +); + +#keyset[id] +param_decl_is_inout( //dir=decl + int id: @param_decl ref +); + +#keyset[id] +param_decl_property_wrapper_local_wrapped_var_bindings( //dir=decl + int id: @param_decl ref, + int property_wrapper_local_wrapped_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +param_decl_property_wrapper_local_wrapped_vars( //dir=decl + int id: @param_decl ref, + int property_wrapper_local_wrapped_var: @var_decl_or_none ref +); + +type_alias_decls( //dir=decl + unique int id: @type_alias_decl, + int aliased_type: @type_or_none ref +); + +class_decls( //dir=decl + unique int id: @class_decl +); + +enum_decls( //dir=decl + unique int id: @enum_decl +); + +protocol_decls( //dir=decl + unique int id: @protocol_decl +); + +struct_decls( //dir=decl + unique int id: @struct_decl +); + +arguments( //dir=expr + unique int id: @argument, + string label: string ref, + int expr: @expr_or_none ref +); + +@expr = + @any_try_expr +| @applied_property_wrapper_expr +| @apply_expr +| @assign_expr +| @bind_optional_expr +| @capture_list_expr +| @closure_expr +| @collection_expr +| @decl_ref_expr +| @default_argument_expr +| @discard_assignment_expr +| @dot_syntax_base_ignored_expr +| @dynamic_type_expr +| @enum_is_case_expr +| @error_expr +| @explicit_cast_expr +| @force_value_expr +| @identity_expr +| @if_expr +| @implicit_conversion_expr +| @in_out_expr +| @key_path_application_expr +| @key_path_dot_expr +| @key_path_expr +| @lazy_initialization_expr +| @literal_expr +| @lookup_expr +| @make_temporarily_escapable_expr +| @obj_c_selector_expr +| @one_way_expr +| @opaque_value_expr +| @open_existential_expr +| @optional_evaluation_expr +| @other_initializer_ref_expr +| @overloaded_decl_ref_expr +| @property_wrapper_value_placeholder_expr +| @rebind_self_in_initializer_expr +| @sequence_expr +| @single_value_stmt_expr +| @super_ref_expr +| @tap_expr +| @tuple_element_expr +| @tuple_expr +| @type_expr +| @unresolved_decl_ref_expr +| @unresolved_dot_expr +| @unresolved_member_expr +| @unresolved_pattern_expr +| @unresolved_specialize_expr +| @vararg_expansion_expr +; + +#keyset[id] +expr_types( //dir=expr + int id: @expr ref, + int type_: @type_or_none ref +); + +@any_try_expr = + @force_try_expr +| @optional_try_expr +| @try_expr +; + +#keyset[id] +any_try_exprs( //dir=expr + int id: @any_try_expr ref, + int sub_expr: @expr_or_none ref +); + +applied_property_wrapper_exprs( //dir=expr + unique int id: @applied_property_wrapper_expr, + int kind: int ref, + int value: @expr_or_none ref, + int param: @param_decl_or_none ref +); + +@apply_expr = + @binary_expr +| @call_expr +| @postfix_unary_expr +| @prefix_unary_expr +| @self_apply_expr +; + +#keyset[id] +apply_exprs( //dir=expr + int id: @apply_expr ref, + int function: @expr_or_none ref +); + +#keyset[id, index] +apply_expr_arguments( //dir=expr + int id: @apply_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +assign_exprs( //dir=expr + unique int id: @assign_expr, + int dest: @expr_or_none ref, + int source: @expr_or_none ref +); + +bind_optional_exprs( //dir=expr + unique int id: @bind_optional_expr, + int sub_expr: @expr_or_none ref +); + +capture_list_exprs( //dir=expr + unique int id: @capture_list_expr, + int closure_body: @closure_expr_or_none ref +); + +#keyset[id, index] +capture_list_expr_binding_decls( //dir=expr + int id: @capture_list_expr ref, + int index: int ref, + int binding_decl: @pattern_binding_decl_or_none ref +); + +@closure_expr = + @auto_closure_expr +| @explicit_closure_expr +; + +@collection_expr = + @array_expr +| @dictionary_expr +; + +decl_ref_exprs( //dir=expr + unique int id: @decl_ref_expr, + int decl: @decl_or_none ref +); + +#keyset[id, index] +decl_ref_expr_replacement_types( //dir=expr + int id: @decl_ref_expr ref, + int index: int ref, + int replacement_type: @type_or_none ref +); + +#keyset[id] +decl_ref_expr_has_direct_to_storage_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_ordinary_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_distributed_thunk_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +default_argument_exprs( //dir=expr + unique int id: @default_argument_expr, + int param_decl: @param_decl_or_none ref, + int param_index: int ref +); + +#keyset[id] +default_argument_expr_caller_side_defaults( //dir=expr + int id: @default_argument_expr ref, + int caller_side_default: @expr_or_none ref +); + +discard_assignment_exprs( //dir=expr + unique int id: @discard_assignment_expr +); + +dot_syntax_base_ignored_exprs( //dir=expr + unique int id: @dot_syntax_base_ignored_expr, + int qualifier: @expr_or_none ref, + int sub_expr: @expr_or_none ref +); + +dynamic_type_exprs( //dir=expr + unique int id: @dynamic_type_expr, + int base: @expr_or_none ref +); + +enum_is_case_exprs( //dir=expr + unique int id: @enum_is_case_expr, + int sub_expr: @expr_or_none ref, + int element: @enum_element_decl_or_none ref +); + +error_exprs( //dir=expr + unique int id: @error_expr +); + +@explicit_cast_expr = + @checked_cast_expr +| @coerce_expr +; + +#keyset[id] +explicit_cast_exprs( //dir=expr + int id: @explicit_cast_expr ref, + int sub_expr: @expr_or_none ref +); + +force_value_exprs( //dir=expr + unique int id: @force_value_expr, + int sub_expr: @expr_or_none ref +); + +@identity_expr = + @await_expr +| @dot_self_expr +| @paren_expr +| @unresolved_member_chain_result_expr +; + +#keyset[id] +identity_exprs( //dir=expr + int id: @identity_expr ref, + int sub_expr: @expr_or_none ref +); + +if_exprs( //dir=expr + unique int id: @if_expr, + int condition: @expr_or_none ref, + int then_expr: @expr_or_none ref, + int else_expr: @expr_or_none ref +); + +@implicit_conversion_expr = + @abi_safe_conversion_expr +| @any_hashable_erasure_expr +| @archetype_to_super_expr +| @array_to_pointer_expr +| @bridge_from_obj_c_expr +| @bridge_to_obj_c_expr +| @class_metatype_to_object_expr +| @collection_upcast_conversion_expr +| @conditional_bridge_from_obj_c_expr +| @covariant_function_conversion_expr +| @covariant_return_conversion_expr +| @derived_to_base_expr +| @destructure_tuple_expr +| @differentiable_function_expr +| @differentiable_function_extract_original_expr +| @erasure_expr +| @existential_metatype_to_object_expr +| @foreign_object_conversion_expr +| @function_conversion_expr +| @in_out_to_pointer_expr +| @inject_into_optional_expr +| @linear_function_expr +| @linear_function_extract_original_expr +| @linear_to_differentiable_function_expr +| @load_expr +| @metatype_conversion_expr +| @pointer_to_pointer_expr +| @protocol_metatype_to_object_expr +| @string_to_pointer_expr +| @underlying_to_opaque_expr +| @unevaluated_instance_expr +| @unresolved_type_conversion_expr +; + +#keyset[id] +implicit_conversion_exprs( //dir=expr + int id: @implicit_conversion_expr ref, + int sub_expr: @expr_or_none ref +); + +in_out_exprs( //dir=expr + unique int id: @in_out_expr, + int sub_expr: @expr_or_none ref +); + +key_path_application_exprs( //dir=expr + unique int id: @key_path_application_expr, + int base: @expr_or_none ref, + int key_path: @expr_or_none ref +); + +key_path_dot_exprs( //dir=expr + unique int id: @key_path_dot_expr +); + +key_path_exprs( //dir=expr + unique int id: @key_path_expr +); + +#keyset[id] +key_path_expr_roots( //dir=expr + int id: @key_path_expr ref, + int root: @type_repr_or_none ref +); + +#keyset[id, index] +key_path_expr_components( //dir=expr + int id: @key_path_expr ref, + int index: int ref, + int component: @key_path_component_or_none ref +); + +lazy_initialization_exprs( //dir=expr + unique int id: @lazy_initialization_expr, + int sub_expr: @expr_or_none ref +); + +@literal_expr = + @builtin_literal_expr +| @interpolated_string_literal_expr +| @nil_literal_expr +| @object_literal_expr +| @regex_literal_expr +; + +@lookup_expr = + @dynamic_lookup_expr +| @member_ref_expr +| @subscript_expr +; + +#keyset[id] +lookup_exprs( //dir=expr + int id: @lookup_expr ref, + int base: @expr_or_none ref +); + +#keyset[id] +lookup_expr_members( //dir=expr + int id: @lookup_expr ref, + int member: @decl_or_none ref +); + +make_temporarily_escapable_exprs( //dir=expr + unique int id: @make_temporarily_escapable_expr, + int escaping_closure: @opaque_value_expr_or_none ref, + int nonescaping_closure: @expr_or_none ref, + int sub_expr: @expr_or_none ref +); + +obj_c_selector_exprs( //dir=expr + unique int id: @obj_c_selector_expr, + int sub_expr: @expr_or_none ref, + int method: @function_or_none ref +); + +one_way_exprs( //dir=expr + unique int id: @one_way_expr, + int sub_expr: @expr_or_none ref +); + +opaque_value_exprs( //dir=expr + unique int id: @opaque_value_expr +); + +open_existential_exprs( //dir=expr + unique int id: @open_existential_expr, + int sub_expr: @expr_or_none ref, + int existential: @expr_or_none ref, + int opaque_expr: @opaque_value_expr_or_none ref +); + +optional_evaluation_exprs( //dir=expr + unique int id: @optional_evaluation_expr, + int sub_expr: @expr_or_none ref +); + +other_initializer_ref_exprs( //dir=expr + unique int id: @other_initializer_ref_expr, + int initializer: @initializer_or_none ref +); + +overloaded_decl_ref_exprs( //dir=expr + unique int id: @overloaded_decl_ref_expr +); + +#keyset[id, index] +overloaded_decl_ref_expr_possible_declarations( //dir=expr + int id: @overloaded_decl_ref_expr ref, + int index: int ref, + int possible_declaration: @value_decl_or_none ref +); + +property_wrapper_value_placeholder_exprs( //dir=expr + unique int id: @property_wrapper_value_placeholder_expr, + int placeholder: @opaque_value_expr_or_none ref +); + +#keyset[id] +property_wrapper_value_placeholder_expr_wrapped_values( //dir=expr + int id: @property_wrapper_value_placeholder_expr ref, + int wrapped_value: @expr_or_none ref +); + +rebind_self_in_initializer_exprs( //dir=expr + unique int id: @rebind_self_in_initializer_expr, + int sub_expr: @expr_or_none ref, + int self: @var_decl_or_none ref +); + +sequence_exprs( //dir=expr + unique int id: @sequence_expr +); + +#keyset[id, index] +sequence_expr_elements( //dir=expr + int id: @sequence_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +single_value_stmt_exprs( //dir=expr + unique int id: @single_value_stmt_expr, + int stmt: @stmt_or_none ref +); + +super_ref_exprs( //dir=expr + unique int id: @super_ref_expr, + int self: @var_decl_or_none ref +); + +tap_exprs( //dir=expr + unique int id: @tap_expr, + int body: @brace_stmt_or_none ref, + int var: @var_decl_or_none ref +); + +#keyset[id] +tap_expr_sub_exprs( //dir=expr + int id: @tap_expr ref, + int sub_expr: @expr_or_none ref +); + +tuple_element_exprs( //dir=expr + unique int id: @tuple_element_expr, + int sub_expr: @expr_or_none ref, + int index: int ref +); + +tuple_exprs( //dir=expr + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_elements( //dir=expr + int id: @tuple_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +type_exprs( //dir=expr + unique int id: @type_expr +); + +#keyset[id] +type_expr_type_reprs( //dir=expr + int id: @type_expr ref, + int type_repr: @type_repr_or_none ref +); + +unresolved_decl_ref_exprs( //dir=expr + unique int id: @unresolved_decl_ref_expr +); + +#keyset[id] +unresolved_decl_ref_expr_names( //dir=expr + int id: @unresolved_decl_ref_expr ref, + string name: string ref +); + +unresolved_dot_exprs( //dir=expr + unique int id: @unresolved_dot_expr, + int base: @expr_or_none ref, + string name: string ref +); + +unresolved_member_exprs( //dir=expr + unique int id: @unresolved_member_expr, + string name: string ref +); + +unresolved_pattern_exprs( //dir=expr + unique int id: @unresolved_pattern_expr, + int sub_pattern: @pattern_or_none ref +); + +unresolved_specialize_exprs( //dir=expr + unique int id: @unresolved_specialize_expr, + int sub_expr: @expr_or_none ref +); + +vararg_expansion_exprs( //dir=expr + unique int id: @vararg_expansion_expr, + int sub_expr: @expr_or_none ref +); + +abi_safe_conversion_exprs( //dir=expr + unique int id: @abi_safe_conversion_expr +); + +any_hashable_erasure_exprs( //dir=expr + unique int id: @any_hashable_erasure_expr +); + +archetype_to_super_exprs( //dir=expr + unique int id: @archetype_to_super_expr +); + +array_exprs( //dir=expr + unique int id: @array_expr +); + +#keyset[id, index] +array_expr_elements( //dir=expr + int id: @array_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +array_to_pointer_exprs( //dir=expr + unique int id: @array_to_pointer_expr +); + +auto_closure_exprs( //dir=expr + unique int id: @auto_closure_expr +); + +await_exprs( //dir=expr + unique int id: @await_expr +); + +binary_exprs( //dir=expr + unique int id: @binary_expr +); + +bridge_from_obj_c_exprs( //dir=expr + unique int id: @bridge_from_obj_c_expr +); + +bridge_to_obj_c_exprs( //dir=expr + unique int id: @bridge_to_obj_c_expr +); + +@builtin_literal_expr = + @boolean_literal_expr +| @magic_identifier_literal_expr +| @number_literal_expr +| @string_literal_expr +; + +call_exprs( //dir=expr + unique int id: @call_expr +); + +@checked_cast_expr = + @conditional_checked_cast_expr +| @forced_checked_cast_expr +| @is_expr +; + +class_metatype_to_object_exprs( //dir=expr + unique int id: @class_metatype_to_object_expr +); + +coerce_exprs( //dir=expr + unique int id: @coerce_expr +); + +collection_upcast_conversion_exprs( //dir=expr + unique int id: @collection_upcast_conversion_expr +); + +conditional_bridge_from_obj_c_exprs( //dir=expr + unique int id: @conditional_bridge_from_obj_c_expr +); + +covariant_function_conversion_exprs( //dir=expr + unique int id: @covariant_function_conversion_expr +); + +covariant_return_conversion_exprs( //dir=expr + unique int id: @covariant_return_conversion_expr +); + +derived_to_base_exprs( //dir=expr + unique int id: @derived_to_base_expr +); + +destructure_tuple_exprs( //dir=expr + unique int id: @destructure_tuple_expr +); + +dictionary_exprs( //dir=expr + unique int id: @dictionary_expr +); + +#keyset[id, index] +dictionary_expr_elements( //dir=expr + int id: @dictionary_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +differentiable_function_exprs( //dir=expr + unique int id: @differentiable_function_expr +); + +differentiable_function_extract_original_exprs( //dir=expr + unique int id: @differentiable_function_extract_original_expr +); + +dot_self_exprs( //dir=expr + unique int id: @dot_self_expr +); + +@dynamic_lookup_expr = + @dynamic_member_ref_expr +| @dynamic_subscript_expr +; + +erasure_exprs( //dir=expr + unique int id: @erasure_expr +); + +existential_metatype_to_object_exprs( //dir=expr + unique int id: @existential_metatype_to_object_expr +); + +explicit_closure_exprs( //dir=expr + unique int id: @explicit_closure_expr +); + +force_try_exprs( //dir=expr + unique int id: @force_try_expr +); + +foreign_object_conversion_exprs( //dir=expr + unique int id: @foreign_object_conversion_expr +); + +function_conversion_exprs( //dir=expr + unique int id: @function_conversion_expr +); + +in_out_to_pointer_exprs( //dir=expr + unique int id: @in_out_to_pointer_expr +); + +inject_into_optional_exprs( //dir=expr + unique int id: @inject_into_optional_expr +); + +interpolated_string_literal_exprs( //dir=expr + unique int id: @interpolated_string_literal_expr +); + +#keyset[id] +interpolated_string_literal_expr_interpolation_exprs( //dir=expr + int id: @interpolated_string_literal_expr ref, + int interpolation_expr: @opaque_value_expr_or_none ref +); + +#keyset[id] +interpolated_string_literal_expr_appending_exprs( //dir=expr + int id: @interpolated_string_literal_expr ref, + int appending_expr: @tap_expr_or_none ref +); + +linear_function_exprs( //dir=expr + unique int id: @linear_function_expr +); + +linear_function_extract_original_exprs( //dir=expr + unique int id: @linear_function_extract_original_expr +); + +linear_to_differentiable_function_exprs( //dir=expr + unique int id: @linear_to_differentiable_function_expr +); + +load_exprs( //dir=expr + unique int id: @load_expr +); + +member_ref_exprs( //dir=expr + unique int id: @member_ref_expr +); + +#keyset[id] +member_ref_expr_has_direct_to_storage_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_ordinary_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_distributed_thunk_semantics( //dir=expr + int id: @member_ref_expr ref +); + +metatype_conversion_exprs( //dir=expr + unique int id: @metatype_conversion_expr +); + +nil_literal_exprs( //dir=expr + unique int id: @nil_literal_expr +); + +object_literal_exprs( //dir=expr + unique int id: @object_literal_expr, + int kind: int ref +); + +#keyset[id, index] +object_literal_expr_arguments( //dir=expr + int id: @object_literal_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +optional_try_exprs( //dir=expr + unique int id: @optional_try_expr +); + +paren_exprs( //dir=expr + unique int id: @paren_expr +); + +pointer_to_pointer_exprs( //dir=expr + unique int id: @pointer_to_pointer_expr +); + +postfix_unary_exprs( //dir=expr + unique int id: @postfix_unary_expr +); + +prefix_unary_exprs( //dir=expr + unique int id: @prefix_unary_expr +); + +protocol_metatype_to_object_exprs( //dir=expr + unique int id: @protocol_metatype_to_object_expr +); + +regex_literal_exprs( //dir=expr + unique int id: @regex_literal_expr, + string pattern: string ref, + int version: int ref +); + +@self_apply_expr = + @dot_syntax_call_expr +| @initializer_ref_call_expr +; + +#keyset[id] +self_apply_exprs( //dir=expr + int id: @self_apply_expr ref, + int base: @expr_or_none ref +); + +string_to_pointer_exprs( //dir=expr + unique int id: @string_to_pointer_expr +); + +subscript_exprs( //dir=expr + unique int id: @subscript_expr +); + +#keyset[id, index] +subscript_expr_arguments( //dir=expr + int id: @subscript_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +#keyset[id] +subscript_expr_has_direct_to_storage_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_ordinary_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_distributed_thunk_semantics( //dir=expr + int id: @subscript_expr ref +); + +try_exprs( //dir=expr + unique int id: @try_expr +); + +underlying_to_opaque_exprs( //dir=expr + unique int id: @underlying_to_opaque_expr +); + +unevaluated_instance_exprs( //dir=expr + unique int id: @unevaluated_instance_expr +); + +unresolved_member_chain_result_exprs( //dir=expr + unique int id: @unresolved_member_chain_result_expr +); + +unresolved_type_conversion_exprs( //dir=expr + unique int id: @unresolved_type_conversion_expr +); + +boolean_literal_exprs( //dir=expr + unique int id: @boolean_literal_expr, + boolean value: boolean ref +); + +conditional_checked_cast_exprs( //dir=expr + unique int id: @conditional_checked_cast_expr +); + +dot_syntax_call_exprs( //dir=expr + unique int id: @dot_syntax_call_expr +); + +dynamic_member_ref_exprs( //dir=expr + unique int id: @dynamic_member_ref_expr +); + +dynamic_subscript_exprs( //dir=expr + unique int id: @dynamic_subscript_expr +); + +forced_checked_cast_exprs( //dir=expr + unique int id: @forced_checked_cast_expr +); + +initializer_ref_call_exprs( //dir=expr + unique int id: @initializer_ref_call_expr +); + +is_exprs( //dir=expr + unique int id: @is_expr +); + +magic_identifier_literal_exprs( //dir=expr + unique int id: @magic_identifier_literal_expr, + string kind: string ref +); + +@number_literal_expr = + @float_literal_expr +| @integer_literal_expr +; + +string_literal_exprs( //dir=expr + unique int id: @string_literal_expr, + string value: string ref +); + +float_literal_exprs( //dir=expr + unique int id: @float_literal_expr, + string string_value: string ref +); + +integer_literal_exprs( //dir=expr + unique int id: @integer_literal_expr, + string string_value: string ref +); + +@pattern = + @any_pattern +| @binding_pattern +| @bool_pattern +| @enum_element_pattern +| @expr_pattern +| @is_pattern +| @named_pattern +| @optional_some_pattern +| @paren_pattern +| @tuple_pattern +| @typed_pattern +; + +any_patterns( //dir=pattern + unique int id: @any_pattern +); + +binding_patterns( //dir=pattern + unique int id: @binding_pattern, + int sub_pattern: @pattern_or_none ref +); + +bool_patterns( //dir=pattern + unique int id: @bool_pattern, + boolean value: boolean ref +); + +enum_element_patterns( //dir=pattern + unique int id: @enum_element_pattern, + int element: @enum_element_decl_or_none ref +); + +#keyset[id] +enum_element_pattern_sub_patterns( //dir=pattern + int id: @enum_element_pattern ref, + int sub_pattern: @pattern_or_none ref +); + +expr_patterns( //dir=pattern + unique int id: @expr_pattern, + int sub_expr: @expr_or_none ref +); + +is_patterns( //dir=pattern + unique int id: @is_pattern +); + +#keyset[id] +is_pattern_cast_type_reprs( //dir=pattern + int id: @is_pattern ref, + int cast_type_repr: @type_repr_or_none ref +); + +#keyset[id] +is_pattern_sub_patterns( //dir=pattern + int id: @is_pattern ref, + int sub_pattern: @pattern_or_none ref +); + +named_patterns( //dir=pattern + unique int id: @named_pattern, + int var_decl: @var_decl_or_none ref +); + +optional_some_patterns( //dir=pattern + unique int id: @optional_some_pattern, + int sub_pattern: @pattern_or_none ref +); + +paren_patterns( //dir=pattern + unique int id: @paren_pattern, + int sub_pattern: @pattern_or_none ref +); + +tuple_patterns( //dir=pattern + unique int id: @tuple_pattern +); + +#keyset[id, index] +tuple_pattern_elements( //dir=pattern + int id: @tuple_pattern ref, + int index: int ref, + int element: @pattern_or_none ref +); + +typed_patterns( //dir=pattern + unique int id: @typed_pattern, + int sub_pattern: @pattern_or_none ref +); + +#keyset[id] +typed_pattern_type_reprs( //dir=pattern + int id: @typed_pattern ref, + int type_repr: @type_repr_or_none ref +); + +case_label_items( //dir=stmt + unique int id: @case_label_item, + int pattern: @pattern_or_none ref +); + +#keyset[id] +case_label_item_guards( //dir=stmt + int id: @case_label_item ref, + int guard: @expr_or_none ref +); + +condition_elements( //dir=stmt + unique int id: @condition_element +); + +#keyset[id] +condition_element_booleans( //dir=stmt + int id: @condition_element ref, + int boolean_: @expr_or_none ref +); + +#keyset[id] +condition_element_patterns( //dir=stmt + int id: @condition_element ref, + int pattern: @pattern_or_none ref +); + +#keyset[id] +condition_element_initializers( //dir=stmt + int id: @condition_element ref, + int initializer: @expr_or_none ref +); + +#keyset[id] +condition_element_availabilities( //dir=stmt + int id: @condition_element ref, + int availability: @availability_info_or_none ref +); + +@stmt = + @brace_stmt +| @break_stmt +| @case_stmt +| @continue_stmt +| @defer_stmt +| @fail_stmt +| @fallthrough_stmt +| @labeled_stmt +| @pound_assert_stmt +| @return_stmt +| @throw_stmt +| @yield_stmt +; + +stmt_conditions( //dir=stmt + unique int id: @stmt_condition +); + +#keyset[id, index] +stmt_condition_elements( //dir=stmt + int id: @stmt_condition ref, + int index: int ref, + int element: @condition_element_or_none ref +); + +brace_stmts( //dir=stmt + unique int id: @brace_stmt +); + +#keyset[id, index] +brace_stmt_elements( //dir=stmt + int id: @brace_stmt ref, + int index: int ref, + int element: @ast_node_or_none ref +); + +break_stmts( //dir=stmt + unique int id: @break_stmt +); + +#keyset[id] +break_stmt_target_names( //dir=stmt + int id: @break_stmt ref, + string target_name: string ref +); + +#keyset[id] +break_stmt_targets( //dir=stmt + int id: @break_stmt ref, + int target: @stmt_or_none ref +); + +case_stmts( //dir=stmt + unique int id: @case_stmt, + int body: @stmt_or_none ref +); + +#keyset[id, index] +case_stmt_labels( //dir=stmt + int id: @case_stmt ref, + int index: int ref, + int label: @case_label_item_or_none ref +); + +#keyset[id, index] +case_stmt_variables( //dir=stmt + int id: @case_stmt ref, + int index: int ref, + int variable: @var_decl_or_none ref +); + +continue_stmts( //dir=stmt + unique int id: @continue_stmt +); + +#keyset[id] +continue_stmt_target_names( //dir=stmt + int id: @continue_stmt ref, + string target_name: string ref +); + +#keyset[id] +continue_stmt_targets( //dir=stmt + int id: @continue_stmt ref, + int target: @stmt_or_none ref +); + +defer_stmts( //dir=stmt + unique int id: @defer_stmt, + int body: @brace_stmt_or_none ref +); + +fail_stmts( //dir=stmt + unique int id: @fail_stmt +); + +fallthrough_stmts( //dir=stmt + unique int id: @fallthrough_stmt, + int fallthrough_source: @case_stmt_or_none ref, + int fallthrough_dest: @case_stmt_or_none ref +); + +@labeled_stmt = + @do_catch_stmt +| @do_stmt +| @for_each_stmt +| @labeled_conditional_stmt +| @repeat_while_stmt +| @switch_stmt +; + +#keyset[id] +labeled_stmt_labels( //dir=stmt + int id: @labeled_stmt ref, + string label: string ref +); + +pound_assert_stmts( //dir=stmt + unique int id: @pound_assert_stmt, + int condition: @expr_or_none ref, + string message: string ref +); + +return_stmts( //dir=stmt + unique int id: @return_stmt +); + +#keyset[id] +return_stmt_results( //dir=stmt + int id: @return_stmt ref, + int result: @expr_or_none ref +); + +throw_stmts( //dir=stmt + unique int id: @throw_stmt, + int sub_expr: @expr_or_none ref +); + +yield_stmts( //dir=stmt + unique int id: @yield_stmt +); + +#keyset[id, index] +yield_stmt_results( //dir=stmt + int id: @yield_stmt ref, + int index: int ref, + int result: @expr_or_none ref +); + +do_catch_stmts( //dir=stmt + unique int id: @do_catch_stmt, + int body: @stmt_or_none ref +); + +#keyset[id, index] +do_catch_stmt_catches( //dir=stmt + int id: @do_catch_stmt ref, + int index: int ref, + int catch: @case_stmt_or_none ref +); + +do_stmts( //dir=stmt + unique int id: @do_stmt, + int body: @brace_stmt_or_none ref +); + +for_each_stmts( //dir=stmt + unique int id: @for_each_stmt, + int pattern: @pattern_or_none ref, + int body: @brace_stmt_or_none ref +); + +#keyset[id] +for_each_stmt_wheres( //dir=stmt + int id: @for_each_stmt ref, + int where: @expr_or_none ref +); + +#keyset[id] +for_each_stmt_iterator_vars( //dir=stmt + int id: @for_each_stmt ref, + int iteratorVar: @pattern_binding_decl_or_none ref +); + +#keyset[id] +for_each_stmt_next_calls( //dir=stmt + int id: @for_each_stmt ref, + int nextCall: @expr_or_none ref +); + +@labeled_conditional_stmt = + @guard_stmt +| @if_stmt +| @while_stmt +; + +#keyset[id] +labeled_conditional_stmts( //dir=stmt + int id: @labeled_conditional_stmt ref, + int condition: @stmt_condition_or_none ref +); + +repeat_while_stmts( //dir=stmt + unique int id: @repeat_while_stmt, + int condition: @expr_or_none ref, + int body: @stmt_or_none ref +); + +switch_stmts( //dir=stmt + unique int id: @switch_stmt, + int expr: @expr_or_none ref +); + +#keyset[id, index] +switch_stmt_cases( //dir=stmt + int id: @switch_stmt ref, + int index: int ref, + int case_: @case_stmt_or_none ref +); + +guard_stmts( //dir=stmt + unique int id: @guard_stmt, + int body: @brace_stmt_or_none ref +); + +if_stmts( //dir=stmt + unique int id: @if_stmt, + int then: @stmt_or_none ref +); + +#keyset[id] +if_stmt_elses( //dir=stmt + int id: @if_stmt ref, + int else: @stmt_or_none ref +); + +while_stmts( //dir=stmt + unique int id: @while_stmt, + int body: @stmt_or_none ref +); + +@type = + @any_function_type +| @any_generic_type +| @any_metatype_type +| @builtin_type +| @dependent_member_type +| @dynamic_self_type +| @error_type +| @existential_type +| @in_out_type +| @l_value_type +| @module_type +| @parameterized_protocol_type +| @protocol_composition_type +| @reference_storage_type +| @substitutable_type +| @sugar_type +| @tuple_type +| @unresolved_type +; + +#keyset[id] +types( //dir=type + int id: @type ref, + string name: string ref, + int canonical_type: @type_or_none ref +); + +type_reprs( //dir=type + unique int id: @type_repr, + int type_: @type_or_none ref +); + +@any_function_type = + @function_type +| @generic_function_type +; + +#keyset[id] +any_function_types( //dir=type + int id: @any_function_type ref, + int result: @type_or_none ref +); + +#keyset[id, index] +any_function_type_param_types( //dir=type + int id: @any_function_type ref, + int index: int ref, + int param_type: @type_or_none ref +); + +#keyset[id] +any_function_type_is_throwing( //dir=type + int id: @any_function_type ref +); + +#keyset[id] +any_function_type_is_async( //dir=type + int id: @any_function_type ref +); + +@any_generic_type = + @nominal_or_bound_generic_nominal_type +| @unbound_generic_type +; + +#keyset[id] +any_generic_types( //dir=type + int id: @any_generic_type ref, + int declaration: @generic_type_decl_or_none ref +); + +#keyset[id] +any_generic_type_parents( //dir=type + int id: @any_generic_type ref, + int parent: @type_or_none ref +); + +@any_metatype_type = + @existential_metatype_type +| @metatype_type +; + +@builtin_type = + @any_builtin_integer_type +| @builtin_bridge_object_type +| @builtin_default_actor_storage_type +| @builtin_executor_type +| @builtin_float_type +| @builtin_job_type +| @builtin_native_object_type +| @builtin_raw_pointer_type +| @builtin_raw_unsafe_continuation_type +| @builtin_unsafe_value_buffer_type +| @builtin_vector_type +; + +dependent_member_types( //dir=type + unique int id: @dependent_member_type, + int base_type: @type_or_none ref, + int associated_type_decl: @associated_type_decl_or_none ref +); + +dynamic_self_types( //dir=type + unique int id: @dynamic_self_type, + int static_self_type: @type_or_none ref +); + +error_types( //dir=type + unique int id: @error_type +); + +existential_types( //dir=type + unique int id: @existential_type, + int constraint: @type_or_none ref +); + +in_out_types( //dir=type + unique int id: @in_out_type, + int object_type: @type_or_none ref +); + +l_value_types( //dir=type + unique int id: @l_value_type, + int object_type: @type_or_none ref +); + +module_types( //dir=type + unique int id: @module_type, + int module: @module_decl_or_none ref +); + +parameterized_protocol_types( //dir=type + unique int id: @parameterized_protocol_type, + int base: @protocol_type_or_none ref +); + +#keyset[id, index] +parameterized_protocol_type_args( //dir=type + int id: @parameterized_protocol_type ref, + int index: int ref, + int arg: @type_or_none ref +); + +protocol_composition_types( //dir=type + unique int id: @protocol_composition_type +); + +#keyset[id, index] +protocol_composition_type_members( //dir=type + int id: @protocol_composition_type ref, + int index: int ref, + int member: @type_or_none ref +); + +@reference_storage_type = + @unmanaged_storage_type +| @unowned_storage_type +| @weak_storage_type +; + +#keyset[id] +reference_storage_types( //dir=type + int id: @reference_storage_type ref, + int referent_type: @type_or_none ref +); + +@substitutable_type = + @archetype_type +| @generic_type_param_type +; + +@sugar_type = + @paren_type +| @syntax_sugar_type +| @type_alias_type +; + +tuple_types( //dir=type + unique int id: @tuple_type +); + +#keyset[id, index] +tuple_type_types( //dir=type + int id: @tuple_type ref, + int index: int ref, + int type_: @type_or_none ref +); + +#keyset[id, index] +tuple_type_names( //dir=type + int id: @tuple_type ref, + int index: int ref, + string name: string ref +); + +unresolved_types( //dir=type + unique int id: @unresolved_type +); + +@any_builtin_integer_type = + @builtin_integer_literal_type +| @builtin_integer_type +; + +@archetype_type = + @opaque_type_archetype_type +| @opened_archetype_type +| @primary_archetype_type +; + +#keyset[id] +archetype_types( //dir=type + int id: @archetype_type ref, + int interface_type: @type_or_none ref +); + +#keyset[id] +archetype_type_superclasses( //dir=type + int id: @archetype_type ref, + int superclass: @type_or_none ref +); + +#keyset[id, index] +archetype_type_protocols( //dir=type + int id: @archetype_type ref, + int index: int ref, + int protocol: @protocol_decl_or_none ref +); + +builtin_bridge_object_types( //dir=type + unique int id: @builtin_bridge_object_type +); + +builtin_default_actor_storage_types( //dir=type + unique int id: @builtin_default_actor_storage_type +); + +builtin_executor_types( //dir=type + unique int id: @builtin_executor_type +); + +builtin_float_types( //dir=type + unique int id: @builtin_float_type +); + +builtin_job_types( //dir=type + unique int id: @builtin_job_type +); + +builtin_native_object_types( //dir=type + unique int id: @builtin_native_object_type +); + +builtin_raw_pointer_types( //dir=type + unique int id: @builtin_raw_pointer_type +); + +builtin_raw_unsafe_continuation_types( //dir=type + unique int id: @builtin_raw_unsafe_continuation_type +); + +builtin_unsafe_value_buffer_types( //dir=type + unique int id: @builtin_unsafe_value_buffer_type +); + +builtin_vector_types( //dir=type + unique int id: @builtin_vector_type +); + +existential_metatype_types( //dir=type + unique int id: @existential_metatype_type +); + +function_types( //dir=type + unique int id: @function_type +); + +generic_function_types( //dir=type + unique int id: @generic_function_type +); + +#keyset[id, index] +generic_function_type_generic_params( //dir=type + int id: @generic_function_type ref, + int index: int ref, + int generic_param: @generic_type_param_type_or_none ref +); + +generic_type_param_types( //dir=type + unique int id: @generic_type_param_type +); + +metatype_types( //dir=type + unique int id: @metatype_type +); + +@nominal_or_bound_generic_nominal_type = + @bound_generic_type +| @nominal_type +; + +paren_types( //dir=type + unique int id: @paren_type, + int type_: @type_or_none ref +); + +@syntax_sugar_type = + @dictionary_type +| @unary_syntax_sugar_type +; + +type_alias_types( //dir=type + unique int id: @type_alias_type, + int decl: @type_alias_decl_or_none ref +); + +unbound_generic_types( //dir=type + unique int id: @unbound_generic_type +); + +unmanaged_storage_types( //dir=type + unique int id: @unmanaged_storage_type +); + +unowned_storage_types( //dir=type + unique int id: @unowned_storage_type +); + +weak_storage_types( //dir=type + unique int id: @weak_storage_type +); + +@bound_generic_type = + @bound_generic_class_type +| @bound_generic_enum_type +| @bound_generic_struct_type +; + +#keyset[id, index] +bound_generic_type_arg_types( //dir=type + int id: @bound_generic_type ref, + int index: int ref, + int arg_type: @type_or_none ref +); + +builtin_integer_literal_types( //dir=type + unique int id: @builtin_integer_literal_type +); + +builtin_integer_types( //dir=type + unique int id: @builtin_integer_type +); + +#keyset[id] +builtin_integer_type_widths( //dir=type + int id: @builtin_integer_type ref, + int width: int ref +); + +dictionary_types( //dir=type + unique int id: @dictionary_type, + int key_type: @type_or_none ref, + int value_type: @type_or_none ref +); + +@nominal_type = + @class_type +| @enum_type +| @protocol_type +| @struct_type +; + +opaque_type_archetype_types( //dir=type + unique int id: @opaque_type_archetype_type, + int declaration: @opaque_type_decl_or_none ref +); + +opened_archetype_types( //dir=type + unique int id: @opened_archetype_type +); + +primary_archetype_types( //dir=type + unique int id: @primary_archetype_type +); + +@unary_syntax_sugar_type = + @array_slice_type +| @optional_type +| @variadic_sequence_type +; + +#keyset[id] +unary_syntax_sugar_types( //dir=type + int id: @unary_syntax_sugar_type ref, + int base_type: @type_or_none ref +); + +array_slice_types( //dir=type + unique int id: @array_slice_type +); + +bound_generic_class_types( //dir=type + unique int id: @bound_generic_class_type +); + +bound_generic_enum_types( //dir=type + unique int id: @bound_generic_enum_type +); + +bound_generic_struct_types( //dir=type + unique int id: @bound_generic_struct_type +); + +class_types( //dir=type + unique int id: @class_type +); + +enum_types( //dir=type + unique int id: @enum_type +); + +optional_types( //dir=type + unique int id: @optional_type +); + +protocol_types( //dir=type + unique int id: @protocol_type +); + +struct_types( //dir=type + unique int id: @struct_type +); + +variadic_sequence_types( //dir=type + unique int id: @variadic_sequence_type +); + +@accessor_or_none = + @accessor +| @unspecified_element +; + +@argument_or_none = + @argument +| @unspecified_element +; + +@associated_type_decl_or_none = + @associated_type_decl +| @unspecified_element +; + +@ast_node_or_none = + @ast_node +| @unspecified_element +; + +@availability_info_or_none = + @availability_info +| @unspecified_element +; + +@availability_spec_or_none = + @availability_spec +| @unspecified_element +; + +@brace_stmt_or_none = + @brace_stmt +| @unspecified_element +; + +@captured_decl_or_none = + @captured_decl +| @unspecified_element +; + +@case_label_item_or_none = + @case_label_item +| @unspecified_element +; + +@case_stmt_or_none = + @case_stmt +| @unspecified_element +; + +@closure_expr_or_none = + @closure_expr +| @unspecified_element +; + +@condition_element_or_none = + @condition_element +| @unspecified_element +; + +@decl_or_none = + @decl +| @unspecified_element +; + +@enum_element_decl_or_none = + @enum_element_decl +| @unspecified_element +; + +@expr_or_none = + @expr +| @unspecified_element +; + +@file_or_none = + @file +| @unspecified_element +; + +@function_or_none = + @function +| @unspecified_element +; + +@generic_type_decl_or_none = + @generic_type_decl +| @unspecified_element +; + +@generic_type_param_decl_or_none = + @generic_type_param_decl +| @unspecified_element +; + +@generic_type_param_type_or_none = + @generic_type_param_type +| @unspecified_element +; + +@initializer_or_none = + @initializer +| @unspecified_element +; + +@key_path_component_or_none = + @key_path_component +| @unspecified_element +; + +@location_or_none = + @location +| @unspecified_element +; + +@module_decl_or_none = + @module_decl +| @unspecified_element +; + +@nominal_type_decl_or_none = + @nominal_type_decl +| @unspecified_element +; + +@opaque_type_decl_or_none = + @opaque_type_decl +| @unspecified_element +; + +@opaque_value_expr_or_none = + @opaque_value_expr +| @unspecified_element +; + +@param_decl_or_none = + @param_decl +| @unspecified_element +; + +@pattern_or_none = + @pattern +| @unspecified_element +; + +@pattern_binding_decl_or_none = + @pattern_binding_decl +| @unspecified_element +; + +@precedence_group_decl_or_none = + @precedence_group_decl +| @unspecified_element +; + +@protocol_decl_or_none = + @protocol_decl +| @unspecified_element +; + +@protocol_type_or_none = + @protocol_type +| @unspecified_element +; + +@stmt_or_none = + @stmt +| @unspecified_element +; + +@stmt_condition_or_none = + @stmt_condition +| @unspecified_element +; + +@string_literal_expr_or_none = + @string_literal_expr +| @unspecified_element +; + +@tap_expr_or_none = + @tap_expr +| @unspecified_element +; + +@type_or_none = + @type +| @unspecified_element +; + +@type_alias_decl_or_none = + @type_alias_decl +| @unspecified_element +; + +@type_repr_or_none = + @type_repr +| @unspecified_element +; + +@value_decl_or_none = + @unspecified_element +| @value_decl +; + +@var_decl_or_none = + @unspecified_element +| @var_decl +; diff --git a/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/swift.dbscheme b/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/swift.dbscheme new file mode 100644 index 00000000000..7c17e1f4b2d --- /dev/null +++ b/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/swift.dbscheme @@ -0,0 +1,2636 @@ +// generated by codegen/codegen.py + +// from prefix.dbscheme +/** + * The source location of the snapshot. + */ +sourceLocationPrefix( + string prefix: string ref +); + + +// from schema.py + +@element = + @callable +| @file +| @generic_context +| @locatable +| @location +| @type +; + +#keyset[id] +element_is_unknown( + int id: @element ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_names( + int id: @callable ref, + string name: string ref +); + +#keyset[id] +callable_self_params( + int id: @callable ref, + int self_param: @param_decl_or_none ref +); + +#keyset[id, index] +callable_params( + int id: @callable ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +#keyset[id] +callable_bodies( + int id: @callable ref, + int body: @brace_stmt_or_none ref +); + +#keyset[id, index] +callable_captures( + int id: @callable ref, + int index: int ref, + int capture: @captured_decl_or_none ref +); + +@file = + @db_file +; + +#keyset[id] +files( + int id: @file ref, + string name: string ref +); + +#keyset[id] +file_is_successfully_extracted( + int id: @file ref +); + +@locatable = + @argument +| @ast_node +| @comment +| @diagnostics +| @error_element +; + +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_or_none ref +); + +@location = + @db_location +; + +#keyset[id] +locations( + int id: @location ref, + int file: @file_or_none ref, + int start_line: int ref, + int start_column: int ref, + int end_line: int ref, + int end_column: int ref +); + +@ast_node = + @availability_info +| @availability_spec +| @case_label_item +| @condition_element +| @decl +| @expr +| @key_path_component +| @pattern +| @stmt +| @stmt_condition +| @type_repr +; + +comments( + unique int id: @comment, + string text: string ref +); + +db_files( + unique int id: @db_file +); + +db_locations( + unique int id: @db_location +); + +diagnostics( + unique int id: @diagnostics, + string text: string ref, + int kind: int ref +); + +@error_element = + @error_expr +| @error_type +| @overloaded_decl_ref_expr +| @unresolved_decl_ref_expr +| @unresolved_dot_expr +| @unresolved_member_chain_result_expr +| @unresolved_member_expr +| @unresolved_pattern_expr +| @unresolved_specialize_expr +| @unresolved_type +| @unresolved_type_conversion_expr +| @unspecified_element +; + +availability_infos( + unique int id: @availability_info +); + +#keyset[id] +availability_info_is_unavailable( + int id: @availability_info ref +); + +#keyset[id, index] +availability_info_specs( + int id: @availability_info ref, + int index: int ref, + int spec: @availability_spec_or_none ref +); + +@availability_spec = + @other_availability_spec +| @platform_version_availability_spec +; + +key_path_components( + unique int id: @key_path_component, + int kind: int ref, + int component_type: @type_or_none ref +); + +#keyset[id, index] +key_path_component_subscript_arguments( + int id: @key_path_component ref, + int index: int ref, + int subscript_argument: @argument_or_none ref +); + +#keyset[id] +key_path_component_tuple_indices( + int id: @key_path_component ref, + int tuple_index: int ref +); + +#keyset[id] +key_path_component_decl_refs( + int id: @key_path_component ref, + int decl_ref: @value_decl_or_none ref +); + +unspecified_elements( + unique int id: @unspecified_element, + string property: string ref, + string error: string ref +); + +#keyset[id] +unspecified_element_parents( + int id: @unspecified_element ref, + int parent: @element ref +); + +#keyset[id] +unspecified_element_indices( + int id: @unspecified_element ref, + int index: int ref +); + +#keyset[id, index] +unspecified_element_children( + int id: @unspecified_element ref, + int index: int ref, + int child: @ast_node_or_none ref +); + +other_availability_specs( + unique int id: @other_availability_spec +); + +platform_version_availability_specs( + unique int id: @platform_version_availability_spec, + string platform: string ref, + string version: string ref +); + +@decl = + @captured_decl +| @enum_case_decl +| @extension_decl +| @if_config_decl +| @import_decl +| @missing_member_decl +| @operator_decl +| @pattern_binding_decl +| @pound_diagnostic_decl +| @precedence_group_decl +| @top_level_code_decl +| @value_decl +; + +#keyset[id] +decls( //dir=decl + int id: @decl ref, + int module: @module_decl_or_none ref +); + +#keyset[id, index] +decl_members( //dir=decl + int id: @decl ref, + int index: int ref, + int member: @decl_or_none ref +); + +@generic_context = + @extension_decl +| @function +| @generic_type_decl +| @subscript_decl +; + +#keyset[id, index] +generic_context_generic_type_params( //dir=decl + int id: @generic_context ref, + int index: int ref, + int generic_type_param: @generic_type_param_decl_or_none ref +); + +captured_decls( //dir=decl + unique int id: @captured_decl, + int decl: @value_decl_or_none ref +); + +#keyset[id] +captured_decl_is_direct( //dir=decl + int id: @captured_decl ref +); + +#keyset[id] +captured_decl_is_escaping( //dir=decl + int id: @captured_decl ref +); + +enum_case_decls( //dir=decl + unique int id: @enum_case_decl +); + +#keyset[id, index] +enum_case_decl_elements( //dir=decl + int id: @enum_case_decl ref, + int index: int ref, + int element: @enum_element_decl_or_none ref +); + +extension_decls( //dir=decl + unique int id: @extension_decl, + int extended_type_decl: @nominal_type_decl_or_none ref +); + +#keyset[id, index] +extension_decl_protocols( //dir=decl + int id: @extension_decl ref, + int index: int ref, + int protocol: @protocol_decl_or_none ref +); + +if_config_decls( //dir=decl + unique int id: @if_config_decl +); + +#keyset[id, index] +if_config_decl_active_elements( //dir=decl + int id: @if_config_decl ref, + int index: int ref, + int active_element: @ast_node_or_none ref +); + +import_decls( //dir=decl + unique int id: @import_decl +); + +#keyset[id] +import_decl_is_exported( //dir=decl + int id: @import_decl ref +); + +#keyset[id] +import_decl_imported_modules( //dir=decl + int id: @import_decl ref, + int imported_module: @module_decl_or_none ref +); + +#keyset[id, index] +import_decl_declarations( //dir=decl + int id: @import_decl ref, + int index: int ref, + int declaration: @value_decl_or_none ref +); + +missing_member_decls( //dir=decl + unique int id: @missing_member_decl, + string name: string ref +); + +@operator_decl = + @infix_operator_decl +| @postfix_operator_decl +| @prefix_operator_decl +; + +#keyset[id] +operator_decls( //dir=decl + int id: @operator_decl ref, + string name: string ref +); + +pattern_binding_decls( //dir=decl + unique int id: @pattern_binding_decl +); + +#keyset[id, index] +pattern_binding_decl_inits( //dir=decl + int id: @pattern_binding_decl ref, + int index: int ref, + int init: @expr_or_none ref +); + +#keyset[id, index] +pattern_binding_decl_patterns( //dir=decl + int id: @pattern_binding_decl ref, + int index: int ref, + int pattern: @pattern_or_none ref +); + +pound_diagnostic_decls( //dir=decl + unique int id: @pound_diagnostic_decl, + int kind: int ref, + int message: @string_literal_expr_or_none ref +); + +precedence_group_decls( //dir=decl + unique int id: @precedence_group_decl +); + +top_level_code_decls( //dir=decl + unique int id: @top_level_code_decl, + int body: @brace_stmt_or_none ref +); + +@value_decl = + @abstract_storage_decl +| @enum_element_decl +| @function +| @type_decl +; + +#keyset[id] +value_decls( //dir=decl + int id: @value_decl ref, + int interface_type: @type_or_none ref +); + +@abstract_storage_decl = + @subscript_decl +| @var_decl +; + +#keyset[id, index] +abstract_storage_decl_accessors( //dir=decl + int id: @abstract_storage_decl ref, + int index: int ref, + int accessor: @accessor_or_none ref +); + +enum_element_decls( //dir=decl + unique int id: @enum_element_decl, + string name: string ref +); + +#keyset[id, index] +enum_element_decl_params( //dir=decl + int id: @enum_element_decl ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +@function = + @accessor_or_named_function +| @deinitializer +| @initializer +; + +infix_operator_decls( //dir=decl + unique int id: @infix_operator_decl +); + +#keyset[id] +infix_operator_decl_precedence_groups( //dir=decl + int id: @infix_operator_decl ref, + int precedence_group: @precedence_group_decl_or_none ref +); + +postfix_operator_decls( //dir=decl + unique int id: @postfix_operator_decl +); + +prefix_operator_decls( //dir=decl + unique int id: @prefix_operator_decl +); + +@type_decl = + @abstract_type_param_decl +| @generic_type_decl +| @module_decl +; + +#keyset[id] +type_decls( //dir=decl + int id: @type_decl ref, + string name: string ref +); + +#keyset[id, index] +type_decl_inherited_types( //dir=decl + int id: @type_decl ref, + int index: int ref, + int inherited_type: @type_or_none ref +); + +@abstract_type_param_decl = + @associated_type_decl +| @generic_type_param_decl +; + +@accessor_or_named_function = + @accessor +| @named_function +; + +deinitializers( //dir=decl + unique int id: @deinitializer +); + +@generic_type_decl = + @nominal_type_decl +| @opaque_type_decl +| @type_alias_decl +; + +initializers( //dir=decl + unique int id: @initializer +); + +module_decls( //dir=decl + unique int id: @module_decl +); + +#keyset[id] +module_decl_is_builtin_module( //dir=decl + int id: @module_decl ref +); + +#keyset[id] +module_decl_is_system_module( //dir=decl + int id: @module_decl ref +); + +module_decl_imported_modules( //dir=decl + int id: @module_decl ref, + int imported_module: @module_decl_or_none ref +); + +module_decl_exported_modules( //dir=decl + int id: @module_decl ref, + int exported_module: @module_decl_or_none ref +); + +subscript_decls( //dir=decl + unique int id: @subscript_decl, + int element_type: @type_or_none ref +); + +#keyset[id, index] +subscript_decl_params( //dir=decl + int id: @subscript_decl ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +@var_decl = + @concrete_var_decl +| @param_decl +; + +#keyset[id] +var_decls( //dir=decl + int id: @var_decl ref, + string name: string ref, + int type_: @type_or_none ref +); + +#keyset[id] +var_decl_attached_property_wrapper_types( //dir=decl + int id: @var_decl ref, + int attached_property_wrapper_type: @type_or_none ref +); + +#keyset[id] +var_decl_parent_patterns( //dir=decl + int id: @var_decl ref, + int parent_pattern: @pattern_or_none ref +); + +#keyset[id] +var_decl_parent_initializers( //dir=decl + int id: @var_decl ref, + int parent_initializer: @expr_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_backing_var_bindings( //dir=decl + int id: @var_decl ref, + int property_wrapper_backing_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_backing_vars( //dir=decl + int id: @var_decl ref, + int property_wrapper_backing_var: @var_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_projection_var_bindings( //dir=decl + int id: @var_decl ref, + int property_wrapper_projection_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_projection_vars( //dir=decl + int id: @var_decl ref, + int property_wrapper_projection_var: @var_decl_or_none ref +); + +accessors( //dir=decl + unique int id: @accessor +); + +#keyset[id] +accessor_is_getter( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_setter( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_will_set( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_did_set( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_read( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_modify( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_unsafe_address( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_unsafe_mutable_address( //dir=decl + int id: @accessor ref +); + +associated_type_decls( //dir=decl + unique int id: @associated_type_decl +); + +concrete_var_decls( //dir=decl + unique int id: @concrete_var_decl, + int introducer_int: int ref +); + +generic_type_param_decls( //dir=decl + unique int id: @generic_type_param_decl +); + +named_functions( //dir=decl + unique int id: @named_function +); + +@nominal_type_decl = + @class_decl +| @enum_decl +| @protocol_decl +| @struct_decl +; + +#keyset[id] +nominal_type_decls( //dir=decl + int id: @nominal_type_decl ref, + int type_: @type_or_none ref +); + +opaque_type_decls( //dir=decl + unique int id: @opaque_type_decl, + int naming_declaration: @value_decl_or_none ref +); + +#keyset[id, index] +opaque_type_decl_opaque_generic_params( //dir=decl + int id: @opaque_type_decl ref, + int index: int ref, + int opaque_generic_param: @generic_type_param_type_or_none ref +); + +param_decls( //dir=decl + unique int id: @param_decl +); + +#keyset[id] +param_decl_is_inout( //dir=decl + int id: @param_decl ref +); + +#keyset[id] +param_decl_property_wrapper_local_wrapped_var_bindings( //dir=decl + int id: @param_decl ref, + int property_wrapper_local_wrapped_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +param_decl_property_wrapper_local_wrapped_vars( //dir=decl + int id: @param_decl ref, + int property_wrapper_local_wrapped_var: @var_decl_or_none ref +); + +type_alias_decls( //dir=decl + unique int id: @type_alias_decl, + int aliased_type: @type_or_none ref +); + +class_decls( //dir=decl + unique int id: @class_decl +); + +enum_decls( //dir=decl + unique int id: @enum_decl +); + +protocol_decls( //dir=decl + unique int id: @protocol_decl +); + +struct_decls( //dir=decl + unique int id: @struct_decl +); + +arguments( //dir=expr + unique int id: @argument, + string label: string ref, + int expr: @expr_or_none ref +); + +@expr = + @any_try_expr +| @applied_property_wrapper_expr +| @apply_expr +| @assign_expr +| @bind_optional_expr +| @capture_list_expr +| @closure_expr +| @collection_expr +| @decl_ref_expr +| @default_argument_expr +| @discard_assignment_expr +| @dot_syntax_base_ignored_expr +| @dynamic_type_expr +| @enum_is_case_expr +| @error_expr +| @explicit_cast_expr +| @force_value_expr +| @identity_expr +| @if_expr +| @implicit_conversion_expr +| @in_out_expr +| @key_path_application_expr +| @key_path_dot_expr +| @key_path_expr +| @lazy_initialization_expr +| @literal_expr +| @lookup_expr +| @make_temporarily_escapable_expr +| @obj_c_selector_expr +| @one_way_expr +| @opaque_value_expr +| @open_existential_expr +| @optional_evaluation_expr +| @other_initializer_ref_expr +| @overloaded_decl_ref_expr +| @property_wrapper_value_placeholder_expr +| @rebind_self_in_initializer_expr +| @sequence_expr +| @super_ref_expr +| @tap_expr +| @tuple_element_expr +| @tuple_expr +| @type_expr +| @unresolved_decl_ref_expr +| @unresolved_dot_expr +| @unresolved_member_expr +| @unresolved_pattern_expr +| @unresolved_specialize_expr +| @vararg_expansion_expr +; + +#keyset[id] +expr_types( //dir=expr + int id: @expr ref, + int type_: @type_or_none ref +); + +@any_try_expr = + @force_try_expr +| @optional_try_expr +| @try_expr +; + +#keyset[id] +any_try_exprs( //dir=expr + int id: @any_try_expr ref, + int sub_expr: @expr_or_none ref +); + +applied_property_wrapper_exprs( //dir=expr + unique int id: @applied_property_wrapper_expr, + int kind: int ref, + int value: @expr_or_none ref, + int param: @param_decl_or_none ref +); + +@apply_expr = + @binary_expr +| @call_expr +| @postfix_unary_expr +| @prefix_unary_expr +| @self_apply_expr +; + +#keyset[id] +apply_exprs( //dir=expr + int id: @apply_expr ref, + int function: @expr_or_none ref +); + +#keyset[id, index] +apply_expr_arguments( //dir=expr + int id: @apply_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +assign_exprs( //dir=expr + unique int id: @assign_expr, + int dest: @expr_or_none ref, + int source: @expr_or_none ref +); + +bind_optional_exprs( //dir=expr + unique int id: @bind_optional_expr, + int sub_expr: @expr_or_none ref +); + +capture_list_exprs( //dir=expr + unique int id: @capture_list_expr, + int closure_body: @closure_expr_or_none ref +); + +#keyset[id, index] +capture_list_expr_binding_decls( //dir=expr + int id: @capture_list_expr ref, + int index: int ref, + int binding_decl: @pattern_binding_decl_or_none ref +); + +@closure_expr = + @auto_closure_expr +| @explicit_closure_expr +; + +@collection_expr = + @array_expr +| @dictionary_expr +; + +decl_ref_exprs( //dir=expr + unique int id: @decl_ref_expr, + int decl: @decl_or_none ref +); + +#keyset[id, index] +decl_ref_expr_replacement_types( //dir=expr + int id: @decl_ref_expr ref, + int index: int ref, + int replacement_type: @type_or_none ref +); + +#keyset[id] +decl_ref_expr_has_direct_to_storage_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_ordinary_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_distributed_thunk_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +default_argument_exprs( //dir=expr + unique int id: @default_argument_expr, + int param_decl: @param_decl_or_none ref, + int param_index: int ref +); + +#keyset[id] +default_argument_expr_caller_side_defaults( //dir=expr + int id: @default_argument_expr ref, + int caller_side_default: @expr_or_none ref +); + +discard_assignment_exprs( //dir=expr + unique int id: @discard_assignment_expr +); + +dot_syntax_base_ignored_exprs( //dir=expr + unique int id: @dot_syntax_base_ignored_expr, + int qualifier: @expr_or_none ref, + int sub_expr: @expr_or_none ref +); + +dynamic_type_exprs( //dir=expr + unique int id: @dynamic_type_expr, + int base: @expr_or_none ref +); + +enum_is_case_exprs( //dir=expr + unique int id: @enum_is_case_expr, + int sub_expr: @expr_or_none ref, + int element: @enum_element_decl_or_none ref +); + +error_exprs( //dir=expr + unique int id: @error_expr +); + +@explicit_cast_expr = + @checked_cast_expr +| @coerce_expr +; + +#keyset[id] +explicit_cast_exprs( //dir=expr + int id: @explicit_cast_expr ref, + int sub_expr: @expr_or_none ref +); + +force_value_exprs( //dir=expr + unique int id: @force_value_expr, + int sub_expr: @expr_or_none ref +); + +@identity_expr = + @await_expr +| @dot_self_expr +| @paren_expr +| @unresolved_member_chain_result_expr +; + +#keyset[id] +identity_exprs( //dir=expr + int id: @identity_expr ref, + int sub_expr: @expr_or_none ref +); + +if_exprs( //dir=expr + unique int id: @if_expr, + int condition: @expr_or_none ref, + int then_expr: @expr_or_none ref, + int else_expr: @expr_or_none ref +); + +@implicit_conversion_expr = + @abi_safe_conversion_expr +| @any_hashable_erasure_expr +| @archetype_to_super_expr +| @array_to_pointer_expr +| @bridge_from_obj_c_expr +| @bridge_to_obj_c_expr +| @class_metatype_to_object_expr +| @collection_upcast_conversion_expr +| @conditional_bridge_from_obj_c_expr +| @covariant_function_conversion_expr +| @covariant_return_conversion_expr +| @derived_to_base_expr +| @destructure_tuple_expr +| @differentiable_function_expr +| @differentiable_function_extract_original_expr +| @erasure_expr +| @existential_metatype_to_object_expr +| @foreign_object_conversion_expr +| @function_conversion_expr +| @in_out_to_pointer_expr +| @inject_into_optional_expr +| @linear_function_expr +| @linear_function_extract_original_expr +| @linear_to_differentiable_function_expr +| @load_expr +| @metatype_conversion_expr +| @pointer_to_pointer_expr +| @protocol_metatype_to_object_expr +| @string_to_pointer_expr +| @underlying_to_opaque_expr +| @unevaluated_instance_expr +| @unresolved_type_conversion_expr +; + +#keyset[id] +implicit_conversion_exprs( //dir=expr + int id: @implicit_conversion_expr ref, + int sub_expr: @expr_or_none ref +); + +in_out_exprs( //dir=expr + unique int id: @in_out_expr, + int sub_expr: @expr_or_none ref +); + +key_path_application_exprs( //dir=expr + unique int id: @key_path_application_expr, + int base: @expr_or_none ref, + int key_path: @expr_or_none ref +); + +key_path_dot_exprs( //dir=expr + unique int id: @key_path_dot_expr +); + +key_path_exprs( //dir=expr + unique int id: @key_path_expr +); + +#keyset[id] +key_path_expr_roots( //dir=expr + int id: @key_path_expr ref, + int root: @type_repr_or_none ref +); + +#keyset[id, index] +key_path_expr_components( //dir=expr + int id: @key_path_expr ref, + int index: int ref, + int component: @key_path_component_or_none ref +); + +lazy_initialization_exprs( //dir=expr + unique int id: @lazy_initialization_expr, + int sub_expr: @expr_or_none ref +); + +@literal_expr = + @builtin_literal_expr +| @interpolated_string_literal_expr +| @nil_literal_expr +| @object_literal_expr +| @regex_literal_expr +; + +@lookup_expr = + @dynamic_lookup_expr +| @member_ref_expr +| @subscript_expr +; + +#keyset[id] +lookup_exprs( //dir=expr + int id: @lookup_expr ref, + int base: @expr_or_none ref +); + +#keyset[id] +lookup_expr_members( //dir=expr + int id: @lookup_expr ref, + int member: @decl_or_none ref +); + +make_temporarily_escapable_exprs( //dir=expr + unique int id: @make_temporarily_escapable_expr, + int escaping_closure: @opaque_value_expr_or_none ref, + int nonescaping_closure: @expr_or_none ref, + int sub_expr: @expr_or_none ref +); + +obj_c_selector_exprs( //dir=expr + unique int id: @obj_c_selector_expr, + int sub_expr: @expr_or_none ref, + int method: @function_or_none ref +); + +one_way_exprs( //dir=expr + unique int id: @one_way_expr, + int sub_expr: @expr_or_none ref +); + +opaque_value_exprs( //dir=expr + unique int id: @opaque_value_expr +); + +open_existential_exprs( //dir=expr + unique int id: @open_existential_expr, + int sub_expr: @expr_or_none ref, + int existential: @expr_or_none ref, + int opaque_expr: @opaque_value_expr_or_none ref +); + +optional_evaluation_exprs( //dir=expr + unique int id: @optional_evaluation_expr, + int sub_expr: @expr_or_none ref +); + +other_initializer_ref_exprs( //dir=expr + unique int id: @other_initializer_ref_expr, + int initializer: @initializer_or_none ref +); + +overloaded_decl_ref_exprs( //dir=expr + unique int id: @overloaded_decl_ref_expr +); + +#keyset[id, index] +overloaded_decl_ref_expr_possible_declarations( //dir=expr + int id: @overloaded_decl_ref_expr ref, + int index: int ref, + int possible_declaration: @value_decl_or_none ref +); + +property_wrapper_value_placeholder_exprs( //dir=expr + unique int id: @property_wrapper_value_placeholder_expr, + int placeholder: @opaque_value_expr_or_none ref +); + +#keyset[id] +property_wrapper_value_placeholder_expr_wrapped_values( //dir=expr + int id: @property_wrapper_value_placeholder_expr ref, + int wrapped_value: @expr_or_none ref +); + +rebind_self_in_initializer_exprs( //dir=expr + unique int id: @rebind_self_in_initializer_expr, + int sub_expr: @expr_or_none ref, + int self: @var_decl_or_none ref +); + +sequence_exprs( //dir=expr + unique int id: @sequence_expr +); + +#keyset[id, index] +sequence_expr_elements( //dir=expr + int id: @sequence_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +super_ref_exprs( //dir=expr + unique int id: @super_ref_expr, + int self: @var_decl_or_none ref +); + +tap_exprs( //dir=expr + unique int id: @tap_expr, + int body: @brace_stmt_or_none ref, + int var: @var_decl_or_none ref +); + +#keyset[id] +tap_expr_sub_exprs( //dir=expr + int id: @tap_expr ref, + int sub_expr: @expr_or_none ref +); + +tuple_element_exprs( //dir=expr + unique int id: @tuple_element_expr, + int sub_expr: @expr_or_none ref, + int index: int ref +); + +tuple_exprs( //dir=expr + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_elements( //dir=expr + int id: @tuple_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +type_exprs( //dir=expr + unique int id: @type_expr +); + +#keyset[id] +type_expr_type_reprs( //dir=expr + int id: @type_expr ref, + int type_repr: @type_repr_or_none ref +); + +unresolved_decl_ref_exprs( //dir=expr + unique int id: @unresolved_decl_ref_expr +); + +#keyset[id] +unresolved_decl_ref_expr_names( //dir=expr + int id: @unresolved_decl_ref_expr ref, + string name: string ref +); + +unresolved_dot_exprs( //dir=expr + unique int id: @unresolved_dot_expr, + int base: @expr_or_none ref, + string name: string ref +); + +unresolved_member_exprs( //dir=expr + unique int id: @unresolved_member_expr, + string name: string ref +); + +unresolved_pattern_exprs( //dir=expr + unique int id: @unresolved_pattern_expr, + int sub_pattern: @pattern_or_none ref +); + +unresolved_specialize_exprs( //dir=expr + unique int id: @unresolved_specialize_expr, + int sub_expr: @expr_or_none ref +); + +vararg_expansion_exprs( //dir=expr + unique int id: @vararg_expansion_expr, + int sub_expr: @expr_or_none ref +); + +abi_safe_conversion_exprs( //dir=expr + unique int id: @abi_safe_conversion_expr +); + +any_hashable_erasure_exprs( //dir=expr + unique int id: @any_hashable_erasure_expr +); + +archetype_to_super_exprs( //dir=expr + unique int id: @archetype_to_super_expr +); + +array_exprs( //dir=expr + unique int id: @array_expr +); + +#keyset[id, index] +array_expr_elements( //dir=expr + int id: @array_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +array_to_pointer_exprs( //dir=expr + unique int id: @array_to_pointer_expr +); + +auto_closure_exprs( //dir=expr + unique int id: @auto_closure_expr +); + +await_exprs( //dir=expr + unique int id: @await_expr +); + +binary_exprs( //dir=expr + unique int id: @binary_expr +); + +bridge_from_obj_c_exprs( //dir=expr + unique int id: @bridge_from_obj_c_expr +); + +bridge_to_obj_c_exprs( //dir=expr + unique int id: @bridge_to_obj_c_expr +); + +@builtin_literal_expr = + @boolean_literal_expr +| @magic_identifier_literal_expr +| @number_literal_expr +| @string_literal_expr +; + +call_exprs( //dir=expr + unique int id: @call_expr +); + +@checked_cast_expr = + @conditional_checked_cast_expr +| @forced_checked_cast_expr +| @is_expr +; + +class_metatype_to_object_exprs( //dir=expr + unique int id: @class_metatype_to_object_expr +); + +coerce_exprs( //dir=expr + unique int id: @coerce_expr +); + +collection_upcast_conversion_exprs( //dir=expr + unique int id: @collection_upcast_conversion_expr +); + +conditional_bridge_from_obj_c_exprs( //dir=expr + unique int id: @conditional_bridge_from_obj_c_expr +); + +covariant_function_conversion_exprs( //dir=expr + unique int id: @covariant_function_conversion_expr +); + +covariant_return_conversion_exprs( //dir=expr + unique int id: @covariant_return_conversion_expr +); + +derived_to_base_exprs( //dir=expr + unique int id: @derived_to_base_expr +); + +destructure_tuple_exprs( //dir=expr + unique int id: @destructure_tuple_expr +); + +dictionary_exprs( //dir=expr + unique int id: @dictionary_expr +); + +#keyset[id, index] +dictionary_expr_elements( //dir=expr + int id: @dictionary_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +differentiable_function_exprs( //dir=expr + unique int id: @differentiable_function_expr +); + +differentiable_function_extract_original_exprs( //dir=expr + unique int id: @differentiable_function_extract_original_expr +); + +dot_self_exprs( //dir=expr + unique int id: @dot_self_expr +); + +@dynamic_lookup_expr = + @dynamic_member_ref_expr +| @dynamic_subscript_expr +; + +erasure_exprs( //dir=expr + unique int id: @erasure_expr +); + +existential_metatype_to_object_exprs( //dir=expr + unique int id: @existential_metatype_to_object_expr +); + +explicit_closure_exprs( //dir=expr + unique int id: @explicit_closure_expr +); + +force_try_exprs( //dir=expr + unique int id: @force_try_expr +); + +foreign_object_conversion_exprs( //dir=expr + unique int id: @foreign_object_conversion_expr +); + +function_conversion_exprs( //dir=expr + unique int id: @function_conversion_expr +); + +in_out_to_pointer_exprs( //dir=expr + unique int id: @in_out_to_pointer_expr +); + +inject_into_optional_exprs( //dir=expr + unique int id: @inject_into_optional_expr +); + +interpolated_string_literal_exprs( //dir=expr + unique int id: @interpolated_string_literal_expr +); + +#keyset[id] +interpolated_string_literal_expr_interpolation_exprs( //dir=expr + int id: @interpolated_string_literal_expr ref, + int interpolation_expr: @opaque_value_expr_or_none ref +); + +#keyset[id] +interpolated_string_literal_expr_appending_exprs( //dir=expr + int id: @interpolated_string_literal_expr ref, + int appending_expr: @tap_expr_or_none ref +); + +linear_function_exprs( //dir=expr + unique int id: @linear_function_expr +); + +linear_function_extract_original_exprs( //dir=expr + unique int id: @linear_function_extract_original_expr +); + +linear_to_differentiable_function_exprs( //dir=expr + unique int id: @linear_to_differentiable_function_expr +); + +load_exprs( //dir=expr + unique int id: @load_expr +); + +member_ref_exprs( //dir=expr + unique int id: @member_ref_expr +); + +#keyset[id] +member_ref_expr_has_direct_to_storage_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_ordinary_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_distributed_thunk_semantics( //dir=expr + int id: @member_ref_expr ref +); + +metatype_conversion_exprs( //dir=expr + unique int id: @metatype_conversion_expr +); + +nil_literal_exprs( //dir=expr + unique int id: @nil_literal_expr +); + +object_literal_exprs( //dir=expr + unique int id: @object_literal_expr, + int kind: int ref +); + +#keyset[id, index] +object_literal_expr_arguments( //dir=expr + int id: @object_literal_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +optional_try_exprs( //dir=expr + unique int id: @optional_try_expr +); + +paren_exprs( //dir=expr + unique int id: @paren_expr +); + +pointer_to_pointer_exprs( //dir=expr + unique int id: @pointer_to_pointer_expr +); + +postfix_unary_exprs( //dir=expr + unique int id: @postfix_unary_expr +); + +prefix_unary_exprs( //dir=expr + unique int id: @prefix_unary_expr +); + +protocol_metatype_to_object_exprs( //dir=expr + unique int id: @protocol_metatype_to_object_expr +); + +regex_literal_exprs( //dir=expr + unique int id: @regex_literal_expr, + string pattern: string ref, + int version: int ref +); + +@self_apply_expr = + @dot_syntax_call_expr +| @initializer_ref_call_expr +; + +#keyset[id] +self_apply_exprs( //dir=expr + int id: @self_apply_expr ref, + int base: @expr_or_none ref +); + +string_to_pointer_exprs( //dir=expr + unique int id: @string_to_pointer_expr +); + +subscript_exprs( //dir=expr + unique int id: @subscript_expr +); + +#keyset[id, index] +subscript_expr_arguments( //dir=expr + int id: @subscript_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +#keyset[id] +subscript_expr_has_direct_to_storage_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_ordinary_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_distributed_thunk_semantics( //dir=expr + int id: @subscript_expr ref +); + +try_exprs( //dir=expr + unique int id: @try_expr +); + +underlying_to_opaque_exprs( //dir=expr + unique int id: @underlying_to_opaque_expr +); + +unevaluated_instance_exprs( //dir=expr + unique int id: @unevaluated_instance_expr +); + +unresolved_member_chain_result_exprs( //dir=expr + unique int id: @unresolved_member_chain_result_expr +); + +unresolved_type_conversion_exprs( //dir=expr + unique int id: @unresolved_type_conversion_expr +); + +boolean_literal_exprs( //dir=expr + unique int id: @boolean_literal_expr, + boolean value: boolean ref +); + +conditional_checked_cast_exprs( //dir=expr + unique int id: @conditional_checked_cast_expr +); + +dot_syntax_call_exprs( //dir=expr + unique int id: @dot_syntax_call_expr +); + +dynamic_member_ref_exprs( //dir=expr + unique int id: @dynamic_member_ref_expr +); + +dynamic_subscript_exprs( //dir=expr + unique int id: @dynamic_subscript_expr +); + +forced_checked_cast_exprs( //dir=expr + unique int id: @forced_checked_cast_expr +); + +initializer_ref_call_exprs( //dir=expr + unique int id: @initializer_ref_call_expr +); + +is_exprs( //dir=expr + unique int id: @is_expr +); + +magic_identifier_literal_exprs( //dir=expr + unique int id: @magic_identifier_literal_expr, + string kind: string ref +); + +@number_literal_expr = + @float_literal_expr +| @integer_literal_expr +; + +string_literal_exprs( //dir=expr + unique int id: @string_literal_expr, + string value: string ref +); + +float_literal_exprs( //dir=expr + unique int id: @float_literal_expr, + string string_value: string ref +); + +integer_literal_exprs( //dir=expr + unique int id: @integer_literal_expr, + string string_value: string ref +); + +@pattern = + @any_pattern +| @binding_pattern +| @bool_pattern +| @enum_element_pattern +| @expr_pattern +| @is_pattern +| @named_pattern +| @optional_some_pattern +| @paren_pattern +| @tuple_pattern +| @typed_pattern +; + +any_patterns( //dir=pattern + unique int id: @any_pattern +); + +binding_patterns( //dir=pattern + unique int id: @binding_pattern, + int sub_pattern: @pattern_or_none ref +); + +bool_patterns( //dir=pattern + unique int id: @bool_pattern, + boolean value: boolean ref +); + +enum_element_patterns( //dir=pattern + unique int id: @enum_element_pattern, + int element: @enum_element_decl_or_none ref +); + +#keyset[id] +enum_element_pattern_sub_patterns( //dir=pattern + int id: @enum_element_pattern ref, + int sub_pattern: @pattern_or_none ref +); + +expr_patterns( //dir=pattern + unique int id: @expr_pattern, + int sub_expr: @expr_or_none ref +); + +is_patterns( //dir=pattern + unique int id: @is_pattern +); + +#keyset[id] +is_pattern_cast_type_reprs( //dir=pattern + int id: @is_pattern ref, + int cast_type_repr: @type_repr_or_none ref +); + +#keyset[id] +is_pattern_sub_patterns( //dir=pattern + int id: @is_pattern ref, + int sub_pattern: @pattern_or_none ref +); + +named_patterns( //dir=pattern + unique int id: @named_pattern, + int var_decl: @var_decl_or_none ref +); + +optional_some_patterns( //dir=pattern + unique int id: @optional_some_pattern, + int sub_pattern: @pattern_or_none ref +); + +paren_patterns( //dir=pattern + unique int id: @paren_pattern, + int sub_pattern: @pattern_or_none ref +); + +tuple_patterns( //dir=pattern + unique int id: @tuple_pattern +); + +#keyset[id, index] +tuple_pattern_elements( //dir=pattern + int id: @tuple_pattern ref, + int index: int ref, + int element: @pattern_or_none ref +); + +typed_patterns( //dir=pattern + unique int id: @typed_pattern, + int sub_pattern: @pattern_or_none ref +); + +#keyset[id] +typed_pattern_type_reprs( //dir=pattern + int id: @typed_pattern ref, + int type_repr: @type_repr_or_none ref +); + +case_label_items( //dir=stmt + unique int id: @case_label_item, + int pattern: @pattern_or_none ref +); + +#keyset[id] +case_label_item_guards( //dir=stmt + int id: @case_label_item ref, + int guard: @expr_or_none ref +); + +condition_elements( //dir=stmt + unique int id: @condition_element +); + +#keyset[id] +condition_element_booleans( //dir=stmt + int id: @condition_element ref, + int boolean_: @expr_or_none ref +); + +#keyset[id] +condition_element_patterns( //dir=stmt + int id: @condition_element ref, + int pattern: @pattern_or_none ref +); + +#keyset[id] +condition_element_initializers( //dir=stmt + int id: @condition_element ref, + int initializer: @expr_or_none ref +); + +#keyset[id] +condition_element_availabilities( //dir=stmt + int id: @condition_element ref, + int availability: @availability_info_or_none ref +); + +@stmt = + @brace_stmt +| @break_stmt +| @case_stmt +| @continue_stmt +| @defer_stmt +| @fail_stmt +| @fallthrough_stmt +| @labeled_stmt +| @pound_assert_stmt +| @return_stmt +| @throw_stmt +| @yield_stmt +; + +stmt_conditions( //dir=stmt + unique int id: @stmt_condition +); + +#keyset[id, index] +stmt_condition_elements( //dir=stmt + int id: @stmt_condition ref, + int index: int ref, + int element: @condition_element_or_none ref +); + +brace_stmts( //dir=stmt + unique int id: @brace_stmt +); + +#keyset[id, index] +brace_stmt_elements( //dir=stmt + int id: @brace_stmt ref, + int index: int ref, + int element: @ast_node_or_none ref +); + +break_stmts( //dir=stmt + unique int id: @break_stmt +); + +#keyset[id] +break_stmt_target_names( //dir=stmt + int id: @break_stmt ref, + string target_name: string ref +); + +#keyset[id] +break_stmt_targets( //dir=stmt + int id: @break_stmt ref, + int target: @stmt_or_none ref +); + +case_stmts( //dir=stmt + unique int id: @case_stmt, + int body: @stmt_or_none ref +); + +#keyset[id, index] +case_stmt_labels( //dir=stmt + int id: @case_stmt ref, + int index: int ref, + int label: @case_label_item_or_none ref +); + +#keyset[id, index] +case_stmt_variables( //dir=stmt + int id: @case_stmt ref, + int index: int ref, + int variable: @var_decl_or_none ref +); + +continue_stmts( //dir=stmt + unique int id: @continue_stmt +); + +#keyset[id] +continue_stmt_target_names( //dir=stmt + int id: @continue_stmt ref, + string target_name: string ref +); + +#keyset[id] +continue_stmt_targets( //dir=stmt + int id: @continue_stmt ref, + int target: @stmt_or_none ref +); + +defer_stmts( //dir=stmt + unique int id: @defer_stmt, + int body: @brace_stmt_or_none ref +); + +fail_stmts( //dir=stmt + unique int id: @fail_stmt +); + +fallthrough_stmts( //dir=stmt + unique int id: @fallthrough_stmt, + int fallthrough_source: @case_stmt_or_none ref, + int fallthrough_dest: @case_stmt_or_none ref +); + +@labeled_stmt = + @do_catch_stmt +| @do_stmt +| @for_each_stmt +| @labeled_conditional_stmt +| @repeat_while_stmt +| @switch_stmt +; + +#keyset[id] +labeled_stmt_labels( //dir=stmt + int id: @labeled_stmt ref, + string label: string ref +); + +pound_assert_stmts( //dir=stmt + unique int id: @pound_assert_stmt, + int condition: @expr_or_none ref, + string message: string ref +); + +return_stmts( //dir=stmt + unique int id: @return_stmt +); + +#keyset[id] +return_stmt_results( //dir=stmt + int id: @return_stmt ref, + int result: @expr_or_none ref +); + +throw_stmts( //dir=stmt + unique int id: @throw_stmt, + int sub_expr: @expr_or_none ref +); + +yield_stmts( //dir=stmt + unique int id: @yield_stmt +); + +#keyset[id, index] +yield_stmt_results( //dir=stmt + int id: @yield_stmt ref, + int index: int ref, + int result: @expr_or_none ref +); + +do_catch_stmts( //dir=stmt + unique int id: @do_catch_stmt, + int body: @stmt_or_none ref +); + +#keyset[id, index] +do_catch_stmt_catches( //dir=stmt + int id: @do_catch_stmt ref, + int index: int ref, + int catch: @case_stmt_or_none ref +); + +do_stmts( //dir=stmt + unique int id: @do_stmt, + int body: @brace_stmt_or_none ref +); + +for_each_stmts( //dir=stmt + unique int id: @for_each_stmt, + int pattern: @pattern_or_none ref, + int body: @brace_stmt_or_none ref +); + +#keyset[id] +for_each_stmt_wheres( //dir=stmt + int id: @for_each_stmt ref, + int where: @expr_or_none ref +); + +#keyset[id] +for_each_stmt_iterator_vars( //dir=stmt + int id: @for_each_stmt ref, + int iteratorVar: @pattern_binding_decl_or_none ref +); + +#keyset[id] +for_each_stmt_next_calls( //dir=stmt + int id: @for_each_stmt ref, + int nextCall: @expr_or_none ref +); + +@labeled_conditional_stmt = + @guard_stmt +| @if_stmt +| @while_stmt +; + +#keyset[id] +labeled_conditional_stmts( //dir=stmt + int id: @labeled_conditional_stmt ref, + int condition: @stmt_condition_or_none ref +); + +repeat_while_stmts( //dir=stmt + unique int id: @repeat_while_stmt, + int condition: @expr_or_none ref, + int body: @stmt_or_none ref +); + +switch_stmts( //dir=stmt + unique int id: @switch_stmt, + int expr: @expr_or_none ref +); + +#keyset[id, index] +switch_stmt_cases( //dir=stmt + int id: @switch_stmt ref, + int index: int ref, + int case_: @case_stmt_or_none ref +); + +guard_stmts( //dir=stmt + unique int id: @guard_stmt, + int body: @brace_stmt_or_none ref +); + +if_stmts( //dir=stmt + unique int id: @if_stmt, + int then: @stmt_or_none ref +); + +#keyset[id] +if_stmt_elses( //dir=stmt + int id: @if_stmt ref, + int else: @stmt_or_none ref +); + +while_stmts( //dir=stmt + unique int id: @while_stmt, + int body: @stmt_or_none ref +); + +@type = + @any_function_type +| @any_generic_type +| @any_metatype_type +| @builtin_type +| @dependent_member_type +| @dynamic_self_type +| @error_type +| @existential_type +| @in_out_type +| @l_value_type +| @module_type +| @parameterized_protocol_type +| @protocol_composition_type +| @reference_storage_type +| @substitutable_type +| @sugar_type +| @tuple_type +| @unresolved_type +; + +#keyset[id] +types( //dir=type + int id: @type ref, + string name: string ref, + int canonical_type: @type_or_none ref +); + +type_reprs( //dir=type + unique int id: @type_repr, + int type_: @type_or_none ref +); + +@any_function_type = + @function_type +| @generic_function_type +; + +#keyset[id] +any_function_types( //dir=type + int id: @any_function_type ref, + int result: @type_or_none ref +); + +#keyset[id, index] +any_function_type_param_types( //dir=type + int id: @any_function_type ref, + int index: int ref, + int param_type: @type_or_none ref +); + +#keyset[id] +any_function_type_is_throwing( //dir=type + int id: @any_function_type ref +); + +#keyset[id] +any_function_type_is_async( //dir=type + int id: @any_function_type ref +); + +@any_generic_type = + @nominal_or_bound_generic_nominal_type +| @unbound_generic_type +; + +#keyset[id] +any_generic_types( //dir=type + int id: @any_generic_type ref, + int declaration: @generic_type_decl_or_none ref +); + +#keyset[id] +any_generic_type_parents( //dir=type + int id: @any_generic_type ref, + int parent: @type_or_none ref +); + +@any_metatype_type = + @existential_metatype_type +| @metatype_type +; + +@builtin_type = + @any_builtin_integer_type +| @builtin_bridge_object_type +| @builtin_default_actor_storage_type +| @builtin_executor_type +| @builtin_float_type +| @builtin_job_type +| @builtin_native_object_type +| @builtin_raw_pointer_type +| @builtin_raw_unsafe_continuation_type +| @builtin_unsafe_value_buffer_type +| @builtin_vector_type +; + +dependent_member_types( //dir=type + unique int id: @dependent_member_type, + int base_type: @type_or_none ref, + int associated_type_decl: @associated_type_decl_or_none ref +); + +dynamic_self_types( //dir=type + unique int id: @dynamic_self_type, + int static_self_type: @type_or_none ref +); + +error_types( //dir=type + unique int id: @error_type +); + +existential_types( //dir=type + unique int id: @existential_type, + int constraint: @type_or_none ref +); + +in_out_types( //dir=type + unique int id: @in_out_type, + int object_type: @type_or_none ref +); + +l_value_types( //dir=type + unique int id: @l_value_type, + int object_type: @type_or_none ref +); + +module_types( //dir=type + unique int id: @module_type, + int module: @module_decl_or_none ref +); + +parameterized_protocol_types( //dir=type + unique int id: @parameterized_protocol_type, + int base: @protocol_type_or_none ref +); + +#keyset[id, index] +parameterized_protocol_type_args( //dir=type + int id: @parameterized_protocol_type ref, + int index: int ref, + int arg: @type_or_none ref +); + +protocol_composition_types( //dir=type + unique int id: @protocol_composition_type +); + +#keyset[id, index] +protocol_composition_type_members( //dir=type + int id: @protocol_composition_type ref, + int index: int ref, + int member: @type_or_none ref +); + +@reference_storage_type = + @unmanaged_storage_type +| @unowned_storage_type +| @weak_storage_type +; + +#keyset[id] +reference_storage_types( //dir=type + int id: @reference_storage_type ref, + int referent_type: @type_or_none ref +); + +@substitutable_type = + @archetype_type +| @generic_type_param_type +; + +@sugar_type = + @paren_type +| @syntax_sugar_type +| @type_alias_type +; + +tuple_types( //dir=type + unique int id: @tuple_type +); + +#keyset[id, index] +tuple_type_types( //dir=type + int id: @tuple_type ref, + int index: int ref, + int type_: @type_or_none ref +); + +#keyset[id, index] +tuple_type_names( //dir=type + int id: @tuple_type ref, + int index: int ref, + string name: string ref +); + +unresolved_types( //dir=type + unique int id: @unresolved_type +); + +@any_builtin_integer_type = + @builtin_integer_literal_type +| @builtin_integer_type +; + +@archetype_type = + @opaque_type_archetype_type +| @opened_archetype_type +| @primary_archetype_type +; + +#keyset[id] +archetype_types( //dir=type + int id: @archetype_type ref, + int interface_type: @type_or_none ref +); + +#keyset[id] +archetype_type_superclasses( //dir=type + int id: @archetype_type ref, + int superclass: @type_or_none ref +); + +#keyset[id, index] +archetype_type_protocols( //dir=type + int id: @archetype_type ref, + int index: int ref, + int protocol: @protocol_decl_or_none ref +); + +builtin_bridge_object_types( //dir=type + unique int id: @builtin_bridge_object_type +); + +builtin_default_actor_storage_types( //dir=type + unique int id: @builtin_default_actor_storage_type +); + +builtin_executor_types( //dir=type + unique int id: @builtin_executor_type +); + +builtin_float_types( //dir=type + unique int id: @builtin_float_type +); + +builtin_job_types( //dir=type + unique int id: @builtin_job_type +); + +builtin_native_object_types( //dir=type + unique int id: @builtin_native_object_type +); + +builtin_raw_pointer_types( //dir=type + unique int id: @builtin_raw_pointer_type +); + +builtin_raw_unsafe_continuation_types( //dir=type + unique int id: @builtin_raw_unsafe_continuation_type +); + +builtin_unsafe_value_buffer_types( //dir=type + unique int id: @builtin_unsafe_value_buffer_type +); + +builtin_vector_types( //dir=type + unique int id: @builtin_vector_type +); + +existential_metatype_types( //dir=type + unique int id: @existential_metatype_type +); + +function_types( //dir=type + unique int id: @function_type +); + +generic_function_types( //dir=type + unique int id: @generic_function_type +); + +#keyset[id, index] +generic_function_type_generic_params( //dir=type + int id: @generic_function_type ref, + int index: int ref, + int generic_param: @generic_type_param_type_or_none ref +); + +generic_type_param_types( //dir=type + unique int id: @generic_type_param_type +); + +metatype_types( //dir=type + unique int id: @metatype_type +); + +@nominal_or_bound_generic_nominal_type = + @bound_generic_type +| @nominal_type +; + +paren_types( //dir=type + unique int id: @paren_type, + int type_: @type_or_none ref +); + +@syntax_sugar_type = + @dictionary_type +| @unary_syntax_sugar_type +; + +type_alias_types( //dir=type + unique int id: @type_alias_type, + int decl: @type_alias_decl_or_none ref +); + +unbound_generic_types( //dir=type + unique int id: @unbound_generic_type +); + +unmanaged_storage_types( //dir=type + unique int id: @unmanaged_storage_type +); + +unowned_storage_types( //dir=type + unique int id: @unowned_storage_type +); + +weak_storage_types( //dir=type + unique int id: @weak_storage_type +); + +@bound_generic_type = + @bound_generic_class_type +| @bound_generic_enum_type +| @bound_generic_struct_type +; + +#keyset[id, index] +bound_generic_type_arg_types( //dir=type + int id: @bound_generic_type ref, + int index: int ref, + int arg_type: @type_or_none ref +); + +builtin_integer_literal_types( //dir=type + unique int id: @builtin_integer_literal_type +); + +builtin_integer_types( //dir=type + unique int id: @builtin_integer_type +); + +#keyset[id] +builtin_integer_type_widths( //dir=type + int id: @builtin_integer_type ref, + int width: int ref +); + +dictionary_types( //dir=type + unique int id: @dictionary_type, + int key_type: @type_or_none ref, + int value_type: @type_or_none ref +); + +@nominal_type = + @class_type +| @enum_type +| @protocol_type +| @struct_type +; + +opaque_type_archetype_types( //dir=type + unique int id: @opaque_type_archetype_type, + int declaration: @opaque_type_decl_or_none ref +); + +opened_archetype_types( //dir=type + unique int id: @opened_archetype_type +); + +primary_archetype_types( //dir=type + unique int id: @primary_archetype_type +); + +@unary_syntax_sugar_type = + @array_slice_type +| @optional_type +| @variadic_sequence_type +; + +#keyset[id] +unary_syntax_sugar_types( //dir=type + int id: @unary_syntax_sugar_type ref, + int base_type: @type_or_none ref +); + +array_slice_types( //dir=type + unique int id: @array_slice_type +); + +bound_generic_class_types( //dir=type + unique int id: @bound_generic_class_type +); + +bound_generic_enum_types( //dir=type + unique int id: @bound_generic_enum_type +); + +bound_generic_struct_types( //dir=type + unique int id: @bound_generic_struct_type +); + +class_types( //dir=type + unique int id: @class_type +); + +enum_types( //dir=type + unique int id: @enum_type +); + +optional_types( //dir=type + unique int id: @optional_type +); + +protocol_types( //dir=type + unique int id: @protocol_type +); + +struct_types( //dir=type + unique int id: @struct_type +); + +variadic_sequence_types( //dir=type + unique int id: @variadic_sequence_type +); + +@accessor_or_none = + @accessor +| @unspecified_element +; + +@argument_or_none = + @argument +| @unspecified_element +; + +@associated_type_decl_or_none = + @associated_type_decl +| @unspecified_element +; + +@ast_node_or_none = + @ast_node +| @unspecified_element +; + +@availability_info_or_none = + @availability_info +| @unspecified_element +; + +@availability_spec_or_none = + @availability_spec +| @unspecified_element +; + +@brace_stmt_or_none = + @brace_stmt +| @unspecified_element +; + +@captured_decl_or_none = + @captured_decl +| @unspecified_element +; + +@case_label_item_or_none = + @case_label_item +| @unspecified_element +; + +@case_stmt_or_none = + @case_stmt +| @unspecified_element +; + +@closure_expr_or_none = + @closure_expr +| @unspecified_element +; + +@condition_element_or_none = + @condition_element +| @unspecified_element +; + +@decl_or_none = + @decl +| @unspecified_element +; + +@enum_element_decl_or_none = + @enum_element_decl +| @unspecified_element +; + +@expr_or_none = + @expr +| @unspecified_element +; + +@file_or_none = + @file +| @unspecified_element +; + +@function_or_none = + @function +| @unspecified_element +; + +@generic_type_decl_or_none = + @generic_type_decl +| @unspecified_element +; + +@generic_type_param_decl_or_none = + @generic_type_param_decl +| @unspecified_element +; + +@generic_type_param_type_or_none = + @generic_type_param_type +| @unspecified_element +; + +@initializer_or_none = + @initializer +| @unspecified_element +; + +@key_path_component_or_none = + @key_path_component +| @unspecified_element +; + +@location_or_none = + @location +| @unspecified_element +; + +@module_decl_or_none = + @module_decl +| @unspecified_element +; + +@nominal_type_decl_or_none = + @nominal_type_decl +| @unspecified_element +; + +@opaque_type_decl_or_none = + @opaque_type_decl +| @unspecified_element +; + +@opaque_value_expr_or_none = + @opaque_value_expr +| @unspecified_element +; + +@param_decl_or_none = + @param_decl +| @unspecified_element +; + +@pattern_or_none = + @pattern +| @unspecified_element +; + +@pattern_binding_decl_or_none = + @pattern_binding_decl +| @unspecified_element +; + +@precedence_group_decl_or_none = + @precedence_group_decl +| @unspecified_element +; + +@protocol_decl_or_none = + @protocol_decl +| @unspecified_element +; + +@protocol_type_or_none = + @protocol_type +| @unspecified_element +; + +@stmt_or_none = + @stmt +| @unspecified_element +; + +@stmt_condition_or_none = + @stmt_condition +| @unspecified_element +; + +@string_literal_expr_or_none = + @string_literal_expr +| @unspecified_element +; + +@tap_expr_or_none = + @tap_expr +| @unspecified_element +; + +@type_or_none = + @type +| @unspecified_element +; + +@type_alias_decl_or_none = + @type_alias_decl +| @unspecified_element +; + +@type_repr_or_none = + @type_repr +| @unspecified_element +; + +@value_decl_or_none = + @unspecified_element +| @value_decl +; + +@var_decl_or_none = + @unspecified_element +| @var_decl +; diff --git a/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/unspecified_elements.ql b/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/unspecified_elements.ql new file mode 100644 index 00000000000..9fb0658b0a4 --- /dev/null +++ b/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/unspecified_elements.ql @@ -0,0 +1,13 @@ +// Converts SingleValueStmtExprs into UnspecifiedElements +class Element extends @element { + string toString() { none() } +} + +from Element e, string property, string error +where + single_value_stmt_exprs(e, _) and + property = "" and + error = "Removed SingleValueStmtExpr during the database downgrade" + or + unspecified_elements(e, property, error) +select e, property, error diff --git a/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/upgrade.properties b/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/upgrade.properties new file mode 100644 index 00000000000..a1e122b7e54 --- /dev/null +++ b/swift/downgrades/fcc7b497930add320fabeed9b228b264bc847ae6/upgrade.properties @@ -0,0 +1,5 @@ +description: Removing SingleValueStmtExpr +compatibility: partial + +unspecified_elements.rel: run unspecified_elements.ql +single_value_stmt_exprs.rel: delete diff --git a/swift/extractor/infra/SwiftTagTraits.h b/swift/extractor/infra/SwiftTagTraits.h index 5066205db6e..bd3042be2e8 100644 --- a/swift/extractor/infra/SwiftTagTraits.h +++ b/swift/extractor/infra/SwiftTagTraits.h @@ -205,7 +205,7 @@ MAP(swift::Expr, ExprTag) MAP(swift::CopyExpr, void) // TODO (introduced in 5.9) MAP(swift::ConsumeExpr, void) // TODO (introduced in 5.9) MAP(swift::MaterializePackExpr, void) // TODO (introduced in 5.9) - MAP(swift::SingleValueStmtExpr, void) // TODO (introduced in 5.9) + MAP(swift::SingleValueStmtExpr, SingleValueStmtExprTag) #endif MAP(swift::Decl, DeclTag) diff --git a/swift/extractor/translators/ExprTranslator.cpp b/swift/extractor/translators/ExprTranslator.cpp index 3274c49675e..de24e27226a 100644 --- a/swift/extractor/translators/ExprTranslator.cpp +++ b/swift/extractor/translators/ExprTranslator.cpp @@ -636,4 +636,11 @@ codeql::RegexLiteralExpr ExprTranslator::translateRegexLiteralExpr( return entry; } +codeql::SingleValueStmtExpr ExprTranslator::translateSingleValueStmtExpr( + const swift::SingleValueStmtExpr& expr) { + auto entry = createExprEntry(expr); + entry.stmt = dispatcher.fetchLabel(expr.getStmt()); + return entry; +} + } // namespace codeql diff --git a/swift/extractor/translators/ExprTranslator.h b/swift/extractor/translators/ExprTranslator.h index 504f66999cf..fa3a1ef3c86 100644 --- a/swift/extractor/translators/ExprTranslator.h +++ b/swift/extractor/translators/ExprTranslator.h @@ -119,6 +119,7 @@ class ExprTranslator : public AstTranslatorBase { codeql::AppliedPropertyWrapperExpr translateAppliedPropertyWrapperExpr( const swift::AppliedPropertyWrapperExpr& expr); codeql::RegexLiteralExpr translateRegexLiteralExpr(const swift::RegexLiteralExpr& expr); + codeql::SingleValueStmtExpr translateSingleValueStmtExpr(const swift::SingleValueStmtExpr& expr); private: void fillClosureExpr(const swift::AbstractClosureExpr& expr, codeql::ClosureExpr& entry); diff --git a/swift/extractor/translators/TypeTranslator.cpp b/swift/extractor/translators/TypeTranslator.cpp index 4bbebfab588..a4ecfe73afd 100644 --- a/swift/extractor/translators/TypeTranslator.cpp +++ b/swift/extractor/translators/TypeTranslator.cpp @@ -163,8 +163,10 @@ void TypeTranslator::fillAnyGenericType(const swift::AnyGenericType& type, } void TypeTranslator::fillType(const swift::TypeBase& type, codeql::Type& entry) { - entry.name = type.getString(); + // Preserve the order as getCanonicalType() forces computation of the canonical type + // without which getString may crash sometimes entry.canonical_type = dispatcher.fetchLabel(type.getCanonicalType()); + entry.name = type.getString(); } void TypeTranslator::fillArchetypeType(const swift::ArchetypeType& type, ArchetypeType& entry) { diff --git a/swift/ql/.generated.list b/swift/ql/.generated.list index 75af2ffd1f4..fc27998ed99 100644 --- a/swift/ql/.generated.list +++ b/swift/ql/.generated.list @@ -193,6 +193,8 @@ lib/codeql/swift/elements/expr/RegexLiteralExprConstructor.qll eed0c4e96369f9db8 lib/codeql/swift/elements/expr/SelfApplyExpr.qll 1d72bbcb20eb829e3f830b64d700cf417f4de911a5bb7f5dc68c63a2606e7688 3b23644f2ec280dd39dab9010cc6a691fe91a520d8462661dd4501d27743c891 lib/codeql/swift/elements/expr/SequenceExpr.qll 7a354f84ba4d935e18884d14ce9029b5cabbf15d679a553608f4bef57d052b32 71deff01f9c3a7e07006f2d331526dfd99de384a181e0885b157263e70c91c0e lib/codeql/swift/elements/expr/SequenceExprConstructor.qll bf2712ab013e292f51a8a9b7ec3a84e3681f3aecb11ae2f639d542c0ea1267c2 4a93b3b5b7c163915bb47b8e51d3b1df1023b122ed36b5a31fbf1940b8017cff +lib/codeql/swift/elements/expr/SingleValueStmtExpr.qll ae2f36569b2ec38b9d0f4bb1b907fcef45ee80f039d3b1992a48481ad62d44ab f899e145d305153cd09bd519b991e9aa8008530e263fd500b529ebb6eadaad5a +lib/codeql/swift/elements/expr/SingleValueStmtExprConstructor.qll b297252867735dc13f707ea33ae36e3091f539badcbefe81b7ccbf3d96ad92d7 ac9bab9c282276c70e910cf97505e639c1319afd7a77f1fd3b175f739ee4fd54 lib/codeql/swift/elements/expr/StringLiteralExprConstructor.qll f2b4e492711fb1de6f8534012730047b2b26a6f6ab018447ab482d5824c05c10 516fb10926e7a6f616e45fe27b865c0fb06a258db084b1ee65d8a86c5f815b77 lib/codeql/swift/elements/expr/StringToPointerExpr.qll 031e19be3cb6ec6d0f2adb667e7c84a27f13afc77a4d97e4cac94d303e9b5077 ef95523042bdcfaf30c3868c27c7f6bae69472a09ad778f511293312052d56e8 lib/codeql/swift/elements/expr/StringToPointerExprConstructor.qll d66a326f60535941229788d0e6d319ee41861ac3e3d14f841eacef525526e4a0 5323d638b8573e19ff08052e88bf4522a3357cdb61a57d75ce09a69210bb9b3f @@ -360,7 +362,7 @@ lib/codeql/swift/elements/type/UnresolvedTypeConstructor.qll 7f75d489b4d7ce65cae lib/codeql/swift/elements/type/VariadicSequenceTypeConstructor.qll fc74a5a2a2effa28ef24509b20ee4373d97cf6e8c71840121bb031c6adedf584 c9b2effc1d01c13c5e6a74a111122fa79a2f6554dda3cb016d68ba397e566ec4 lib/codeql/swift/elements/type/WeakStorageType.qll edd13dd97b53040684409e187c1f975bcada6807c919e1345d8977144dbebb6f 9434c044d264a7f5f503a6422c106c9b8fedf74aaae314174473a29ea6ed17b9 lib/codeql/swift/elements/type/WeakStorageTypeConstructor.qll 5fdce3716aba6318522174a2c455a63480970222ae81c732fb19c6dd3ae2d271 60ea79d6943e129deba0deccb566cf9d73f78398b0f7f0212674d91287d6b2ae -lib/codeql/swift/elements.qll c83e05b7e73efe55b8d019ff5be2470d126d530867b17144f48aed5a88cf3eed c83e05b7e73efe55b8d019ff5be2470d126d530867b17144f48aed5a88cf3eed +lib/codeql/swift/elements.qll 5e5910ada6cf0cdd5b7665a355f5dcdc855680716971ad324f8b5b6dae280805 5e5910ada6cf0cdd5b7665a355f5dcdc855680716971ad324f8b5b6dae280805 lib/codeql/swift/generated/AstNode.qll e00d6a46b16891778531a73722ae0b5842f849328e24aebe88bc30ac9fe438c2 40eaa0072d3ffecbff48d2baf88111daa86ef0f937abf24f032f2495739ef661 lib/codeql/swift/generated/AvailabilityInfo.qll e90fbfc3ec6830390e12a4695698d6efd8da4fa6a8a4189f466489a6dd103586 d9545da9e5d0c160679a4147001b4b1c664d9cb85ae1a169dd639c35046d274d lib/codeql/swift/generated/AvailabilitySpec.qll 469bbd39d38dc68f1f6fb2e0766cc25b2f813c804fec44962910d5f7777632a2 57a953a8d5cf7031283393af1b3cfbc7f5941c9062e77950b32e5b5c6ae6b191 @@ -376,12 +378,12 @@ lib/codeql/swift/generated/KeyPathComponent.qll 55629a20538d7e8f4f4d4c7484e8bcfd lib/codeql/swift/generated/Locatable.qll 41f040643ea146c8044be49fddea89bdd79efd2469617c863a4b2da0b1af3364 9a964dcbc7f5ffce2ee006ce0c9a9a99a988976fcd0446af2ba1b202911d7396 lib/codeql/swift/generated/Location.qll 5b37ecde83a871ef2089cf33e4743fc02d9cf8c676aafd9f157c59ffdb776d6b 076d8d3d2313931e8287d196854acf259700124d9c8bc591a6d36017f314260a lib/codeql/swift/generated/OtherAvailabilitySpec.qll 31f3667ab0dc5f93230ba876b4101898d2a5a4af306925082305eff3ad9c9c0e 31f3667ab0dc5f93230ba876b4101898d2a5a4af306925082305eff3ad9c9c0e -lib/codeql/swift/generated/ParentChild.qll cb7ab8823ce7adddde136dc043fc587add8b2d7a19359514366ea2c9eae9a483 75328caf084fead540bf83cc99b403046de2142624a322d89fca6c1b94602a20 +lib/codeql/swift/generated/ParentChild.qll 2d5086238b13be9399e479a912df76c6a29bb9a556fca377a214abe21d5128e3 f1347a812f99168987c9842a6e73168ea56e15afa7b1c370008d8347fbeffc11 lib/codeql/swift/generated/PlatformVersionAvailabilitySpec.qll 3483726f6db9d978e40db75068d6a9ecad8f7c06516157fce783b26424bea729 864fedf2901de91f662a6d75a2eb7e26ed1a2a1a875a2b3c4e699dc7e7c4605e lib/codeql/swift/generated/PureSynthConstructors.qll 40f5c0c573ce12f16322d9efb12306750f672254cbc36a200c298cb08e504229 40f5c0c573ce12f16322d9efb12306750f672254cbc36a200c298cb08e504229 -lib/codeql/swift/generated/Raw.qll 59a847c009d682dfceb72f33bb54d6cf6da589e59a386450bb5fba310a4170e7 ed02d96d3bfc998a105b8f34e6a92d966e6c3db5c581872a53ac5db6904e5fab -lib/codeql/swift/generated/Synth.qll 551fdf7e4b53f9ee1314d1bb42c2638cf82f45bfa1f40a635dfa7b6072e4418c 9ab178464700a19951fc5285acacda4913addee81515d8e072b3d7055935a814 -lib/codeql/swift/generated/SynthConstructors.qll ef22e9fc76d3da15598b59c0c5c3c94a531e56040e8d347bfae12eebaa7d38bf ef22e9fc76d3da15598b59c0c5c3c94a531e56040e8d347bfae12eebaa7d38bf +lib/codeql/swift/generated/Raw.qll 00582f74242803b3aac75448945443ed0578954c5620fb143cc6074b48616e6d b25e950dbc171c6a0cf086593e89daf177dcf24a314a4280b2cb63d24b5526ee +lib/codeql/swift/generated/Synth.qll 0e299d5d910589d82be11fc503640d425ea20478b8a5802347fbc575075dd53c dc87a4f03bb1ead4ef6676e6fd1b53b38b9ec6904b5113f24eb7a778f089490a +lib/codeql/swift/generated/SynthConstructors.qll 191a563ddd524a5267f15ff4c619570c51f827f17f41651966782af0f1791d3a 191a563ddd524a5267f15ff4c619570c51f827f17f41651966782af0f1791d3a lib/codeql/swift/generated/UnknownFile.qll 5922b351b55d5becac0c1ad67b8d601bcc9499dce9ee4093b607101e7e299104 5922b351b55d5becac0c1ad67b8d601bcc9499dce9ee4093b607101e7e299104 lib/codeql/swift/generated/UnknownLocation.qll 67b8605ff5aaa0f3a8588fee2527eba5ec4e322562159c9af3d53486b7954ee9 67b8605ff5aaa0f3a8588fee2527eba5ec4e322562159c9af3d53486b7954ee9 lib/codeql/swift/generated/UnspecifiedElement.qll 01182fee4d5c86b551e89c79d0d645f5e85c0aeeeae9dcafcbd7721c3eb3cc14 cb95ab2b13da080ada10e0a3bd1b00577541c4bfe699cbd19ef45f1e00e7c651 @@ -531,6 +533,7 @@ lib/codeql/swift/generated/expr/RebindSelfInInitializerExpr.qll efa880cd707e4bf4 lib/codeql/swift/generated/expr/RegexLiteralExpr.qll 9e6ab605a7157481f7358705609fb6fdfd135abf4aba017d188dd69bae26da73 cb337be98d5248229de399113f7b36bbd75630c6b16552b18b3bf9455bf9f34c lib/codeql/swift/generated/expr/SelfApplyExpr.qll f4d95f8dcb4fe5943c6153a70487d0dc38d8de60d16a188089bac23182bc1358 db400c2e4397eddb95cb237e6e6d930f6d6badbe4b83a73d2cf9bbb8d8e4c752 lib/codeql/swift/generated/expr/SequenceExpr.qll 219537f1702ab33fe61bbfe3291890a91050ed58ae4365a3fbe21b986f3943b6 ae42e0000848971528c2ff3c6af4c06495c4deb98c7ca92624a8f8a6cd78a5f5 +lib/codeql/swift/generated/expr/SingleValueStmtExpr.qll 299ca98a2a2cd6820dc3f5b55358b8cc1ba68b666ec9259aab6ab6b7b01957b3 6f5c0edb36f14fd1b3c32658067d8931f7751b9346303536296fa616a34977dc lib/codeql/swift/generated/expr/StringLiteralExpr.qll 56d0b69912be269f39700a66dd2f8dc12f254ee10907dc768c775afce8db0746 73863fd448a9b8d4a310754c48991fb66dc71537d6c5916c9b7db7f24d77b246 lib/codeql/swift/generated/expr/StringToPointerExpr.qll 4d6163f16325af51b0ffff555c07875348801bcb55f21540e5055ceec88edff6 4d6163f16325af51b0ffff555c07875348801bcb55f21540e5055ceec88edff6 lib/codeql/swift/generated/expr/SubscriptExpr.qll 6df2a686f911b3a7c5f98d94cd01e5adc1c5dfdd8787b6db3e27b8baeea486f8 13bdbea04bfaa7f58a6544d6e01a597bd9625085045be403b482adb0aff65be3 @@ -832,6 +835,8 @@ test/extractor-tests/generated/expr/PropertyWrapperValuePlaceholderExpr/Property test/extractor-tests/generated/expr/PropertyWrapperValuePlaceholderExpr/PropertyWrapperValuePlaceholderExpr_getWrappedValue.ql 208153f062b04bec13a860b64ea51c1d531597140d81a6d4598294dc9f8649a2 dfaea19e1075c02dfc0366fac8fd2edfae8dde06308730eb462c54be5b571129 test/extractor-tests/generated/expr/RebindSelfInInitializerExpr/MISSING_SOURCE.txt 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 test/extractor-tests/generated/expr/RegexLiteralExpr/MISSING_SOURCE.txt 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 +test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr.ql efbfaf798a86c5a7d8053a22f61249208db31edcdaf750f2671057ad2f376806 d3256d2315d5bd5420b40a4be9522752bb57897807ea3853a7a4c61e9a05e478 +test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr_getType.ql bfbeb24e57078b1bbaae331a6f3e8d13d0efbdca2228dbbca53b86d5e287efd8 864351b87f7981825e148a479e997936c653a4581e8a893eaed96ddeed891eab test/extractor-tests/generated/expr/StringLiteralExpr/MISSING_SOURCE.txt 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 test/extractor-tests/generated/expr/SubscriptExpr/MISSING_SOURCE.txt 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 test/extractor-tests/generated/expr/SuperRefExpr/MISSING_SOURCE.txt 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 66846d526b0bc4328735c3c4dd9c390a9325da5b5dfd42ec07622f9c7108a7d7 diff --git a/swift/ql/.gitattributes b/swift/ql/.gitattributes index a1e00251e80..2ea093c5634 100644 --- a/swift/ql/.gitattributes +++ b/swift/ql/.gitattributes @@ -195,6 +195,8 @@ /lib/codeql/swift/elements/expr/SelfApplyExpr.qll linguist-generated /lib/codeql/swift/elements/expr/SequenceExpr.qll linguist-generated /lib/codeql/swift/elements/expr/SequenceExprConstructor.qll linguist-generated +/lib/codeql/swift/elements/expr/SingleValueStmtExpr.qll linguist-generated +/lib/codeql/swift/elements/expr/SingleValueStmtExprConstructor.qll linguist-generated /lib/codeql/swift/elements/expr/StringLiteralExprConstructor.qll linguist-generated /lib/codeql/swift/elements/expr/StringToPointerExpr.qll linguist-generated /lib/codeql/swift/elements/expr/StringToPointerExprConstructor.qll linguist-generated @@ -533,6 +535,7 @@ /lib/codeql/swift/generated/expr/RegexLiteralExpr.qll linguist-generated /lib/codeql/swift/generated/expr/SelfApplyExpr.qll linguist-generated /lib/codeql/swift/generated/expr/SequenceExpr.qll linguist-generated +/lib/codeql/swift/generated/expr/SingleValueStmtExpr.qll linguist-generated /lib/codeql/swift/generated/expr/StringLiteralExpr.qll linguist-generated /lib/codeql/swift/generated/expr/StringToPointerExpr.qll linguist-generated /lib/codeql/swift/generated/expr/SubscriptExpr.qll linguist-generated @@ -834,6 +837,8 @@ /test/extractor-tests/generated/expr/PropertyWrapperValuePlaceholderExpr/PropertyWrapperValuePlaceholderExpr_getWrappedValue.ql linguist-generated /test/extractor-tests/generated/expr/RebindSelfInInitializerExpr/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/expr/RegexLiteralExpr/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr.ql linguist-generated +/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr_getType.ql linguist-generated /test/extractor-tests/generated/expr/StringLiteralExpr/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/expr/SubscriptExpr/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/expr/SuperRefExpr/MISSING_SOURCE.txt linguist-generated diff --git a/swift/ql/lib/change-notes/2023-11-01-field-sinks.md b/swift/ql/lib/change-notes/2023-11-01-field-sinks.md new file mode 100644 index 00000000000..b9c8d522867 --- /dev/null +++ b/swift/ql/lib/change-notes/2023-11-01-field-sinks.md @@ -0,0 +1,5 @@ +--- +category: minorAnalysis +--- + +* Fixed a bug where some flow sinks at field accesses were not being correctly identified. diff --git a/swift/ql/lib/change-notes/2023-11-03-nsstring.md b/swift/ql/lib/change-notes/2023-11-03-nsstring.md new file mode 100644 index 00000000000..458073a9434 --- /dev/null +++ b/swift/ql/lib/change-notes/2023-11-03-nsstring.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint flow models for the `NSString.enumerate*` methods. diff --git a/swift/ql/lib/change-notes/2023-11-03-subscript.md b/swift/ql/lib/change-notes/2023-11-03-subscript.md new file mode 100644 index 00000000000..c90e48c0465 --- /dev/null +++ b/swift/ql/lib/change-notes/2023-11-03-subscript.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Generalized the data flow model for subscript writes (`a[index] = b`) so that it applies to subscripts on all kinds of objects, not just arrays. diff --git a/swift/ql/lib/change-notes/2023-11-08-swift-5.9.md b/swift/ql/lib/change-notes/2023-11-08-swift-5.9.md new file mode 100644 index 00000000000..726b7b2e64f --- /dev/null +++ b/swift/ql/lib/change-notes/2023-11-08-swift-5.9.md @@ -0,0 +1,5 @@ +--- +category: majorAnalysis +--- +* Added Swift 5.9.1 support +* New AST node is extracted: `SingleValueStmtExpr` diff --git a/swift/ql/lib/codeql/swift/controlflow/internal/ControlFlowGraphImpl.qll b/swift/ql/lib/codeql/swift/controlflow/internal/ControlFlowGraphImpl.qll index 5a18c1db76f..eef4b32f2d9 100644 --- a/swift/ql/lib/codeql/swift/controlflow/internal/ControlFlowGraphImpl.qll +++ b/swift/ql/lib/codeql/swift/controlflow/internal/ControlFlowGraphImpl.qll @@ -1417,6 +1417,15 @@ module Exprs { } } + /** Control-flow for a `SingleValueStmtExpr`. See the QLDoc for `SingleValueStmtExpr` for the semantics of a `SingleValueStmtExpr`. */ + private class SingleValueStmtExprTree extends AstStandardPostOrderTree { + override SingleValueStmtExpr ast; + + final override ControlFlowElement getChildElement(int i) { + i = 0 and result.asAstNode() = ast.getStmt() + } + } + private class OpaqueValueExprTree extends AstLeafTree { override OpaqueValueExpr ast; } diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll index 181abb28af8..8b417a74cae 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll @@ -1075,12 +1075,12 @@ predicate storeStep(Node node1, ContentSet c, Node node2) { c.isSingleton(any(Content::CollectionContent ac)) ) or - // array assignment `a[n] = x` + // subscript assignment `a[n] = x` exists(AssignExpr assign, SubscriptExpr subscript | node1.asExpr() = assign.getSource() and node2.(PostUpdateNode).getPreUpdateNode().asExpr() = subscript.getBase() and subscript = assign.getDest() and - subscript.getBase().getType() instanceof ArrayType and + not any(DictionarySubscriptNode n).getExpr() = subscript and c.isSingleton(any(Content::CollectionContent ac)) ) or diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingPublic.qll b/swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingPublic.qll index 833b0583c16..ce2584d887a 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingPublic.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingPublic.qll @@ -32,8 +32,12 @@ predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::ContentSet cs) // So when the node is a `PostUpdateNode` we allow any sequence of implicit read steps of an appropriate // type to make sure we arrive at the sink with an empty access path. exists(NominalTypeDecl d, Decl cx | - node.(DataFlow::PostUpdateNode).getPreUpdateNode().asExpr().getType().getUnderlyingType() = - d.getType().getABaseType*() and + node.(DataFlow::PostUpdateNode) + .getPreUpdateNode() + .asExpr() + .getType() + .getUnderlyingType() + .getABaseType*() = d.getType() and cx.asNominalTypeDecl() = d and cs.getAReadContent().(DataFlow::Content::FieldContent).getField() = cx.getAMember() ) diff --git a/swift/ql/lib/codeql/swift/elements.qll b/swift/ql/lib/codeql/swift/elements.qll index 81f0a4b4c1b..3b0737390b5 100644 --- a/swift/ql/lib/codeql/swift/elements.qll +++ b/swift/ql/lib/codeql/swift/elements.qll @@ -164,6 +164,7 @@ import codeql.swift.elements.expr.ProtocolMetatypeToObjectExpr import codeql.swift.elements.expr.RebindSelfInInitializerExpr import codeql.swift.elements.expr.RegexLiteralExpr import codeql.swift.elements.expr.SequenceExpr +import codeql.swift.elements.expr.SingleValueStmtExpr import codeql.swift.elements.expr.StringLiteralExpr import codeql.swift.elements.expr.StringToPointerExpr import codeql.swift.elements.expr.SubscriptExpr diff --git a/swift/ql/lib/codeql/swift/elements/expr/SingleValueStmtExpr.qll b/swift/ql/lib/codeql/swift/elements/expr/SingleValueStmtExpr.qll new file mode 100644 index 00000000000..8a2af5164ba --- /dev/null +++ b/swift/ql/lib/codeql/swift/elements/expr/SingleValueStmtExpr.qll @@ -0,0 +1,8 @@ +// generated by codegen/codegen.py, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SingleValueStmtExpr`. + */ + +private import codeql.swift.generated.expr.SingleValueStmtExpr + +class SingleValueStmtExpr extends Generated::SingleValueStmtExpr { } diff --git a/swift/ql/lib/codeql/swift/elements/expr/SingleValueStmtExprConstructor.qll b/swift/ql/lib/codeql/swift/elements/expr/SingleValueStmtExprConstructor.qll new file mode 100644 index 00000000000..343826aa26b --- /dev/null +++ b/swift/ql/lib/codeql/swift/elements/expr/SingleValueStmtExprConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen/codegen.py, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SingleValueStmtExpr` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.swift.generated.Raw + +/** + * The characteristic predicate of `SingleValueStmtExpr` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSingleValueStmtExpr(Raw::SingleValueStmtExpr id) { any() } diff --git a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/Data.qll b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/Data.qll index 233d07aebf2..30755bb97c7 100644 --- a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/Data.qll +++ b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/Data.qll @@ -45,9 +45,6 @@ private class DataSummaries extends SummaryModelCsv { ";Data;true;shuffled(using:);;;Argument[-1];ReturnValue;taint", ";Data;true;trimmingPrefix(_:);;;Argument[-1];ReturnValue;taint", ";Data;true;trimmingPrefix(while:);;;Argument[-1];ReturnValue;taint", - ";Data;true;withUnsafeBytes(_:);;;Argument[-1];Argument[0].Parameter[0].CollectionElement;taint", - ";Data;true;withUnsafeBytes(_:);;;Argument[-1].CollectionElement;Argument[0].Parameter[0].CollectionElement;taint", - ";Data;true;withUnsafeBytes(_:);;;Argument[0].ReturnValue;ReturnValue;value", ";Data;true;withUnsafeMutableBytes(_:);;;Argument[-1];Argument[0].Parameter[0].CollectionElement;taint", ";Data;true;withUnsafeMutableBytes(_:);;;Argument[-1].CollectionElement;Argument[0].Parameter[0].CollectionElement;taint", ";Data;true;withUnsafeMutableBytes(_:);;;Argument[0].Parameter[0].CollectionElement;Argument[-1].CollectionElement;value", diff --git a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/FilePath.qll b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/FilePath.qll index c1e82a1522c..10d97c42518 100644 --- a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/FilePath.qll +++ b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/FilePath.qll @@ -31,8 +31,10 @@ private class FilePathSummaries extends SummaryModelCsv { ";FilePath;true;init(root:_:);;;Argument[0..1];ReturnValue;taint", ";FilePath;true;init(root:components:);;;Argument[0..1];ReturnValue;taint", ";FilePath;true;encode(to:);;;Argument[-1];Argument[0];taint", - ";FilePath;true;withCString(_:);;;Argument[-1];Argument[0].Parameter[0];taint", - ";FilePath;true;withPlatformString(_:);;;Argument[-1];Argument[0].Parameter[0];taint", + ";FilePath;true;withCString(_:);;;Argument[-1];Argument[0].Parameter[0].CollectionElement;taint", + ";FilePath;true;withCString(_:);;;Argument[0].ReturnValue;ReturnValue;taint", + ";FilePath;true;withPlatformString(_:);;;Argument[-1];Argument[0].Parameter[0].CollectionElement;taint", + ";FilePath;true;withPlatformString(_:);;;Argument[0].ReturnValue;ReturnValue;taint", ";FilePath;true;append(_:);;;Argument[0];Argument[-1];taint", ";FilePath;true;appending(_:);;;Argument[-1..0];ReturnValue;taint", ";FilePath;true;lexicallyNormalized();;;Argument[-1];ReturnValue;taint", diff --git a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/NsString.qll b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/NsString.qll index 2044c7757a2..64af152fced 100644 --- a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/NsString.qll +++ b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/NsString.qll @@ -83,7 +83,7 @@ private class NsStringSummaries extends SummaryModelCsv { ";NSString;true;lowercased(with:);;;Argument[-1];ReturnValue;taint", ";NSString;true;uppercased(with:);;;Argument[-1];ReturnValue;taint", ";NSString;true;capitalized(with:);;;Argument[-1];ReturnValue;taint", - ";NSString;true;components(separatedBy:);;;Argument[-1];ReturnValue;taint", + ";NSString;true;components(separatedBy:);;;Argument[-1];ReturnValue.CollectionElement;taint", ";NSString;true;trimmingCharacters(in:);;;Argument[-1];ReturnValue;taint", ";NSString;true;substring(from:);;;Argument[-1];ReturnValue;taint", ";NSString;true;substring(with:);;;Argument[-1];ReturnValue;taint", @@ -102,14 +102,15 @@ private class NsStringSummaries extends SummaryModelCsv { ";NSString;true;stringEncoding(for:encodingOptions:convertedString:usedLossyCompression:);;;Argument[0];Argument[2];taint", ";NSString;true;data(using:);;;Argument[-1];ReturnValue;taint", ";NSString;true;data(using:allowLossyConversion:);;;Argument[-1];ReturnValue;taint", - ";NSString;true;path(withComponents:);;;Argument[0];ReturnValue;taint", + ";NSString;true;path(withComponents:);;;Argument[0].CollectionElement;ReturnValue;taint", ";NSString;true;completePath(into:caseSensitive:matchesInto:filterTypes:);;;Argument[-1];Argument[0];taint", ";NSString;true;completePath(into:caseSensitive:matchesInto:filterTypes:);;;Argument[-1];Argument[2];taint", ";NSString;true;getFileSystemRepresentation(_:maxLength:);;;Argument[-1];Argument[0];taint", ";NSString;true;appendingPathComponent(_:);;;Argument[-1..0];ReturnValue;taint", ";NSString;true;appendingPathComponent(_:conformingTo:);;;Argument[-1..0];ReturnValue;taint", ";NSString;true;appendingPathExtension(_:);;;Argument[-1..0];ReturnValue;taint", - ";NSString;true;strings(byAppendingPaths:);;;Argument[-1..0];ReturnValue;taint", + ";NSString;true;strings(byAppendingPaths:);;;Argument[-1];ReturnValue;taint", + ";NSString;true;strings(byAppendingPaths:);;;Argument[0].CollectionElement;ReturnValue;taint", ";NSString;true;addingPercentEncoding(withAllowedCharacters:);;;Argument[-1];ReturnValue;taint", ";NSString;true;string(withCString:);;;Argument[0];ReturnValue;taint", ";NSString;true;string(withCString:length:);;;Argument[0];ReturnValue;taint", @@ -118,6 +119,10 @@ private class NsStringSummaries extends SummaryModelCsv { ";NSString;true;addingPercentEscapes(using:);;;Argument[-1];ReturnValue;taint", ";NSString;true;replacingPercentEscapes(using:);;;Argument[-1];ReturnValue;taint", ";NSString;true;applyTransform(_:reverse:range:updatedRange:);;;Argument[-1];ReturnValue;taint", + ";NSString;true;enumerateLines(_:);;;Argument[-1];Argument[0].Parameter[0];taint", + ";NSString;true;enumerateSubstrings(in:options:using:);;;Argument[-1];Argument[2].Parameter[0].OptionalSome;taint", + ";NSString;true;enumerateSubstrings(in:options:using:);;;Argument[2].Parameter[0].OptionalSome;Argument[-1];taint", + ";NSString;true;enumerateLinguisticTags(in:scheme:options:orthography:using:);;;Argument[-1];Argument[4].Parameter[0].OptionalSome;taint", ";NSMutableString;true;append(_:);;;Argument[0];Argument[-1];taint", ";NSMutableString;true;insert(_:at:);;;Argument[0];Argument[-1];taint", ";NSMutableString;true;replaceCharacters(in:with:);;;Argument[1];Argument[-1];taint", diff --git a/swift/ql/lib/codeql/swift/generated/ParentChild.qll b/swift/ql/lib/codeql/swift/generated/ParentChild.qll index e61c3216312..423b5ff8b2d 100644 --- a/swift/ql/lib/codeql/swift/generated/ParentChild.qll +++ b/swift/ql/lib/codeql/swift/generated/ParentChild.qll @@ -1749,6 +1749,24 @@ private module Impl { ) } + private Element getImmediateChildOfSingleValueStmtExpr( + SingleValueStmtExpr e, int index, string partialPredicateCall + ) { + exists(int b, int bExpr, int n, int nStmt | + b = 0 and + bExpr = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfExpr(e, i, _)) | i) and + n = bExpr and + nStmt = n + 1 and + ( + none() + or + result = getImmediateChildOfExpr(e, index - b, partialPredicateCall) + or + index = n and result = e.getStmt() and partialPredicateCall = "Stmt()" + ) + ) + } + private Element getImmediateChildOfSuperRefExpr( SuperRefExpr e, int index, string partialPredicateCall ) { @@ -4981,6 +4999,8 @@ private module Impl { or result = getImmediateChildOfSequenceExpr(e, index, partialAccessor) or + result = getImmediateChildOfSingleValueStmtExpr(e, index, partialAccessor) + or result = getImmediateChildOfSuperRefExpr(e, index, partialAccessor) or result = getImmediateChildOfTapExpr(e, index, partialAccessor) diff --git a/swift/ql/lib/codeql/swift/generated/Raw.qll b/swift/ql/lib/codeql/swift/generated/Raw.qll index 00693018cf1..64b1313c5b6 100644 --- a/swift/ql/lib/codeql/swift/generated/Raw.qll +++ b/swift/ql/lib/codeql/swift/generated/Raw.qll @@ -1571,6 +1571,19 @@ module Raw { Expr getElement(int index) { sequence_expr_elements(this, index, result) } } + /** + * INTERNAL: Do not use. + * An expression that wraps a statement which produces a single value. + */ + class SingleValueStmtExpr extends @single_value_stmt_expr, Expr { + override string toString() { result = "SingleValueStmtExpr" } + + /** + * Gets the statement of this single value statement expression. + */ + Stmt getStmt() { single_value_stmt_exprs(this, result) } + } + /** * INTERNAL: Do not use. */ diff --git a/swift/ql/lib/codeql/swift/generated/Synth.qll b/swift/ql/lib/codeql/swift/generated/Synth.qll index fdbadffcd33..d10b7b2d1b6 100644 --- a/swift/ql/lib/codeql/swift/generated/Synth.qll +++ b/swift/ql/lib/codeql/swift/generated/Synth.qll @@ -579,6 +579,10 @@ module Synth { * INTERNAL: Do not use. */ TSequenceExpr(Raw::SequenceExpr id) { constructSequenceExpr(id) } or + /** + * INTERNAL: Do not use. + */ + TSingleValueStmtExpr(Raw::SingleValueStmtExpr id) { constructSingleValueStmtExpr(id) } or /** * INTERNAL: Do not use. */ @@ -1172,8 +1176,8 @@ module Synth { TOneWayExpr or TOpaqueValueExpr or TOpenExistentialExpr or TOptionalEvaluationExpr or TOtherInitializerRefExpr or TOverloadedDeclRefExpr or TPropertyWrapperValuePlaceholderExpr or TRebindSelfInInitializerExpr or TSequenceExpr or - TSuperRefExpr or TTapExpr or TTupleElementExpr or TTupleExpr or TTypeExpr or - TUnresolvedDeclRefExpr or TUnresolvedDotExpr or TUnresolvedMemberExpr or + TSingleValueStmtExpr or TSuperRefExpr or TTapExpr or TTupleElementExpr or TTupleExpr or + TTypeExpr or TUnresolvedDeclRefExpr or TUnresolvedDotExpr or TUnresolvedMemberExpr or TUnresolvedPatternExpr or TUnresolvedSpecializeExpr or TVarargExpansionExpr; /** @@ -2373,6 +2377,15 @@ module Synth { cached TSequenceExpr convertSequenceExprFromRaw(Raw::Element e) { result = TSequenceExpr(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TSingleValueStmtExpr`, if possible. + */ + cached + TSingleValueStmtExpr convertSingleValueStmtExprFromRaw(Raw::Element e) { + result = TSingleValueStmtExpr(e) + } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TStringLiteralExpr`, if possible. @@ -3656,6 +3669,8 @@ module Synth { or result = convertSequenceExprFromRaw(e) or + result = convertSingleValueStmtExprFromRaw(e) + or result = convertSuperRefExprFromRaw(e) or result = convertTapExprFromRaw(e) @@ -5178,6 +5193,15 @@ module Synth { cached Raw::Element convertSequenceExprToRaw(TSequenceExpr e) { e = TSequenceExpr(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSingleValueStmtExpr` to a raw DB element, if possible. + */ + cached + Raw::Element convertSingleValueStmtExprToRaw(TSingleValueStmtExpr e) { + e = TSingleValueStmtExpr(result) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TStringLiteralExpr` to a raw DB element, if possible. @@ -6461,6 +6485,8 @@ module Synth { or result = convertSequenceExprToRaw(e) or + result = convertSingleValueStmtExprToRaw(e) + or result = convertSuperRefExprToRaw(e) or result = convertTapExprToRaw(e) diff --git a/swift/ql/lib/codeql/swift/generated/SynthConstructors.qll b/swift/ql/lib/codeql/swift/generated/SynthConstructors.qll index 6721580319c..be134c07505 100644 --- a/swift/ql/lib/codeql/swift/generated/SynthConstructors.qll +++ b/swift/ql/lib/codeql/swift/generated/SynthConstructors.qll @@ -131,6 +131,7 @@ import codeql.swift.elements.expr.ProtocolMetatypeToObjectExprConstructor import codeql.swift.elements.expr.RebindSelfInInitializerExprConstructor import codeql.swift.elements.expr.RegexLiteralExprConstructor import codeql.swift.elements.expr.SequenceExprConstructor +import codeql.swift.elements.expr.SingleValueStmtExprConstructor import codeql.swift.elements.expr.StringLiteralExprConstructor import codeql.swift.elements.expr.StringToPointerExprConstructor import codeql.swift.elements.expr.SubscriptExprConstructor diff --git a/swift/ql/lib/codeql/swift/generated/expr/SingleValueStmtExpr.qll b/swift/ql/lib/codeql/swift/generated/expr/SingleValueStmtExpr.qll new file mode 100644 index 00000000000..31492cb1d1e --- /dev/null +++ b/swift/ql/lib/codeql/swift/generated/expr/SingleValueStmtExpr.qll @@ -0,0 +1,31 @@ +// generated by codegen/codegen.py +/** + * This module provides the generated definition of `SingleValueStmtExpr`. + * INTERNAL: Do not import directly. + */ + +private import codeql.swift.generated.Synth +private import codeql.swift.generated.Raw +import codeql.swift.elements.expr.Expr +import codeql.swift.elements.stmt.Stmt + +module Generated { + /** + * An expression that wraps a statement which produces a single value. + * INTERNAL: Do not reference the `Generated::SingleValueStmtExpr` class directly. + * Use the subclass `SingleValueStmtExpr`, where the following predicates are available. + */ + class SingleValueStmtExpr extends Synth::TSingleValueStmtExpr, Expr { + override string getAPrimaryQlClass() { result = "SingleValueStmtExpr" } + + /** + * Gets the statement of this single value statement expression. + */ + Stmt getStmt() { + result = + Synth::convertStmtFromRaw(Synth::convertSingleValueStmtExprToRaw(this) + .(Raw::SingleValueStmtExpr) + .getStmt()) + } + } +} diff --git a/swift/ql/lib/codeql/swift/security/CleartextStorageDatabaseExtensions.qll b/swift/ql/lib/codeql/swift/security/CleartextStorageDatabaseExtensions.qll index cfd9a26ebdb..70a8d720b40 100644 --- a/swift/ql/lib/codeql/swift/security/CleartextStorageDatabaseExtensions.qll +++ b/swift/ql/lib/codeql/swift/security/CleartextStorageDatabaseExtensions.qll @@ -57,6 +57,26 @@ private class CoreDataStore extends CleartextStorageDatabaseSink { } } +/** + * The Realm database `RealmSwiftObject` type. Also matches the Realm `Object` + * type, which may or may not be a type alias for `RealmSwiftObject`. + */ +class RealmSwiftObject extends Type { + RealmSwiftObject() { + this.getName() = "RealmSwiftObject" + or + this.getName() = "Object" and + this.(NominalType).getDeclaration().getModule().getName() = "RealmSwift" + } +} + +/** + * A class that inherits from `RealmSwiftObject`. + */ +class RealmSwiftObjectType extends Type { + RealmSwiftObjectType() { this.getUnderlyingType().getABaseType*() instanceof RealmSwiftObject } +} + /** * A `DataFlow::Node` that is an expression stored with the Realm database * library. @@ -66,10 +86,9 @@ private class RealmStore extends CleartextStorageDatabaseSink instanceof DataFlo // any write into a class derived from `RealmSwiftObject` is a sink. For // example in `realmObj.data = sensitive` the post-update node corresponding // with `realmObj.data` is a sink. - exists(NominalType t, Expr e | - t.getUnderlyingType().getABaseType*().getName() = "RealmSwiftObject" and + exists(Expr e | this.getPreUpdateNode().asExpr() = e and - e.getFullyConverted().getType() = t and + e.getFullyConverted().getType() instanceof RealmSwiftObjectType and not e.(DeclRefExpr).getDecl() instanceof SelfParamDecl ) } diff --git a/swift/ql/lib/codeql/swift/security/CleartextStorageDatabaseQuery.qll b/swift/ql/lib/codeql/swift/security/CleartextStorageDatabaseQuery.qll index 25f595a8dd2..0f2d28480cd 100644 --- a/swift/ql/lib/codeql/swift/security/CleartextStorageDatabaseQuery.qll +++ b/swift/ql/lib/codeql/swift/security/CleartextStorageDatabaseQuery.qll @@ -34,8 +34,10 @@ module CleartextStorageDatabaseConfig implements DataFlow::ConfigSig { // for example in `realmObj.data = sensitive`. isSink(node) and exists(NominalTypeDecl d, Decl cx | - d.getType().getUnderlyingType().getABaseType*().getName() = - ["NSManagedObject", "RealmSwiftObject"] and + ( + d.getType().getUnderlyingType().getABaseType*().getName() = "NSManagedObject" or + d.getType() instanceof RealmSwiftObjectType + ) and cx.asNominalTypeDecl() = d and c.getAReadContent().(DataFlow::Content::FieldContent).getField() = cx.getAMember() ) diff --git a/swift/ql/lib/swift.dbscheme b/swift/ql/lib/swift.dbscheme index 7c17e1f4b2d..fcc7b497930 100644 --- a/swift/ql/lib/swift.dbscheme +++ b/swift/ql/lib/swift.dbscheme @@ -764,6 +764,7 @@ arguments( //dir=expr | @property_wrapper_value_placeholder_expr | @rebind_self_in_initializer_expr | @sequence_expr +| @single_value_stmt_expr | @super_ref_expr | @tap_expr | @tuple_element_expr @@ -1143,6 +1144,11 @@ sequence_expr_elements( //dir=expr int element: @expr_or_none ref ); +single_value_stmt_exprs( //dir=expr + unique int id: @single_value_stmt_expr, + int stmt: @stmt_or_none ref +); + super_ref_exprs( //dir=expr unique int id: @super_ref_expr, int self: @var_decl_or_none ref diff --git a/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/old.dbscheme b/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/old.dbscheme new file mode 100644 index 00000000000..7c17e1f4b2d --- /dev/null +++ b/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/old.dbscheme @@ -0,0 +1,2636 @@ +// generated by codegen/codegen.py + +// from prefix.dbscheme +/** + * The source location of the snapshot. + */ +sourceLocationPrefix( + string prefix: string ref +); + + +// from schema.py + +@element = + @callable +| @file +| @generic_context +| @locatable +| @location +| @type +; + +#keyset[id] +element_is_unknown( + int id: @element ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_names( + int id: @callable ref, + string name: string ref +); + +#keyset[id] +callable_self_params( + int id: @callable ref, + int self_param: @param_decl_or_none ref +); + +#keyset[id, index] +callable_params( + int id: @callable ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +#keyset[id] +callable_bodies( + int id: @callable ref, + int body: @brace_stmt_or_none ref +); + +#keyset[id, index] +callable_captures( + int id: @callable ref, + int index: int ref, + int capture: @captured_decl_or_none ref +); + +@file = + @db_file +; + +#keyset[id] +files( + int id: @file ref, + string name: string ref +); + +#keyset[id] +file_is_successfully_extracted( + int id: @file ref +); + +@locatable = + @argument +| @ast_node +| @comment +| @diagnostics +| @error_element +; + +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_or_none ref +); + +@location = + @db_location +; + +#keyset[id] +locations( + int id: @location ref, + int file: @file_or_none ref, + int start_line: int ref, + int start_column: int ref, + int end_line: int ref, + int end_column: int ref +); + +@ast_node = + @availability_info +| @availability_spec +| @case_label_item +| @condition_element +| @decl +| @expr +| @key_path_component +| @pattern +| @stmt +| @stmt_condition +| @type_repr +; + +comments( + unique int id: @comment, + string text: string ref +); + +db_files( + unique int id: @db_file +); + +db_locations( + unique int id: @db_location +); + +diagnostics( + unique int id: @diagnostics, + string text: string ref, + int kind: int ref +); + +@error_element = + @error_expr +| @error_type +| @overloaded_decl_ref_expr +| @unresolved_decl_ref_expr +| @unresolved_dot_expr +| @unresolved_member_chain_result_expr +| @unresolved_member_expr +| @unresolved_pattern_expr +| @unresolved_specialize_expr +| @unresolved_type +| @unresolved_type_conversion_expr +| @unspecified_element +; + +availability_infos( + unique int id: @availability_info +); + +#keyset[id] +availability_info_is_unavailable( + int id: @availability_info ref +); + +#keyset[id, index] +availability_info_specs( + int id: @availability_info ref, + int index: int ref, + int spec: @availability_spec_or_none ref +); + +@availability_spec = + @other_availability_spec +| @platform_version_availability_spec +; + +key_path_components( + unique int id: @key_path_component, + int kind: int ref, + int component_type: @type_or_none ref +); + +#keyset[id, index] +key_path_component_subscript_arguments( + int id: @key_path_component ref, + int index: int ref, + int subscript_argument: @argument_or_none ref +); + +#keyset[id] +key_path_component_tuple_indices( + int id: @key_path_component ref, + int tuple_index: int ref +); + +#keyset[id] +key_path_component_decl_refs( + int id: @key_path_component ref, + int decl_ref: @value_decl_or_none ref +); + +unspecified_elements( + unique int id: @unspecified_element, + string property: string ref, + string error: string ref +); + +#keyset[id] +unspecified_element_parents( + int id: @unspecified_element ref, + int parent: @element ref +); + +#keyset[id] +unspecified_element_indices( + int id: @unspecified_element ref, + int index: int ref +); + +#keyset[id, index] +unspecified_element_children( + int id: @unspecified_element ref, + int index: int ref, + int child: @ast_node_or_none ref +); + +other_availability_specs( + unique int id: @other_availability_spec +); + +platform_version_availability_specs( + unique int id: @platform_version_availability_spec, + string platform: string ref, + string version: string ref +); + +@decl = + @captured_decl +| @enum_case_decl +| @extension_decl +| @if_config_decl +| @import_decl +| @missing_member_decl +| @operator_decl +| @pattern_binding_decl +| @pound_diagnostic_decl +| @precedence_group_decl +| @top_level_code_decl +| @value_decl +; + +#keyset[id] +decls( //dir=decl + int id: @decl ref, + int module: @module_decl_or_none ref +); + +#keyset[id, index] +decl_members( //dir=decl + int id: @decl ref, + int index: int ref, + int member: @decl_or_none ref +); + +@generic_context = + @extension_decl +| @function +| @generic_type_decl +| @subscript_decl +; + +#keyset[id, index] +generic_context_generic_type_params( //dir=decl + int id: @generic_context ref, + int index: int ref, + int generic_type_param: @generic_type_param_decl_or_none ref +); + +captured_decls( //dir=decl + unique int id: @captured_decl, + int decl: @value_decl_or_none ref +); + +#keyset[id] +captured_decl_is_direct( //dir=decl + int id: @captured_decl ref +); + +#keyset[id] +captured_decl_is_escaping( //dir=decl + int id: @captured_decl ref +); + +enum_case_decls( //dir=decl + unique int id: @enum_case_decl +); + +#keyset[id, index] +enum_case_decl_elements( //dir=decl + int id: @enum_case_decl ref, + int index: int ref, + int element: @enum_element_decl_or_none ref +); + +extension_decls( //dir=decl + unique int id: @extension_decl, + int extended_type_decl: @nominal_type_decl_or_none ref +); + +#keyset[id, index] +extension_decl_protocols( //dir=decl + int id: @extension_decl ref, + int index: int ref, + int protocol: @protocol_decl_or_none ref +); + +if_config_decls( //dir=decl + unique int id: @if_config_decl +); + +#keyset[id, index] +if_config_decl_active_elements( //dir=decl + int id: @if_config_decl ref, + int index: int ref, + int active_element: @ast_node_or_none ref +); + +import_decls( //dir=decl + unique int id: @import_decl +); + +#keyset[id] +import_decl_is_exported( //dir=decl + int id: @import_decl ref +); + +#keyset[id] +import_decl_imported_modules( //dir=decl + int id: @import_decl ref, + int imported_module: @module_decl_or_none ref +); + +#keyset[id, index] +import_decl_declarations( //dir=decl + int id: @import_decl ref, + int index: int ref, + int declaration: @value_decl_or_none ref +); + +missing_member_decls( //dir=decl + unique int id: @missing_member_decl, + string name: string ref +); + +@operator_decl = + @infix_operator_decl +| @postfix_operator_decl +| @prefix_operator_decl +; + +#keyset[id] +operator_decls( //dir=decl + int id: @operator_decl ref, + string name: string ref +); + +pattern_binding_decls( //dir=decl + unique int id: @pattern_binding_decl +); + +#keyset[id, index] +pattern_binding_decl_inits( //dir=decl + int id: @pattern_binding_decl ref, + int index: int ref, + int init: @expr_or_none ref +); + +#keyset[id, index] +pattern_binding_decl_patterns( //dir=decl + int id: @pattern_binding_decl ref, + int index: int ref, + int pattern: @pattern_or_none ref +); + +pound_diagnostic_decls( //dir=decl + unique int id: @pound_diagnostic_decl, + int kind: int ref, + int message: @string_literal_expr_or_none ref +); + +precedence_group_decls( //dir=decl + unique int id: @precedence_group_decl +); + +top_level_code_decls( //dir=decl + unique int id: @top_level_code_decl, + int body: @brace_stmt_or_none ref +); + +@value_decl = + @abstract_storage_decl +| @enum_element_decl +| @function +| @type_decl +; + +#keyset[id] +value_decls( //dir=decl + int id: @value_decl ref, + int interface_type: @type_or_none ref +); + +@abstract_storage_decl = + @subscript_decl +| @var_decl +; + +#keyset[id, index] +abstract_storage_decl_accessors( //dir=decl + int id: @abstract_storage_decl ref, + int index: int ref, + int accessor: @accessor_or_none ref +); + +enum_element_decls( //dir=decl + unique int id: @enum_element_decl, + string name: string ref +); + +#keyset[id, index] +enum_element_decl_params( //dir=decl + int id: @enum_element_decl ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +@function = + @accessor_or_named_function +| @deinitializer +| @initializer +; + +infix_operator_decls( //dir=decl + unique int id: @infix_operator_decl +); + +#keyset[id] +infix_operator_decl_precedence_groups( //dir=decl + int id: @infix_operator_decl ref, + int precedence_group: @precedence_group_decl_or_none ref +); + +postfix_operator_decls( //dir=decl + unique int id: @postfix_operator_decl +); + +prefix_operator_decls( //dir=decl + unique int id: @prefix_operator_decl +); + +@type_decl = + @abstract_type_param_decl +| @generic_type_decl +| @module_decl +; + +#keyset[id] +type_decls( //dir=decl + int id: @type_decl ref, + string name: string ref +); + +#keyset[id, index] +type_decl_inherited_types( //dir=decl + int id: @type_decl ref, + int index: int ref, + int inherited_type: @type_or_none ref +); + +@abstract_type_param_decl = + @associated_type_decl +| @generic_type_param_decl +; + +@accessor_or_named_function = + @accessor +| @named_function +; + +deinitializers( //dir=decl + unique int id: @deinitializer +); + +@generic_type_decl = + @nominal_type_decl +| @opaque_type_decl +| @type_alias_decl +; + +initializers( //dir=decl + unique int id: @initializer +); + +module_decls( //dir=decl + unique int id: @module_decl +); + +#keyset[id] +module_decl_is_builtin_module( //dir=decl + int id: @module_decl ref +); + +#keyset[id] +module_decl_is_system_module( //dir=decl + int id: @module_decl ref +); + +module_decl_imported_modules( //dir=decl + int id: @module_decl ref, + int imported_module: @module_decl_or_none ref +); + +module_decl_exported_modules( //dir=decl + int id: @module_decl ref, + int exported_module: @module_decl_or_none ref +); + +subscript_decls( //dir=decl + unique int id: @subscript_decl, + int element_type: @type_or_none ref +); + +#keyset[id, index] +subscript_decl_params( //dir=decl + int id: @subscript_decl ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +@var_decl = + @concrete_var_decl +| @param_decl +; + +#keyset[id] +var_decls( //dir=decl + int id: @var_decl ref, + string name: string ref, + int type_: @type_or_none ref +); + +#keyset[id] +var_decl_attached_property_wrapper_types( //dir=decl + int id: @var_decl ref, + int attached_property_wrapper_type: @type_or_none ref +); + +#keyset[id] +var_decl_parent_patterns( //dir=decl + int id: @var_decl ref, + int parent_pattern: @pattern_or_none ref +); + +#keyset[id] +var_decl_parent_initializers( //dir=decl + int id: @var_decl ref, + int parent_initializer: @expr_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_backing_var_bindings( //dir=decl + int id: @var_decl ref, + int property_wrapper_backing_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_backing_vars( //dir=decl + int id: @var_decl ref, + int property_wrapper_backing_var: @var_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_projection_var_bindings( //dir=decl + int id: @var_decl ref, + int property_wrapper_projection_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_projection_vars( //dir=decl + int id: @var_decl ref, + int property_wrapper_projection_var: @var_decl_or_none ref +); + +accessors( //dir=decl + unique int id: @accessor +); + +#keyset[id] +accessor_is_getter( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_setter( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_will_set( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_did_set( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_read( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_modify( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_unsafe_address( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_unsafe_mutable_address( //dir=decl + int id: @accessor ref +); + +associated_type_decls( //dir=decl + unique int id: @associated_type_decl +); + +concrete_var_decls( //dir=decl + unique int id: @concrete_var_decl, + int introducer_int: int ref +); + +generic_type_param_decls( //dir=decl + unique int id: @generic_type_param_decl +); + +named_functions( //dir=decl + unique int id: @named_function +); + +@nominal_type_decl = + @class_decl +| @enum_decl +| @protocol_decl +| @struct_decl +; + +#keyset[id] +nominal_type_decls( //dir=decl + int id: @nominal_type_decl ref, + int type_: @type_or_none ref +); + +opaque_type_decls( //dir=decl + unique int id: @opaque_type_decl, + int naming_declaration: @value_decl_or_none ref +); + +#keyset[id, index] +opaque_type_decl_opaque_generic_params( //dir=decl + int id: @opaque_type_decl ref, + int index: int ref, + int opaque_generic_param: @generic_type_param_type_or_none ref +); + +param_decls( //dir=decl + unique int id: @param_decl +); + +#keyset[id] +param_decl_is_inout( //dir=decl + int id: @param_decl ref +); + +#keyset[id] +param_decl_property_wrapper_local_wrapped_var_bindings( //dir=decl + int id: @param_decl ref, + int property_wrapper_local_wrapped_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +param_decl_property_wrapper_local_wrapped_vars( //dir=decl + int id: @param_decl ref, + int property_wrapper_local_wrapped_var: @var_decl_or_none ref +); + +type_alias_decls( //dir=decl + unique int id: @type_alias_decl, + int aliased_type: @type_or_none ref +); + +class_decls( //dir=decl + unique int id: @class_decl +); + +enum_decls( //dir=decl + unique int id: @enum_decl +); + +protocol_decls( //dir=decl + unique int id: @protocol_decl +); + +struct_decls( //dir=decl + unique int id: @struct_decl +); + +arguments( //dir=expr + unique int id: @argument, + string label: string ref, + int expr: @expr_or_none ref +); + +@expr = + @any_try_expr +| @applied_property_wrapper_expr +| @apply_expr +| @assign_expr +| @bind_optional_expr +| @capture_list_expr +| @closure_expr +| @collection_expr +| @decl_ref_expr +| @default_argument_expr +| @discard_assignment_expr +| @dot_syntax_base_ignored_expr +| @dynamic_type_expr +| @enum_is_case_expr +| @error_expr +| @explicit_cast_expr +| @force_value_expr +| @identity_expr +| @if_expr +| @implicit_conversion_expr +| @in_out_expr +| @key_path_application_expr +| @key_path_dot_expr +| @key_path_expr +| @lazy_initialization_expr +| @literal_expr +| @lookup_expr +| @make_temporarily_escapable_expr +| @obj_c_selector_expr +| @one_way_expr +| @opaque_value_expr +| @open_existential_expr +| @optional_evaluation_expr +| @other_initializer_ref_expr +| @overloaded_decl_ref_expr +| @property_wrapper_value_placeholder_expr +| @rebind_self_in_initializer_expr +| @sequence_expr +| @super_ref_expr +| @tap_expr +| @tuple_element_expr +| @tuple_expr +| @type_expr +| @unresolved_decl_ref_expr +| @unresolved_dot_expr +| @unresolved_member_expr +| @unresolved_pattern_expr +| @unresolved_specialize_expr +| @vararg_expansion_expr +; + +#keyset[id] +expr_types( //dir=expr + int id: @expr ref, + int type_: @type_or_none ref +); + +@any_try_expr = + @force_try_expr +| @optional_try_expr +| @try_expr +; + +#keyset[id] +any_try_exprs( //dir=expr + int id: @any_try_expr ref, + int sub_expr: @expr_or_none ref +); + +applied_property_wrapper_exprs( //dir=expr + unique int id: @applied_property_wrapper_expr, + int kind: int ref, + int value: @expr_or_none ref, + int param: @param_decl_or_none ref +); + +@apply_expr = + @binary_expr +| @call_expr +| @postfix_unary_expr +| @prefix_unary_expr +| @self_apply_expr +; + +#keyset[id] +apply_exprs( //dir=expr + int id: @apply_expr ref, + int function: @expr_or_none ref +); + +#keyset[id, index] +apply_expr_arguments( //dir=expr + int id: @apply_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +assign_exprs( //dir=expr + unique int id: @assign_expr, + int dest: @expr_or_none ref, + int source: @expr_or_none ref +); + +bind_optional_exprs( //dir=expr + unique int id: @bind_optional_expr, + int sub_expr: @expr_or_none ref +); + +capture_list_exprs( //dir=expr + unique int id: @capture_list_expr, + int closure_body: @closure_expr_or_none ref +); + +#keyset[id, index] +capture_list_expr_binding_decls( //dir=expr + int id: @capture_list_expr ref, + int index: int ref, + int binding_decl: @pattern_binding_decl_or_none ref +); + +@closure_expr = + @auto_closure_expr +| @explicit_closure_expr +; + +@collection_expr = + @array_expr +| @dictionary_expr +; + +decl_ref_exprs( //dir=expr + unique int id: @decl_ref_expr, + int decl: @decl_or_none ref +); + +#keyset[id, index] +decl_ref_expr_replacement_types( //dir=expr + int id: @decl_ref_expr ref, + int index: int ref, + int replacement_type: @type_or_none ref +); + +#keyset[id] +decl_ref_expr_has_direct_to_storage_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_ordinary_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_distributed_thunk_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +default_argument_exprs( //dir=expr + unique int id: @default_argument_expr, + int param_decl: @param_decl_or_none ref, + int param_index: int ref +); + +#keyset[id] +default_argument_expr_caller_side_defaults( //dir=expr + int id: @default_argument_expr ref, + int caller_side_default: @expr_or_none ref +); + +discard_assignment_exprs( //dir=expr + unique int id: @discard_assignment_expr +); + +dot_syntax_base_ignored_exprs( //dir=expr + unique int id: @dot_syntax_base_ignored_expr, + int qualifier: @expr_or_none ref, + int sub_expr: @expr_or_none ref +); + +dynamic_type_exprs( //dir=expr + unique int id: @dynamic_type_expr, + int base: @expr_or_none ref +); + +enum_is_case_exprs( //dir=expr + unique int id: @enum_is_case_expr, + int sub_expr: @expr_or_none ref, + int element: @enum_element_decl_or_none ref +); + +error_exprs( //dir=expr + unique int id: @error_expr +); + +@explicit_cast_expr = + @checked_cast_expr +| @coerce_expr +; + +#keyset[id] +explicit_cast_exprs( //dir=expr + int id: @explicit_cast_expr ref, + int sub_expr: @expr_or_none ref +); + +force_value_exprs( //dir=expr + unique int id: @force_value_expr, + int sub_expr: @expr_or_none ref +); + +@identity_expr = + @await_expr +| @dot_self_expr +| @paren_expr +| @unresolved_member_chain_result_expr +; + +#keyset[id] +identity_exprs( //dir=expr + int id: @identity_expr ref, + int sub_expr: @expr_or_none ref +); + +if_exprs( //dir=expr + unique int id: @if_expr, + int condition: @expr_or_none ref, + int then_expr: @expr_or_none ref, + int else_expr: @expr_or_none ref +); + +@implicit_conversion_expr = + @abi_safe_conversion_expr +| @any_hashable_erasure_expr +| @archetype_to_super_expr +| @array_to_pointer_expr +| @bridge_from_obj_c_expr +| @bridge_to_obj_c_expr +| @class_metatype_to_object_expr +| @collection_upcast_conversion_expr +| @conditional_bridge_from_obj_c_expr +| @covariant_function_conversion_expr +| @covariant_return_conversion_expr +| @derived_to_base_expr +| @destructure_tuple_expr +| @differentiable_function_expr +| @differentiable_function_extract_original_expr +| @erasure_expr +| @existential_metatype_to_object_expr +| @foreign_object_conversion_expr +| @function_conversion_expr +| @in_out_to_pointer_expr +| @inject_into_optional_expr +| @linear_function_expr +| @linear_function_extract_original_expr +| @linear_to_differentiable_function_expr +| @load_expr +| @metatype_conversion_expr +| @pointer_to_pointer_expr +| @protocol_metatype_to_object_expr +| @string_to_pointer_expr +| @underlying_to_opaque_expr +| @unevaluated_instance_expr +| @unresolved_type_conversion_expr +; + +#keyset[id] +implicit_conversion_exprs( //dir=expr + int id: @implicit_conversion_expr ref, + int sub_expr: @expr_or_none ref +); + +in_out_exprs( //dir=expr + unique int id: @in_out_expr, + int sub_expr: @expr_or_none ref +); + +key_path_application_exprs( //dir=expr + unique int id: @key_path_application_expr, + int base: @expr_or_none ref, + int key_path: @expr_or_none ref +); + +key_path_dot_exprs( //dir=expr + unique int id: @key_path_dot_expr +); + +key_path_exprs( //dir=expr + unique int id: @key_path_expr +); + +#keyset[id] +key_path_expr_roots( //dir=expr + int id: @key_path_expr ref, + int root: @type_repr_or_none ref +); + +#keyset[id, index] +key_path_expr_components( //dir=expr + int id: @key_path_expr ref, + int index: int ref, + int component: @key_path_component_or_none ref +); + +lazy_initialization_exprs( //dir=expr + unique int id: @lazy_initialization_expr, + int sub_expr: @expr_or_none ref +); + +@literal_expr = + @builtin_literal_expr +| @interpolated_string_literal_expr +| @nil_literal_expr +| @object_literal_expr +| @regex_literal_expr +; + +@lookup_expr = + @dynamic_lookup_expr +| @member_ref_expr +| @subscript_expr +; + +#keyset[id] +lookup_exprs( //dir=expr + int id: @lookup_expr ref, + int base: @expr_or_none ref +); + +#keyset[id] +lookup_expr_members( //dir=expr + int id: @lookup_expr ref, + int member: @decl_or_none ref +); + +make_temporarily_escapable_exprs( //dir=expr + unique int id: @make_temporarily_escapable_expr, + int escaping_closure: @opaque_value_expr_or_none ref, + int nonescaping_closure: @expr_or_none ref, + int sub_expr: @expr_or_none ref +); + +obj_c_selector_exprs( //dir=expr + unique int id: @obj_c_selector_expr, + int sub_expr: @expr_or_none ref, + int method: @function_or_none ref +); + +one_way_exprs( //dir=expr + unique int id: @one_way_expr, + int sub_expr: @expr_or_none ref +); + +opaque_value_exprs( //dir=expr + unique int id: @opaque_value_expr +); + +open_existential_exprs( //dir=expr + unique int id: @open_existential_expr, + int sub_expr: @expr_or_none ref, + int existential: @expr_or_none ref, + int opaque_expr: @opaque_value_expr_or_none ref +); + +optional_evaluation_exprs( //dir=expr + unique int id: @optional_evaluation_expr, + int sub_expr: @expr_or_none ref +); + +other_initializer_ref_exprs( //dir=expr + unique int id: @other_initializer_ref_expr, + int initializer: @initializer_or_none ref +); + +overloaded_decl_ref_exprs( //dir=expr + unique int id: @overloaded_decl_ref_expr +); + +#keyset[id, index] +overloaded_decl_ref_expr_possible_declarations( //dir=expr + int id: @overloaded_decl_ref_expr ref, + int index: int ref, + int possible_declaration: @value_decl_or_none ref +); + +property_wrapper_value_placeholder_exprs( //dir=expr + unique int id: @property_wrapper_value_placeholder_expr, + int placeholder: @opaque_value_expr_or_none ref +); + +#keyset[id] +property_wrapper_value_placeholder_expr_wrapped_values( //dir=expr + int id: @property_wrapper_value_placeholder_expr ref, + int wrapped_value: @expr_or_none ref +); + +rebind_self_in_initializer_exprs( //dir=expr + unique int id: @rebind_self_in_initializer_expr, + int sub_expr: @expr_or_none ref, + int self: @var_decl_or_none ref +); + +sequence_exprs( //dir=expr + unique int id: @sequence_expr +); + +#keyset[id, index] +sequence_expr_elements( //dir=expr + int id: @sequence_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +super_ref_exprs( //dir=expr + unique int id: @super_ref_expr, + int self: @var_decl_or_none ref +); + +tap_exprs( //dir=expr + unique int id: @tap_expr, + int body: @brace_stmt_or_none ref, + int var: @var_decl_or_none ref +); + +#keyset[id] +tap_expr_sub_exprs( //dir=expr + int id: @tap_expr ref, + int sub_expr: @expr_or_none ref +); + +tuple_element_exprs( //dir=expr + unique int id: @tuple_element_expr, + int sub_expr: @expr_or_none ref, + int index: int ref +); + +tuple_exprs( //dir=expr + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_elements( //dir=expr + int id: @tuple_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +type_exprs( //dir=expr + unique int id: @type_expr +); + +#keyset[id] +type_expr_type_reprs( //dir=expr + int id: @type_expr ref, + int type_repr: @type_repr_or_none ref +); + +unresolved_decl_ref_exprs( //dir=expr + unique int id: @unresolved_decl_ref_expr +); + +#keyset[id] +unresolved_decl_ref_expr_names( //dir=expr + int id: @unresolved_decl_ref_expr ref, + string name: string ref +); + +unresolved_dot_exprs( //dir=expr + unique int id: @unresolved_dot_expr, + int base: @expr_or_none ref, + string name: string ref +); + +unresolved_member_exprs( //dir=expr + unique int id: @unresolved_member_expr, + string name: string ref +); + +unresolved_pattern_exprs( //dir=expr + unique int id: @unresolved_pattern_expr, + int sub_pattern: @pattern_or_none ref +); + +unresolved_specialize_exprs( //dir=expr + unique int id: @unresolved_specialize_expr, + int sub_expr: @expr_or_none ref +); + +vararg_expansion_exprs( //dir=expr + unique int id: @vararg_expansion_expr, + int sub_expr: @expr_or_none ref +); + +abi_safe_conversion_exprs( //dir=expr + unique int id: @abi_safe_conversion_expr +); + +any_hashable_erasure_exprs( //dir=expr + unique int id: @any_hashable_erasure_expr +); + +archetype_to_super_exprs( //dir=expr + unique int id: @archetype_to_super_expr +); + +array_exprs( //dir=expr + unique int id: @array_expr +); + +#keyset[id, index] +array_expr_elements( //dir=expr + int id: @array_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +array_to_pointer_exprs( //dir=expr + unique int id: @array_to_pointer_expr +); + +auto_closure_exprs( //dir=expr + unique int id: @auto_closure_expr +); + +await_exprs( //dir=expr + unique int id: @await_expr +); + +binary_exprs( //dir=expr + unique int id: @binary_expr +); + +bridge_from_obj_c_exprs( //dir=expr + unique int id: @bridge_from_obj_c_expr +); + +bridge_to_obj_c_exprs( //dir=expr + unique int id: @bridge_to_obj_c_expr +); + +@builtin_literal_expr = + @boolean_literal_expr +| @magic_identifier_literal_expr +| @number_literal_expr +| @string_literal_expr +; + +call_exprs( //dir=expr + unique int id: @call_expr +); + +@checked_cast_expr = + @conditional_checked_cast_expr +| @forced_checked_cast_expr +| @is_expr +; + +class_metatype_to_object_exprs( //dir=expr + unique int id: @class_metatype_to_object_expr +); + +coerce_exprs( //dir=expr + unique int id: @coerce_expr +); + +collection_upcast_conversion_exprs( //dir=expr + unique int id: @collection_upcast_conversion_expr +); + +conditional_bridge_from_obj_c_exprs( //dir=expr + unique int id: @conditional_bridge_from_obj_c_expr +); + +covariant_function_conversion_exprs( //dir=expr + unique int id: @covariant_function_conversion_expr +); + +covariant_return_conversion_exprs( //dir=expr + unique int id: @covariant_return_conversion_expr +); + +derived_to_base_exprs( //dir=expr + unique int id: @derived_to_base_expr +); + +destructure_tuple_exprs( //dir=expr + unique int id: @destructure_tuple_expr +); + +dictionary_exprs( //dir=expr + unique int id: @dictionary_expr +); + +#keyset[id, index] +dictionary_expr_elements( //dir=expr + int id: @dictionary_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +differentiable_function_exprs( //dir=expr + unique int id: @differentiable_function_expr +); + +differentiable_function_extract_original_exprs( //dir=expr + unique int id: @differentiable_function_extract_original_expr +); + +dot_self_exprs( //dir=expr + unique int id: @dot_self_expr +); + +@dynamic_lookup_expr = + @dynamic_member_ref_expr +| @dynamic_subscript_expr +; + +erasure_exprs( //dir=expr + unique int id: @erasure_expr +); + +existential_metatype_to_object_exprs( //dir=expr + unique int id: @existential_metatype_to_object_expr +); + +explicit_closure_exprs( //dir=expr + unique int id: @explicit_closure_expr +); + +force_try_exprs( //dir=expr + unique int id: @force_try_expr +); + +foreign_object_conversion_exprs( //dir=expr + unique int id: @foreign_object_conversion_expr +); + +function_conversion_exprs( //dir=expr + unique int id: @function_conversion_expr +); + +in_out_to_pointer_exprs( //dir=expr + unique int id: @in_out_to_pointer_expr +); + +inject_into_optional_exprs( //dir=expr + unique int id: @inject_into_optional_expr +); + +interpolated_string_literal_exprs( //dir=expr + unique int id: @interpolated_string_literal_expr +); + +#keyset[id] +interpolated_string_literal_expr_interpolation_exprs( //dir=expr + int id: @interpolated_string_literal_expr ref, + int interpolation_expr: @opaque_value_expr_or_none ref +); + +#keyset[id] +interpolated_string_literal_expr_appending_exprs( //dir=expr + int id: @interpolated_string_literal_expr ref, + int appending_expr: @tap_expr_or_none ref +); + +linear_function_exprs( //dir=expr + unique int id: @linear_function_expr +); + +linear_function_extract_original_exprs( //dir=expr + unique int id: @linear_function_extract_original_expr +); + +linear_to_differentiable_function_exprs( //dir=expr + unique int id: @linear_to_differentiable_function_expr +); + +load_exprs( //dir=expr + unique int id: @load_expr +); + +member_ref_exprs( //dir=expr + unique int id: @member_ref_expr +); + +#keyset[id] +member_ref_expr_has_direct_to_storage_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_ordinary_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_distributed_thunk_semantics( //dir=expr + int id: @member_ref_expr ref +); + +metatype_conversion_exprs( //dir=expr + unique int id: @metatype_conversion_expr +); + +nil_literal_exprs( //dir=expr + unique int id: @nil_literal_expr +); + +object_literal_exprs( //dir=expr + unique int id: @object_literal_expr, + int kind: int ref +); + +#keyset[id, index] +object_literal_expr_arguments( //dir=expr + int id: @object_literal_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +optional_try_exprs( //dir=expr + unique int id: @optional_try_expr +); + +paren_exprs( //dir=expr + unique int id: @paren_expr +); + +pointer_to_pointer_exprs( //dir=expr + unique int id: @pointer_to_pointer_expr +); + +postfix_unary_exprs( //dir=expr + unique int id: @postfix_unary_expr +); + +prefix_unary_exprs( //dir=expr + unique int id: @prefix_unary_expr +); + +protocol_metatype_to_object_exprs( //dir=expr + unique int id: @protocol_metatype_to_object_expr +); + +regex_literal_exprs( //dir=expr + unique int id: @regex_literal_expr, + string pattern: string ref, + int version: int ref +); + +@self_apply_expr = + @dot_syntax_call_expr +| @initializer_ref_call_expr +; + +#keyset[id] +self_apply_exprs( //dir=expr + int id: @self_apply_expr ref, + int base: @expr_or_none ref +); + +string_to_pointer_exprs( //dir=expr + unique int id: @string_to_pointer_expr +); + +subscript_exprs( //dir=expr + unique int id: @subscript_expr +); + +#keyset[id, index] +subscript_expr_arguments( //dir=expr + int id: @subscript_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +#keyset[id] +subscript_expr_has_direct_to_storage_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_ordinary_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_distributed_thunk_semantics( //dir=expr + int id: @subscript_expr ref +); + +try_exprs( //dir=expr + unique int id: @try_expr +); + +underlying_to_opaque_exprs( //dir=expr + unique int id: @underlying_to_opaque_expr +); + +unevaluated_instance_exprs( //dir=expr + unique int id: @unevaluated_instance_expr +); + +unresolved_member_chain_result_exprs( //dir=expr + unique int id: @unresolved_member_chain_result_expr +); + +unresolved_type_conversion_exprs( //dir=expr + unique int id: @unresolved_type_conversion_expr +); + +boolean_literal_exprs( //dir=expr + unique int id: @boolean_literal_expr, + boolean value: boolean ref +); + +conditional_checked_cast_exprs( //dir=expr + unique int id: @conditional_checked_cast_expr +); + +dot_syntax_call_exprs( //dir=expr + unique int id: @dot_syntax_call_expr +); + +dynamic_member_ref_exprs( //dir=expr + unique int id: @dynamic_member_ref_expr +); + +dynamic_subscript_exprs( //dir=expr + unique int id: @dynamic_subscript_expr +); + +forced_checked_cast_exprs( //dir=expr + unique int id: @forced_checked_cast_expr +); + +initializer_ref_call_exprs( //dir=expr + unique int id: @initializer_ref_call_expr +); + +is_exprs( //dir=expr + unique int id: @is_expr +); + +magic_identifier_literal_exprs( //dir=expr + unique int id: @magic_identifier_literal_expr, + string kind: string ref +); + +@number_literal_expr = + @float_literal_expr +| @integer_literal_expr +; + +string_literal_exprs( //dir=expr + unique int id: @string_literal_expr, + string value: string ref +); + +float_literal_exprs( //dir=expr + unique int id: @float_literal_expr, + string string_value: string ref +); + +integer_literal_exprs( //dir=expr + unique int id: @integer_literal_expr, + string string_value: string ref +); + +@pattern = + @any_pattern +| @binding_pattern +| @bool_pattern +| @enum_element_pattern +| @expr_pattern +| @is_pattern +| @named_pattern +| @optional_some_pattern +| @paren_pattern +| @tuple_pattern +| @typed_pattern +; + +any_patterns( //dir=pattern + unique int id: @any_pattern +); + +binding_patterns( //dir=pattern + unique int id: @binding_pattern, + int sub_pattern: @pattern_or_none ref +); + +bool_patterns( //dir=pattern + unique int id: @bool_pattern, + boolean value: boolean ref +); + +enum_element_patterns( //dir=pattern + unique int id: @enum_element_pattern, + int element: @enum_element_decl_or_none ref +); + +#keyset[id] +enum_element_pattern_sub_patterns( //dir=pattern + int id: @enum_element_pattern ref, + int sub_pattern: @pattern_or_none ref +); + +expr_patterns( //dir=pattern + unique int id: @expr_pattern, + int sub_expr: @expr_or_none ref +); + +is_patterns( //dir=pattern + unique int id: @is_pattern +); + +#keyset[id] +is_pattern_cast_type_reprs( //dir=pattern + int id: @is_pattern ref, + int cast_type_repr: @type_repr_or_none ref +); + +#keyset[id] +is_pattern_sub_patterns( //dir=pattern + int id: @is_pattern ref, + int sub_pattern: @pattern_or_none ref +); + +named_patterns( //dir=pattern + unique int id: @named_pattern, + int var_decl: @var_decl_or_none ref +); + +optional_some_patterns( //dir=pattern + unique int id: @optional_some_pattern, + int sub_pattern: @pattern_or_none ref +); + +paren_patterns( //dir=pattern + unique int id: @paren_pattern, + int sub_pattern: @pattern_or_none ref +); + +tuple_patterns( //dir=pattern + unique int id: @tuple_pattern +); + +#keyset[id, index] +tuple_pattern_elements( //dir=pattern + int id: @tuple_pattern ref, + int index: int ref, + int element: @pattern_or_none ref +); + +typed_patterns( //dir=pattern + unique int id: @typed_pattern, + int sub_pattern: @pattern_or_none ref +); + +#keyset[id] +typed_pattern_type_reprs( //dir=pattern + int id: @typed_pattern ref, + int type_repr: @type_repr_or_none ref +); + +case_label_items( //dir=stmt + unique int id: @case_label_item, + int pattern: @pattern_or_none ref +); + +#keyset[id] +case_label_item_guards( //dir=stmt + int id: @case_label_item ref, + int guard: @expr_or_none ref +); + +condition_elements( //dir=stmt + unique int id: @condition_element +); + +#keyset[id] +condition_element_booleans( //dir=stmt + int id: @condition_element ref, + int boolean_: @expr_or_none ref +); + +#keyset[id] +condition_element_patterns( //dir=stmt + int id: @condition_element ref, + int pattern: @pattern_or_none ref +); + +#keyset[id] +condition_element_initializers( //dir=stmt + int id: @condition_element ref, + int initializer: @expr_or_none ref +); + +#keyset[id] +condition_element_availabilities( //dir=stmt + int id: @condition_element ref, + int availability: @availability_info_or_none ref +); + +@stmt = + @brace_stmt +| @break_stmt +| @case_stmt +| @continue_stmt +| @defer_stmt +| @fail_stmt +| @fallthrough_stmt +| @labeled_stmt +| @pound_assert_stmt +| @return_stmt +| @throw_stmt +| @yield_stmt +; + +stmt_conditions( //dir=stmt + unique int id: @stmt_condition +); + +#keyset[id, index] +stmt_condition_elements( //dir=stmt + int id: @stmt_condition ref, + int index: int ref, + int element: @condition_element_or_none ref +); + +brace_stmts( //dir=stmt + unique int id: @brace_stmt +); + +#keyset[id, index] +brace_stmt_elements( //dir=stmt + int id: @brace_stmt ref, + int index: int ref, + int element: @ast_node_or_none ref +); + +break_stmts( //dir=stmt + unique int id: @break_stmt +); + +#keyset[id] +break_stmt_target_names( //dir=stmt + int id: @break_stmt ref, + string target_name: string ref +); + +#keyset[id] +break_stmt_targets( //dir=stmt + int id: @break_stmt ref, + int target: @stmt_or_none ref +); + +case_stmts( //dir=stmt + unique int id: @case_stmt, + int body: @stmt_or_none ref +); + +#keyset[id, index] +case_stmt_labels( //dir=stmt + int id: @case_stmt ref, + int index: int ref, + int label: @case_label_item_or_none ref +); + +#keyset[id, index] +case_stmt_variables( //dir=stmt + int id: @case_stmt ref, + int index: int ref, + int variable: @var_decl_or_none ref +); + +continue_stmts( //dir=stmt + unique int id: @continue_stmt +); + +#keyset[id] +continue_stmt_target_names( //dir=stmt + int id: @continue_stmt ref, + string target_name: string ref +); + +#keyset[id] +continue_stmt_targets( //dir=stmt + int id: @continue_stmt ref, + int target: @stmt_or_none ref +); + +defer_stmts( //dir=stmt + unique int id: @defer_stmt, + int body: @brace_stmt_or_none ref +); + +fail_stmts( //dir=stmt + unique int id: @fail_stmt +); + +fallthrough_stmts( //dir=stmt + unique int id: @fallthrough_stmt, + int fallthrough_source: @case_stmt_or_none ref, + int fallthrough_dest: @case_stmt_or_none ref +); + +@labeled_stmt = + @do_catch_stmt +| @do_stmt +| @for_each_stmt +| @labeled_conditional_stmt +| @repeat_while_stmt +| @switch_stmt +; + +#keyset[id] +labeled_stmt_labels( //dir=stmt + int id: @labeled_stmt ref, + string label: string ref +); + +pound_assert_stmts( //dir=stmt + unique int id: @pound_assert_stmt, + int condition: @expr_or_none ref, + string message: string ref +); + +return_stmts( //dir=stmt + unique int id: @return_stmt +); + +#keyset[id] +return_stmt_results( //dir=stmt + int id: @return_stmt ref, + int result: @expr_or_none ref +); + +throw_stmts( //dir=stmt + unique int id: @throw_stmt, + int sub_expr: @expr_or_none ref +); + +yield_stmts( //dir=stmt + unique int id: @yield_stmt +); + +#keyset[id, index] +yield_stmt_results( //dir=stmt + int id: @yield_stmt ref, + int index: int ref, + int result: @expr_or_none ref +); + +do_catch_stmts( //dir=stmt + unique int id: @do_catch_stmt, + int body: @stmt_or_none ref +); + +#keyset[id, index] +do_catch_stmt_catches( //dir=stmt + int id: @do_catch_stmt ref, + int index: int ref, + int catch: @case_stmt_or_none ref +); + +do_stmts( //dir=stmt + unique int id: @do_stmt, + int body: @brace_stmt_or_none ref +); + +for_each_stmts( //dir=stmt + unique int id: @for_each_stmt, + int pattern: @pattern_or_none ref, + int body: @brace_stmt_or_none ref +); + +#keyset[id] +for_each_stmt_wheres( //dir=stmt + int id: @for_each_stmt ref, + int where: @expr_or_none ref +); + +#keyset[id] +for_each_stmt_iterator_vars( //dir=stmt + int id: @for_each_stmt ref, + int iteratorVar: @pattern_binding_decl_or_none ref +); + +#keyset[id] +for_each_stmt_next_calls( //dir=stmt + int id: @for_each_stmt ref, + int nextCall: @expr_or_none ref +); + +@labeled_conditional_stmt = + @guard_stmt +| @if_stmt +| @while_stmt +; + +#keyset[id] +labeled_conditional_stmts( //dir=stmt + int id: @labeled_conditional_stmt ref, + int condition: @stmt_condition_or_none ref +); + +repeat_while_stmts( //dir=stmt + unique int id: @repeat_while_stmt, + int condition: @expr_or_none ref, + int body: @stmt_or_none ref +); + +switch_stmts( //dir=stmt + unique int id: @switch_stmt, + int expr: @expr_or_none ref +); + +#keyset[id, index] +switch_stmt_cases( //dir=stmt + int id: @switch_stmt ref, + int index: int ref, + int case_: @case_stmt_or_none ref +); + +guard_stmts( //dir=stmt + unique int id: @guard_stmt, + int body: @brace_stmt_or_none ref +); + +if_stmts( //dir=stmt + unique int id: @if_stmt, + int then: @stmt_or_none ref +); + +#keyset[id] +if_stmt_elses( //dir=stmt + int id: @if_stmt ref, + int else: @stmt_or_none ref +); + +while_stmts( //dir=stmt + unique int id: @while_stmt, + int body: @stmt_or_none ref +); + +@type = + @any_function_type +| @any_generic_type +| @any_metatype_type +| @builtin_type +| @dependent_member_type +| @dynamic_self_type +| @error_type +| @existential_type +| @in_out_type +| @l_value_type +| @module_type +| @parameterized_protocol_type +| @protocol_composition_type +| @reference_storage_type +| @substitutable_type +| @sugar_type +| @tuple_type +| @unresolved_type +; + +#keyset[id] +types( //dir=type + int id: @type ref, + string name: string ref, + int canonical_type: @type_or_none ref +); + +type_reprs( //dir=type + unique int id: @type_repr, + int type_: @type_or_none ref +); + +@any_function_type = + @function_type +| @generic_function_type +; + +#keyset[id] +any_function_types( //dir=type + int id: @any_function_type ref, + int result: @type_or_none ref +); + +#keyset[id, index] +any_function_type_param_types( //dir=type + int id: @any_function_type ref, + int index: int ref, + int param_type: @type_or_none ref +); + +#keyset[id] +any_function_type_is_throwing( //dir=type + int id: @any_function_type ref +); + +#keyset[id] +any_function_type_is_async( //dir=type + int id: @any_function_type ref +); + +@any_generic_type = + @nominal_or_bound_generic_nominal_type +| @unbound_generic_type +; + +#keyset[id] +any_generic_types( //dir=type + int id: @any_generic_type ref, + int declaration: @generic_type_decl_or_none ref +); + +#keyset[id] +any_generic_type_parents( //dir=type + int id: @any_generic_type ref, + int parent: @type_or_none ref +); + +@any_metatype_type = + @existential_metatype_type +| @metatype_type +; + +@builtin_type = + @any_builtin_integer_type +| @builtin_bridge_object_type +| @builtin_default_actor_storage_type +| @builtin_executor_type +| @builtin_float_type +| @builtin_job_type +| @builtin_native_object_type +| @builtin_raw_pointer_type +| @builtin_raw_unsafe_continuation_type +| @builtin_unsafe_value_buffer_type +| @builtin_vector_type +; + +dependent_member_types( //dir=type + unique int id: @dependent_member_type, + int base_type: @type_or_none ref, + int associated_type_decl: @associated_type_decl_or_none ref +); + +dynamic_self_types( //dir=type + unique int id: @dynamic_self_type, + int static_self_type: @type_or_none ref +); + +error_types( //dir=type + unique int id: @error_type +); + +existential_types( //dir=type + unique int id: @existential_type, + int constraint: @type_or_none ref +); + +in_out_types( //dir=type + unique int id: @in_out_type, + int object_type: @type_or_none ref +); + +l_value_types( //dir=type + unique int id: @l_value_type, + int object_type: @type_or_none ref +); + +module_types( //dir=type + unique int id: @module_type, + int module: @module_decl_or_none ref +); + +parameterized_protocol_types( //dir=type + unique int id: @parameterized_protocol_type, + int base: @protocol_type_or_none ref +); + +#keyset[id, index] +parameterized_protocol_type_args( //dir=type + int id: @parameterized_protocol_type ref, + int index: int ref, + int arg: @type_or_none ref +); + +protocol_composition_types( //dir=type + unique int id: @protocol_composition_type +); + +#keyset[id, index] +protocol_composition_type_members( //dir=type + int id: @protocol_composition_type ref, + int index: int ref, + int member: @type_or_none ref +); + +@reference_storage_type = + @unmanaged_storage_type +| @unowned_storage_type +| @weak_storage_type +; + +#keyset[id] +reference_storage_types( //dir=type + int id: @reference_storage_type ref, + int referent_type: @type_or_none ref +); + +@substitutable_type = + @archetype_type +| @generic_type_param_type +; + +@sugar_type = + @paren_type +| @syntax_sugar_type +| @type_alias_type +; + +tuple_types( //dir=type + unique int id: @tuple_type +); + +#keyset[id, index] +tuple_type_types( //dir=type + int id: @tuple_type ref, + int index: int ref, + int type_: @type_or_none ref +); + +#keyset[id, index] +tuple_type_names( //dir=type + int id: @tuple_type ref, + int index: int ref, + string name: string ref +); + +unresolved_types( //dir=type + unique int id: @unresolved_type +); + +@any_builtin_integer_type = + @builtin_integer_literal_type +| @builtin_integer_type +; + +@archetype_type = + @opaque_type_archetype_type +| @opened_archetype_type +| @primary_archetype_type +; + +#keyset[id] +archetype_types( //dir=type + int id: @archetype_type ref, + int interface_type: @type_or_none ref +); + +#keyset[id] +archetype_type_superclasses( //dir=type + int id: @archetype_type ref, + int superclass: @type_or_none ref +); + +#keyset[id, index] +archetype_type_protocols( //dir=type + int id: @archetype_type ref, + int index: int ref, + int protocol: @protocol_decl_or_none ref +); + +builtin_bridge_object_types( //dir=type + unique int id: @builtin_bridge_object_type +); + +builtin_default_actor_storage_types( //dir=type + unique int id: @builtin_default_actor_storage_type +); + +builtin_executor_types( //dir=type + unique int id: @builtin_executor_type +); + +builtin_float_types( //dir=type + unique int id: @builtin_float_type +); + +builtin_job_types( //dir=type + unique int id: @builtin_job_type +); + +builtin_native_object_types( //dir=type + unique int id: @builtin_native_object_type +); + +builtin_raw_pointer_types( //dir=type + unique int id: @builtin_raw_pointer_type +); + +builtin_raw_unsafe_continuation_types( //dir=type + unique int id: @builtin_raw_unsafe_continuation_type +); + +builtin_unsafe_value_buffer_types( //dir=type + unique int id: @builtin_unsafe_value_buffer_type +); + +builtin_vector_types( //dir=type + unique int id: @builtin_vector_type +); + +existential_metatype_types( //dir=type + unique int id: @existential_metatype_type +); + +function_types( //dir=type + unique int id: @function_type +); + +generic_function_types( //dir=type + unique int id: @generic_function_type +); + +#keyset[id, index] +generic_function_type_generic_params( //dir=type + int id: @generic_function_type ref, + int index: int ref, + int generic_param: @generic_type_param_type_or_none ref +); + +generic_type_param_types( //dir=type + unique int id: @generic_type_param_type +); + +metatype_types( //dir=type + unique int id: @metatype_type +); + +@nominal_or_bound_generic_nominal_type = + @bound_generic_type +| @nominal_type +; + +paren_types( //dir=type + unique int id: @paren_type, + int type_: @type_or_none ref +); + +@syntax_sugar_type = + @dictionary_type +| @unary_syntax_sugar_type +; + +type_alias_types( //dir=type + unique int id: @type_alias_type, + int decl: @type_alias_decl_or_none ref +); + +unbound_generic_types( //dir=type + unique int id: @unbound_generic_type +); + +unmanaged_storage_types( //dir=type + unique int id: @unmanaged_storage_type +); + +unowned_storage_types( //dir=type + unique int id: @unowned_storage_type +); + +weak_storage_types( //dir=type + unique int id: @weak_storage_type +); + +@bound_generic_type = + @bound_generic_class_type +| @bound_generic_enum_type +| @bound_generic_struct_type +; + +#keyset[id, index] +bound_generic_type_arg_types( //dir=type + int id: @bound_generic_type ref, + int index: int ref, + int arg_type: @type_or_none ref +); + +builtin_integer_literal_types( //dir=type + unique int id: @builtin_integer_literal_type +); + +builtin_integer_types( //dir=type + unique int id: @builtin_integer_type +); + +#keyset[id] +builtin_integer_type_widths( //dir=type + int id: @builtin_integer_type ref, + int width: int ref +); + +dictionary_types( //dir=type + unique int id: @dictionary_type, + int key_type: @type_or_none ref, + int value_type: @type_or_none ref +); + +@nominal_type = + @class_type +| @enum_type +| @protocol_type +| @struct_type +; + +opaque_type_archetype_types( //dir=type + unique int id: @opaque_type_archetype_type, + int declaration: @opaque_type_decl_or_none ref +); + +opened_archetype_types( //dir=type + unique int id: @opened_archetype_type +); + +primary_archetype_types( //dir=type + unique int id: @primary_archetype_type +); + +@unary_syntax_sugar_type = + @array_slice_type +| @optional_type +| @variadic_sequence_type +; + +#keyset[id] +unary_syntax_sugar_types( //dir=type + int id: @unary_syntax_sugar_type ref, + int base_type: @type_or_none ref +); + +array_slice_types( //dir=type + unique int id: @array_slice_type +); + +bound_generic_class_types( //dir=type + unique int id: @bound_generic_class_type +); + +bound_generic_enum_types( //dir=type + unique int id: @bound_generic_enum_type +); + +bound_generic_struct_types( //dir=type + unique int id: @bound_generic_struct_type +); + +class_types( //dir=type + unique int id: @class_type +); + +enum_types( //dir=type + unique int id: @enum_type +); + +optional_types( //dir=type + unique int id: @optional_type +); + +protocol_types( //dir=type + unique int id: @protocol_type +); + +struct_types( //dir=type + unique int id: @struct_type +); + +variadic_sequence_types( //dir=type + unique int id: @variadic_sequence_type +); + +@accessor_or_none = + @accessor +| @unspecified_element +; + +@argument_or_none = + @argument +| @unspecified_element +; + +@associated_type_decl_or_none = + @associated_type_decl +| @unspecified_element +; + +@ast_node_or_none = + @ast_node +| @unspecified_element +; + +@availability_info_or_none = + @availability_info +| @unspecified_element +; + +@availability_spec_or_none = + @availability_spec +| @unspecified_element +; + +@brace_stmt_or_none = + @brace_stmt +| @unspecified_element +; + +@captured_decl_or_none = + @captured_decl +| @unspecified_element +; + +@case_label_item_or_none = + @case_label_item +| @unspecified_element +; + +@case_stmt_or_none = + @case_stmt +| @unspecified_element +; + +@closure_expr_or_none = + @closure_expr +| @unspecified_element +; + +@condition_element_or_none = + @condition_element +| @unspecified_element +; + +@decl_or_none = + @decl +| @unspecified_element +; + +@enum_element_decl_or_none = + @enum_element_decl +| @unspecified_element +; + +@expr_or_none = + @expr +| @unspecified_element +; + +@file_or_none = + @file +| @unspecified_element +; + +@function_or_none = + @function +| @unspecified_element +; + +@generic_type_decl_or_none = + @generic_type_decl +| @unspecified_element +; + +@generic_type_param_decl_or_none = + @generic_type_param_decl +| @unspecified_element +; + +@generic_type_param_type_or_none = + @generic_type_param_type +| @unspecified_element +; + +@initializer_or_none = + @initializer +| @unspecified_element +; + +@key_path_component_or_none = + @key_path_component +| @unspecified_element +; + +@location_or_none = + @location +| @unspecified_element +; + +@module_decl_or_none = + @module_decl +| @unspecified_element +; + +@nominal_type_decl_or_none = + @nominal_type_decl +| @unspecified_element +; + +@opaque_type_decl_or_none = + @opaque_type_decl +| @unspecified_element +; + +@opaque_value_expr_or_none = + @opaque_value_expr +| @unspecified_element +; + +@param_decl_or_none = + @param_decl +| @unspecified_element +; + +@pattern_or_none = + @pattern +| @unspecified_element +; + +@pattern_binding_decl_or_none = + @pattern_binding_decl +| @unspecified_element +; + +@precedence_group_decl_or_none = + @precedence_group_decl +| @unspecified_element +; + +@protocol_decl_or_none = + @protocol_decl +| @unspecified_element +; + +@protocol_type_or_none = + @protocol_type +| @unspecified_element +; + +@stmt_or_none = + @stmt +| @unspecified_element +; + +@stmt_condition_or_none = + @stmt_condition +| @unspecified_element +; + +@string_literal_expr_or_none = + @string_literal_expr +| @unspecified_element +; + +@tap_expr_or_none = + @tap_expr +| @unspecified_element +; + +@type_or_none = + @type +| @unspecified_element +; + +@type_alias_decl_or_none = + @type_alias_decl +| @unspecified_element +; + +@type_repr_or_none = + @type_repr +| @unspecified_element +; + +@value_decl_or_none = + @unspecified_element +| @value_decl +; + +@var_decl_or_none = + @unspecified_element +| @var_decl +; diff --git a/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/swift.dbscheme b/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/swift.dbscheme new file mode 100644 index 00000000000..fcc7b497930 --- /dev/null +++ b/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/swift.dbscheme @@ -0,0 +1,2642 @@ +// generated by codegen/codegen.py + +// from prefix.dbscheme +/** + * The source location of the snapshot. + */ +sourceLocationPrefix( + string prefix: string ref +); + + +// from schema.py + +@element = + @callable +| @file +| @generic_context +| @locatable +| @location +| @type +; + +#keyset[id] +element_is_unknown( + int id: @element ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_names( + int id: @callable ref, + string name: string ref +); + +#keyset[id] +callable_self_params( + int id: @callable ref, + int self_param: @param_decl_or_none ref +); + +#keyset[id, index] +callable_params( + int id: @callable ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +#keyset[id] +callable_bodies( + int id: @callable ref, + int body: @brace_stmt_or_none ref +); + +#keyset[id, index] +callable_captures( + int id: @callable ref, + int index: int ref, + int capture: @captured_decl_or_none ref +); + +@file = + @db_file +; + +#keyset[id] +files( + int id: @file ref, + string name: string ref +); + +#keyset[id] +file_is_successfully_extracted( + int id: @file ref +); + +@locatable = + @argument +| @ast_node +| @comment +| @diagnostics +| @error_element +; + +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_or_none ref +); + +@location = + @db_location +; + +#keyset[id] +locations( + int id: @location ref, + int file: @file_or_none ref, + int start_line: int ref, + int start_column: int ref, + int end_line: int ref, + int end_column: int ref +); + +@ast_node = + @availability_info +| @availability_spec +| @case_label_item +| @condition_element +| @decl +| @expr +| @key_path_component +| @pattern +| @stmt +| @stmt_condition +| @type_repr +; + +comments( + unique int id: @comment, + string text: string ref +); + +db_files( + unique int id: @db_file +); + +db_locations( + unique int id: @db_location +); + +diagnostics( + unique int id: @diagnostics, + string text: string ref, + int kind: int ref +); + +@error_element = + @error_expr +| @error_type +| @overloaded_decl_ref_expr +| @unresolved_decl_ref_expr +| @unresolved_dot_expr +| @unresolved_member_chain_result_expr +| @unresolved_member_expr +| @unresolved_pattern_expr +| @unresolved_specialize_expr +| @unresolved_type +| @unresolved_type_conversion_expr +| @unspecified_element +; + +availability_infos( + unique int id: @availability_info +); + +#keyset[id] +availability_info_is_unavailable( + int id: @availability_info ref +); + +#keyset[id, index] +availability_info_specs( + int id: @availability_info ref, + int index: int ref, + int spec: @availability_spec_or_none ref +); + +@availability_spec = + @other_availability_spec +| @platform_version_availability_spec +; + +key_path_components( + unique int id: @key_path_component, + int kind: int ref, + int component_type: @type_or_none ref +); + +#keyset[id, index] +key_path_component_subscript_arguments( + int id: @key_path_component ref, + int index: int ref, + int subscript_argument: @argument_or_none ref +); + +#keyset[id] +key_path_component_tuple_indices( + int id: @key_path_component ref, + int tuple_index: int ref +); + +#keyset[id] +key_path_component_decl_refs( + int id: @key_path_component ref, + int decl_ref: @value_decl_or_none ref +); + +unspecified_elements( + unique int id: @unspecified_element, + string property: string ref, + string error: string ref +); + +#keyset[id] +unspecified_element_parents( + int id: @unspecified_element ref, + int parent: @element ref +); + +#keyset[id] +unspecified_element_indices( + int id: @unspecified_element ref, + int index: int ref +); + +#keyset[id, index] +unspecified_element_children( + int id: @unspecified_element ref, + int index: int ref, + int child: @ast_node_or_none ref +); + +other_availability_specs( + unique int id: @other_availability_spec +); + +platform_version_availability_specs( + unique int id: @platform_version_availability_spec, + string platform: string ref, + string version: string ref +); + +@decl = + @captured_decl +| @enum_case_decl +| @extension_decl +| @if_config_decl +| @import_decl +| @missing_member_decl +| @operator_decl +| @pattern_binding_decl +| @pound_diagnostic_decl +| @precedence_group_decl +| @top_level_code_decl +| @value_decl +; + +#keyset[id] +decls( //dir=decl + int id: @decl ref, + int module: @module_decl_or_none ref +); + +#keyset[id, index] +decl_members( //dir=decl + int id: @decl ref, + int index: int ref, + int member: @decl_or_none ref +); + +@generic_context = + @extension_decl +| @function +| @generic_type_decl +| @subscript_decl +; + +#keyset[id, index] +generic_context_generic_type_params( //dir=decl + int id: @generic_context ref, + int index: int ref, + int generic_type_param: @generic_type_param_decl_or_none ref +); + +captured_decls( //dir=decl + unique int id: @captured_decl, + int decl: @value_decl_or_none ref +); + +#keyset[id] +captured_decl_is_direct( //dir=decl + int id: @captured_decl ref +); + +#keyset[id] +captured_decl_is_escaping( //dir=decl + int id: @captured_decl ref +); + +enum_case_decls( //dir=decl + unique int id: @enum_case_decl +); + +#keyset[id, index] +enum_case_decl_elements( //dir=decl + int id: @enum_case_decl ref, + int index: int ref, + int element: @enum_element_decl_or_none ref +); + +extension_decls( //dir=decl + unique int id: @extension_decl, + int extended_type_decl: @nominal_type_decl_or_none ref +); + +#keyset[id, index] +extension_decl_protocols( //dir=decl + int id: @extension_decl ref, + int index: int ref, + int protocol: @protocol_decl_or_none ref +); + +if_config_decls( //dir=decl + unique int id: @if_config_decl +); + +#keyset[id, index] +if_config_decl_active_elements( //dir=decl + int id: @if_config_decl ref, + int index: int ref, + int active_element: @ast_node_or_none ref +); + +import_decls( //dir=decl + unique int id: @import_decl +); + +#keyset[id] +import_decl_is_exported( //dir=decl + int id: @import_decl ref +); + +#keyset[id] +import_decl_imported_modules( //dir=decl + int id: @import_decl ref, + int imported_module: @module_decl_or_none ref +); + +#keyset[id, index] +import_decl_declarations( //dir=decl + int id: @import_decl ref, + int index: int ref, + int declaration: @value_decl_or_none ref +); + +missing_member_decls( //dir=decl + unique int id: @missing_member_decl, + string name: string ref +); + +@operator_decl = + @infix_operator_decl +| @postfix_operator_decl +| @prefix_operator_decl +; + +#keyset[id] +operator_decls( //dir=decl + int id: @operator_decl ref, + string name: string ref +); + +pattern_binding_decls( //dir=decl + unique int id: @pattern_binding_decl +); + +#keyset[id, index] +pattern_binding_decl_inits( //dir=decl + int id: @pattern_binding_decl ref, + int index: int ref, + int init: @expr_or_none ref +); + +#keyset[id, index] +pattern_binding_decl_patterns( //dir=decl + int id: @pattern_binding_decl ref, + int index: int ref, + int pattern: @pattern_or_none ref +); + +pound_diagnostic_decls( //dir=decl + unique int id: @pound_diagnostic_decl, + int kind: int ref, + int message: @string_literal_expr_or_none ref +); + +precedence_group_decls( //dir=decl + unique int id: @precedence_group_decl +); + +top_level_code_decls( //dir=decl + unique int id: @top_level_code_decl, + int body: @brace_stmt_or_none ref +); + +@value_decl = + @abstract_storage_decl +| @enum_element_decl +| @function +| @type_decl +; + +#keyset[id] +value_decls( //dir=decl + int id: @value_decl ref, + int interface_type: @type_or_none ref +); + +@abstract_storage_decl = + @subscript_decl +| @var_decl +; + +#keyset[id, index] +abstract_storage_decl_accessors( //dir=decl + int id: @abstract_storage_decl ref, + int index: int ref, + int accessor: @accessor_or_none ref +); + +enum_element_decls( //dir=decl + unique int id: @enum_element_decl, + string name: string ref +); + +#keyset[id, index] +enum_element_decl_params( //dir=decl + int id: @enum_element_decl ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +@function = + @accessor_or_named_function +| @deinitializer +| @initializer +; + +infix_operator_decls( //dir=decl + unique int id: @infix_operator_decl +); + +#keyset[id] +infix_operator_decl_precedence_groups( //dir=decl + int id: @infix_operator_decl ref, + int precedence_group: @precedence_group_decl_or_none ref +); + +postfix_operator_decls( //dir=decl + unique int id: @postfix_operator_decl +); + +prefix_operator_decls( //dir=decl + unique int id: @prefix_operator_decl +); + +@type_decl = + @abstract_type_param_decl +| @generic_type_decl +| @module_decl +; + +#keyset[id] +type_decls( //dir=decl + int id: @type_decl ref, + string name: string ref +); + +#keyset[id, index] +type_decl_inherited_types( //dir=decl + int id: @type_decl ref, + int index: int ref, + int inherited_type: @type_or_none ref +); + +@abstract_type_param_decl = + @associated_type_decl +| @generic_type_param_decl +; + +@accessor_or_named_function = + @accessor +| @named_function +; + +deinitializers( //dir=decl + unique int id: @deinitializer +); + +@generic_type_decl = + @nominal_type_decl +| @opaque_type_decl +| @type_alias_decl +; + +initializers( //dir=decl + unique int id: @initializer +); + +module_decls( //dir=decl + unique int id: @module_decl +); + +#keyset[id] +module_decl_is_builtin_module( //dir=decl + int id: @module_decl ref +); + +#keyset[id] +module_decl_is_system_module( //dir=decl + int id: @module_decl ref +); + +module_decl_imported_modules( //dir=decl + int id: @module_decl ref, + int imported_module: @module_decl_or_none ref +); + +module_decl_exported_modules( //dir=decl + int id: @module_decl ref, + int exported_module: @module_decl_or_none ref +); + +subscript_decls( //dir=decl + unique int id: @subscript_decl, + int element_type: @type_or_none ref +); + +#keyset[id, index] +subscript_decl_params( //dir=decl + int id: @subscript_decl ref, + int index: int ref, + int param: @param_decl_or_none ref +); + +@var_decl = + @concrete_var_decl +| @param_decl +; + +#keyset[id] +var_decls( //dir=decl + int id: @var_decl ref, + string name: string ref, + int type_: @type_or_none ref +); + +#keyset[id] +var_decl_attached_property_wrapper_types( //dir=decl + int id: @var_decl ref, + int attached_property_wrapper_type: @type_or_none ref +); + +#keyset[id] +var_decl_parent_patterns( //dir=decl + int id: @var_decl ref, + int parent_pattern: @pattern_or_none ref +); + +#keyset[id] +var_decl_parent_initializers( //dir=decl + int id: @var_decl ref, + int parent_initializer: @expr_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_backing_var_bindings( //dir=decl + int id: @var_decl ref, + int property_wrapper_backing_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_backing_vars( //dir=decl + int id: @var_decl ref, + int property_wrapper_backing_var: @var_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_projection_var_bindings( //dir=decl + int id: @var_decl ref, + int property_wrapper_projection_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +var_decl_property_wrapper_projection_vars( //dir=decl + int id: @var_decl ref, + int property_wrapper_projection_var: @var_decl_or_none ref +); + +accessors( //dir=decl + unique int id: @accessor +); + +#keyset[id] +accessor_is_getter( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_setter( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_will_set( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_did_set( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_read( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_modify( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_unsafe_address( //dir=decl + int id: @accessor ref +); + +#keyset[id] +accessor_is_unsafe_mutable_address( //dir=decl + int id: @accessor ref +); + +associated_type_decls( //dir=decl + unique int id: @associated_type_decl +); + +concrete_var_decls( //dir=decl + unique int id: @concrete_var_decl, + int introducer_int: int ref +); + +generic_type_param_decls( //dir=decl + unique int id: @generic_type_param_decl +); + +named_functions( //dir=decl + unique int id: @named_function +); + +@nominal_type_decl = + @class_decl +| @enum_decl +| @protocol_decl +| @struct_decl +; + +#keyset[id] +nominal_type_decls( //dir=decl + int id: @nominal_type_decl ref, + int type_: @type_or_none ref +); + +opaque_type_decls( //dir=decl + unique int id: @opaque_type_decl, + int naming_declaration: @value_decl_or_none ref +); + +#keyset[id, index] +opaque_type_decl_opaque_generic_params( //dir=decl + int id: @opaque_type_decl ref, + int index: int ref, + int opaque_generic_param: @generic_type_param_type_or_none ref +); + +param_decls( //dir=decl + unique int id: @param_decl +); + +#keyset[id] +param_decl_is_inout( //dir=decl + int id: @param_decl ref +); + +#keyset[id] +param_decl_property_wrapper_local_wrapped_var_bindings( //dir=decl + int id: @param_decl ref, + int property_wrapper_local_wrapped_var_binding: @pattern_binding_decl_or_none ref +); + +#keyset[id] +param_decl_property_wrapper_local_wrapped_vars( //dir=decl + int id: @param_decl ref, + int property_wrapper_local_wrapped_var: @var_decl_or_none ref +); + +type_alias_decls( //dir=decl + unique int id: @type_alias_decl, + int aliased_type: @type_or_none ref +); + +class_decls( //dir=decl + unique int id: @class_decl +); + +enum_decls( //dir=decl + unique int id: @enum_decl +); + +protocol_decls( //dir=decl + unique int id: @protocol_decl +); + +struct_decls( //dir=decl + unique int id: @struct_decl +); + +arguments( //dir=expr + unique int id: @argument, + string label: string ref, + int expr: @expr_or_none ref +); + +@expr = + @any_try_expr +| @applied_property_wrapper_expr +| @apply_expr +| @assign_expr +| @bind_optional_expr +| @capture_list_expr +| @closure_expr +| @collection_expr +| @decl_ref_expr +| @default_argument_expr +| @discard_assignment_expr +| @dot_syntax_base_ignored_expr +| @dynamic_type_expr +| @enum_is_case_expr +| @error_expr +| @explicit_cast_expr +| @force_value_expr +| @identity_expr +| @if_expr +| @implicit_conversion_expr +| @in_out_expr +| @key_path_application_expr +| @key_path_dot_expr +| @key_path_expr +| @lazy_initialization_expr +| @literal_expr +| @lookup_expr +| @make_temporarily_escapable_expr +| @obj_c_selector_expr +| @one_way_expr +| @opaque_value_expr +| @open_existential_expr +| @optional_evaluation_expr +| @other_initializer_ref_expr +| @overloaded_decl_ref_expr +| @property_wrapper_value_placeholder_expr +| @rebind_self_in_initializer_expr +| @sequence_expr +| @single_value_stmt_expr +| @super_ref_expr +| @tap_expr +| @tuple_element_expr +| @tuple_expr +| @type_expr +| @unresolved_decl_ref_expr +| @unresolved_dot_expr +| @unresolved_member_expr +| @unresolved_pattern_expr +| @unresolved_specialize_expr +| @vararg_expansion_expr +; + +#keyset[id] +expr_types( //dir=expr + int id: @expr ref, + int type_: @type_or_none ref +); + +@any_try_expr = + @force_try_expr +| @optional_try_expr +| @try_expr +; + +#keyset[id] +any_try_exprs( //dir=expr + int id: @any_try_expr ref, + int sub_expr: @expr_or_none ref +); + +applied_property_wrapper_exprs( //dir=expr + unique int id: @applied_property_wrapper_expr, + int kind: int ref, + int value: @expr_or_none ref, + int param: @param_decl_or_none ref +); + +@apply_expr = + @binary_expr +| @call_expr +| @postfix_unary_expr +| @prefix_unary_expr +| @self_apply_expr +; + +#keyset[id] +apply_exprs( //dir=expr + int id: @apply_expr ref, + int function: @expr_or_none ref +); + +#keyset[id, index] +apply_expr_arguments( //dir=expr + int id: @apply_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +assign_exprs( //dir=expr + unique int id: @assign_expr, + int dest: @expr_or_none ref, + int source: @expr_or_none ref +); + +bind_optional_exprs( //dir=expr + unique int id: @bind_optional_expr, + int sub_expr: @expr_or_none ref +); + +capture_list_exprs( //dir=expr + unique int id: @capture_list_expr, + int closure_body: @closure_expr_or_none ref +); + +#keyset[id, index] +capture_list_expr_binding_decls( //dir=expr + int id: @capture_list_expr ref, + int index: int ref, + int binding_decl: @pattern_binding_decl_or_none ref +); + +@closure_expr = + @auto_closure_expr +| @explicit_closure_expr +; + +@collection_expr = + @array_expr +| @dictionary_expr +; + +decl_ref_exprs( //dir=expr + unique int id: @decl_ref_expr, + int decl: @decl_or_none ref +); + +#keyset[id, index] +decl_ref_expr_replacement_types( //dir=expr + int id: @decl_ref_expr ref, + int index: int ref, + int replacement_type: @type_or_none ref +); + +#keyset[id] +decl_ref_expr_has_direct_to_storage_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_ordinary_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +#keyset[id] +decl_ref_expr_has_distributed_thunk_semantics( //dir=expr + int id: @decl_ref_expr ref +); + +default_argument_exprs( //dir=expr + unique int id: @default_argument_expr, + int param_decl: @param_decl_or_none ref, + int param_index: int ref +); + +#keyset[id] +default_argument_expr_caller_side_defaults( //dir=expr + int id: @default_argument_expr ref, + int caller_side_default: @expr_or_none ref +); + +discard_assignment_exprs( //dir=expr + unique int id: @discard_assignment_expr +); + +dot_syntax_base_ignored_exprs( //dir=expr + unique int id: @dot_syntax_base_ignored_expr, + int qualifier: @expr_or_none ref, + int sub_expr: @expr_or_none ref +); + +dynamic_type_exprs( //dir=expr + unique int id: @dynamic_type_expr, + int base: @expr_or_none ref +); + +enum_is_case_exprs( //dir=expr + unique int id: @enum_is_case_expr, + int sub_expr: @expr_or_none ref, + int element: @enum_element_decl_or_none ref +); + +error_exprs( //dir=expr + unique int id: @error_expr +); + +@explicit_cast_expr = + @checked_cast_expr +| @coerce_expr +; + +#keyset[id] +explicit_cast_exprs( //dir=expr + int id: @explicit_cast_expr ref, + int sub_expr: @expr_or_none ref +); + +force_value_exprs( //dir=expr + unique int id: @force_value_expr, + int sub_expr: @expr_or_none ref +); + +@identity_expr = + @await_expr +| @dot_self_expr +| @paren_expr +| @unresolved_member_chain_result_expr +; + +#keyset[id] +identity_exprs( //dir=expr + int id: @identity_expr ref, + int sub_expr: @expr_or_none ref +); + +if_exprs( //dir=expr + unique int id: @if_expr, + int condition: @expr_or_none ref, + int then_expr: @expr_or_none ref, + int else_expr: @expr_or_none ref +); + +@implicit_conversion_expr = + @abi_safe_conversion_expr +| @any_hashable_erasure_expr +| @archetype_to_super_expr +| @array_to_pointer_expr +| @bridge_from_obj_c_expr +| @bridge_to_obj_c_expr +| @class_metatype_to_object_expr +| @collection_upcast_conversion_expr +| @conditional_bridge_from_obj_c_expr +| @covariant_function_conversion_expr +| @covariant_return_conversion_expr +| @derived_to_base_expr +| @destructure_tuple_expr +| @differentiable_function_expr +| @differentiable_function_extract_original_expr +| @erasure_expr +| @existential_metatype_to_object_expr +| @foreign_object_conversion_expr +| @function_conversion_expr +| @in_out_to_pointer_expr +| @inject_into_optional_expr +| @linear_function_expr +| @linear_function_extract_original_expr +| @linear_to_differentiable_function_expr +| @load_expr +| @metatype_conversion_expr +| @pointer_to_pointer_expr +| @protocol_metatype_to_object_expr +| @string_to_pointer_expr +| @underlying_to_opaque_expr +| @unevaluated_instance_expr +| @unresolved_type_conversion_expr +; + +#keyset[id] +implicit_conversion_exprs( //dir=expr + int id: @implicit_conversion_expr ref, + int sub_expr: @expr_or_none ref +); + +in_out_exprs( //dir=expr + unique int id: @in_out_expr, + int sub_expr: @expr_or_none ref +); + +key_path_application_exprs( //dir=expr + unique int id: @key_path_application_expr, + int base: @expr_or_none ref, + int key_path: @expr_or_none ref +); + +key_path_dot_exprs( //dir=expr + unique int id: @key_path_dot_expr +); + +key_path_exprs( //dir=expr + unique int id: @key_path_expr +); + +#keyset[id] +key_path_expr_roots( //dir=expr + int id: @key_path_expr ref, + int root: @type_repr_or_none ref +); + +#keyset[id, index] +key_path_expr_components( //dir=expr + int id: @key_path_expr ref, + int index: int ref, + int component: @key_path_component_or_none ref +); + +lazy_initialization_exprs( //dir=expr + unique int id: @lazy_initialization_expr, + int sub_expr: @expr_or_none ref +); + +@literal_expr = + @builtin_literal_expr +| @interpolated_string_literal_expr +| @nil_literal_expr +| @object_literal_expr +| @regex_literal_expr +; + +@lookup_expr = + @dynamic_lookup_expr +| @member_ref_expr +| @subscript_expr +; + +#keyset[id] +lookup_exprs( //dir=expr + int id: @lookup_expr ref, + int base: @expr_or_none ref +); + +#keyset[id] +lookup_expr_members( //dir=expr + int id: @lookup_expr ref, + int member: @decl_or_none ref +); + +make_temporarily_escapable_exprs( //dir=expr + unique int id: @make_temporarily_escapable_expr, + int escaping_closure: @opaque_value_expr_or_none ref, + int nonescaping_closure: @expr_or_none ref, + int sub_expr: @expr_or_none ref +); + +obj_c_selector_exprs( //dir=expr + unique int id: @obj_c_selector_expr, + int sub_expr: @expr_or_none ref, + int method: @function_or_none ref +); + +one_way_exprs( //dir=expr + unique int id: @one_way_expr, + int sub_expr: @expr_or_none ref +); + +opaque_value_exprs( //dir=expr + unique int id: @opaque_value_expr +); + +open_existential_exprs( //dir=expr + unique int id: @open_existential_expr, + int sub_expr: @expr_or_none ref, + int existential: @expr_or_none ref, + int opaque_expr: @opaque_value_expr_or_none ref +); + +optional_evaluation_exprs( //dir=expr + unique int id: @optional_evaluation_expr, + int sub_expr: @expr_or_none ref +); + +other_initializer_ref_exprs( //dir=expr + unique int id: @other_initializer_ref_expr, + int initializer: @initializer_or_none ref +); + +overloaded_decl_ref_exprs( //dir=expr + unique int id: @overloaded_decl_ref_expr +); + +#keyset[id, index] +overloaded_decl_ref_expr_possible_declarations( //dir=expr + int id: @overloaded_decl_ref_expr ref, + int index: int ref, + int possible_declaration: @value_decl_or_none ref +); + +property_wrapper_value_placeholder_exprs( //dir=expr + unique int id: @property_wrapper_value_placeholder_expr, + int placeholder: @opaque_value_expr_or_none ref +); + +#keyset[id] +property_wrapper_value_placeholder_expr_wrapped_values( //dir=expr + int id: @property_wrapper_value_placeholder_expr ref, + int wrapped_value: @expr_or_none ref +); + +rebind_self_in_initializer_exprs( //dir=expr + unique int id: @rebind_self_in_initializer_expr, + int sub_expr: @expr_or_none ref, + int self: @var_decl_or_none ref +); + +sequence_exprs( //dir=expr + unique int id: @sequence_expr +); + +#keyset[id, index] +sequence_expr_elements( //dir=expr + int id: @sequence_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +single_value_stmt_exprs( //dir=expr + unique int id: @single_value_stmt_expr, + int stmt: @stmt_or_none ref +); + +super_ref_exprs( //dir=expr + unique int id: @super_ref_expr, + int self: @var_decl_or_none ref +); + +tap_exprs( //dir=expr + unique int id: @tap_expr, + int body: @brace_stmt_or_none ref, + int var: @var_decl_or_none ref +); + +#keyset[id] +tap_expr_sub_exprs( //dir=expr + int id: @tap_expr ref, + int sub_expr: @expr_or_none ref +); + +tuple_element_exprs( //dir=expr + unique int id: @tuple_element_expr, + int sub_expr: @expr_or_none ref, + int index: int ref +); + +tuple_exprs( //dir=expr + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_elements( //dir=expr + int id: @tuple_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +type_exprs( //dir=expr + unique int id: @type_expr +); + +#keyset[id] +type_expr_type_reprs( //dir=expr + int id: @type_expr ref, + int type_repr: @type_repr_or_none ref +); + +unresolved_decl_ref_exprs( //dir=expr + unique int id: @unresolved_decl_ref_expr +); + +#keyset[id] +unresolved_decl_ref_expr_names( //dir=expr + int id: @unresolved_decl_ref_expr ref, + string name: string ref +); + +unresolved_dot_exprs( //dir=expr + unique int id: @unresolved_dot_expr, + int base: @expr_or_none ref, + string name: string ref +); + +unresolved_member_exprs( //dir=expr + unique int id: @unresolved_member_expr, + string name: string ref +); + +unresolved_pattern_exprs( //dir=expr + unique int id: @unresolved_pattern_expr, + int sub_pattern: @pattern_or_none ref +); + +unresolved_specialize_exprs( //dir=expr + unique int id: @unresolved_specialize_expr, + int sub_expr: @expr_or_none ref +); + +vararg_expansion_exprs( //dir=expr + unique int id: @vararg_expansion_expr, + int sub_expr: @expr_or_none ref +); + +abi_safe_conversion_exprs( //dir=expr + unique int id: @abi_safe_conversion_expr +); + +any_hashable_erasure_exprs( //dir=expr + unique int id: @any_hashable_erasure_expr +); + +archetype_to_super_exprs( //dir=expr + unique int id: @archetype_to_super_expr +); + +array_exprs( //dir=expr + unique int id: @array_expr +); + +#keyset[id, index] +array_expr_elements( //dir=expr + int id: @array_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +array_to_pointer_exprs( //dir=expr + unique int id: @array_to_pointer_expr +); + +auto_closure_exprs( //dir=expr + unique int id: @auto_closure_expr +); + +await_exprs( //dir=expr + unique int id: @await_expr +); + +binary_exprs( //dir=expr + unique int id: @binary_expr +); + +bridge_from_obj_c_exprs( //dir=expr + unique int id: @bridge_from_obj_c_expr +); + +bridge_to_obj_c_exprs( //dir=expr + unique int id: @bridge_to_obj_c_expr +); + +@builtin_literal_expr = + @boolean_literal_expr +| @magic_identifier_literal_expr +| @number_literal_expr +| @string_literal_expr +; + +call_exprs( //dir=expr + unique int id: @call_expr +); + +@checked_cast_expr = + @conditional_checked_cast_expr +| @forced_checked_cast_expr +| @is_expr +; + +class_metatype_to_object_exprs( //dir=expr + unique int id: @class_metatype_to_object_expr +); + +coerce_exprs( //dir=expr + unique int id: @coerce_expr +); + +collection_upcast_conversion_exprs( //dir=expr + unique int id: @collection_upcast_conversion_expr +); + +conditional_bridge_from_obj_c_exprs( //dir=expr + unique int id: @conditional_bridge_from_obj_c_expr +); + +covariant_function_conversion_exprs( //dir=expr + unique int id: @covariant_function_conversion_expr +); + +covariant_return_conversion_exprs( //dir=expr + unique int id: @covariant_return_conversion_expr +); + +derived_to_base_exprs( //dir=expr + unique int id: @derived_to_base_expr +); + +destructure_tuple_exprs( //dir=expr + unique int id: @destructure_tuple_expr +); + +dictionary_exprs( //dir=expr + unique int id: @dictionary_expr +); + +#keyset[id, index] +dictionary_expr_elements( //dir=expr + int id: @dictionary_expr ref, + int index: int ref, + int element: @expr_or_none ref +); + +differentiable_function_exprs( //dir=expr + unique int id: @differentiable_function_expr +); + +differentiable_function_extract_original_exprs( //dir=expr + unique int id: @differentiable_function_extract_original_expr +); + +dot_self_exprs( //dir=expr + unique int id: @dot_self_expr +); + +@dynamic_lookup_expr = + @dynamic_member_ref_expr +| @dynamic_subscript_expr +; + +erasure_exprs( //dir=expr + unique int id: @erasure_expr +); + +existential_metatype_to_object_exprs( //dir=expr + unique int id: @existential_metatype_to_object_expr +); + +explicit_closure_exprs( //dir=expr + unique int id: @explicit_closure_expr +); + +force_try_exprs( //dir=expr + unique int id: @force_try_expr +); + +foreign_object_conversion_exprs( //dir=expr + unique int id: @foreign_object_conversion_expr +); + +function_conversion_exprs( //dir=expr + unique int id: @function_conversion_expr +); + +in_out_to_pointer_exprs( //dir=expr + unique int id: @in_out_to_pointer_expr +); + +inject_into_optional_exprs( //dir=expr + unique int id: @inject_into_optional_expr +); + +interpolated_string_literal_exprs( //dir=expr + unique int id: @interpolated_string_literal_expr +); + +#keyset[id] +interpolated_string_literal_expr_interpolation_exprs( //dir=expr + int id: @interpolated_string_literal_expr ref, + int interpolation_expr: @opaque_value_expr_or_none ref +); + +#keyset[id] +interpolated_string_literal_expr_appending_exprs( //dir=expr + int id: @interpolated_string_literal_expr ref, + int appending_expr: @tap_expr_or_none ref +); + +linear_function_exprs( //dir=expr + unique int id: @linear_function_expr +); + +linear_function_extract_original_exprs( //dir=expr + unique int id: @linear_function_extract_original_expr +); + +linear_to_differentiable_function_exprs( //dir=expr + unique int id: @linear_to_differentiable_function_expr +); + +load_exprs( //dir=expr + unique int id: @load_expr +); + +member_ref_exprs( //dir=expr + unique int id: @member_ref_expr +); + +#keyset[id] +member_ref_expr_has_direct_to_storage_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_ordinary_semantics( //dir=expr + int id: @member_ref_expr ref +); + +#keyset[id] +member_ref_expr_has_distributed_thunk_semantics( //dir=expr + int id: @member_ref_expr ref +); + +metatype_conversion_exprs( //dir=expr + unique int id: @metatype_conversion_expr +); + +nil_literal_exprs( //dir=expr + unique int id: @nil_literal_expr +); + +object_literal_exprs( //dir=expr + unique int id: @object_literal_expr, + int kind: int ref +); + +#keyset[id, index] +object_literal_expr_arguments( //dir=expr + int id: @object_literal_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +optional_try_exprs( //dir=expr + unique int id: @optional_try_expr +); + +paren_exprs( //dir=expr + unique int id: @paren_expr +); + +pointer_to_pointer_exprs( //dir=expr + unique int id: @pointer_to_pointer_expr +); + +postfix_unary_exprs( //dir=expr + unique int id: @postfix_unary_expr +); + +prefix_unary_exprs( //dir=expr + unique int id: @prefix_unary_expr +); + +protocol_metatype_to_object_exprs( //dir=expr + unique int id: @protocol_metatype_to_object_expr +); + +regex_literal_exprs( //dir=expr + unique int id: @regex_literal_expr, + string pattern: string ref, + int version: int ref +); + +@self_apply_expr = + @dot_syntax_call_expr +| @initializer_ref_call_expr +; + +#keyset[id] +self_apply_exprs( //dir=expr + int id: @self_apply_expr ref, + int base: @expr_or_none ref +); + +string_to_pointer_exprs( //dir=expr + unique int id: @string_to_pointer_expr +); + +subscript_exprs( //dir=expr + unique int id: @subscript_expr +); + +#keyset[id, index] +subscript_expr_arguments( //dir=expr + int id: @subscript_expr ref, + int index: int ref, + int argument: @argument_or_none ref +); + +#keyset[id] +subscript_expr_has_direct_to_storage_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_direct_to_implementation_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_ordinary_semantics( //dir=expr + int id: @subscript_expr ref +); + +#keyset[id] +subscript_expr_has_distributed_thunk_semantics( //dir=expr + int id: @subscript_expr ref +); + +try_exprs( //dir=expr + unique int id: @try_expr +); + +underlying_to_opaque_exprs( //dir=expr + unique int id: @underlying_to_opaque_expr +); + +unevaluated_instance_exprs( //dir=expr + unique int id: @unevaluated_instance_expr +); + +unresolved_member_chain_result_exprs( //dir=expr + unique int id: @unresolved_member_chain_result_expr +); + +unresolved_type_conversion_exprs( //dir=expr + unique int id: @unresolved_type_conversion_expr +); + +boolean_literal_exprs( //dir=expr + unique int id: @boolean_literal_expr, + boolean value: boolean ref +); + +conditional_checked_cast_exprs( //dir=expr + unique int id: @conditional_checked_cast_expr +); + +dot_syntax_call_exprs( //dir=expr + unique int id: @dot_syntax_call_expr +); + +dynamic_member_ref_exprs( //dir=expr + unique int id: @dynamic_member_ref_expr +); + +dynamic_subscript_exprs( //dir=expr + unique int id: @dynamic_subscript_expr +); + +forced_checked_cast_exprs( //dir=expr + unique int id: @forced_checked_cast_expr +); + +initializer_ref_call_exprs( //dir=expr + unique int id: @initializer_ref_call_expr +); + +is_exprs( //dir=expr + unique int id: @is_expr +); + +magic_identifier_literal_exprs( //dir=expr + unique int id: @magic_identifier_literal_expr, + string kind: string ref +); + +@number_literal_expr = + @float_literal_expr +| @integer_literal_expr +; + +string_literal_exprs( //dir=expr + unique int id: @string_literal_expr, + string value: string ref +); + +float_literal_exprs( //dir=expr + unique int id: @float_literal_expr, + string string_value: string ref +); + +integer_literal_exprs( //dir=expr + unique int id: @integer_literal_expr, + string string_value: string ref +); + +@pattern = + @any_pattern +| @binding_pattern +| @bool_pattern +| @enum_element_pattern +| @expr_pattern +| @is_pattern +| @named_pattern +| @optional_some_pattern +| @paren_pattern +| @tuple_pattern +| @typed_pattern +; + +any_patterns( //dir=pattern + unique int id: @any_pattern +); + +binding_patterns( //dir=pattern + unique int id: @binding_pattern, + int sub_pattern: @pattern_or_none ref +); + +bool_patterns( //dir=pattern + unique int id: @bool_pattern, + boolean value: boolean ref +); + +enum_element_patterns( //dir=pattern + unique int id: @enum_element_pattern, + int element: @enum_element_decl_or_none ref +); + +#keyset[id] +enum_element_pattern_sub_patterns( //dir=pattern + int id: @enum_element_pattern ref, + int sub_pattern: @pattern_or_none ref +); + +expr_patterns( //dir=pattern + unique int id: @expr_pattern, + int sub_expr: @expr_or_none ref +); + +is_patterns( //dir=pattern + unique int id: @is_pattern +); + +#keyset[id] +is_pattern_cast_type_reprs( //dir=pattern + int id: @is_pattern ref, + int cast_type_repr: @type_repr_or_none ref +); + +#keyset[id] +is_pattern_sub_patterns( //dir=pattern + int id: @is_pattern ref, + int sub_pattern: @pattern_or_none ref +); + +named_patterns( //dir=pattern + unique int id: @named_pattern, + int var_decl: @var_decl_or_none ref +); + +optional_some_patterns( //dir=pattern + unique int id: @optional_some_pattern, + int sub_pattern: @pattern_or_none ref +); + +paren_patterns( //dir=pattern + unique int id: @paren_pattern, + int sub_pattern: @pattern_or_none ref +); + +tuple_patterns( //dir=pattern + unique int id: @tuple_pattern +); + +#keyset[id, index] +tuple_pattern_elements( //dir=pattern + int id: @tuple_pattern ref, + int index: int ref, + int element: @pattern_or_none ref +); + +typed_patterns( //dir=pattern + unique int id: @typed_pattern, + int sub_pattern: @pattern_or_none ref +); + +#keyset[id] +typed_pattern_type_reprs( //dir=pattern + int id: @typed_pattern ref, + int type_repr: @type_repr_or_none ref +); + +case_label_items( //dir=stmt + unique int id: @case_label_item, + int pattern: @pattern_or_none ref +); + +#keyset[id] +case_label_item_guards( //dir=stmt + int id: @case_label_item ref, + int guard: @expr_or_none ref +); + +condition_elements( //dir=stmt + unique int id: @condition_element +); + +#keyset[id] +condition_element_booleans( //dir=stmt + int id: @condition_element ref, + int boolean_: @expr_or_none ref +); + +#keyset[id] +condition_element_patterns( //dir=stmt + int id: @condition_element ref, + int pattern: @pattern_or_none ref +); + +#keyset[id] +condition_element_initializers( //dir=stmt + int id: @condition_element ref, + int initializer: @expr_or_none ref +); + +#keyset[id] +condition_element_availabilities( //dir=stmt + int id: @condition_element ref, + int availability: @availability_info_or_none ref +); + +@stmt = + @brace_stmt +| @break_stmt +| @case_stmt +| @continue_stmt +| @defer_stmt +| @fail_stmt +| @fallthrough_stmt +| @labeled_stmt +| @pound_assert_stmt +| @return_stmt +| @throw_stmt +| @yield_stmt +; + +stmt_conditions( //dir=stmt + unique int id: @stmt_condition +); + +#keyset[id, index] +stmt_condition_elements( //dir=stmt + int id: @stmt_condition ref, + int index: int ref, + int element: @condition_element_or_none ref +); + +brace_stmts( //dir=stmt + unique int id: @brace_stmt +); + +#keyset[id, index] +brace_stmt_elements( //dir=stmt + int id: @brace_stmt ref, + int index: int ref, + int element: @ast_node_or_none ref +); + +break_stmts( //dir=stmt + unique int id: @break_stmt +); + +#keyset[id] +break_stmt_target_names( //dir=stmt + int id: @break_stmt ref, + string target_name: string ref +); + +#keyset[id] +break_stmt_targets( //dir=stmt + int id: @break_stmt ref, + int target: @stmt_or_none ref +); + +case_stmts( //dir=stmt + unique int id: @case_stmt, + int body: @stmt_or_none ref +); + +#keyset[id, index] +case_stmt_labels( //dir=stmt + int id: @case_stmt ref, + int index: int ref, + int label: @case_label_item_or_none ref +); + +#keyset[id, index] +case_stmt_variables( //dir=stmt + int id: @case_stmt ref, + int index: int ref, + int variable: @var_decl_or_none ref +); + +continue_stmts( //dir=stmt + unique int id: @continue_stmt +); + +#keyset[id] +continue_stmt_target_names( //dir=stmt + int id: @continue_stmt ref, + string target_name: string ref +); + +#keyset[id] +continue_stmt_targets( //dir=stmt + int id: @continue_stmt ref, + int target: @stmt_or_none ref +); + +defer_stmts( //dir=stmt + unique int id: @defer_stmt, + int body: @brace_stmt_or_none ref +); + +fail_stmts( //dir=stmt + unique int id: @fail_stmt +); + +fallthrough_stmts( //dir=stmt + unique int id: @fallthrough_stmt, + int fallthrough_source: @case_stmt_or_none ref, + int fallthrough_dest: @case_stmt_or_none ref +); + +@labeled_stmt = + @do_catch_stmt +| @do_stmt +| @for_each_stmt +| @labeled_conditional_stmt +| @repeat_while_stmt +| @switch_stmt +; + +#keyset[id] +labeled_stmt_labels( //dir=stmt + int id: @labeled_stmt ref, + string label: string ref +); + +pound_assert_stmts( //dir=stmt + unique int id: @pound_assert_stmt, + int condition: @expr_or_none ref, + string message: string ref +); + +return_stmts( //dir=stmt + unique int id: @return_stmt +); + +#keyset[id] +return_stmt_results( //dir=stmt + int id: @return_stmt ref, + int result: @expr_or_none ref +); + +throw_stmts( //dir=stmt + unique int id: @throw_stmt, + int sub_expr: @expr_or_none ref +); + +yield_stmts( //dir=stmt + unique int id: @yield_stmt +); + +#keyset[id, index] +yield_stmt_results( //dir=stmt + int id: @yield_stmt ref, + int index: int ref, + int result: @expr_or_none ref +); + +do_catch_stmts( //dir=stmt + unique int id: @do_catch_stmt, + int body: @stmt_or_none ref +); + +#keyset[id, index] +do_catch_stmt_catches( //dir=stmt + int id: @do_catch_stmt ref, + int index: int ref, + int catch: @case_stmt_or_none ref +); + +do_stmts( //dir=stmt + unique int id: @do_stmt, + int body: @brace_stmt_or_none ref +); + +for_each_stmts( //dir=stmt + unique int id: @for_each_stmt, + int pattern: @pattern_or_none ref, + int body: @brace_stmt_or_none ref +); + +#keyset[id] +for_each_stmt_wheres( //dir=stmt + int id: @for_each_stmt ref, + int where: @expr_or_none ref +); + +#keyset[id] +for_each_stmt_iterator_vars( //dir=stmt + int id: @for_each_stmt ref, + int iteratorVar: @pattern_binding_decl_or_none ref +); + +#keyset[id] +for_each_stmt_next_calls( //dir=stmt + int id: @for_each_stmt ref, + int nextCall: @expr_or_none ref +); + +@labeled_conditional_stmt = + @guard_stmt +| @if_stmt +| @while_stmt +; + +#keyset[id] +labeled_conditional_stmts( //dir=stmt + int id: @labeled_conditional_stmt ref, + int condition: @stmt_condition_or_none ref +); + +repeat_while_stmts( //dir=stmt + unique int id: @repeat_while_stmt, + int condition: @expr_or_none ref, + int body: @stmt_or_none ref +); + +switch_stmts( //dir=stmt + unique int id: @switch_stmt, + int expr: @expr_or_none ref +); + +#keyset[id, index] +switch_stmt_cases( //dir=stmt + int id: @switch_stmt ref, + int index: int ref, + int case_: @case_stmt_or_none ref +); + +guard_stmts( //dir=stmt + unique int id: @guard_stmt, + int body: @brace_stmt_or_none ref +); + +if_stmts( //dir=stmt + unique int id: @if_stmt, + int then: @stmt_or_none ref +); + +#keyset[id] +if_stmt_elses( //dir=stmt + int id: @if_stmt ref, + int else: @stmt_or_none ref +); + +while_stmts( //dir=stmt + unique int id: @while_stmt, + int body: @stmt_or_none ref +); + +@type = + @any_function_type +| @any_generic_type +| @any_metatype_type +| @builtin_type +| @dependent_member_type +| @dynamic_self_type +| @error_type +| @existential_type +| @in_out_type +| @l_value_type +| @module_type +| @parameterized_protocol_type +| @protocol_composition_type +| @reference_storage_type +| @substitutable_type +| @sugar_type +| @tuple_type +| @unresolved_type +; + +#keyset[id] +types( //dir=type + int id: @type ref, + string name: string ref, + int canonical_type: @type_or_none ref +); + +type_reprs( //dir=type + unique int id: @type_repr, + int type_: @type_or_none ref +); + +@any_function_type = + @function_type +| @generic_function_type +; + +#keyset[id] +any_function_types( //dir=type + int id: @any_function_type ref, + int result: @type_or_none ref +); + +#keyset[id, index] +any_function_type_param_types( //dir=type + int id: @any_function_type ref, + int index: int ref, + int param_type: @type_or_none ref +); + +#keyset[id] +any_function_type_is_throwing( //dir=type + int id: @any_function_type ref +); + +#keyset[id] +any_function_type_is_async( //dir=type + int id: @any_function_type ref +); + +@any_generic_type = + @nominal_or_bound_generic_nominal_type +| @unbound_generic_type +; + +#keyset[id] +any_generic_types( //dir=type + int id: @any_generic_type ref, + int declaration: @generic_type_decl_or_none ref +); + +#keyset[id] +any_generic_type_parents( //dir=type + int id: @any_generic_type ref, + int parent: @type_or_none ref +); + +@any_metatype_type = + @existential_metatype_type +| @metatype_type +; + +@builtin_type = + @any_builtin_integer_type +| @builtin_bridge_object_type +| @builtin_default_actor_storage_type +| @builtin_executor_type +| @builtin_float_type +| @builtin_job_type +| @builtin_native_object_type +| @builtin_raw_pointer_type +| @builtin_raw_unsafe_continuation_type +| @builtin_unsafe_value_buffer_type +| @builtin_vector_type +; + +dependent_member_types( //dir=type + unique int id: @dependent_member_type, + int base_type: @type_or_none ref, + int associated_type_decl: @associated_type_decl_or_none ref +); + +dynamic_self_types( //dir=type + unique int id: @dynamic_self_type, + int static_self_type: @type_or_none ref +); + +error_types( //dir=type + unique int id: @error_type +); + +existential_types( //dir=type + unique int id: @existential_type, + int constraint: @type_or_none ref +); + +in_out_types( //dir=type + unique int id: @in_out_type, + int object_type: @type_or_none ref +); + +l_value_types( //dir=type + unique int id: @l_value_type, + int object_type: @type_or_none ref +); + +module_types( //dir=type + unique int id: @module_type, + int module: @module_decl_or_none ref +); + +parameterized_protocol_types( //dir=type + unique int id: @parameterized_protocol_type, + int base: @protocol_type_or_none ref +); + +#keyset[id, index] +parameterized_protocol_type_args( //dir=type + int id: @parameterized_protocol_type ref, + int index: int ref, + int arg: @type_or_none ref +); + +protocol_composition_types( //dir=type + unique int id: @protocol_composition_type +); + +#keyset[id, index] +protocol_composition_type_members( //dir=type + int id: @protocol_composition_type ref, + int index: int ref, + int member: @type_or_none ref +); + +@reference_storage_type = + @unmanaged_storage_type +| @unowned_storage_type +| @weak_storage_type +; + +#keyset[id] +reference_storage_types( //dir=type + int id: @reference_storage_type ref, + int referent_type: @type_or_none ref +); + +@substitutable_type = + @archetype_type +| @generic_type_param_type +; + +@sugar_type = + @paren_type +| @syntax_sugar_type +| @type_alias_type +; + +tuple_types( //dir=type + unique int id: @tuple_type +); + +#keyset[id, index] +tuple_type_types( //dir=type + int id: @tuple_type ref, + int index: int ref, + int type_: @type_or_none ref +); + +#keyset[id, index] +tuple_type_names( //dir=type + int id: @tuple_type ref, + int index: int ref, + string name: string ref +); + +unresolved_types( //dir=type + unique int id: @unresolved_type +); + +@any_builtin_integer_type = + @builtin_integer_literal_type +| @builtin_integer_type +; + +@archetype_type = + @opaque_type_archetype_type +| @opened_archetype_type +| @primary_archetype_type +; + +#keyset[id] +archetype_types( //dir=type + int id: @archetype_type ref, + int interface_type: @type_or_none ref +); + +#keyset[id] +archetype_type_superclasses( //dir=type + int id: @archetype_type ref, + int superclass: @type_or_none ref +); + +#keyset[id, index] +archetype_type_protocols( //dir=type + int id: @archetype_type ref, + int index: int ref, + int protocol: @protocol_decl_or_none ref +); + +builtin_bridge_object_types( //dir=type + unique int id: @builtin_bridge_object_type +); + +builtin_default_actor_storage_types( //dir=type + unique int id: @builtin_default_actor_storage_type +); + +builtin_executor_types( //dir=type + unique int id: @builtin_executor_type +); + +builtin_float_types( //dir=type + unique int id: @builtin_float_type +); + +builtin_job_types( //dir=type + unique int id: @builtin_job_type +); + +builtin_native_object_types( //dir=type + unique int id: @builtin_native_object_type +); + +builtin_raw_pointer_types( //dir=type + unique int id: @builtin_raw_pointer_type +); + +builtin_raw_unsafe_continuation_types( //dir=type + unique int id: @builtin_raw_unsafe_continuation_type +); + +builtin_unsafe_value_buffer_types( //dir=type + unique int id: @builtin_unsafe_value_buffer_type +); + +builtin_vector_types( //dir=type + unique int id: @builtin_vector_type +); + +existential_metatype_types( //dir=type + unique int id: @existential_metatype_type +); + +function_types( //dir=type + unique int id: @function_type +); + +generic_function_types( //dir=type + unique int id: @generic_function_type +); + +#keyset[id, index] +generic_function_type_generic_params( //dir=type + int id: @generic_function_type ref, + int index: int ref, + int generic_param: @generic_type_param_type_or_none ref +); + +generic_type_param_types( //dir=type + unique int id: @generic_type_param_type +); + +metatype_types( //dir=type + unique int id: @metatype_type +); + +@nominal_or_bound_generic_nominal_type = + @bound_generic_type +| @nominal_type +; + +paren_types( //dir=type + unique int id: @paren_type, + int type_: @type_or_none ref +); + +@syntax_sugar_type = + @dictionary_type +| @unary_syntax_sugar_type +; + +type_alias_types( //dir=type + unique int id: @type_alias_type, + int decl: @type_alias_decl_or_none ref +); + +unbound_generic_types( //dir=type + unique int id: @unbound_generic_type +); + +unmanaged_storage_types( //dir=type + unique int id: @unmanaged_storage_type +); + +unowned_storage_types( //dir=type + unique int id: @unowned_storage_type +); + +weak_storage_types( //dir=type + unique int id: @weak_storage_type +); + +@bound_generic_type = + @bound_generic_class_type +| @bound_generic_enum_type +| @bound_generic_struct_type +; + +#keyset[id, index] +bound_generic_type_arg_types( //dir=type + int id: @bound_generic_type ref, + int index: int ref, + int arg_type: @type_or_none ref +); + +builtin_integer_literal_types( //dir=type + unique int id: @builtin_integer_literal_type +); + +builtin_integer_types( //dir=type + unique int id: @builtin_integer_type +); + +#keyset[id] +builtin_integer_type_widths( //dir=type + int id: @builtin_integer_type ref, + int width: int ref +); + +dictionary_types( //dir=type + unique int id: @dictionary_type, + int key_type: @type_or_none ref, + int value_type: @type_or_none ref +); + +@nominal_type = + @class_type +| @enum_type +| @protocol_type +| @struct_type +; + +opaque_type_archetype_types( //dir=type + unique int id: @opaque_type_archetype_type, + int declaration: @opaque_type_decl_or_none ref +); + +opened_archetype_types( //dir=type + unique int id: @opened_archetype_type +); + +primary_archetype_types( //dir=type + unique int id: @primary_archetype_type +); + +@unary_syntax_sugar_type = + @array_slice_type +| @optional_type +| @variadic_sequence_type +; + +#keyset[id] +unary_syntax_sugar_types( //dir=type + int id: @unary_syntax_sugar_type ref, + int base_type: @type_or_none ref +); + +array_slice_types( //dir=type + unique int id: @array_slice_type +); + +bound_generic_class_types( //dir=type + unique int id: @bound_generic_class_type +); + +bound_generic_enum_types( //dir=type + unique int id: @bound_generic_enum_type +); + +bound_generic_struct_types( //dir=type + unique int id: @bound_generic_struct_type +); + +class_types( //dir=type + unique int id: @class_type +); + +enum_types( //dir=type + unique int id: @enum_type +); + +optional_types( //dir=type + unique int id: @optional_type +); + +protocol_types( //dir=type + unique int id: @protocol_type +); + +struct_types( //dir=type + unique int id: @struct_type +); + +variadic_sequence_types( //dir=type + unique int id: @variadic_sequence_type +); + +@accessor_or_none = + @accessor +| @unspecified_element +; + +@argument_or_none = + @argument +| @unspecified_element +; + +@associated_type_decl_or_none = + @associated_type_decl +| @unspecified_element +; + +@ast_node_or_none = + @ast_node +| @unspecified_element +; + +@availability_info_or_none = + @availability_info +| @unspecified_element +; + +@availability_spec_or_none = + @availability_spec +| @unspecified_element +; + +@brace_stmt_or_none = + @brace_stmt +| @unspecified_element +; + +@captured_decl_or_none = + @captured_decl +| @unspecified_element +; + +@case_label_item_or_none = + @case_label_item +| @unspecified_element +; + +@case_stmt_or_none = + @case_stmt +| @unspecified_element +; + +@closure_expr_or_none = + @closure_expr +| @unspecified_element +; + +@condition_element_or_none = + @condition_element +| @unspecified_element +; + +@decl_or_none = + @decl +| @unspecified_element +; + +@enum_element_decl_or_none = + @enum_element_decl +| @unspecified_element +; + +@expr_or_none = + @expr +| @unspecified_element +; + +@file_or_none = + @file +| @unspecified_element +; + +@function_or_none = + @function +| @unspecified_element +; + +@generic_type_decl_or_none = + @generic_type_decl +| @unspecified_element +; + +@generic_type_param_decl_or_none = + @generic_type_param_decl +| @unspecified_element +; + +@generic_type_param_type_or_none = + @generic_type_param_type +| @unspecified_element +; + +@initializer_or_none = + @initializer +| @unspecified_element +; + +@key_path_component_or_none = + @key_path_component +| @unspecified_element +; + +@location_or_none = + @location +| @unspecified_element +; + +@module_decl_or_none = + @module_decl +| @unspecified_element +; + +@nominal_type_decl_or_none = + @nominal_type_decl +| @unspecified_element +; + +@opaque_type_decl_or_none = + @opaque_type_decl +| @unspecified_element +; + +@opaque_value_expr_or_none = + @opaque_value_expr +| @unspecified_element +; + +@param_decl_or_none = + @param_decl +| @unspecified_element +; + +@pattern_or_none = + @pattern +| @unspecified_element +; + +@pattern_binding_decl_or_none = + @pattern_binding_decl +| @unspecified_element +; + +@precedence_group_decl_or_none = + @precedence_group_decl +| @unspecified_element +; + +@protocol_decl_or_none = + @protocol_decl +| @unspecified_element +; + +@protocol_type_or_none = + @protocol_type +| @unspecified_element +; + +@stmt_or_none = + @stmt +| @unspecified_element +; + +@stmt_condition_or_none = + @stmt_condition +| @unspecified_element +; + +@string_literal_expr_or_none = + @string_literal_expr +| @unspecified_element +; + +@tap_expr_or_none = + @tap_expr +| @unspecified_element +; + +@type_or_none = + @type +| @unspecified_element +; + +@type_alias_decl_or_none = + @type_alias_decl +| @unspecified_element +; + +@type_repr_or_none = + @type_repr +| @unspecified_element +; + +@value_decl_or_none = + @unspecified_element +| @value_decl +; + +@var_decl_or_none = + @unspecified_element +| @var_decl +; diff --git a/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/upgrade.properties b/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/upgrade.properties new file mode 100644 index 00000000000..9e2cde77abe --- /dev/null +++ b/swift/ql/lib/upgrades/7c17e1f4b2d30f2da05bfa667c621ddd418eb151/upgrade.properties @@ -0,0 +1,2 @@ +description: Added SingleValueStmtExpr +compatibility: full diff --git a/swift/ql/src/change-notes/2023-11-06-command-injection.md b/swift/ql/src/change-notes/2023-11-06-command-injection.md new file mode 100644 index 00000000000..0ad3340c7cf --- /dev/null +++ b/swift/ql/src/change-notes/2023-11-06-command-injection.md @@ -0,0 +1,5 @@ +--- +category: newQuery +--- + +* Added new query "System command built from user-controlled sources" (`swift/command-line-injection`) for Swift. This query detects system commands built from user-controlled sources without sufficient validation. The query was previously [contributed to the 'experimental' directory by @maikypedia](https://github.com/github/codeql/pull/13726) but will now run by default for all code scanning users. diff --git a/swift/ql/src/change-notes/2023-11-06-realm.md b/swift/ql/src/change-notes/2023-11-06-realm.md new file mode 100644 index 00000000000..53f4cc7fddd --- /dev/null +++ b/swift/ql/src/change-notes/2023-11-06-realm.md @@ -0,0 +1,5 @@ +--- +category: minorAnalysis +--- + +* Fixed an issue where some Realm database sinks were not being recognized for the `swift/cleartext-storage-database` query. diff --git a/swift/ql/src/experimental/Security/CWE-078/CommandInjection.qhelp b/swift/ql/src/queries/Security/CWE-078/CommandInjection.qhelp similarity index 100% rename from swift/ql/src/experimental/Security/CWE-078/CommandInjection.qhelp rename to swift/ql/src/queries/Security/CWE-078/CommandInjection.qhelp diff --git a/swift/ql/src/experimental/Security/CWE-078/CommandInjection.ql b/swift/ql/src/queries/Security/CWE-078/CommandInjection.ql similarity index 100% rename from swift/ql/src/experimental/Security/CWE-078/CommandInjection.ql rename to swift/ql/src/queries/Security/CWE-078/CommandInjection.ql diff --git a/swift/ql/src/experimental/Security/CWE-078/CommandInjectionBad.swift b/swift/ql/src/queries/Security/CWE-078/CommandInjectionBad.swift similarity index 100% rename from swift/ql/src/experimental/Security/CWE-078/CommandInjectionBad.swift rename to swift/ql/src/queries/Security/CWE-078/CommandInjectionBad.swift diff --git a/swift/ql/src/experimental/Security/CWE-078/CommandInjectionGood.swift b/swift/ql/src/queries/Security/CWE-078/CommandInjectionGood.swift similarity index 100% rename from swift/ql/src/experimental/Security/CWE-078/CommandInjectionGood.swift rename to swift/ql/src/queries/Security/CWE-078/CommandInjectionGood.swift diff --git a/swift/ql/test/extractor-tests/generated/decl/ModuleDecl/ModuleDecl.expected b/swift/ql/test/extractor-tests/generated/decl/ModuleDecl/ModuleDecl.expected index dbbc1c70157..37ee373dc83 100644 --- a/swift/ql/test/extractor-tests/generated/decl/ModuleDecl/ModuleDecl.expected +++ b/swift/ql/test/extractor-tests/generated/decl/ModuleDecl/ModuleDecl.expected @@ -1,3 +1,3 @@ -| file://:0:0:0:0 | Foo | getModule: | file://:0:0:0:0 | Foo | getNumberOfMembers: | 0 | getInterfaceType: | module | getName: | Foo | getNumberOfInheritedTypes: | 0 | isBuiltinModule: | no | isSystemModule: | no | getNumberOfImportedModules: | 4 | getNumberOfExportedModules: | 1 | +| file://:0:0:0:0 | Foo | getModule: | file://:0:0:0:0 | Foo | getNumberOfMembers: | 0 | getInterfaceType: | module | getName: | Foo | getNumberOfInheritedTypes: | 0 | isBuiltinModule: | no | isSystemModule: | no | getNumberOfImportedModules: | 5 | getNumberOfExportedModules: | 1 | | file://:0:0:0:0 | __ObjC | getModule: | file://:0:0:0:0 | __ObjC | getNumberOfMembers: | 0 | getInterfaceType: | module<__ObjC> | getName: | __ObjC | getNumberOfInheritedTypes: | 0 | isBuiltinModule: | no | isSystemModule: | no | getNumberOfImportedModules: | 1 | getNumberOfExportedModules: | 0 | -| file://:0:0:0:0 | default_module_name | getModule: | file://:0:0:0:0 | default_module_name | getNumberOfMembers: | 0 | getInterfaceType: | module | getName: | default_module_name | getNumberOfInheritedTypes: | 0 | isBuiltinModule: | no | isSystemModule: | no | getNumberOfImportedModules: | 4 | getNumberOfExportedModules: | 0 | +| file://:0:0:0:0 | default_module_name | getModule: | file://:0:0:0:0 | default_module_name | getNumberOfMembers: | 0 | getInterfaceType: | module | getName: | default_module_name | getNumberOfInheritedTypes: | 0 | isBuiltinModule: | no | isSystemModule: | no | getNumberOfImportedModules: | 5 | getNumberOfExportedModules: | 0 | diff --git a/swift/ql/test/extractor-tests/generated/decl/ModuleDecl/ModuleDecl_getAnImportedModule.expected b/swift/ql/test/extractor-tests/generated/decl/ModuleDecl/ModuleDecl_getAnImportedModule.expected index c711cd8b913..57f89e195bc 100644 --- a/swift/ql/test/extractor-tests/generated/decl/ModuleDecl/ModuleDecl_getAnImportedModule.expected +++ b/swift/ql/test/extractor-tests/generated/decl/ModuleDecl/ModuleDecl_getAnImportedModule.expected @@ -2,8 +2,10 @@ | file://:0:0:0:0 | Foo | file://:0:0:0:0 | SwiftOnoneSupport | | file://:0:0:0:0 | Foo | file://:0:0:0:0 | _Concurrency | | file://:0:0:0:0 | Foo | file://:0:0:0:0 | _StringProcessing | +| file://:0:0:0:0 | Foo | file://:0:0:0:0 | _SwiftConcurrencyShims | | file://:0:0:0:0 | __ObjC | file://:0:0:0:0 | Swift | | file://:0:0:0:0 | default_module_name | file://:0:0:0:0 | Swift | | file://:0:0:0:0 | default_module_name | file://:0:0:0:0 | SwiftOnoneSupport | | file://:0:0:0:0 | default_module_name | file://:0:0:0:0 | _Concurrency | | file://:0:0:0:0 | default_module_name | file://:0:0:0:0 | _StringProcessing | +| file://:0:0:0:0 | default_module_name | file://:0:0:0:0 | _SwiftConcurrencyShims | diff --git a/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getMember.expected b/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getMember.expected index 0b599fe3fe3..a272e0da941 100644 --- a/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getMember.expected +++ b/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getMember.expected @@ -16,9 +16,9 @@ | method_lookups.swift:44:11:44:13 | .foo(_:_:) | method_lookups.swift:12:3:12:35 | foo(_:_:) | | method_lookups.swift:47:1:47:1 | Task.init(priority:operation:) | file://:0:0:0:0 | Task.init(priority:operation:) | | method_lookups.swift:48:9:48:11 | .foo(_:_:) | method_lookups.swift:22:3:22:35 | foo(_:_:) | -| method_lookups.swift:49:9:49:11 | .bar() | method_lookups.swift:23:3:23:21 | bar() | +| method_lookups.swift:49:9:49:11 | .bar() | method_lookups.swift:23:15:23:33 | bar() | | method_lookups.swift:50:9:50:9 | Z.init() | method_lookups.swift:26:3:28:3 | Z.init() | | method_lookups.swift:50:9:50:13 | .baz(_:) | method_lookups.swift:24:3:24:21 | baz(_:) | -| method_lookups.swift:52:11:52:13 | .bar() | method_lookups.swift:23:3:23:21 | bar() | +| method_lookups.swift:52:11:52:13 | .bar() | method_lookups.swift:23:15:23:33 | bar() | | method_lookups.swift:53:18:53:18 | Z.init() | method_lookups.swift:26:3:28:3 | Z.init() | | method_lookups.swift:53:23:53:23 | .baz(_:) | method_lookups.swift:24:3:24:21 | baz(_:) | diff --git a/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getType.expected b/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getType.expected index 689812463da..61f37a4b9a9 100644 --- a/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getType.expected +++ b/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getType.expected @@ -20,7 +20,7 @@ | method_lookups.swift:44:11:44:13 | .foo(_:_:) | (Int, Int) -> () | | method_lookups.swift:47:1:47:1 | Task.init(priority:operation:) | (TaskPriority?, __owned @escaping @Sendable () async -> ()) -> Task<(), Never> | | method_lookups.swift:48:9:48:11 | .foo(_:_:) | @MainActor (Int, Int) -> () | -| method_lookups.swift:49:9:49:11 | .bar() | @MainActor () -> () | +| method_lookups.swift:49:9:49:11 | .bar() | () -> () | | method_lookups.swift:50:9:50:9 | Z.init() | @MainActor () -> Z | | method_lookups.swift:50:9:50:13 | .baz(_:) | @MainActor (Int) -> () | | method_lookups.swift:52:11:52:13 | .bar() | () -> () | diff --git a/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/method_lookups.swift b/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/method_lookups.swift index 5290eaae94d..49c5673fbed 100644 --- a/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/method_lookups.swift +++ b/swift/ql/test/extractor-tests/generated/expr/MethodLookupExpr/method_lookups.swift @@ -20,7 +20,7 @@ actor Y { @MainActor class Z { static func foo(_: Int, _:Int) {} - class func bar() {} + nonisolated class func bar() {} func baz(_: Int) {} init() { diff --git a/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr.expected b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr.expected new file mode 100644 index 00000000000..8ddce624fb2 --- /dev/null +++ b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr.expected @@ -0,0 +1 @@ +| test.swift:2:3:5:3 | SingleValueStmtExpr | hasType: | yes | getStmt: | test.swift:2:3:5:3 | switch x { ... } | diff --git a/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr.ql b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr.ql new file mode 100644 index 00000000000..e2da5833ed8 --- /dev/null +++ b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr.ql @@ -0,0 +1,11 @@ +// generated by codegen/codegen.py +import codeql.swift.elements +import TestUtils + +from SingleValueStmtExpr x, string hasType, Stmt getStmt +where + toBeTested(x) and + not x.isUnknown() and + (if x.hasType() then hasType = "yes" else hasType = "no") and + getStmt = x.getStmt() +select x, "hasType:", hasType, "getStmt:", getStmt diff --git a/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr_getType.expected b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr_getType.expected new file mode 100644 index 00000000000..2bf6c0cd5da --- /dev/null +++ b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr_getType.expected @@ -0,0 +1 @@ +| test.swift:2:3:5:3 | SingleValueStmtExpr | Int | diff --git a/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr_getType.ql b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr_getType.ql new file mode 100644 index 00000000000..290f4c70684 --- /dev/null +++ b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/SingleValueStmtExpr_getType.ql @@ -0,0 +1,7 @@ +// generated by codegen/codegen.py +import codeql.swift.elements +import TestUtils + +from SingleValueStmtExpr x +where toBeTested(x) and not x.isUnknown() +select x, x.getType() diff --git a/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/test.swift b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/test.swift new file mode 100644 index 00000000000..b7f7077d5e8 --- /dev/null +++ b/swift/ql/test/extractor-tests/generated/expr/SingleValueStmtExpr/test.swift @@ -0,0 +1,6 @@ +func a(_ x: Int) -> Int { + switch x { + default: + 0 + } +} diff --git a/swift/ql/test/library-tests/ast/PrintAst.expected b/swift/ql/test/library-tests/ast/PrintAst.expected index c8dc0885e53..1692e7f6232 100644 --- a/swift/ql/test/library-tests/ast/PrintAst.expected +++ b/swift/ql/test/library-tests/ast/PrintAst.expected @@ -3248,51 +3248,49 @@ cfg.swift: # 524| getParam(0): [ParamDecl] continuation # 524| Type = AsyncStream.Continuation # 523| getBody(): [BraceStmt] { ... } -# 525| getElement(0): [BraceStmt] { ... } -# 525| getElement(0): [CallExpr] call to detached(priority:operation:) -# 525| getFunction(): [MethodLookupExpr] .detached(priority:operation:) -# 525| getBase(): [TypeExpr] Task<(), Never>.Type -# 525| getTypeRepr(): [TypeRepr] Task<(), Never> -# 525| getMethodRef(): [DeclRefExpr] detached(priority:operation:) -# 525| getArgument(0): [Argument] priority: default priority -# 525| getExpr(): [DefaultArgumentExpr] default priority -# 525| getArgument(1): [Argument] operation: { ... } -# 525| getExpr(): [ExplicitClosureExpr] { ... } -# 525| getBody(): [BraceStmt] { ... } -# 526| getElement(0): [ForEachStmt] for ... in ... { ... } -# 526| getPattern(): [NamedPattern] i -#-----| getIteratorVar(): [PatternBindingDecl] var ... = ... -# 526| getInit(0): [CallExpr] call to makeIterator() -# 526| getFunction(): [MethodLookupExpr] .makeIterator() -# 526| getBase(): [BinaryExpr] ... ....(_:_:) ... -# 526| getFunction(): [MethodLookupExpr] ....(_:_:) -# 526| getBase(): [TypeExpr] Int.Type -# 526| getTypeRepr(): [TypeRepr] Int -# 526| getMethodRef(): [DeclRefExpr] ...(_:_:) -# 526| getArgument(0): [Argument] : 1 -# 526| getExpr(): [IntegerLiteralExpr] 1 -# 526| getArgument(1): [Argument] : 100 -# 526| getExpr(): [IntegerLiteralExpr] 100 -#-----| getMethodRef(): [DeclRefExpr] makeIterator() -# 526| getPattern(0): [NamedPattern] $i$generator -# 526| getNextCall(): [CallExpr] call to next() -# 526| getFunction(): [MethodLookupExpr] .next() -# 526| getBase(): [DeclRefExpr] $i$generator -# 526| getBase().getFullyConverted(): [InOutExpr] &... -#-----| getMethodRef(): [DeclRefExpr] next() -# 526| getBody(): [BraceStmt] { ... } -# 527| getElement(0): [CallExpr] call to yield(_:) -# 527| getFunction(): [MethodLookupExpr] .yield(_:) -# 527| getBase(): [DeclRefExpr] continuation -# 527| getMethodRef(): [DeclRefExpr] yield(_:) -# 527| getArgument(0): [Argument] : i -# 527| getExpr(): [DeclRefExpr] i -# 529| getElement(1): [CallExpr] call to finish() -# 529| getFunction(): [MethodLookupExpr] .finish() -# 529| getBase(): [DeclRefExpr] continuation -# 529| getMethodRef(): [DeclRefExpr] finish() -# 527| getCapture(0): [CapturedDecl] continuation -# 525| getElement(1): [ReturnStmt] return +# 525| getElement(0): [CallExpr] call to detached(priority:operation:) +# 525| getFunction(): [MethodLookupExpr] .detached(priority:operation:) +# 525| getBase(): [TypeExpr] Task<(), Never>.Type +# 525| getTypeRepr(): [TypeRepr] Task<(), Never> +# 525| getMethodRef(): [DeclRefExpr] detached(priority:operation:) +# 525| getArgument(0): [Argument] priority: default priority +# 525| getExpr(): [DefaultArgumentExpr] default priority +# 525| getArgument(1): [Argument] operation: { ... } +# 525| getExpr(): [ExplicitClosureExpr] { ... } +# 525| getBody(): [BraceStmt] { ... } +# 526| getElement(0): [ForEachStmt] for ... in ... { ... } +# 526| getPattern(): [NamedPattern] i +#-----| getIteratorVar(): [PatternBindingDecl] var ... = ... +# 526| getInit(0): [CallExpr] call to makeIterator() +# 526| getFunction(): [MethodLookupExpr] .makeIterator() +# 526| getBase(): [BinaryExpr] ... ....(_:_:) ... +# 526| getFunction(): [MethodLookupExpr] ....(_:_:) +# 526| getBase(): [TypeExpr] Int.Type +# 526| getTypeRepr(): [TypeRepr] Int +# 526| getMethodRef(): [DeclRefExpr] ...(_:_:) +# 526| getArgument(0): [Argument] : 1 +# 526| getExpr(): [IntegerLiteralExpr] 1 +# 526| getArgument(1): [Argument] : 100 +# 526| getExpr(): [IntegerLiteralExpr] 100 +#-----| getMethodRef(): [DeclRefExpr] makeIterator() +# 526| getPattern(0): [NamedPattern] $i$generator +# 526| getNextCall(): [CallExpr] call to next() +# 526| getFunction(): [MethodLookupExpr] .next() +# 526| getBase(): [DeclRefExpr] $i$generator +# 526| getBase().getFullyConverted(): [InOutExpr] &... +#-----| getMethodRef(): [DeclRefExpr] next() +# 526| getBody(): [BraceStmt] { ... } +# 527| getElement(0): [CallExpr] call to yield(_:) +# 527| getFunction(): [MethodLookupExpr] .yield(_:) +# 527| getBase(): [DeclRefExpr] continuation +# 527| getMethodRef(): [DeclRefExpr] yield(_:) +# 527| getArgument(0): [Argument] : i +# 527| getExpr(): [DeclRefExpr] i +# 529| getElement(1): [CallExpr] call to finish() +# 529| getFunction(): [MethodLookupExpr] .finish() +# 529| getBase(): [DeclRefExpr] continuation +# 529| getMethodRef(): [DeclRefExpr] finish() +# 527| getCapture(0): [CapturedDecl] continuation # 523| getPattern(0): [NamedPattern] stream # 533| getElement(1): [ForEachStmt] for ... in ... { ... } # 533| getPattern(): [NamedPattern] i diff --git a/swift/ql/test/library-tests/controlflow/graph/Cfg.expected b/swift/ql/test/library-tests/controlflow/graph/Cfg.expected index e1e160a6c3b..56439ce6b53 100644 --- a/swift/ql/test/library-tests/controlflow/graph/Cfg.expected +++ b/swift/ql/test/library-tests/controlflow/graph/Cfg.expected @@ -6077,14 +6077,11 @@ cfg.swift: # 525| Task<(), Never>.Type #-----| -> default priority -# 525| return -#-----| return -> exit { ... } (normal) - # 525| .detached(priority:operation:) #-----| -> Task<(), Never>.Type # 525| call to detached(priority:operation:) -#-----| -> return +#-----| -> exit { ... } (normal) # 525| default priority #-----| -> { ... } diff --git a/swift/ql/test/library-tests/dataflow/flowsources/webview.swift b/swift/ql/test/library-tests/dataflow/flowsources/webview.swift index 6fbc2b69721..1dfa47bb4e0 100644 --- a/swift/ql/test/library-tests/dataflow/flowsources/webview.swift +++ b/swift/ql/test/library-tests/dataflow/flowsources/webview.swift @@ -52,6 +52,7 @@ protocol Exported : JSExport { var tainted: Any { get } func tainted(arg1: Any, arg2: Any) } + class ExportedImpl : Exported { var tainted: Any { get { return "" } } @@ -80,3 +81,22 @@ extension Extended : WKNavigationDelegate { func webView(_: WKWebView, decidePolicyFor: WKNavigationAction, preferences: WKWebpagePreferences, decisionHandler: (WKNavigationActionPolicy, WKWebpagePreferences) -> Void) {} // $ source=remote func webView(_: WKWebView, decidePolicyFor: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {} // $ source=remote } + +// --- + +typealias JSExportAlias = JSExport + +protocol Exported2 : JSExportAlias { + var tainted: Any { get } +} +typealias Exported2Alias = Exported2 + +class ExportedImpl2 : Exported2Alias { + var tainted: Any { get { return "" } } + var notTainted: Any { get { return ""} } + + func readFields() { + tainted // $ source=remote + notTainted + } +} diff --git a/swift/ql/test/library-tests/dataflow/taint/libraries/data.swift b/swift/ql/test/library-tests/dataflow/taint/libraries/data.swift index 2437e91981f..eddfae11b0d 100644 --- a/swift/ql/test/library-tests/dataflow/taint/libraries/data.swift +++ b/swift/ql/test/library-tests/dataflow/taint/libraries/data.swift @@ -17,9 +17,13 @@ extension DataProtocol { extension UnsafeRawBufferPointer : DataProtocol { } extension Array : DataProtocol where Element == UInt8 { } -protocol MutableDataProtocol : DataProtocol, RangeReplaceableCollection { } +protocol MutableDataProtocol : DataProtocol, MutableCollection, RangeReplaceableCollection { } -struct Data : MutableDataProtocol +protocol ContiguousBytes { + func withUnsafeBytes(_ body: (UnsafeRawBufferPointer) throws -> R) rethrows -> R +} + +struct Data : MutableDataProtocol, ContiguousBytes { struct Base64EncodingOptions : OptionSet { let rawValue: Int } struct Base64DecodingOptions : OptionSet { let rawValue: Int } @@ -31,7 +35,10 @@ struct Data : MutableDataProtocol var endIndex: Self.Index { get { return 0 } } func index(after: Self.Index) -> Self.Index { return 0 } func index(before: Self.Index) -> Self.Index { return 0 } - subscript(position: Self.Index) -> Self.Element { get { return 0 } } + subscript(position: Self.Index) -> Self.Element { + get { return 0 } + set { } + } init() {} init(_ elements: S) {} @@ -74,6 +81,9 @@ struct Data : MutableDataProtocol func shuffled(using: inout T) -> [UInt8] { return [] } func trimmingPrefix(_ prefix: Prefix) -> Data where Prefix : Sequence, UInt8 == Prefix.Element { return Data("") } func trimmingPrefix(while: (UInt8) -> Bool) -> Data { return Data("") } + + mutating func withUnsafeMutableBytes(_ body: (UnsafeMutableRawBufferPointer) throws -> ResultType) rethrows -> ResultType { return try body(UnsafeMutableRawBufferPointer(start: nil, count: 0)) } + func withUnsafeBytes(_ body: (UnsafeRawBufferPointer) throws -> R) rethrows -> R { return try body(UnsafeRawBufferPointer(start: nil, count: 0)) } } // --- tests --- @@ -94,193 +104,241 @@ func taintThroughData() { let dataTainted2 = Data(dataTainted) sink(arg: dataClean) - sink(arg: dataTainted) // $ tainted=93 - sink(arg: dataTainted2) // $ tainted=93 + sink(arg: dataTainted) // $ tainted=103 + sink(arg: dataTainted2) // $ tainted=103 // ";Data;true;init(base64Encoded:options:);;;Argument[0];ReturnValue;taint", let dataTainted3 = Data(base64Encoded: source() as! Data, options: []) - sink(arg: dataTainted3) // $ tainted=101 + sink(arg: dataTainted3) // $ tainted=111 // ";Data;true;init(buffer:);;;Argument[0];ReturnValue;taint", let dataTainted4 = Data(buffer: source() as! UnsafeBufferPointer) - sink(arg: dataTainted4) // $ tainted=105 + sink(arg: dataTainted4) // $ tainted=115 let dataTainted5 = Data(buffer: source() as! UnsafeMutablePointer) - sink(arg: dataTainted5) // $ tainted=107 + sink(arg: dataTainted5) // $ tainted=117 // ";Data;true;init(bytes:count:);;;Argument[0];ReturnValue;taint", let dataTainted6 = Data(bytes: source() as! UnsafeRawPointer, count: 0) - sink(arg: dataTainted6) // $ tainted=111 + sink(arg: dataTainted6) // $ tainted=121 // ";Data;true;init(bytesNoCopy:count:deallocator:);;;Argument[0];ReturnValue;taint", let dataTainted7 = Data(bytesNoCopy: source() as! UnsafeRawPointer, count: 0, deallocator: Data.Deallocator.none) - sink(arg: dataTainted7) // $ tainted=115 + sink(arg: dataTainted7) // $ tainted=125 // ";Data;true;init(contentsOf:options:);;;Argument[0];ReturnValue;taint", let urlTainted8 = source() as! URL let dataTainted8 = Data(contentsOf: urlTainted8, options: []) - sink(arg: dataTainted8) // $ tainted=119 + sink(arg: dataTainted8) // $ tainted=129 // ";Data;true;init(referencing:);;;Argument[0];ReturnValue;taint", let dataTainted9 = Data(referencing: source() as! NSData) - sink(arg: dataTainted9) // $ tainted=124 + sink(arg: dataTainted9) // $ tainted=134 // ";Data;true;append(_:);;;Argument[0];Argument[-1];taint", let dataTainted10 = Data("") dataTainted10.append(source() as! Data) - sink(arg: dataTainted10) // $ tainted=129 + sink(arg: dataTainted10) // $ tainted=139 let dataTainted11 = Data("") dataTainted11.append(source() as! UInt8) - sink(arg: dataTainted11) // $ tainted=133 + sink(arg: dataTainted11) // $ tainted=143 let dataTainted12 = Data("") dataTainted12.append(source() as! UnsafeBufferPointer) - sink(arg: dataTainted12) // $ tainted=137 + sink(arg: dataTainted12) // $ tainted=147 // ";Data;true;append(_:count:);;;Argument[0];Argument[-1];taint", let dataTainted13 = Data("") dataTainted13.append(source() as! UnsafePointer, count: 0) - sink(arg: dataTainted13) // $ tainted=142 + sink(arg: dataTainted13) // $ tainted=152 // ";Data;true;append(contentsOf:);;;Argument[0];Argument[-1];taint", let dataTainted14 = Data("") dataTainted14.append(contentsOf: source() as! [UInt8]) - sink(arg: dataTainted14) // $ tainted=147 + sink(arg: dataTainted14) // $ tainted=157 // ";Data;true;base64EncodedData(options:);;;Argument[-1];ReturnValue;taint", let dataTainted15 = source() as! Data - sink(arg: dataTainted15.base64EncodedData(options: [])) // $ tainted=151 + sink(arg: dataTainted15.base64EncodedData(options: [])) // $ tainted=161 // ";Data;true;base64EncodedString(options:);;;Argument[-1];ReturnValue;taint", let dataTainted16 = source() as! Data - sink(arg: dataTainted16.base64EncodedString(options: [])) // $ tainted=155 + sink(arg: dataTainted16.base64EncodedString(options: [])) // $ tainted=165 // ";Data;true;compactMap(_:);;;Argument[-1];ReturnValue;taint", let dataTainted17 = source() as! Data let compactMapped: [Int] = dataTainted17.compactMap { str in Int(str) } - sink(arg: compactMapped) // $ tainted=159 + sink(arg: compactMapped) // $ tainted=169 // ";Data;true;copyBytes(to:);;;Argument[-1];Argument[0];taint", let dataTainted18 = source() as! Data let pointerTainted18 = UnsafeMutableRawBufferPointer.allocate(byteCount: 0, alignment: 0) dataTainted18.copyBytes(to: pointerTainted18) - sink(arg: pointerTainted18) // $ tainted=164 + sink(arg: pointerTainted18) // $ tainted=174 // ";Data;true;copyBytes(to:count:);;;Argument[-1];Argument[0];taint", let dataTainted19 = source() as! Data let pointerTainted19 = UnsafeMutablePointer.allocate(capacity: 0) dataTainted19.copyBytes(to: pointerTainted19, count: 0) - sink(arg: pointerTainted19) // $ tainted=170 + sink(arg: pointerTainted19) // $ tainted=180 // ";Data;true;copyBytes(to:from:);;;Argument[-1];Argument[0];taint", let dataTainted20 = source() as! Data let pointerTainted20 = UnsafeMutablePointer.allocate(capacity: 0) dataTainted20.copyBytes(to: pointerTainted20, from: 0..<1) - sink(arg: pointerTainted20) // $ tainted=176 + sink(arg: pointerTainted20) // $ tainted=186 // ";Data;true;flatMap(_:);;;Argument[-1];ReturnValue;taint", let dataTainted21 = source() as! Data let flatMapped = dataTainted21.flatMap { Array(repeating: $0, count: 0) } - sink(arg: flatMapped) // $ tainted=182 + sink(arg: flatMapped) // $ tainted=192 let dataTainted22 = source() as! Data let flatMapped2 = dataTainted22.flatMap { str in Int(str) } - sink(arg: flatMapped2) // $ tainted=186 + sink(arg: flatMapped2) // $ tainted=196 // ";Data;true;insert(_:at:);;;Argument[0];Argument[-1];taint", let dataTainted23 = Data("") dataTainted23.insert(source() as! UInt8, at: 0) - sink(arg: dataTainted23) // $ tainted=192 + sink(arg: dataTainted23) // $ tainted=202 // ";Data;true;insert(contentsOf:at:);;;Argument[0];Argument[-1];taint", let dataTainted24 = Data("") dataTainted24.insert(contentsOf: source() as! [UInt8], at: 0) - sink(arg: dataTainted24) // $ tainted=197 + sink(arg: dataTainted24) // $ tainted=207 // ";Data;true;map(_:);;;Argument[-1];ReturnValue;taint", let dataTainted25 = source() as! Data let mapped = dataTainted25.map { $0 } - sink(arg: mapped) // $ tainted=201 + sink(arg: mapped) // $ tainted=211 // ";Data;true;reduce(into:_:);;;Argument[-1];ReturnValue;taint", let dataTainted26 = source() as! Data let reduced = dataTainted26.reduce(into: [:]) { c, i in c[i, default: 0] += 1 } - sink(arg: reduced) // $ tainted=206 + sink(arg: reduced) // $ tainted=216 // ";Data;true;replace(_:with:maxReplacements:);;;Argument[1];Argument[-1];taint", let dataTainted27 = Data("") dataTainted27.replace([0], with: source() as! [UInt8], maxReplacements: .max) - sink(arg: dataTainted27) // $ tainted=212 + sink(arg: dataTainted27) // $ tainted=222 // ";Data;true;replaceSubrange(_:with:);;;Argument[1];Argument[-1];taint", let dataTainted28 = Data("") dataTainted28.replaceSubrange(1..<3, with: source() as! Data) - sink(arg: dataTainted28) // $ tainted=217 + sink(arg: dataTainted28) // $ tainted=227 let dataTainted29 = Data("") dataTainted29.replaceSubrange(1..<3, with: source() as! [UInt8]) - sink(arg: dataTainted29) // $ tainted=221 + sink(arg: dataTainted29) // $ tainted=231 let dataTainted30 = Data("") dataTainted30.replaceSubrange(1..<3, with: source() as! UnsafeBufferPointer) - sink(arg: dataTainted30) // $ tainted=225 + sink(arg: dataTainted30) // $ tainted=235 // ";Data;true;replaceSubrange(_:with:count:);;;Argument[1];Argument[-1];taint", let dataTainted31 = Data("") dataTainted31.replaceSubrange(1..<3, with: source() as! UnsafeRawPointer, count: 0) - sink(arg: dataTainted31) // $ tainted=230 + sink(arg: dataTainted31) // $ tainted=240 // ";Data;true;replacing(_:with:maxReplacements:);;;Argument[1];Argument[-1];taint", let dataTainted32 = Data("") let _ = dataTainted32.replacing([0], with: source() as! [UInt8], maxReplacements: 0) - sink(arg: dataTainted32) // $ tainted=235 + sink(arg: dataTainted32) // $ tainted=245 // ";Data;true;replacing(_:with:subrange:maxReplacements:);;;Argument[1];Argument[-1];taint", let dataTainted33 = Data("") let _ = dataTainted33.replacing([0], with: source() as! [UInt8], subrange: 1..<3, maxReplacements: 0) - sink(arg: dataTainted33) // $ tainted=240 + sink(arg: dataTainted33) // $ tainted=250 // ";Data;true;reversed();;;Argument[-1];ReturnValue;taint", let dataTainted34 = source() as! Data - sink(arg: dataTainted34.reversed()) // $ tainted=244 + sink(arg: dataTainted34.reversed()) // $ tainted=254 // ";Data;true;sorted();;;Argument[-1];ReturnValue;taint", let dataTainted35 = source() as! Data - sink(arg: dataTainted35.sorted()) // $ tainted=248 + sink(arg: dataTainted35.sorted()) // $ tainted=258 // ";Data;true;sorted(by:);;;Argument[-1];ReturnValue;taint", let dataTainted36 = source() as! Data - sink(arg: dataTainted36.sorted{ _,_ in return false }) // $ tainted=252 + sink(arg: dataTainted36.sorted{ _,_ in return false }) // $ tainted=262 // ";Data;true;sorted(using:);;;Argument[-1];ReturnValue;taint", let dataTainted37 = source() as! Data - sink(arg: dataTainted37.sorted(using: cmp()!)) // $ tainted=256 + sink(arg: dataTainted37.sorted(using: cmp()!)) // $ tainted=266 // ";Data;true;shuffled();;;Argument[-1];ReturnValue;taint", let dataTainted38 = source() as! Data - sink(arg: dataTainted38.shuffled()) // $ tainted=260 + sink(arg: dataTainted38.shuffled()) // $ tainted=270 // ";Data;true;shuffled(using:);;;Argument[-1];ReturnValue;taint", let dataTainted39 = source() as! Data var myRng = rng()! - sink(arg: dataTainted39.shuffled(using: &myRng)) // $ tainted=264 + sink(arg: dataTainted39.shuffled(using: &myRng)) // $ tainted=274 // ";Data;true;trimmingPrefix(_:);;;Argument[-1];ReturnValue;taint", let dataTainted40 = source() as! Data - sink(arg: dataTainted40.trimmingPrefix([0])) // $ tainted=269 + sink(arg: dataTainted40.trimmingPrefix([0])) // $ tainted=279 // ";Data;true;trimmingPrefix(while:);;;Argument[-1];ReturnValue;taint" let dataTainted41 = source() as! Data - sink(arg: dataTainted41.trimmingPrefix { _ in false }) // $ tainted=273 + sink(arg: dataTainted41.trimmingPrefix { _ in false }) // $ tainted=283 // ";DataProtocol;true;copyBytes(to:);;;Argument[-1];Argument[0];taint", let dataTainted43 = source() as! UnsafeRawBufferPointer let pointerTainted43 = UnsafeMutableRawBufferPointer.allocate(byteCount: 0, alignment: 0) dataTainted43.copyBytes(to: pointerTainted43) - sink(arg: pointerTainted43) // $ tainted=277 + sink(arg: pointerTainted43) // $ tainted=287 let dataTainted44 = source() as! Array let pointerTainted44 = UnsafeMutableRawBufferPointer.allocate(byteCount: 0, alignment: 0) dataTainted44.copyBytes(to: pointerTainted44) - sink(arg: pointerTainted44) // $ tainted=282 + sink(arg: pointerTainted44) // $ tainted=292 + + let dataTainted45 = source() as! Data + let result45 = dataTainted45.withContiguousStorageIfAvailable({ + buffer in + + sink(arg: buffer) // $ tainted=297 + sink(arg: buffer[0]) // $ tainted=297 + + return source() as! Int + }) + sink(arg: result45!) // $ tainted=304 + + var data46 = Data(0) + let result46 = data46.withContiguousMutableStorageIfAvailable({ + buffer in + + buffer[0] = source() as! UInt8 + sink(arg: buffer) // $ tainted=312 + sink(arg: buffer[0]) // $ tainted=312 + + return source() as! Int + }) + sink(arg: result46!) // $ tainted=316 + sink(arg: data46) // $ tainted=312 + + let dataTainted47 = source() as! Data + let result47 = dataTainted47.withUnsafeBytes({ + buffer in + + sink(arg: buffer) // $ tainted=321 + sink(arg: buffer[0]) // $ tainted=321 + + return source() as! Int + }) + sink(arg: result47) // $ tainted=328 + + var data48 = Data(0) + let result48 = data48.withUnsafeMutableBytes({ + buffer in + + buffer[0] = source() as! UInt8 + sink(arg: buffer) // $ tainted=336 + sink(arg: buffer[0]) // $ tainted=336 + + return source() as! Int + }) + sink(arg: result48) // $ tainted=340 + sink(arg: data48) // $ tainted=336 } diff --git a/swift/ql/test/library-tests/dataflow/taint/libraries/files.swift b/swift/ql/test/library-tests/dataflow/taint/libraries/files.swift index f4c40a08a85..7a65a2d10f6 100644 --- a/swift/ql/test/library-tests/dataflow/taint/libraries/files.swift +++ b/swift/ql/test/library-tests/dataflow/taint/libraries/files.swift @@ -94,7 +94,6 @@ func sourceString() -> String { return "" } func sourceCCharArray() -> [CChar] { return [] } func sourceCString() -> UnsafePointer { return (nil as UnsafePointer?)! } func sourceDecoder() -> Decoder { return (nil as Decoder?)! } - func sink(filePath: FilePath) { } func sink(string: String) { } func sink(component: FilePath.Component) { } @@ -102,6 +101,7 @@ func sink(root: FilePath.Root) { } func sink(componentView: FilePath.ComponentView) { } func sink(encoder: Encoder) { } func sink(ptr: UnsafePointer) { } +func sink(arg: T) { } func test_files(e1: Encoder) { // --- FilePath.Root, FilePath.Component --- @@ -148,39 +148,51 @@ func test_files(e1: Encoder) { sink(filePath: tainted.lexicallyResolving(clean)!) // $ tainted=133 sink(filePath: clean.lexicallyResolving(tainted)!) // $ tainted=133 - let _ = clean.withCString({ + let result1 = clean.withCString({ ptr in sink(ptr: ptr) + sink(arg: ptr[0]) + return sourceString() }) - let _ = tainted.withCString({ + sink(string: result1) // $ tainted=155 + let result2 = tainted.withCString({ ptr in sink(ptr: ptr) // $ tainted=133 + sink(arg: ptr[0]) // $ tainted=133 + return "" }) + sink(string: result2) - let _ = clean.withPlatformString({ + let result3 = clean.withPlatformString({ ptr in sink(ptr: ptr) + sink(arg: ptr[0]) sink(string: String(platformString: ptr)) sink(string: String(validatingPlatformString: ptr)!) + return sourceString() }) - let _ = tainted.withPlatformString({ + sink(string: result3) // $ tainted=172 + let result4 = tainted.withPlatformString({ ptr in sink(ptr: ptr) // $ tainted=133 + sink(arg: ptr[0]) // $ tainted=133 sink(string: String(platformString: ptr)) // $ tainted=133 sink(string: String(validatingPlatformString: ptr)!) // $ tainted=133 + return "" }) + sink(string: result4) var fp1 = FilePath("") sink(filePath: fp1) fp1.append(sourceString()) - sink(filePath: fp1) // $ tainted=175 + sink(filePath: fp1) // $ tainted=187 fp1.append("") - sink(filePath: fp1) // $ tainted=175 + sink(filePath: fp1) // $ tainted=187 sink(filePath: clean.appending("")) - sink(filePath: clean.appending(sourceString())) // $ tainted=181 + sink(filePath: clean.appending(sourceString())) // $ tainted=193 sink(filePath: tainted.appending("")) // $ tainted=133 - sink(filePath: tainted.appending(sourceString())) // $ tainted=133 tainted=183 + sink(filePath: tainted.appending(sourceString())) // $ tainted=133 tainted=195 // --- FilePath member variables --- diff --git a/swift/ql/test/library-tests/dataflow/taint/libraries/int.swift b/swift/ql/test/library-tests/dataflow/taint/libraries/int.swift index 3ea65132e87..d75d6d55d98 100644 --- a/swift/ql/test/library-tests/dataflow/taint/libraries/int.swift +++ b/swift/ql/test/library-tests/dataflow/taint/libraries/int.swift @@ -151,12 +151,12 @@ func taintCollections(array: inout Array, contiguousArray: inout Contiguous }) contiguousArray[0] = source2() - sink(arg: contiguousArray) - sink(arg: contiguousArray[0]) // $ MISSING: tainted=153 + sink(arg: contiguousArray) // $ tainted=153 + sink(arg: contiguousArray[0]) // $ tainted=153 contiguousArray.withContiguousStorageIfAvailable({ buffer in - sink(arg: buffer) - sink(arg: buffer[0]) // $ MISSING: tainted=153 + sink(arg: buffer) // $ tainted=153 + sink(arg: buffer[0]) // $ tainted=153 }) dictionary[0] = source2() diff --git a/swift/ql/test/library-tests/dataflow/taint/libraries/nsstring.swift b/swift/ql/test/library-tests/dataflow/taint/libraries/nsstring.swift index 3be4e4d1264..b26110b79b3 100644 --- a/swift/ql/test/library-tests/dataflow/taint/libraries/nsstring.swift +++ b/swift/ql/test/library-tests/dataflow/taint/libraries/nsstring.swift @@ -25,8 +25,8 @@ protocol NSMutableCopying { class NSString : NSObject, NSCopying, NSMutableCopying { struct EncodingConversionOptions : OptionSet { let rawValue: Int } - struct CompareOptions : OptionSet { let rawValue: Int } + struct EnumerationOptions : OptionSet { let rawValue: Int } init(characters: UnsafePointer, length: Int) {} init(charactersNoCopy characters: UnsafeMutablePointer, length: Int, freeWhenDone freeBuffer: Bool) {} @@ -83,6 +83,7 @@ class NSString : NSObject, NSCopying, NSMutableCopying { func folding(options: NSString.CompareOptions = [], locale: Locale?) -> String { return "" } func applyingTransform(_ transform: StringTransform, reverse: Bool) -> String? { return "" } func enumerateLines(_ block: @escaping (String, UnsafeMutablePointer) -> Void) { } + func enumerateSubstrings(in range: NSRange, options opts: NSString.EnumerationOptions = [], using block: @escaping (String?, NSRange, NSRange, UnsafeMutablePointer) -> Void) { } func replacingOccurrences(of target: String, with replacement: String) -> String { return "" } func replacingOccurrences(of target: String, with replacement: String, options: NSString.CompareOptions = [], range searchRange: NSRange) -> String { return "" } func propertyList() -> Any { return 0 } @@ -136,8 +137,7 @@ class NSMutableString : NSString { func setString(_ aString: String) {} } -class NSArray : NSObject { -} +class NSArray : NSObject { } struct _NSRange { init(location: Int, length: Int) {} @@ -275,8 +275,8 @@ func taintThroughInterpolatedStrings() { sink(arg: sourceNSString().replacingOccurrences(of: "a", with: "b", range: NSRange(location: 0, length: 10))) // $ tainted=275 sink(arg: harmless.replacingOccurrences(of: "a", with: sourceString(), range: NSRange(location: 0, length: 10))) // $ tainted=276 sink(arg: NSString.path(withComponents: ["a", "b", "c"])) - sink(arg: NSString.path(withComponents: sourceStringArray())) // $ tainted=278 - sink(arg: NSString.path(withComponents: ["a", sourceString(), "c"])) // $ MISSING: tainted= + sink(arg: NSString.path(withComponents: sourceStringArray())) // $ MISSING: tainted=278 + sink(arg: NSString.path(withComponents: ["a", sourceString(), "c"])) // $ tainted=279 sink(arg: NSString.string(withCString: sourceCString())) // $ tainted=280 sink(arg: NSString.string(withCString: sourceCString(), length: 128)) // $ tainted=281 sink(arg: NSString.string(withContentsOfFile: sourceString())) // $ tainted=282 @@ -306,8 +306,8 @@ func taintThroughInterpolatedStrings() { sink(arg: harmless.strings(byAppendingPaths: [""])) sink(arg: harmless.strings(byAppendingPaths: [""])[0]) - sink(arg: harmless.strings(byAppendingPaths: [sourceString()])) // $ MISSING: tainted= - sink(arg: harmless.strings(byAppendingPaths: [sourceString()])[0]) // $ MISSING: tainted= + sink(arg: harmless.strings(byAppendingPaths: [sourceString()])) // $ tainted=309 + sink(arg: harmless.strings(byAppendingPaths: [sourceString()])[0]) // $ tainted=310 sink(arg: sourceNSString().strings(byAppendingPaths: [""])) // $ tainted=311 sink(arg: sourceNSString().strings(byAppendingPaths: [""])[0]) // $ tainted=312 @@ -355,7 +355,7 @@ func taintThroughInterpolatedStrings() { })) sink(arg: sourceNSString().enumerateLines({ line, stop in - sink(arg: line) // $ MISSING: tainted= + sink(arg: line) // $ tainted=356 sink(arg: stop) })) @@ -485,3 +485,13 @@ func taintThroughData() { let str2 = NSString(data: data1, encoding: 0)! sink(arg: str2) // $ tainted=482 } + +func moreTests() { + let myTainted = sourceNSString() + let myRange = NSRange(location:0, length: 128) + + sink(arg: myTainted.enumerateSubstrings(in: myRange, options: [], using: { + substring, substringRange, enclosingRange, stop in + sink(arg: substring!) // $ tainted=490 + })) +} diff --git a/swift/ql/test/library-tests/dataflow/taint/libraries/unsafepointer.swift b/swift/ql/test/library-tests/dataflow/taint/libraries/unsafepointer.swift index 032f0972f18..57247e0acc6 100644 --- a/swift/ql/test/library-tests/dataflow/taint/libraries/unsafepointer.swift +++ b/swift/ql/test/library-tests/dataflow/taint/libraries/unsafepointer.swift @@ -59,8 +59,8 @@ func taintBuffer(buffer: UnsafeMutableBufferPointer) { buffer[0] = sourceUInt8() - sink(arg: buffer[0]) // $ MISSING: tainted=60 - sink(arg: buffer) + sink(arg: buffer[0]) // $ tainted=60 + sink(arg: buffer) // $ tainted=60 } func testMutatingBufferInCall(ptr: UnsafeMutablePointer) { @@ -71,8 +71,8 @@ func testMutatingBufferInCall(ptr: UnsafeMutablePointer) { taintBuffer(buffer: buffer) // mutates `buffer` contents with a tainted value - sink(arg: buffer[0]) // $ MISSING: tainted=60 - sink(arg: buffer) + sink(arg: buffer[0]) // $ tainted=60 + sink(arg: buffer) // $ tainted=60 } diff --git a/swift/ql/test/library-tests/elements/expr/methodlookup/PrintAst.expected b/swift/ql/test/library-tests/elements/expr/methodlookup/PrintAst.expected index b56ef3634a8..d511a390341 100644 --- a/swift/ql/test/library-tests/elements/expr/methodlookup/PrintAst.expected +++ b/swift/ql/test/library-tests/elements/expr/methodlookup/PrintAst.expected @@ -226,7 +226,6 @@ methodlookup.swift: # 47| getFunction(): [MethodLookupExpr] .instanceMethod() # 47| getBase(): [DeclRefExpr] baz # 47| getMethodRef(): [DeclRefExpr] instanceMethod() -# 47| getMethodRef().getFullyConverted(): [FunctionConversionExpr] ((Baz) -> @MainActor () -> ()) ... # 47| getElement(2).getFullyConverted(): [AwaitExpr] await ... # 48| getElement(3): [CallExpr] call to { ... } # 48| getFunction(): [CallExpr] call to Baz.instanceMethod() diff --git a/swift/ql/test/library-tests/elements/expr/methodlookup/methodlookup.swift b/swift/ql/test/library-tests/elements/expr/methodlookup/methodlookup.swift index 5ba364ab003..9f382db9941 100644 --- a/swift/ql/test/library-tests/elements/expr/methodlookup/methodlookup.swift +++ b/swift/ql/test/library-tests/elements/expr/methodlookup/methodlookup.swift @@ -14,7 +14,7 @@ actor Bar { @MainActor class Baz { init() {} - func instanceMethod() {} + nonisolated func instanceMethod() {} static func staticMethod() {} class func classMethod() {} } diff --git a/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.expected b/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.expected index 1017c5487a1..b6c8f60bbc1 100644 --- a/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.expected +++ b/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.expected @@ -29,38 +29,51 @@ edges | CommandInjection.swift:81:6:81:6 | [post] task2 [arguments, Collection element] | CommandInjection.swift:81:6:81:6 | [post] task2 | | CommandInjection.swift:81:24:81:46 | [...] [Collection element] | CommandInjection.swift:81:6:81:6 | [post] task2 [arguments, Collection element] | | CommandInjection.swift:81:31:81:31 | validatedString | CommandInjection.swift:81:24:81:46 | [...] [Collection element] | +| CommandInjection.swift:93:20:93:40 | arguments [Collection element] | CommandInjection.swift:94:20:94:20 | arguments [Collection element] | +| CommandInjection.swift:94:3:94:3 | [post] self [arguments, Collection element] | CommandInjection.swift:94:3:94:3 | [post] self | +| CommandInjection.swift:94:20:94:20 | arguments [Collection element] | CommandInjection.swift:94:3:94:3 | [post] self [arguments, Collection element] | | CommandInjection.swift:99:8:99:12 | let ...? [some:0] | CommandInjection.swift:99:12:99:12 | userControlledString | | CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:114:36:114:36 | userControlledString | | CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:115:28:115:28 | userControlledString | | CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:119:45:119:45 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:120:28:120:36 | ... .+(_:_:) ... | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:124:46:124:46 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:125:22:125:22 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:132:24:132:24 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:142:42:142:42 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:143:75:143:75 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:146:35:146:35 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:147:70:147:70 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:152:53:152:53 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:155:52:155:52 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:156:33:156:33 | userControlledString | -| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:158:57:158:57 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:120:36:120:36 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:121:28:121:36 | ... .+(_:_:) ... | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:125:46:125:46 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:126:22:126:22 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:130:45:130:45 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:131:36:131:36 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:132:21:132:21 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:133:22:133:22 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:134:24:134:24 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:144:42:144:42 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:145:75:145:75 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:148:35:148:35 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:149:70:149:70 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:154:53:154:53 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:157:52:157:52 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:158:33:158:33 | userControlledString | +| CommandInjection.swift:99:12:99:12 | userControlledString | CommandInjection.swift:160:57:160:57 | userControlledString | | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) [some:0] | | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:114:36:114:36 | userControlledString | | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:115:28:115:28 | userControlledString | | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:119:45:119:45 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:120:28:120:36 | ... .+(_:_:) ... | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:124:46:124:46 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:125:22:125:22 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:132:24:132:24 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:142:42:142:42 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:143:75:143:75 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:146:35:146:35 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:147:70:147:70 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:152:53:152:53 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:155:52:155:52 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:156:33:156:33 | userControlledString | -| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:158:57:158:57 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:120:36:120:36 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:121:28:121:36 | ... .+(_:_:) ... | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:125:46:125:46 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:126:22:126:22 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:130:45:130:45 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:131:36:131:36 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:132:21:132:21 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:133:22:133:22 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:134:24:134:24 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:144:42:144:42 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:145:75:145:75 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:148:35:148:35 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:149:70:149:70 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:154:53:154:53 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:157:52:157:52 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:158:33:158:33 | userControlledString | +| CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:160:57:160:57 | userControlledString | | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) [some:0] | CommandInjection.swift:99:8:99:12 | let ...? [some:0] | | CommandInjection.swift:114:2:114:2 | [post] task3 [executableURL] | CommandInjection.swift:114:2:114:2 | [post] task3 | | CommandInjection.swift:114:24:114:56 | call to URL.init(string:) [some:0] | CommandInjection.swift:114:24:114:57 | ...! | @@ -72,82 +85,98 @@ edges | CommandInjection.swift:119:2:119:2 | [post] task4 [executableURL] | CommandInjection.swift:119:2:119:2 | [post] task4 | | CommandInjection.swift:119:24:119:65 | call to URL.init(fileURLWithPath:) | CommandInjection.swift:119:2:119:2 | [post] task4 [executableURL] | | CommandInjection.swift:119:45:119:45 | userControlledString | CommandInjection.swift:119:24:119:65 | call to URL.init(fileURLWithPath:) | -| CommandInjection.swift:120:2:120:2 | [post] task4 [arguments, Collection element] | CommandInjection.swift:120:2:120:2 | [post] task4 | -| CommandInjection.swift:120:20:120:56 | [...] [Collection element] | CommandInjection.swift:120:2:120:2 | [post] task4 [arguments, Collection element] | -| CommandInjection.swift:120:28:120:36 | ... .+(_:_:) ... | CommandInjection.swift:120:20:120:56 | [...] [Collection element] | -| CommandInjection.swift:124:2:124:7 | [post] ...? [executableURL] | CommandInjection.swift:124:2:124:7 | [post] ...? | -| CommandInjection.swift:124:25:124:66 | call to URL.init(fileURLWithPath:) | CommandInjection.swift:124:2:124:7 | [post] ...? [executableURL] | -| CommandInjection.swift:124:46:124:46 | userControlledString | CommandInjection.swift:124:25:124:66 | call to URL.init(fileURLWithPath:) | -| CommandInjection.swift:125:2:125:7 | [post] ...? [arguments, Collection element] | CommandInjection.swift:125:2:125:7 | [post] ...? | -| CommandInjection.swift:125:21:125:42 | [...] [Collection element] | CommandInjection.swift:125:2:125:7 | [post] ...? [arguments, Collection element] | -| CommandInjection.swift:125:22:125:22 | userControlledString | CommandInjection.swift:125:21:125:42 | [...] [Collection element] | -| CommandInjection.swift:132:24:132:24 | userControlledString | CommandInjection.swift:142:42:142:42 | userControlledString | -| CommandInjection.swift:132:24:132:24 | userControlledString | CommandInjection.swift:143:75:143:75 | userControlledString | -| CommandInjection.swift:132:24:132:24 | userControlledString | CommandInjection.swift:146:35:146:35 | userControlledString | -| CommandInjection.swift:132:24:132:24 | userControlledString | CommandInjection.swift:147:70:147:70 | userControlledString | -| CommandInjection.swift:132:24:132:24 | userControlledString | CommandInjection.swift:152:53:152:53 | userControlledString | -| CommandInjection.swift:132:24:132:24 | userControlledString | CommandInjection.swift:155:52:155:52 | userControlledString | -| CommandInjection.swift:132:24:132:24 | userControlledString | CommandInjection.swift:156:33:156:33 | userControlledString | -| CommandInjection.swift:132:24:132:24 | userControlledString | CommandInjection.swift:158:57:158:57 | userControlledString | -| CommandInjection.swift:143:67:143:95 | [...] [Collection element] | CommandInjection.swift:143:67:143:95 | [...] | -| CommandInjection.swift:143:75:143:75 | userControlledString | CommandInjection.swift:143:67:143:95 | [...] [Collection element] | -| CommandInjection.swift:146:23:146:55 | call to URL.init(string:) [some:0] | CommandInjection.swift:146:23:146:56 | ...! | -| CommandInjection.swift:146:35:146:35 | userControlledString | CommandInjection.swift:146:23:146:55 | call to URL.init(string:) [some:0] | -| CommandInjection.swift:147:62:147:90 | [...] [Collection element] | CommandInjection.swift:147:62:147:90 | [...] | -| CommandInjection.swift:147:70:147:70 | userControlledString | CommandInjection.swift:147:62:147:90 | [...] [Collection element] | -| CommandInjection.swift:152:41:152:73 | call to URL.init(string:) [some:0] | CommandInjection.swift:152:41:152:74 | ...! | -| CommandInjection.swift:152:53:152:53 | userControlledString | CommandInjection.swift:152:41:152:73 | call to URL.init(string:) [some:0] | -| CommandInjection.swift:155:40:155:72 | call to URL.init(string:) [some:0] | CommandInjection.swift:155:40:155:73 | ...! | -| CommandInjection.swift:155:40:155:72 | call to URL.init(string:) [some:0] | CommandInjection.swift:155:40:155:73 | ...! | -| CommandInjection.swift:155:40:155:73 | ...! | file://:0:0:0:0 | url | -| CommandInjection.swift:155:52:155:52 | userControlledString | CommandInjection.swift:155:40:155:72 | call to URL.init(string:) [some:0] | -| CommandInjection.swift:156:32:156:53 | [...] [Collection element] | CommandInjection.swift:156:32:156:53 | [...] | -| CommandInjection.swift:156:33:156:33 | userControlledString | CommandInjection.swift:156:32:156:53 | [...] [Collection element] | -| CommandInjection.swift:158:45:158:77 | call to URL.init(string:) [some:0] | CommandInjection.swift:158:45:158:78 | ...! | -| CommandInjection.swift:158:45:158:77 | call to URL.init(string:) [some:0] | CommandInjection.swift:158:45:158:78 | ...! | -| CommandInjection.swift:158:45:158:78 | ...! | file://:0:0:0:0 | url | -| CommandInjection.swift:158:57:158:57 | userControlledString | CommandInjection.swift:158:45:158:77 | call to URL.init(string:) [some:0] | -| CommandInjection.swift:172:3:172:3 | newValue [Collection element] | CommandInjection.swift:173:19:173:19 | newValue [Collection element] | -| CommandInjection.swift:172:3:172:3 | newValue [Collection element] | CommandInjection.swift:174:20:174:20 | newValue [Collection element] | -| CommandInjection.swift:172:3:172:3 | newValue [Collection element] | CommandInjection.swift:175:19:175:19 | newValue [Collection element] | -| CommandInjection.swift:173:4:173:4 | [post] getter for .p1 [arguments, Collection element] | CommandInjection.swift:173:4:173:4 | [post] getter for .p1 | -| CommandInjection.swift:173:19:173:19 | newValue [Collection element] | CommandInjection.swift:173:4:173:4 | [post] getter for .p1 [arguments, Collection element] | -| CommandInjection.swift:174:4:174:6 | [post] ...! [arguments, Collection element] | CommandInjection.swift:174:4:174:6 | [post] ...! | -| CommandInjection.swift:174:20:174:20 | newValue [Collection element] | CommandInjection.swift:174:4:174:6 | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:175:4:175:4 | [post] ...! [arguments, Collection element] | CommandInjection.swift:175:4:175:4 | [post] ...! | -| CommandInjection.swift:175:19:175:19 | newValue [Collection element] | CommandInjection.swift:175:4:175:4 | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:180:9:180:13 | let ...? [some:0] | CommandInjection.swift:180:13:180:13 | userControlledString | -| CommandInjection.swift:180:13:180:13 | userControlledString | CommandInjection.swift:184:19:184:19 | userControlledString | -| CommandInjection.swift:180:13:180:13 | userControlledString | CommandInjection.swift:190:31:190:31 | userControlledString | -| CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) [some:0] | -| CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:184:19:184:19 | userControlledString | -| CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:190:31:190:31 | userControlledString | -| CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) [some:0] | CommandInjection.swift:180:9:180:13 | let ...? [some:0] | -| CommandInjection.swift:184:18:184:39 | [...] [Collection element] | CommandInjection.swift:186:18:186:18 | tainted1 [Collection element] | -| CommandInjection.swift:184:18:184:39 | [...] [Collection element] | CommandInjection.swift:187:19:187:19 | tainted1 [Collection element] | -| CommandInjection.swift:184:18:184:39 | [...] [Collection element] | CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | -| CommandInjection.swift:184:19:184:19 | userControlledString | CommandInjection.swift:184:18:184:39 | [...] [Collection element] | -| CommandInjection.swift:186:3:186:3 | [post] getter for .p1 [arguments, Collection element] | CommandInjection.swift:186:3:186:3 | [post] getter for .p1 | -| CommandInjection.swift:186:18:186:18 | tainted1 [Collection element] | CommandInjection.swift:186:3:186:3 | [post] getter for .p1 [arguments, Collection element] | -| CommandInjection.swift:186:18:186:18 | tainted1 [Collection element] | CommandInjection.swift:187:19:187:19 | tainted1 [Collection element] | -| CommandInjection.swift:186:18:186:18 | tainted1 [Collection element] | CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | -| CommandInjection.swift:187:3:187:5 | [post] ...! [arguments, Collection element] | CommandInjection.swift:187:3:187:5 | [post] ...! | -| CommandInjection.swift:187:19:187:19 | tainted1 [Collection element] | CommandInjection.swift:187:3:187:5 | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:187:19:187:19 | tainted1 [Collection element] | CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | -| CommandInjection.swift:188:3:188:3 | [post] ...! [arguments, Collection element] | CommandInjection.swift:188:3:188:3 | [post] ...! | -| CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | CommandInjection.swift:188:3:188:3 | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:190:30:190:51 | [...] [Collection element] | CommandInjection.swift:192:18:192:18 | tainted2 [Collection element] | -| CommandInjection.swift:190:30:190:51 | [...] [Collection element] | CommandInjection.swift:193:19:193:19 | tainted2 [Collection element] | -| CommandInjection.swift:190:30:190:51 | [...] [Collection element] | CommandInjection.swift:194:18:194:18 | tainted2 [Collection element] | -| CommandInjection.swift:190:30:190:51 | [...] [Collection element] | CommandInjection.swift:196:13:196:13 | tainted2 [Collection element] | -| CommandInjection.swift:190:31:190:31 | userControlledString | CommandInjection.swift:190:30:190:51 | [...] [Collection element] | -| CommandInjection.swift:192:3:192:3 | [post] getter for .p1 [arguments, Collection element] | CommandInjection.swift:192:3:192:3 | [post] getter for .p1 | -| CommandInjection.swift:192:18:192:18 | tainted2 [Collection element] | CommandInjection.swift:192:3:192:3 | [post] getter for .p1 [arguments, Collection element] | -| CommandInjection.swift:193:3:193:5 | [post] ...! [arguments, Collection element] | CommandInjection.swift:193:3:193:5 | [post] ...! | -| CommandInjection.swift:193:19:193:19 | tainted2 [Collection element] | CommandInjection.swift:193:3:193:5 | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:194:3:194:3 | [post] ...! [arguments, Collection element] | CommandInjection.swift:194:3:194:3 | [post] ...! | -| CommandInjection.swift:194:18:194:18 | tainted2 [Collection element] | CommandInjection.swift:194:3:194:3 | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:196:13:196:13 | tainted2 [Collection element] | CommandInjection.swift:172:3:172:3 | newValue [Collection element] | +| CommandInjection.swift:120:2:120:2 | [post] task4 [executableURL] | CommandInjection.swift:120:2:120:2 | [post] task4 | +| CommandInjection.swift:120:24:120:56 | call to URL.init(string:) [some:0] | CommandInjection.swift:120:24:120:57 | ...! | +| CommandInjection.swift:120:24:120:57 | ...! | CommandInjection.swift:120:2:120:2 | [post] task4 [executableURL] | +| CommandInjection.swift:120:36:120:36 | userControlledString | CommandInjection.swift:120:24:120:56 | call to URL.init(string:) [some:0] | +| CommandInjection.swift:121:2:121:2 | [post] task4 [arguments, Collection element] | CommandInjection.swift:121:2:121:2 | [post] task4 | +| CommandInjection.swift:121:20:121:56 | [...] [Collection element] | CommandInjection.swift:121:2:121:2 | [post] task4 [arguments, Collection element] | +| CommandInjection.swift:121:28:121:36 | ... .+(_:_:) ... | CommandInjection.swift:121:20:121:56 | [...] [Collection element] | +| CommandInjection.swift:125:2:125:7 | [post] ...? [executableURL] | CommandInjection.swift:125:2:125:7 | [post] ...? | +| CommandInjection.swift:125:25:125:66 | call to URL.init(fileURLWithPath:) | CommandInjection.swift:125:2:125:7 | [post] ...? [executableURL] | +| CommandInjection.swift:125:46:125:46 | userControlledString | CommandInjection.swift:125:25:125:66 | call to URL.init(fileURLWithPath:) | +| CommandInjection.swift:126:2:126:7 | [post] ...? [arguments, Collection element] | CommandInjection.swift:126:2:126:7 | [post] ...? | +| CommandInjection.swift:126:21:126:42 | [...] [Collection element] | CommandInjection.swift:126:2:126:7 | [post] ...? [arguments, Collection element] | +| CommandInjection.swift:126:22:126:22 | userControlledString | CommandInjection.swift:126:21:126:42 | [...] [Collection element] | +| CommandInjection.swift:130:2:130:2 | [post] task6 [executableURL] | CommandInjection.swift:130:2:130:2 | [post] task6 | +| CommandInjection.swift:130:24:130:65 | call to URL.init(fileURLWithPath:) | CommandInjection.swift:130:2:130:2 | [post] task6 [executableURL] | +| CommandInjection.swift:130:45:130:45 | userControlledString | CommandInjection.swift:130:24:130:65 | call to URL.init(fileURLWithPath:) | +| CommandInjection.swift:131:2:131:2 | [post] task6 [executableURL] | CommandInjection.swift:131:2:131:2 | [post] task6 | +| CommandInjection.swift:131:24:131:56 | call to URL.init(string:) [some:0] | CommandInjection.swift:131:24:131:57 | ...! | +| CommandInjection.swift:131:24:131:57 | ...! | CommandInjection.swift:131:2:131:2 | [post] task6 [executableURL] | +| CommandInjection.swift:131:36:131:36 | userControlledString | CommandInjection.swift:131:24:131:56 | call to URL.init(string:) [some:0] | +| CommandInjection.swift:132:2:132:2 | [post] task6 [arguments, Collection element] | CommandInjection.swift:132:2:132:2 | [post] task6 | +| CommandInjection.swift:132:20:132:41 | [...] [Collection element] | CommandInjection.swift:132:2:132:2 | [post] task6 [arguments, Collection element] | +| CommandInjection.swift:132:21:132:21 | userControlledString | CommandInjection.swift:132:20:132:41 | [...] [Collection element] | +| CommandInjection.swift:133:21:133:42 | [...] [Collection element] | CommandInjection.swift:93:20:93:40 | arguments [Collection element] | +| CommandInjection.swift:133:22:133:22 | userControlledString | CommandInjection.swift:133:21:133:42 | [...] [Collection element] | +| CommandInjection.swift:134:24:134:24 | userControlledString | CommandInjection.swift:144:42:144:42 | userControlledString | +| CommandInjection.swift:134:24:134:24 | userControlledString | CommandInjection.swift:145:75:145:75 | userControlledString | +| CommandInjection.swift:134:24:134:24 | userControlledString | CommandInjection.swift:148:35:148:35 | userControlledString | +| CommandInjection.swift:134:24:134:24 | userControlledString | CommandInjection.swift:149:70:149:70 | userControlledString | +| CommandInjection.swift:134:24:134:24 | userControlledString | CommandInjection.swift:154:53:154:53 | userControlledString | +| CommandInjection.swift:134:24:134:24 | userControlledString | CommandInjection.swift:157:52:157:52 | userControlledString | +| CommandInjection.swift:134:24:134:24 | userControlledString | CommandInjection.swift:158:33:158:33 | userControlledString | +| CommandInjection.swift:134:24:134:24 | userControlledString | CommandInjection.swift:160:57:160:57 | userControlledString | +| CommandInjection.swift:145:67:145:95 | [...] [Collection element] | CommandInjection.swift:145:67:145:95 | [...] | +| CommandInjection.swift:145:75:145:75 | userControlledString | CommandInjection.swift:145:67:145:95 | [...] [Collection element] | +| CommandInjection.swift:148:23:148:55 | call to URL.init(string:) [some:0] | CommandInjection.swift:148:23:148:56 | ...! | +| CommandInjection.swift:148:35:148:35 | userControlledString | CommandInjection.swift:148:23:148:55 | call to URL.init(string:) [some:0] | +| CommandInjection.swift:149:62:149:90 | [...] [Collection element] | CommandInjection.swift:149:62:149:90 | [...] | +| CommandInjection.swift:149:70:149:70 | userControlledString | CommandInjection.swift:149:62:149:90 | [...] [Collection element] | +| CommandInjection.swift:154:41:154:73 | call to URL.init(string:) [some:0] | CommandInjection.swift:154:41:154:74 | ...! | +| CommandInjection.swift:154:53:154:53 | userControlledString | CommandInjection.swift:154:41:154:73 | call to URL.init(string:) [some:0] | +| CommandInjection.swift:157:40:157:72 | call to URL.init(string:) [some:0] | CommandInjection.swift:157:40:157:73 | ...! | +| CommandInjection.swift:157:40:157:72 | call to URL.init(string:) [some:0] | CommandInjection.swift:157:40:157:73 | ...! | +| CommandInjection.swift:157:40:157:73 | ...! | file://:0:0:0:0 | url | +| CommandInjection.swift:157:52:157:52 | userControlledString | CommandInjection.swift:157:40:157:72 | call to URL.init(string:) [some:0] | +| CommandInjection.swift:158:32:158:53 | [...] [Collection element] | CommandInjection.swift:158:32:158:53 | [...] | +| CommandInjection.swift:158:33:158:33 | userControlledString | CommandInjection.swift:158:32:158:53 | [...] [Collection element] | +| CommandInjection.swift:160:45:160:77 | call to URL.init(string:) [some:0] | CommandInjection.swift:160:45:160:78 | ...! | +| CommandInjection.swift:160:45:160:77 | call to URL.init(string:) [some:0] | CommandInjection.swift:160:45:160:78 | ...! | +| CommandInjection.swift:160:45:160:78 | ...! | file://:0:0:0:0 | url | +| CommandInjection.swift:160:57:160:57 | userControlledString | CommandInjection.swift:160:45:160:77 | call to URL.init(string:) [some:0] | +| CommandInjection.swift:174:3:174:3 | newValue [Collection element] | CommandInjection.swift:175:19:175:19 | newValue [Collection element] | +| CommandInjection.swift:174:3:174:3 | newValue [Collection element] | CommandInjection.swift:176:20:176:20 | newValue [Collection element] | +| CommandInjection.swift:174:3:174:3 | newValue [Collection element] | CommandInjection.swift:177:19:177:19 | newValue [Collection element] | +| CommandInjection.swift:175:4:175:4 | [post] getter for .p1 [arguments, Collection element] | CommandInjection.swift:175:4:175:4 | [post] getter for .p1 | +| CommandInjection.swift:175:19:175:19 | newValue [Collection element] | CommandInjection.swift:175:4:175:4 | [post] getter for .p1 [arguments, Collection element] | +| CommandInjection.swift:176:4:176:6 | [post] ...! [arguments, Collection element] | CommandInjection.swift:176:4:176:6 | [post] ...! | +| CommandInjection.swift:176:20:176:20 | newValue [Collection element] | CommandInjection.swift:176:4:176:6 | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:177:4:177:4 | [post] ...! [arguments, Collection element] | CommandInjection.swift:177:4:177:4 | [post] ...! | +| CommandInjection.swift:177:19:177:19 | newValue [Collection element] | CommandInjection.swift:177:4:177:4 | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:182:9:182:13 | let ...? [some:0] | CommandInjection.swift:182:13:182:13 | userControlledString | +| CommandInjection.swift:182:13:182:13 | userControlledString | CommandInjection.swift:186:19:186:19 | userControlledString | +| CommandInjection.swift:182:13:182:13 | userControlledString | CommandInjection.swift:192:31:192:31 | userControlledString | +| CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) [some:0] | +| CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:186:19:186:19 | userControlledString | +| CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:192:31:192:31 | userControlledString | +| CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) [some:0] | CommandInjection.swift:182:9:182:13 | let ...? [some:0] | +| CommandInjection.swift:186:18:186:39 | [...] [Collection element] | CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | +| CommandInjection.swift:186:18:186:39 | [...] [Collection element] | CommandInjection.swift:189:19:189:19 | tainted1 [Collection element] | +| CommandInjection.swift:186:18:186:39 | [...] [Collection element] | CommandInjection.swift:190:18:190:18 | tainted1 [Collection element] | +| CommandInjection.swift:186:19:186:19 | userControlledString | CommandInjection.swift:186:18:186:39 | [...] [Collection element] | +| CommandInjection.swift:188:3:188:3 | [post] getter for .p1 [arguments, Collection element] | CommandInjection.swift:188:3:188:3 | [post] getter for .p1 | +| CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | CommandInjection.swift:188:3:188:3 | [post] getter for .p1 [arguments, Collection element] | +| CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | CommandInjection.swift:189:19:189:19 | tainted1 [Collection element] | +| CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | CommandInjection.swift:190:18:190:18 | tainted1 [Collection element] | +| CommandInjection.swift:189:3:189:5 | [post] ...! [arguments, Collection element] | CommandInjection.swift:189:3:189:5 | [post] ...! | +| CommandInjection.swift:189:19:189:19 | tainted1 [Collection element] | CommandInjection.swift:189:3:189:5 | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:189:19:189:19 | tainted1 [Collection element] | CommandInjection.swift:190:18:190:18 | tainted1 [Collection element] | +| CommandInjection.swift:190:3:190:3 | [post] ...! [arguments, Collection element] | CommandInjection.swift:190:3:190:3 | [post] ...! | +| CommandInjection.swift:190:18:190:18 | tainted1 [Collection element] | CommandInjection.swift:190:3:190:3 | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:192:30:192:51 | [...] [Collection element] | CommandInjection.swift:194:18:194:18 | tainted2 [Collection element] | +| CommandInjection.swift:192:30:192:51 | [...] [Collection element] | CommandInjection.swift:195:19:195:19 | tainted2 [Collection element] | +| CommandInjection.swift:192:30:192:51 | [...] [Collection element] | CommandInjection.swift:196:18:196:18 | tainted2 [Collection element] | +| CommandInjection.swift:192:30:192:51 | [...] [Collection element] | CommandInjection.swift:198:13:198:13 | tainted2 [Collection element] | +| CommandInjection.swift:192:31:192:31 | userControlledString | CommandInjection.swift:192:30:192:51 | [...] [Collection element] | +| CommandInjection.swift:194:3:194:3 | [post] getter for .p1 [arguments, Collection element] | CommandInjection.swift:194:3:194:3 | [post] getter for .p1 | +| CommandInjection.swift:194:18:194:18 | tainted2 [Collection element] | CommandInjection.swift:194:3:194:3 | [post] getter for .p1 [arguments, Collection element] | +| CommandInjection.swift:195:3:195:5 | [post] ...! [arguments, Collection element] | CommandInjection.swift:195:3:195:5 | [post] ...! | +| CommandInjection.swift:195:19:195:19 | tainted2 [Collection element] | CommandInjection.swift:195:3:195:5 | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:196:3:196:3 | [post] ...! [arguments, Collection element] | CommandInjection.swift:196:3:196:3 | [post] ...! | +| CommandInjection.swift:196:18:196:18 | tainted2 [Collection element] | CommandInjection.swift:196:3:196:3 | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:198:13:198:13 | tainted2 [Collection element] | CommandInjection.swift:174:3:174:3 | newValue [Collection element] | | file://:0:0:0:0 | url | file://:0:0:0:0 | url | | file://:0:0:0:0 | url | file://:0:0:0:0 | url | nodes @@ -177,6 +206,10 @@ nodes | CommandInjection.swift:81:6:81:6 | [post] task2 [arguments, Collection element] | semmle.label | [post] task2 [arguments, Collection element] | | CommandInjection.swift:81:24:81:46 | [...] [Collection element] | semmle.label | [...] [Collection element] | | CommandInjection.swift:81:31:81:31 | validatedString | semmle.label | validatedString | +| CommandInjection.swift:93:20:93:40 | arguments [Collection element] | semmle.label | arguments [Collection element] | +| CommandInjection.swift:94:3:94:3 | [post] self | semmle.label | [post] self | +| CommandInjection.swift:94:3:94:3 | [post] self [arguments, Collection element] | semmle.label | [post] self [arguments, Collection element] | +| CommandInjection.swift:94:20:94:20 | arguments [Collection element] | semmle.label | arguments [Collection element] | | CommandInjection.swift:99:8:99:12 | let ...? [some:0] | semmle.label | let ...? [some:0] | | CommandInjection.swift:99:12:99:12 | userControlledString | semmle.label | userControlledString | | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | semmle.label | call to String.init(contentsOf:) | @@ -195,79 +228,99 @@ nodes | CommandInjection.swift:119:24:119:65 | call to URL.init(fileURLWithPath:) | semmle.label | call to URL.init(fileURLWithPath:) | | CommandInjection.swift:119:45:119:45 | userControlledString | semmle.label | userControlledString | | CommandInjection.swift:120:2:120:2 | [post] task4 | semmle.label | [post] task4 | -| CommandInjection.swift:120:2:120:2 | [post] task4 [arguments, Collection element] | semmle.label | [post] task4 [arguments, Collection element] | -| CommandInjection.swift:120:20:120:56 | [...] [Collection element] | semmle.label | [...] [Collection element] | -| CommandInjection.swift:120:28:120:36 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | -| CommandInjection.swift:124:2:124:7 | [post] ...? | semmle.label | [post] ...? | -| CommandInjection.swift:124:2:124:7 | [post] ...? [executableURL] | semmle.label | [post] ...? [executableURL] | -| CommandInjection.swift:124:25:124:66 | call to URL.init(fileURLWithPath:) | semmle.label | call to URL.init(fileURLWithPath:) | -| CommandInjection.swift:124:46:124:46 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:120:2:120:2 | [post] task4 [executableURL] | semmle.label | [post] task4 [executableURL] | +| CommandInjection.swift:120:24:120:56 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | +| CommandInjection.swift:120:24:120:57 | ...! | semmle.label | ...! | +| CommandInjection.swift:120:36:120:36 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:121:2:121:2 | [post] task4 | semmle.label | [post] task4 | +| CommandInjection.swift:121:2:121:2 | [post] task4 [arguments, Collection element] | semmle.label | [post] task4 [arguments, Collection element] | +| CommandInjection.swift:121:20:121:56 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:121:28:121:36 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | | CommandInjection.swift:125:2:125:7 | [post] ...? | semmle.label | [post] ...? | -| CommandInjection.swift:125:2:125:7 | [post] ...? [arguments, Collection element] | semmle.label | [post] ...? [arguments, Collection element] | -| CommandInjection.swift:125:21:125:42 | [...] [Collection element] | semmle.label | [...] [Collection element] | -| CommandInjection.swift:125:22:125:22 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:132:24:132:24 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:142:42:142:42 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:143:67:143:95 | [...] | semmle.label | [...] | -| CommandInjection.swift:143:67:143:95 | [...] [Collection element] | semmle.label | [...] [Collection element] | -| CommandInjection.swift:143:75:143:75 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:146:23:146:55 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | -| CommandInjection.swift:146:23:146:56 | ...! | semmle.label | ...! | -| CommandInjection.swift:146:35:146:35 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:147:62:147:90 | [...] | semmle.label | [...] | -| CommandInjection.swift:147:62:147:90 | [...] [Collection element] | semmle.label | [...] [Collection element] | -| CommandInjection.swift:147:70:147:70 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:152:41:152:73 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | -| CommandInjection.swift:152:41:152:74 | ...! | semmle.label | ...! | -| CommandInjection.swift:152:53:152:53 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:155:40:155:72 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | -| CommandInjection.swift:155:40:155:73 | ...! | semmle.label | ...! | -| CommandInjection.swift:155:40:155:73 | ...! | semmle.label | ...! | -| CommandInjection.swift:155:52:155:52 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:156:32:156:53 | [...] | semmle.label | [...] | -| CommandInjection.swift:156:32:156:53 | [...] [Collection element] | semmle.label | [...] [Collection element] | -| CommandInjection.swift:156:33:156:33 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:158:45:158:77 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | -| CommandInjection.swift:158:45:158:78 | ...! | semmle.label | ...! | -| CommandInjection.swift:158:45:158:78 | ...! | semmle.label | ...! | -| CommandInjection.swift:158:57:158:57 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:172:3:172:3 | newValue [Collection element] | semmle.label | newValue [Collection element] | -| CommandInjection.swift:173:4:173:4 | [post] getter for .p1 | semmle.label | [post] getter for .p1 | -| CommandInjection.swift:173:4:173:4 | [post] getter for .p1 [arguments, Collection element] | semmle.label | [post] getter for .p1 [arguments, Collection element] | -| CommandInjection.swift:173:19:173:19 | newValue [Collection element] | semmle.label | newValue [Collection element] | -| CommandInjection.swift:174:4:174:6 | [post] ...! | semmle.label | [post] ...! | -| CommandInjection.swift:174:4:174:6 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:174:20:174:20 | newValue [Collection element] | semmle.label | newValue [Collection element] | -| CommandInjection.swift:175:4:175:4 | [post] ...! | semmle.label | [post] ...! | -| CommandInjection.swift:175:4:175:4 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:125:2:125:7 | [post] ...? [executableURL] | semmle.label | [post] ...? [executableURL] | +| CommandInjection.swift:125:25:125:66 | call to URL.init(fileURLWithPath:) | semmle.label | call to URL.init(fileURLWithPath:) | +| CommandInjection.swift:125:46:125:46 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:126:2:126:7 | [post] ...? | semmle.label | [post] ...? | +| CommandInjection.swift:126:2:126:7 | [post] ...? [arguments, Collection element] | semmle.label | [post] ...? [arguments, Collection element] | +| CommandInjection.swift:126:21:126:42 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:126:22:126:22 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:130:2:130:2 | [post] task6 | semmle.label | [post] task6 | +| CommandInjection.swift:130:2:130:2 | [post] task6 [executableURL] | semmle.label | [post] task6 [executableURL] | +| CommandInjection.swift:130:24:130:65 | call to URL.init(fileURLWithPath:) | semmle.label | call to URL.init(fileURLWithPath:) | +| CommandInjection.swift:130:45:130:45 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:131:2:131:2 | [post] task6 | semmle.label | [post] task6 | +| CommandInjection.swift:131:2:131:2 | [post] task6 [executableURL] | semmle.label | [post] task6 [executableURL] | +| CommandInjection.swift:131:24:131:56 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | +| CommandInjection.swift:131:24:131:57 | ...! | semmle.label | ...! | +| CommandInjection.swift:131:36:131:36 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:132:2:132:2 | [post] task6 | semmle.label | [post] task6 | +| CommandInjection.swift:132:2:132:2 | [post] task6 [arguments, Collection element] | semmle.label | [post] task6 [arguments, Collection element] | +| CommandInjection.swift:132:20:132:41 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:132:21:132:21 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:133:21:133:42 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:133:22:133:22 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:134:24:134:24 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:144:42:144:42 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:145:67:145:95 | [...] | semmle.label | [...] | +| CommandInjection.swift:145:67:145:95 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:145:75:145:75 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:148:23:148:55 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | +| CommandInjection.swift:148:23:148:56 | ...! | semmle.label | ...! | +| CommandInjection.swift:148:35:148:35 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:149:62:149:90 | [...] | semmle.label | [...] | +| CommandInjection.swift:149:62:149:90 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:149:70:149:70 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:154:41:154:73 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | +| CommandInjection.swift:154:41:154:74 | ...! | semmle.label | ...! | +| CommandInjection.swift:154:53:154:53 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:157:40:157:72 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | +| CommandInjection.swift:157:40:157:73 | ...! | semmle.label | ...! | +| CommandInjection.swift:157:40:157:73 | ...! | semmle.label | ...! | +| CommandInjection.swift:157:52:157:52 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:158:32:158:53 | [...] | semmle.label | [...] | +| CommandInjection.swift:158:32:158:53 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:158:33:158:33 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:160:45:160:77 | call to URL.init(string:) [some:0] | semmle.label | call to URL.init(string:) [some:0] | +| CommandInjection.swift:160:45:160:78 | ...! | semmle.label | ...! | +| CommandInjection.swift:160:45:160:78 | ...! | semmle.label | ...! | +| CommandInjection.swift:160:57:160:57 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:174:3:174:3 | newValue [Collection element] | semmle.label | newValue [Collection element] | +| CommandInjection.swift:175:4:175:4 | [post] getter for .p1 | semmle.label | [post] getter for .p1 | +| CommandInjection.swift:175:4:175:4 | [post] getter for .p1 [arguments, Collection element] | semmle.label | [post] getter for .p1 [arguments, Collection element] | | CommandInjection.swift:175:19:175:19 | newValue [Collection element] | semmle.label | newValue [Collection element] | -| CommandInjection.swift:180:9:180:13 | let ...? [some:0] | semmle.label | let ...? [some:0] | -| CommandInjection.swift:180:13:180:13 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | semmle.label | call to String.init(contentsOf:) | -| CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) [some:0] | semmle.label | call to String.init(contentsOf:) [some:0] | -| CommandInjection.swift:184:18:184:39 | [...] [Collection element] | semmle.label | [...] [Collection element] | -| CommandInjection.swift:184:19:184:19 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:186:3:186:3 | [post] getter for .p1 | semmle.label | [post] getter for .p1 | -| CommandInjection.swift:186:3:186:3 | [post] getter for .p1 [arguments, Collection element] | semmle.label | [post] getter for .p1 [arguments, Collection element] | -| CommandInjection.swift:186:18:186:18 | tainted1 [Collection element] | semmle.label | tainted1 [Collection element] | -| CommandInjection.swift:187:3:187:5 | [post] ...! | semmle.label | [post] ...! | -| CommandInjection.swift:187:3:187:5 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:187:19:187:19 | tainted1 [Collection element] | semmle.label | tainted1 [Collection element] | -| CommandInjection.swift:188:3:188:3 | [post] ...! | semmle.label | [post] ...! | -| CommandInjection.swift:188:3:188:3 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:176:4:176:6 | [post] ...! | semmle.label | [post] ...! | +| CommandInjection.swift:176:4:176:6 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:176:20:176:20 | newValue [Collection element] | semmle.label | newValue [Collection element] | +| CommandInjection.swift:177:4:177:4 | [post] ...! | semmle.label | [post] ...! | +| CommandInjection.swift:177:4:177:4 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:177:19:177:19 | newValue [Collection element] | semmle.label | newValue [Collection element] | +| CommandInjection.swift:182:9:182:13 | let ...? [some:0] | semmle.label | let ...? [some:0] | +| CommandInjection.swift:182:13:182:13 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | semmle.label | call to String.init(contentsOf:) | +| CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) [some:0] | semmle.label | call to String.init(contentsOf:) [some:0] | +| CommandInjection.swift:186:18:186:39 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:186:19:186:19 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:188:3:188:3 | [post] getter for .p1 | semmle.label | [post] getter for .p1 | +| CommandInjection.swift:188:3:188:3 | [post] getter for .p1 [arguments, Collection element] | semmle.label | [post] getter for .p1 [arguments, Collection element] | | CommandInjection.swift:188:18:188:18 | tainted1 [Collection element] | semmle.label | tainted1 [Collection element] | -| CommandInjection.swift:190:30:190:51 | [...] [Collection element] | semmle.label | [...] [Collection element] | -| CommandInjection.swift:190:31:190:31 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:192:3:192:3 | [post] getter for .p1 | semmle.label | [post] getter for .p1 | -| CommandInjection.swift:192:3:192:3 | [post] getter for .p1 [arguments, Collection element] | semmle.label | [post] getter for .p1 [arguments, Collection element] | -| CommandInjection.swift:192:18:192:18 | tainted2 [Collection element] | semmle.label | tainted2 [Collection element] | -| CommandInjection.swift:193:3:193:5 | [post] ...! | semmle.label | [post] ...! | -| CommandInjection.swift:193:3:193:5 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | -| CommandInjection.swift:193:19:193:19 | tainted2 [Collection element] | semmle.label | tainted2 [Collection element] | -| CommandInjection.swift:194:3:194:3 | [post] ...! | semmle.label | [post] ...! | -| CommandInjection.swift:194:3:194:3 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:189:3:189:5 | [post] ...! | semmle.label | [post] ...! | +| CommandInjection.swift:189:3:189:5 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:189:19:189:19 | tainted1 [Collection element] | semmle.label | tainted1 [Collection element] | +| CommandInjection.swift:190:3:190:3 | [post] ...! | semmle.label | [post] ...! | +| CommandInjection.swift:190:3:190:3 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:190:18:190:18 | tainted1 [Collection element] | semmle.label | tainted1 [Collection element] | +| CommandInjection.swift:192:30:192:51 | [...] [Collection element] | semmle.label | [...] [Collection element] | +| CommandInjection.swift:192:31:192:31 | userControlledString | semmle.label | userControlledString | +| CommandInjection.swift:194:3:194:3 | [post] getter for .p1 | semmle.label | [post] getter for .p1 | +| CommandInjection.swift:194:3:194:3 | [post] getter for .p1 [arguments, Collection element] | semmle.label | [post] getter for .p1 [arguments, Collection element] | | CommandInjection.swift:194:18:194:18 | tainted2 [Collection element] | semmle.label | tainted2 [Collection element] | -| CommandInjection.swift:196:13:196:13 | tainted2 [Collection element] | semmle.label | tainted2 [Collection element] | +| CommandInjection.swift:195:3:195:5 | [post] ...! | semmle.label | [post] ...! | +| CommandInjection.swift:195:3:195:5 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:195:19:195:19 | tainted2 [Collection element] | semmle.label | tainted2 [Collection element] | +| CommandInjection.swift:196:3:196:3 | [post] ...! | semmle.label | [post] ...! | +| CommandInjection.swift:196:3:196:3 | [post] ...! [arguments, Collection element] | semmle.label | [post] ...! [arguments, Collection element] | +| CommandInjection.swift:196:18:196:18 | tainted2 [Collection element] | semmle.label | tainted2 [Collection element] | +| CommandInjection.swift:198:13:198:13 | tainted2 [Collection element] | semmle.label | tainted2 [Collection element] | | file://:0:0:0:0 | url | semmle.label | url | | file://:0:0:0:0 | url | semmle.label | url | | file://:0:0:0:0 | url | semmle.label | url | @@ -279,28 +332,33 @@ subpaths #select | CommandInjection.swift:75:2:75:2 | [post] task1 | CommandInjection.swift:69:40:69:94 | call to String.init(contentsOf:) | CommandInjection.swift:75:2:75:2 | [post] task1 | This command depends on a $@. | CommandInjection.swift:69:40:69:94 | call to String.init(contentsOf:) | user-provided value | | CommandInjection.swift:81:6:81:6 | [post] task2 | CommandInjection.swift:69:40:69:94 | call to String.init(contentsOf:) | CommandInjection.swift:81:6:81:6 | [post] task2 | This command depends on a $@. | CommandInjection.swift:69:40:69:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:94:3:94:3 | [post] self | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:94:3:94:3 | [post] self | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | | CommandInjection.swift:114:2:114:2 | [post] task3 | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:114:2:114:2 | [post] task3 | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | | CommandInjection.swift:115:2:115:2 | [post] task3 | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:115:2:115:2 | [post] task3 | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | | CommandInjection.swift:119:2:119:2 | [post] task4 | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:119:2:119:2 | [post] task4 | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | | CommandInjection.swift:120:2:120:2 | [post] task4 | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:120:2:120:2 | [post] task4 | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:124:2:124:7 | [post] ...? | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:124:2:124:7 | [post] ...? | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:121:2:121:2 | [post] task4 | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:121:2:121:2 | [post] task4 | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | | CommandInjection.swift:125:2:125:7 | [post] ...? | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:125:2:125:7 | [post] ...? | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:142:42:142:42 | userControlledString | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:142:42:142:42 | userControlledString | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:143:67:143:95 | [...] | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:143:67:143:95 | [...] | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:146:23:146:56 | ...! | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:146:23:146:56 | ...! | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:147:62:147:90 | [...] | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:147:62:147:90 | [...] | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:152:41:152:74 | ...! | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:152:41:152:74 | ...! | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:155:40:155:73 | ...! | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:155:40:155:73 | ...! | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:156:32:156:53 | [...] | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:156:32:156:53 | [...] | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:158:45:158:78 | ...! | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:158:45:158:78 | ...! | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:173:4:173:4 | [post] getter for .p1 | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:173:4:173:4 | [post] getter for .p1 | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:174:4:174:6 | [post] ...! | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:174:4:174:6 | [post] ...! | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:175:4:175:4 | [post] ...! | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:175:4:175:4 | [post] ...! | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:186:3:186:3 | [post] getter for .p1 | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:186:3:186:3 | [post] getter for .p1 | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:187:3:187:5 | [post] ...! | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:187:3:187:5 | [post] ...! | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:188:3:188:3 | [post] ...! | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:188:3:188:3 | [post] ...! | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:192:3:192:3 | [post] getter for .p1 | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:192:3:192:3 | [post] getter for .p1 | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:193:3:193:5 | [post] ...! | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:193:3:193:5 | [post] ...! | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | -| CommandInjection.swift:194:3:194:3 | [post] ...! | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | CommandInjection.swift:194:3:194:3 | [post] ...! | This command depends on a $@. | CommandInjection.swift:180:41:180:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:126:2:126:7 | [post] ...? | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:126:2:126:7 | [post] ...? | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:130:2:130:2 | [post] task6 | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:130:2:130:2 | [post] task6 | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:131:2:131:2 | [post] task6 | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:131:2:131:2 | [post] task6 | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:132:2:132:2 | [post] task6 | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:132:2:132:2 | [post] task6 | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:144:42:144:42 | userControlledString | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:144:42:144:42 | userControlledString | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:145:67:145:95 | [...] | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:145:67:145:95 | [...] | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:148:23:148:56 | ...! | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:148:23:148:56 | ...! | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:149:62:149:90 | [...] | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:149:62:149:90 | [...] | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:154:41:154:74 | ...! | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:154:41:154:74 | ...! | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:157:40:157:73 | ...! | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:157:40:157:73 | ...! | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:158:32:158:53 | [...] | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:158:32:158:53 | [...] | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:160:45:160:78 | ...! | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | CommandInjection.swift:160:45:160:78 | ...! | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:175:4:175:4 | [post] getter for .p1 | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:175:4:175:4 | [post] getter for .p1 | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:176:4:176:6 | [post] ...! | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:176:4:176:6 | [post] ...! | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:177:4:177:4 | [post] ...! | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:177:4:177:4 | [post] ...! | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:188:3:188:3 | [post] getter for .p1 | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:188:3:188:3 | [post] getter for .p1 | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:189:3:189:5 | [post] ...! | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:189:3:189:5 | [post] ...! | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:190:3:190:3 | [post] ...! | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:190:3:190:3 | [post] ...! | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:194:3:194:3 | [post] getter for .p1 | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:194:3:194:3 | [post] getter for .p1 | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:195:3:195:5 | [post] ...! | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:195:3:195:5 | [post] ...! | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | +| CommandInjection.swift:196:3:196:3 | [post] ...! | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | CommandInjection.swift:196:3:196:3 | [post] ...! | This command depends on a $@. | CommandInjection.swift:182:41:182:95 | call to String.init(contentsOf:) | user-provided value | | file://:0:0:0:0 | url | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | file://:0:0:0:0 | url | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | | file://:0:0:0:0 | url | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | file://:0:0:0:0 | url | This command depends on a $@. | CommandInjection.swift:99:40:99:94 | call to String.init(contentsOf:) | user-provided value | diff --git a/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.qlref b/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.qlref index 3556b36b185..87be59af70b 100644 --- a/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.qlref +++ b/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.qlref @@ -1 +1 @@ -experimental/Security/CWE-078/CommandInjection.ql \ No newline at end of file +queries/Security/CWE-078/CommandInjection.ql \ No newline at end of file diff --git a/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.swift b/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.swift index c1facad1305..bf97adb4166 100644 --- a/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.swift +++ b/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.swift @@ -91,7 +91,7 @@ class MyProcess : Process { var harmlessField: String? func setArguments(_ arguments: [String]) { - self.arguments = arguments + self.arguments = arguments // BAD } } @@ -117,6 +117,7 @@ func testCommandInjectionMore(mySafeString: String) { let task4 = Process() task4.executableURL = URL(fileURLWithPath: userControlledString) // BAD + task4.executableURL = URL(string: userControlledString)! // BAD task4.arguments = ["abc", "def" + userControlledString] // BAD try! task4.run() @@ -126,9 +127,10 @@ func testCommandInjectionMore(mySafeString: String) { try! task5?.run() let task6 = MyProcess() - task6.executableURL = URL(string: userControlledString)! // BAD [NOT DETECTED] - task6.arguments = [userControlledString] // BAD [NOT DETECTED] - task6.setArguments([userControlledString]) // BAD [NOT DETECTED] + task6.executableURL = URL(fileURLWithPath: userControlledString) // BAD + task6.executableURL = URL(string: userControlledString)! // BAD + task6.arguments = [userControlledString] // BAD + task6.setArguments([userControlledString]) // BAD (flagged inside `setArguments`) task6.harmlessField = userControlledString // GOOD try! task6.run() diff --git a/swift/ql/test/query-tests/Security/CWE-311/CleartextStorageDatabase.expected b/swift/ql/test/query-tests/Security/CWE-311/CleartextStorageDatabase.expected index cc14a987c5b..342a4d53ce4 100644 --- a/swift/ql/test/query-tests/Security/CWE-311/CleartextStorageDatabase.expected +++ b/swift/ql/test/query-tests/Security/CWE-311/CleartextStorageDatabase.expected @@ -73,6 +73,7 @@ edges | file://:0:0:0:0 | self | file://:0:0:0:0 | .value2 | | file://:0:0:0:0 | self [value] | file://:0:0:0:0 | .value | | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [data] | +| file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [data] | | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [notStoredBankAccountNumber] | | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [password] | | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [value] | @@ -288,6 +289,10 @@ edges | testGRDB.swift:210:85:210:85 | password | testGRDB.swift:210:84:210:93 | [...] [Collection element] | | testGRDB.swift:212:98:212:107 | [...] [Collection element] | testGRDB.swift:212:98:212:107 | [...] | | testGRDB.swift:212:99:212:99 | password | testGRDB.swift:212:98:212:107 | [...] [Collection element] | +| testRealm2.swift:13:6:13:6 | value | file://:0:0:0:0 | value | +| testRealm2.swift:18:2:18:2 | [post] o [data] | testRealm2.swift:18:2:18:2 | [post] o | +| testRealm2.swift:18:11:18:11 | myPassword | testRealm2.swift:13:6:13:6 | value | +| testRealm2.swift:18:11:18:11 | myPassword | testRealm2.swift:18:2:18:2 | [post] o [data] | | testRealm.swift:27:6:27:6 | value | file://:0:0:0:0 | value | | testRealm.swift:34:6:34:6 | value | file://:0:0:0:0 | value | | testRealm.swift:41:2:41:2 | [post] a [data] | testRealm.swift:41:2:41:2 | [post] a | @@ -405,6 +410,7 @@ nodes | file://:0:0:0:0 | .value | semmle.label | .value | | file://:0:0:0:0 | .value2 | semmle.label | .value2 | | file://:0:0:0:0 | [post] self [data] | semmle.label | [post] self [data] | +| file://:0:0:0:0 | [post] self [data] | semmle.label | [post] self [data] | | file://:0:0:0:0 | [post] self [notStoredBankAccountNumber] | semmle.label | [post] self [notStoredBankAccountNumber] | | file://:0:0:0:0 | [post] self [password] | semmle.label | [post] self [password] | | file://:0:0:0:0 | [post] self [value] | semmle.label | [post] self [value] | @@ -415,6 +421,7 @@ nodes | file://:0:0:0:0 | value | semmle.label | value | | file://:0:0:0:0 | value | semmle.label | value | | file://:0:0:0:0 | value | semmle.label | value | +| file://:0:0:0:0 | value | semmle.label | value | | sqlite3_c_api.swift:42:69:42:69 | medicalNotes | semmle.label | medicalNotes | | sqlite3_c_api.swift:43:49:43:49 | medicalNotes | semmle.label | medicalNotes | | sqlite3_c_api.swift:46:27:46:27 | insertQuery | semmle.label | insertQuery | @@ -701,6 +708,10 @@ nodes | testGRDB.swift:212:98:212:107 | [...] | semmle.label | [...] | | testGRDB.swift:212:98:212:107 | [...] [Collection element] | semmle.label | [...] [Collection element] | | testGRDB.swift:212:99:212:99 | password | semmle.label | password | +| testRealm2.swift:13:6:13:6 | value | semmle.label | value | +| testRealm2.swift:18:2:18:2 | [post] o | semmle.label | [post] o | +| testRealm2.swift:18:2:18:2 | [post] o [data] | semmle.label | [post] o [data] | +| testRealm2.swift:18:11:18:11 | myPassword | semmle.label | myPassword | | testRealm.swift:27:6:27:6 | value | semmle.label | value | | testRealm.swift:34:6:34:6 | value | semmle.label | value | | testRealm.swift:41:2:41:2 | [post] a | semmle.label | [post] a | @@ -733,6 +744,7 @@ subpaths | testCoreData2.swift:98:18:98:18 | d [value] | testCoreData2.swift:70:9:70:9 | self [value] | file://:0:0:0:0 | .value | testCoreData2.swift:98:18:98:20 | .value | | testCoreData2.swift:104:18:104:18 | e | testCoreData2.swift:70:9:70:9 | self | file://:0:0:0:0 | .value | testCoreData2.swift:104:18:104:20 | .value | | testCoreData2.swift:105:18:105:18 | e | testCoreData2.swift:71:9:71:9 | self | file://:0:0:0:0 | .value2 | testCoreData2.swift:105:18:105:20 | .value2 | +| testRealm2.swift:18:11:18:11 | myPassword | testRealm2.swift:13:6:13:6 | value | file://:0:0:0:0 | [post] self [data] | testRealm2.swift:18:2:18:2 | [post] o [data] | | testRealm.swift:41:11:41:11 | myPassword | testRealm.swift:27:6:27:6 | value | file://:0:0:0:0 | [post] self [data] | testRealm.swift:41:2:41:2 | [post] a [data] | | testRealm.swift:49:11:49:11 | myPassword | testRealm.swift:27:6:27:6 | value | file://:0:0:0:0 | [post] self [data] | testRealm.swift:49:2:49:2 | [post] c [data] | | testRealm.swift:59:12:59:12 | myPassword | testRealm.swift:27:6:27:6 | value | file://:0:0:0:0 | [post] self [data] | testRealm.swift:59:2:59:3 | [post] ...! [data] | @@ -864,6 +876,7 @@ subpaths | testGRDB.swift:208:80:208:89 | [...] | testGRDB.swift:208:81:208:81 | password | testGRDB.swift:208:80:208:89 | [...] | This operation stores '[...]' in a database. It may contain unencrypted sensitive data from $@. | testGRDB.swift:208:81:208:81 | password | password | | testGRDB.swift:210:84:210:93 | [...] | testGRDB.swift:210:85:210:85 | password | testGRDB.swift:210:84:210:93 | [...] | This operation stores '[...]' in a database. It may contain unencrypted sensitive data from $@. | testGRDB.swift:210:85:210:85 | password | password | | testGRDB.swift:212:98:212:107 | [...] | testGRDB.swift:212:99:212:99 | password | testGRDB.swift:212:98:212:107 | [...] | This operation stores '[...]' in a database. It may contain unencrypted sensitive data from $@. | testGRDB.swift:212:99:212:99 | password | password | +| testRealm2.swift:18:2:18:2 | o | testRealm2.swift:18:11:18:11 | myPassword | testRealm2.swift:18:2:18:2 | [post] o | This operation stores 'o' in a database. It may contain unencrypted sensitive data from $@. | testRealm2.swift:18:11:18:11 | myPassword | myPassword | | testRealm.swift:41:2:41:2 | a | testRealm.swift:41:11:41:11 | myPassword | testRealm.swift:41:2:41:2 | [post] a | This operation stores 'a' in a database. It may contain unencrypted sensitive data from $@. | testRealm.swift:41:11:41:11 | myPassword | myPassword | | testRealm.swift:49:2:49:2 | c | testRealm.swift:49:11:49:11 | myPassword | testRealm.swift:49:2:49:2 | [post] c | This operation stores 'c' in a database. It may contain unencrypted sensitive data from $@. | testRealm.swift:49:11:49:11 | myPassword | myPassword | | testRealm.swift:59:2:59:3 | ...! | testRealm.swift:59:12:59:12 | myPassword | testRealm.swift:59:2:59:3 | [post] ...! | This operation stores '...!' in a database. It may contain unencrypted sensitive data from $@. | testRealm.swift:59:12:59:12 | myPassword | myPassword | diff --git a/swift/ql/test/query-tests/Security/CWE-311/SensitiveExprs.expected b/swift/ql/test/query-tests/Security/CWE-311/SensitiveExprs.expected index 62b9243f7e0..ea5a4ed4b59 100644 --- a/swift/ql/test/query-tests/Security/CWE-311/SensitiveExprs.expected +++ b/swift/ql/test/query-tests/Security/CWE-311/SensitiveExprs.expected @@ -138,6 +138,7 @@ | testGRDB.swift:208:81:208:81 | password | label:password, type:credential | | testGRDB.swift:210:85:210:85 | password | label:password, type:credential | | testGRDB.swift:212:99:212:99 | password | label:password, type:credential | +| testRealm2.swift:18:11:18:11 | myPassword | label:myPassword, type:credential | | testRealm.swift:31:20:31:20 | .password | label:password, type:credential | | testRealm.swift:41:11:41:11 | myPassword | label:myPassword, type:credential | | testRealm.swift:49:11:49:11 | myPassword | label:myPassword, type:credential | diff --git a/swift/ql/test/query-tests/Security/CWE-311/testRealm2.swift b/swift/ql/test/query-tests/Security/CWE-311/testRealm2.swift new file mode 100644 index 00000000000..2c1850ee620 --- /dev/null +++ b/swift/ql/test/query-tests/Security/CWE-311/testRealm2.swift @@ -0,0 +1,21 @@ +//codeql-extractor-options: -module-name RealmSwift + +// --- stubs --- + +class Object { +} + +// --- tests --- + +class MyRealmSwiftObject3 : Object { + override init() { data = "" } + + var data: String +} + +func test1(o: MyRealmSwiftObject3, myHarmless: String, myPassword : String) { + // ... + o.data = myPassword // BAD + o.data = myHarmless + // ... +} diff --git a/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected b/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected index f00fa6e67ee..a2cd88cd3f8 100644 --- a/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected +++ b/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected @@ -64,11 +64,11 @@ edges | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | rncryptor.swift:81:102:81:102 | myConstKey | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | rncryptor.swift:83:92:83:92 | myConstKey | | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | -| sqlite3_c_api.swift:33:19:33:38 | call to Data.init(_:) | sqlite3_c_api.swift:40:2:40:2 | myConstKey | -| sqlite3_c_api.swift:33:24:33:24 | abcdef123456 | sqlite3_c_api.swift:33:19:33:38 | call to Data.init(_:) | -| sqlite3_c_api.swift:40:2:40:2 | myConstKey | sqlite3_c_api.swift:40:31:40:31 | buffer [Collection element] | -| sqlite3_c_api.swift:40:31:40:31 | buffer [Collection element] | sqlite3_c_api.swift:41:36:41:36 | buffer | -| sqlite3_c_api.swift:40:31:40:31 | buffer [Collection element] | sqlite3_c_api.swift:42:38:42:38 | buffer | +| sqlite3_c_api.swift:41:19:41:38 | call to Data.init(_:) | sqlite3_c_api.swift:48:2:48:2 | myConstKey | +| sqlite3_c_api.swift:41:24:41:24 | abcdef123456 | sqlite3_c_api.swift:41:19:41:38 | call to Data.init(_:) | +| sqlite3_c_api.swift:48:2:48:2 | myConstKey | sqlite3_c_api.swift:48:31:48:31 | buffer [Collection element] | +| sqlite3_c_api.swift:48:31:48:31 | buffer [Collection element] | sqlite3_c_api.swift:49:36:49:36 | buffer | +| sqlite3_c_api.swift:48:31:48:31 | buffer [Collection element] | sqlite3_c_api.swift:50:38:50:38 | buffer | nodes | SQLite.swift:43:13:43:13 | hardcoded_key | semmle.label | hardcoded_key | | SQLite.swift:45:23:45:23 | hardcoded_key | semmle.label | hardcoded_key | @@ -143,12 +143,12 @@ nodes | rncryptor.swift:80:94:80:94 | myConstKey | semmle.label | myConstKey | | rncryptor.swift:81:102:81:102 | myConstKey | semmle.label | myConstKey | | rncryptor.swift:83:92:83:92 | myConstKey | semmle.label | myConstKey | -| sqlite3_c_api.swift:33:19:33:38 | call to Data.init(_:) | semmle.label | call to Data.init(_:) | -| sqlite3_c_api.swift:33:24:33:24 | abcdef123456 | semmle.label | abcdef123456 | -| sqlite3_c_api.swift:40:2:40:2 | myConstKey | semmle.label | myConstKey | -| sqlite3_c_api.swift:40:31:40:31 | buffer [Collection element] | semmle.label | buffer [Collection element] | -| sqlite3_c_api.swift:41:36:41:36 | buffer | semmle.label | buffer | -| sqlite3_c_api.swift:42:38:42:38 | buffer | semmle.label | buffer | +| sqlite3_c_api.swift:41:19:41:38 | call to Data.init(_:) | semmle.label | call to Data.init(_:) | +| sqlite3_c_api.swift:41:24:41:24 | abcdef123456 | semmle.label | abcdef123456 | +| sqlite3_c_api.swift:48:2:48:2 | myConstKey | semmle.label | myConstKey | +| sqlite3_c_api.swift:48:31:48:31 | buffer [Collection element] | semmle.label | buffer [Collection element] | +| sqlite3_c_api.swift:49:36:49:36 | buffer | semmle.label | buffer | +| sqlite3_c_api.swift:50:38:50:38 | buffer | semmle.label | buffer | subpaths | misc.swift:53:25:53:25 | myConstKey | misc.swift:30:7:30:7 | value | file://:0:0:0:0 | [post] self | misc.swift:53:2:53:2 | [post] config | | misc.swift:53:25:53:25 | myConstKey | misc.swift:30:7:30:7 | value | file://:0:0:0:0 | [post] self [encryptionKey] | misc.swift:53:2:53:2 | [post] config [encryptionKey] | @@ -204,5 +204,5 @@ subpaths | rncryptor.swift:80:94:80:94 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:80:94:80:94 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | | rncryptor.swift:81:102:81:102 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:81:102:81:102 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | | rncryptor.swift:83:92:83:92 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:83:92:83:92 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | -| sqlite3_c_api.swift:41:36:41:36 | buffer | sqlite3_c_api.swift:33:24:33:24 | abcdef123456 | sqlite3_c_api.swift:41:36:41:36 | buffer | The key 'buffer' has been initialized with hard-coded values from $@. | sqlite3_c_api.swift:33:24:33:24 | abcdef123456 | abcdef123456 | -| sqlite3_c_api.swift:42:38:42:38 | buffer | sqlite3_c_api.swift:33:24:33:24 | abcdef123456 | sqlite3_c_api.swift:42:38:42:38 | buffer | The key 'buffer' has been initialized with hard-coded values from $@. | sqlite3_c_api.swift:33:24:33:24 | abcdef123456 | abcdef123456 | +| sqlite3_c_api.swift:49:36:49:36 | buffer | sqlite3_c_api.swift:41:24:41:24 | abcdef123456 | sqlite3_c_api.swift:49:36:49:36 | buffer | The key 'buffer' has been initialized with hard-coded values from $@. | sqlite3_c_api.swift:41:24:41:24 | abcdef123456 | abcdef123456 | +| sqlite3_c_api.swift:50:38:50:38 | buffer | sqlite3_c_api.swift:41:24:41:24 | abcdef123456 | sqlite3_c_api.swift:50:38:50:38 | buffer | The key 'buffer' has been initialized with hard-coded values from $@. | sqlite3_c_api.swift:41:24:41:24 | abcdef123456 | abcdef123456 | diff --git a/swift/ql/test/query-tests/Security/CWE-321/sqlite3_c_api.swift b/swift/ql/test/query-tests/Security/CWE-321/sqlite3_c_api.swift index bc84cba8d93..cc3fbf46bda 100644 --- a/swift/ql/test/query-tests/Security/CWE-321/sqlite3_c_api.swift +++ b/swift/ql/test/query-tests/Security/CWE-321/sqlite3_c_api.swift @@ -1,11 +1,19 @@ // --- stubs --- -struct Data { +protocol ContiguousBytes { + func withUnsafeBytes(_ body: (UnsafeRawBufferPointer) throws -> R) rethrows -> R +} + +struct Data : ContiguousBytes { init(_ elements: S) { count = 0 } + func withUnsafeBytes(_ body: (UnsafeRawBufferPointer) throws -> ResultType) rethrows -> ResultType { + return 0 as! ResultType + } + func withUnsafeBytes(_ body: (UnsafePointer) throws -> ResultType) rethrows -> ResultType { - return 0 as! ResultType//body(0 as UnsafePointer()) + return 0 as! ResultType } var count: Int diff --git a/swift/schema.py b/swift/schema.py index c46a2e4552d..7092cc381e1 100644 --- a/swift/schema.py +++ b/swift/schema.py @@ -1239,3 +1239,10 @@ class ParameterizedProtocolType(Type): class AbiSafeConversionExpr(ImplicitConversionExpr): pass + + +class SingleValueStmtExpr(Expr): + """ + An expression that wraps a statement which produces a single value. + """ + stmt: Stmt | child diff --git a/swift/third_party/load.bzl b/swift/third_party/load.bzl index 7c8604e27b5..44665cef951 100644 --- a/swift/third_party/load.bzl +++ b/swift/third_party/load.bzl @@ -1,14 +1,11 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") -# TODO: remove `remove-result-of.patch` once we update to a Swift version containing -# https://github.com/apple/swift/commit/2ed2cea2 -# (probably when updating to 5.9) -_swift_prebuilt_version = "swift-5.8.1-RELEASE.214" +_swift_prebuilt_version = "swift-5.9.1-RELEASE.255" _swift_sha_map = { - "Linux-X64": "009594131d2f6327e0033c4b7b0479a5730427575eb59a81a439fe0e343aa777", - "macOS-ARM64": "304a918e3699d404f57e967eff79b982388d8c5330c2135272c9f3a825920a39", - "macOS-X64": "c763c493e5782869b54887dc72df2aad00d59af7272c6d96377f1debb98741f2", + "Linux-X64": "0d5682d8acbe3ab81c2a0b8dc0dfadc0240895e28722cca6467d2ab71a69e004", + "macOS-ARM64": "ee53def6f89f97ce0882375121629d71fd87a673baa194f4c510920720d7bce6", + "macOS-X64": "61c2879ee89d6796f3b58fada8a5890756f5a8c053597f4faca019d660743d70", } _swift_arch_map = { @@ -23,13 +20,13 @@ _toolchain_info = { platform = "ubuntu2004", suffix = "ubuntu20.04", extension = "tar.gz", - sha = "dd4b04c7f95c4ada4a2aacb66864b1ed20358313aaa4c880dc3974bf1eefa275", + sha = "057f6c0c3c6472b733e4d5bd8f10e83dd8536c1db1d0ec4a1dca414cd023ab0d", ), "macos": struct( platform = "xcode", suffix = "osx", extension = "pkg", - sha = "417d46f73b2e6b5da82ebbc8a5f4979f7187691fd42119157ba56d5a8bc89eda", + sha = "fa4d3a67c4db8d63897e10d52903af40599cc351e8a73d6f5a4eb3cfd07c4605", ), } @@ -131,7 +128,6 @@ def load_dependencies(workspace_name): patches = [ "@%s//swift/third_party/swift-llvm-support:patches/%s.patch" % (workspace_name, patch_name) for patch_name in ( - "remove-result-of", "remove-redundant-operators", "add-constructor-to-Compilation", ) diff --git a/swift/third_party/swift-llvm-support/patches/remove-result-of.patch b/swift/third_party/swift-llvm-support/patches/remove-result-of.patch deleted file mode 100644 index ab3f2155b67..00000000000 --- a/swift/third_party/swift-llvm-support/patches/remove-result-of.patch +++ /dev/null @@ -1,30 +0,0 @@ -`std::result_of` was removed in C++20, but is still used in the Swift headers. We can't -remove it from there before prebuilding, as that is still done with C++14, but we can -replace it with `std::invoke_result` for compiling the extractor. - -diff --git a/include/swift/Basic/RelativePointer.h b/include/swift/Basic/RelativePointer.h -index 73f91262afa..bdaa304c804 100644 ---- a/include/swift/Basic/RelativePointer.h -+++ b/include/swift/Basic/RelativePointer.h -@@ -551,7 +551,7 @@ public: - } - - template -- typename std::result_of::type operator()(ArgTy... arg) const { -+ typename std::invoke_result::type operator()(ArgTy... arg) const { - #if SWIFT_PTRAUTH - void *ptr = this->super::getWithoutCast(); - return reinterpret_cast(ptrauth_sign_unauthenticated( -diff --git a/include/swift/Basic/STLExtras.h b/include/swift/Basic/STLExtras.h -index 7fa3d0c8890..6bc891a9b63 100644 ---- a/include/swift/Basic/STLExtras.h -+++ b/include/swift/Basic/STLExtras.h -@@ -405,7 +405,7 @@ class OptionalTransformIterator { - typename std::iterator_traits::reference; - - using ResultReference = -- typename std::result_of::type; -+ typename std::invoke_result::type; - - public: - /// Used to indicate when the current iterator has already been