From 5d2f168f1210892629c01607dec3f7048403007e Mon Sep 17 00:00:00 2001 From: hafuu Date: Sat, 3 Jun 2017 02:17:25 +0900 Subject: [PATCH] Bump version to 3.0.0-beta4 --- RELEASE_NOTES.md | 5 + src/FSharpApiSearch/FSharpApiSearch.fsproj | 2 +- src/FSharpApiSearch/sig.fsi | 2052 ++++++++++++++++++++ 3 files changed, 2058 insertions(+), 1 deletion(-) create mode 100644 src/FSharpApiSearch/sig.fsi diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 750b352..7bf4c2a 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,8 @@ +### 3.0.0-beta4 +* Fix bugs +* Improve performance +* Change seliarization library to MessagePack from FsPickler + ### 3.0.0-beta3 * Add flexible type matching * Improve results display diff --git a/src/FSharpApiSearch/FSharpApiSearch.fsproj b/src/FSharpApiSearch/FSharpApiSearch.fsproj index 7569bda..9236df5 100644 --- a/src/FSharpApiSearch/FSharpApiSearch.fsproj +++ b/src/FSharpApiSearch/FSharpApiSearch.fsproj @@ -22,7 +22,7 @@ .\bin\Debug DEBUG;TRACE 3 - --warnon:1182 + --warnon:1182 --sig:sig.fsi pdbonly diff --git a/src/FSharpApiSearch/sig.fsi b/src/FSharpApiSearch/sig.fsi new file mode 100644 index 0000000..5f9d907 --- /dev/null +++ b/src/FSharpApiSearch/sig.fsi @@ -0,0 +1,2052 @@ + + +namespace System + module internal AssemblyVersionInformation = begin + [] + val AssemblyTitle : string + [] + val AssemblyProduct : string + [] + val AssemblyDescription : string + [] + val AssemblyVersion : string + [] + val AssemblyFileVersion : string + [] + val AssemblyConfiguration : string + end + + + +namespace FSharpApiSearch + type Lens<'a,'b> = + {Get: 'a -> 'b; + Set: 'b -> 'a -> 'a;} + module internal OptionModule = begin + type OptionBuilder = + class + new : unit -> OptionBuilder + member Bind : x:'c option * f:('c -> 'd option) -> 'd option + member Return : x:'b -> 'b option + member ReturnFrom : x:'a -> 'a + end + val option : OptionBuilder + end + module internal Seq = begin + val foldOptionMapping : f:('a -> 'b option) -> xs:seq<'a> -> seq<'b> option + end + module internal String = begin + val equalsWithComparer : + cmp:System.StringComparer -> x:string -> y:string -> bool + end + module internal Extensions = begin + type StringBuilder with + member + Append : print:(System.Text.StringBuilder -> System.Text.StringBuilder) -> + System.Text.StringBuilder + type StringBuilder with + member + AppendJoin : sep:string * xs:seq<'a> * + print:('a -> System.Text.StringBuilder -> + System.Text.StringBuilder) -> + System.Text.StringBuilder + type StringBuilder with + member + AppendJoin : sep:string * xs:seq -> System.Text.StringBuilder + end + module internal IDictionary = begin + val empty<'k,'v when 'k : equality> : + System.Collections.Generic.IDictionary<'k,'v> when 'k : equality + end + +namespace FSharpApiSearch + module internal Hack = begin + val genericArguments : + t:Compiler.SourceCodeServices.FSharpType -> + Compiler.SourceCodeServices.FSharpType list + val inferredFloatFullName : string option + val measureOneFullName : string option + val isFloat : t:Compiler.SourceCodeServices.FSharpType -> bool + val isAbbreviation : t:Compiler.SourceCodeServices.FSharpType -> bool + val isMeasure : t:Compiler.SourceCodeServices.FSharpType -> bool + val isUnitOnlyParameter : + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> bool + val isTupleType : t:Compiler.SourceCodeServices.FSharpType -> bool + val isStructTupleType : t:Compiler.SourceCodeServices.FSharpType -> bool + end + +namespace FSharpApiSearch + [] + type TypeVariable = + {Name: string; + IsSolveAtCompileTime: bool;} + module TypeVariable = begin + val ofString : v:string -> TypeVariable + end + [] + type NamePart = + | SymbolName of name: string + | OperatorName of name: string * compiledName: string + | WithCompiledName of name: string * compiledName: string + [] + type DisplayNameItem = + {Name: NamePart; + GenericParameters: TypeVariable list;} + type DisplayName = DisplayNameItem list + module internal DisplayName = begin + val private splitName : name:string -> (string * TypeVariable list) list + val ofString : name:string -> DisplayNameItem list + val ofString2 : name:string -> compiledName:string -> DisplayNameItem list + val ofOperatorString : name:string -> DisplayNameItem list + end + [] + type Name = + | LoadingName of assemblyName: string * accessPath: string * DisplayName + | DisplayName of DisplayName + module internal Name = begin + val ofString : name:string -> Name + val ofCompiledName : name:string -> compiledName:string -> Name + val ofOperatorName : name:string -> Name + val loadingNameError : unit -> 'a + val toDisplayName : _arg1:Name -> DisplayName + end + [] + type PartialIdentity = + {Name: DisplayName; + GenericParameterCount: int;} + [] + type FullIdentity = + {AssemblyName: string; + Name: Name; + GenericParameterCount: int;} + [] + type Identity = + | PartialIdentity of PartialIdentity + | FullIdentity of FullIdentity + [] + type VariableSource = + | Query + | Target + [] + type LowType = + | Wildcard of string option + | Variable of VariableSource * TypeVariable + | Identity of Identity + | Arrow of LowType list + | Tuple of TupleType + | Generic of LowType * LowType list + | TypeAbbreviation of TypeAbbreviation + | Delegate of delegateType: LowType * LowType list + | ByRef of isOut: bool * LowType + | Flexible of LowType + | Choice of LowType list + [] + and TypeAbbreviation = + {Abbreviation: LowType; + Original: LowType;} + [] + and TupleType = + {Elements: LowType list; + IsStruct: bool;} + [] + type Accessibility = + | Public + | Private + [] + type PropertyKind = + | Get + | Set + | GetSet + [] + type MemberKind = + | Method + | Property of PropertyKind + | Field + [] + type MemberModifier = + | Instance + | Static + [] + type Parameter = + {Type: LowType; + Name: string option; + IsOptional: bool; + IsParamArray: bool;} + module internal Parameter = begin + val ofLowType : t:LowType -> Parameter + end + type ParameterGroups = Parameter list list + type Function = Parameter list list + module internal Function = begin + val toLowTypeList : fn:Parameter list list -> LowType list + val toArrow : fn:Parameter list list -> LowType + end + [] + type Member = + {Name: string; + Kind: MemberKind; + GenericParameters: TypeVariable list; + Parameters: ParameterGroups; + ReturnParameter: Parameter;} + with + [] + member IsCurried : bool + end + module internal Member = begin + val toArrow : m:Member -> LowType + val toFunction : m:Member -> Parameter list list + end + [] + type TypeDefinitionKind = + | Class + | Interface + | Type + | Union + | Record + | Enumeration + [] + type Constraint = + | SubtypeConstraints of LowType + | NullnessConstraints + | MemberConstraints of MemberModifier * Member + | DefaultConstructorConstraints + | ValueTypeConstraints + | ReferenceTypeConstraints + | EnumerationConstraints + | DelegateConstraints + | UnmanagedConstraints + | EqualityConstraints + | ComparisonConstraints + [] + type TypeConstraint = + {Variables: TypeVariable list; + Constraint: Constraint;} + [] + type ConstraintStatus = + | Satisfy + | NotSatisfy + | Dependence of TypeVariable list + [] + type FullTypeDefinition = + {Name: DisplayName; + FullName: string; + AssemblyName: string; + Accessibility: Accessibility; + Kind: TypeDefinitionKind; + BaseType: LowType option; + AllInterfaces: LowType list; + GenericParameters: TypeVariable list; + TypeConstraints: TypeConstraint list; + InstanceMembers: Member list; + StaticMembers: Member list; + ImplicitInstanceMembers: Member list; + ImplicitStaticMembers: Member list; + SupportNull: ConstraintStatus; + ReferenceType: ConstraintStatus; + ValueType: ConstraintStatus; + DefaultConstructor: ConstraintStatus; + Equality: ConstraintStatus; + Comparison: ConstraintStatus;} + with + [] + member internal FullIdentity : FullIdentity + [] + member internal LowType : LowType + end + [] + type TypeAbbreviationDefinition = + {Name: DisplayName; + FullName: string; + AssemblyName: string; + Accessibility: Accessibility; + GenericParameters: TypeVariable list; + Abbreviated: LowType; + Original: LowType;} + with + [] + member internal FullIdentity : FullIdentity + [] + member internal TypeAbbreviation : TypeAbbreviation + end + [] + type TypeExtension = + {ExistingType: LowType; + Declaration: DisplayName; + MemberModifier: MemberModifier; + Member: Member;} + [] + type ApiKind = + | ModuleValue + | Constructor + | Member of MemberModifier * MemberKind + | TypeExtension of MemberModifier * MemberKind + | ExtensionMember + | UnionCase + | ModuleDefinition + | TypeDefinition + | TypeAbbreviation + | ComputationExpressionBuilder + [] + type ActivePatternKind = + | ActivePattern + | PartialActivePattern + [] + type UnionCaseField = + {Name: string option; + Type: LowType;} + [] + type UnionCase = + {DeclaringType: LowType; + Name: string; + Fields: UnionCaseField list;} + module UnionCase = begin + val toFunction : uc:UnionCase -> Parameter list list + end + [] + type ModuleDefinition = + {Name: DisplayName; + AssemblyName: string; + Accessibility: Accessibility;} + with + [] + member internal LowType : LowType + end + [] + type ComputationExpressionBuilder = + {BuilderType: LowType; + ComputationExpressionTypes: LowType list; + Syntaxes: string list;} + [] + type ApiSignature = + | ModuleValue of LowType + | ModuleFunction of Function + | ActivePatten of ActivePatternKind * Function + | InstanceMember of LowType * Member + | StaticMember of LowType * Member + | Constructor of LowType * Member + | ModuleDefinition of ModuleDefinition + | FullTypeDefinition of FullTypeDefinition + | TypeAbbreviation of TypeAbbreviationDefinition + | TypeExtension of TypeExtension + | ExtensionMember of Member + | UnionCase of UnionCase + | ComputationExpressionBuilder of ComputationExpressionBuilder + [] + type Api = + {Name: Name; + Signature: ApiSignature; + TypeConstraints: TypeConstraint list; + Document: string option;} + with + [] + member Kind : ApiKind + end + [] + type ApiDictionary = + {AssemblyName: string; + Api: Api []; + TypeDefinitions: + System.Collections.Generic.IDictionary; + TypeAbbreviations: TypeAbbreviationDefinition [];} + with + [] + member PublicApiNumber : int + end + [] + type ActivePatternSignature = + | AnyParameter of LowType * LowType + | Specified of LowType + [] + type ActivePatternQuery = + {Kind: ActivePatternKind; + Signature: ActivePatternSignature;} + [] + type ComputationExpressionQuery = + {Syntaxes: string list; + Type: LowType;} + [] + type SignatureQuery = + | Wildcard + | Signature of LowType + [] + type NameMatchMethod = + | StringCompare + | Regex + | StartsWith + | EndsWith + | Contains + | Any + module NameMatchMethod = begin + val ofString : str:string -> string * NameMatchMethod + end + type ByName = + {Expected: string; + GenericParameters: string list; + MatchMethod: NameMatchMethod;} + [] + type QueryMethod = + | ByName of ByName list * SignatureQuery + | BySignature of SignatureQuery + | ByActivePattern of ActivePatternQuery + | ByComputationExpression of ComputationExpressionQuery + [] + type Query = + {OriginalString: string; + Method: QueryMethod;} + type OptionStatus = + | Enabled + | Disabled + type Language = + | FSharp + | CSharp + module Language = begin + val tryParse : str:string -> Language option + end + type SearchOptions = + internal {GreedyMatching: OptionStatus; + RespectNameDifference: OptionStatus; + IgnoreParameterStyle: OptionStatus; + IgnoreCase: OptionStatus; + SwapOrderDepth: int; + ComplementDepth: int; + Parallel: OptionStatus; + Language: Language;} + module SearchOptions = begin + val defaultOptions : SearchOptions + val private statusToInt : enabledValue:int -> _arg1:OptionStatus -> int + val private intToStatus : _arg1:int -> OptionStatus + val GreedyMatching : Lens + val RespectNameDifference : Lens + val IgnoreParameterStyle : Lens + val IgnoreCase : Lens + val SwapOrderDepth : Lens + val SwapOrder : Lens + val ComplementDepth : Lens + val Complement : Lens + val Parallel : Lens + val Language : Lens + end + type Result = + {Api: Api; + AssemblyName: string; + Distance: int;} + module internal SpecialTypes = begin + val arrayRegexPattern : string + val mscorlib : string + val fscore : string + val UnitLoadingName : Name + val UnitDisplayName : Name + module LoadingFullIdentity = begin + val ofDotNetType : t:System.Type -> FullIdentity + end + module FullIdentity = begin + val ofDotNetType : t:System.Type -> FullIdentity + val private tuple' : typeName:string -> n:int -> Name + val tupleName : n:int -> Name + val valueTupleName : n:int -> Name + end + module Identity = begin + val ofDotNetType : t:System.Type -> Identity + val tupleN : n:int -> Identity + val tuples : Identity list + val valueTupleN : n:int -> Identity + val valueTuples : Identity list + val byref : Identity + module CSharp = begin + val aliases : (string * Identity) list + end + end + module LowType = begin + val ofDotNetType : t:System.Type -> LowType + val Unit : LowType + val unit : LowType + val Double : LowType + val float : LowType + val isUnit : x:LowType -> bool + val Boolean : LowType + val FSharpFunc : LowType + module Patterns = begin + val ( |Unit|_| ) : x:LowType -> unit option + val ( |Array|_| ) : x:LowType -> (string * LowType) option + val private b : LowType + val ( |Boolean|_| ) : LowType -> unit option + val ( |NonTuple|_| ) : x:LowType -> LowType option + val ( |AbbreviationRoot|_| ) : x:LowType -> LowType option + end + end + end + module internal Identity = begin + [] + type IdentityEqualityResult = + | Matched + | GenericParameter of int * int + | Name + | AssemblyName + val ( <&&> ) : + x:(unit -> Identity.IdentityEqualityResult) -> + y:(unit -> Identity.IdentityEqualityResult) -> + Identity.IdentityEqualityResult + val testee : x:DisplayNameItem -> string + val private forall : + f:('a -> Identity.IdentityEqualityResult) -> + xs:seq<'a> -> unit -> Identity.IdentityEqualityResult + val private testGenericParameterCount : + x:int -> y:int -> unit -> Identity.IdentityEqualityResult + val private testString : + cmp:System.StringComparer -> + x:string -> y:string -> unit -> Identity.IdentityEqualityResult + val private testDisplayName : + cmp:System.StringComparer -> + xs:DisplayName -> + ys:DisplayName -> unit -> Identity.IdentityEqualityResult + val private testAssemblyName : + x:FullIdentity -> + y:FullIdentity -> unit -> Identity.IdentityEqualityResult + val testFullIdentity : + x:FullIdentity -> + y:FullIdentity -> unit -> Identity.IdentityEqualityResult + val fullIdentityComparer : + System.Collections.Generic.IEqualityComparer + val private testPartialAndFullIdentity : + cmp:System.StringComparer -> + partial:PartialIdentity -> + full:FullIdentity -> unit -> Identity.IdentityEqualityResult + val private sameName' : + cmp:System.StringComparer -> + x:Identity -> y:Identity -> Identity.IdentityEqualityResult + type Equality = Identity -> Identity -> Identity.IdentityEqualityResult + val sameName : x:Identity -> y:Identity -> Identity.IdentityEqualityResult + val sameNameIgnoreCase : + x:Identity -> y:Identity -> Identity.IdentityEqualityResult + val equalityFromOptions : opt:SearchOptions -> Identity.Equality + end + module LowTypeVisitor = begin + type Visitor = LowType -> LowType + val accept_Parameter : + visitor:(LowType -> LowType) -> p:Parameter -> Parameter + val accept_ParameterGroups : + visitor:(LowType -> LowType) -> + groups:ParameterGroups -> Parameter list list + val accept_Function : + visitor:(LowType -> LowType) -> + func:ParameterGroups -> Parameter list list + val accept_Member : visitor:(LowType -> LowType) -> member':Member -> Member + val accept_TypeConstraint : + visitor:(LowType -> LowType) -> c:TypeConstraint -> TypeConstraint + val accept_FullTypeDefinition : + visitor:(LowType -> LowType) -> + fullTypeDef:FullTypeDefinition -> FullTypeDefinition + val accept_TypeAbbreviationDefinition : + visitor:(LowType -> LowType) -> + abbDef:TypeAbbreviationDefinition -> TypeAbbreviationDefinition + val accept_TypeExtension : + visitor:(LowType -> LowType) -> + typeExtension:TypeExtension -> TypeExtension + val accept_UnionCaseField : + visitor:(LowType -> LowType) -> field:UnionCaseField -> UnionCaseField + val accept_UnionCase : + visitor:(LowType -> LowType) -> uc:UnionCase -> UnionCase + val accept_ComputationExpressionBuilder : + visitor:(LowType -> LowType) -> + builder:ComputationExpressionBuilder -> ComputationExpressionBuilder + val accept_ApiSignature : + visitor:Visitor -> _arg1:ApiSignature -> ApiSignature + end + module internal LowType = begin + val applyVariable : + source:VariableSource -> + replacements:Map -> _arg1:LowType -> LowType + val applyVariableToTargetList : + source:VariableSource -> + replacements:Map -> + xs:LowType list -> LowType list + val collectWildcardGroup : x:LowType -> LowType list + val collectVariables : x:LowType -> LowType list + val collectVariableOrWildcardGroup : x:LowType -> LowType list + end + +namespace FSharpApiSearch + module Printer = begin + module internal FSharpImpl = begin + val printPropertyKind : _arg1:PropertyKind -> string + val printMemberKind : _arg1:MemberKind -> string + val printMemberModifier : _arg1:MemberModifier -> string + val printApiKind : + kind:ApiKind -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val typeVariablePrefix : v:TypeVariable -> string + val toDisplayName : _arg1:NamePart -> string + val printNameItem : + n:DisplayNameItem -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printDisplayName_full : + xs:DisplayNameItem list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printName_full : + name:Name -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printApiName : + name:Name -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printAccessPath : + depth:int option -> + name:Name -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printIdentity_full : + identity:Identity -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printIdentity_short : + identity:Identity -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printVariableSource : _arg1:VariableSource -> string + val printTypeVariable : + isDebug:bool -> + source:VariableSource -> + v:TypeVariable -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printLowType : + isDebug:bool -> + printIdentity:(Identity -> System.Text.StringBuilder -> + System.Text.StringBuilder) -> + lowType:LowType -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printGeneric : + isDebug:bool -> + printIdentity:(Identity -> System.Text.StringBuilder -> + System.Text.StringBuilder) -> + id:LowType -> + args:LowType list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printArrow : + isDebug:bool -> + printIdentity:(Identity -> System.Text.StringBuilder -> + System.Text.StringBuilder) -> + xs:LowType list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printTuple : + isDebug:bool -> + printIdentity:(Identity -> System.Text.StringBuilder -> + System.Text.StringBuilder) -> + xs:LowType list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printStructTuple : + isDebug:bool -> + printIdentity:(Identity -> System.Text.StringBuilder -> + System.Text.StringBuilder) -> + xs:LowType list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printChoice : + isDebug:bool -> + printIdentity:(Identity -> System.Text.StringBuilder -> + System.Text.StringBuilder) -> + xs:LowType list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printLowType_short : + isDebug:bool -> + t:LowType -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printLowType_full : + isDebug:bool -> + t:LowType -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printParameter : + tupleParen:bool -> + isDebug:bool -> + p:Parameter -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printParameterGroups : + tupleParen:bool -> + isDebug:bool -> + func:Parameter list list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printMember : + isDebug:bool -> + m:Member -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printConstraint : + isDebug:bool -> + c:TypeConstraint -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printFullTypeDefinition : + isDebug:bool -> + x:FullTypeDefinition -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val pringTypeAbbreviation : + isDebug:bool -> + x:TypeAbbreviationDefinition -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printUnionCaseField : + isDebug:bool -> + uc:UnionCaseField -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printUnionCase : + isDebug:bool -> + uc:UnionCase -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printModule : + m:ModuleDefinition -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printComputationExpressionBuilder : + isDebug:bool -> + builder:ComputationExpressionBuilder -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printApiSignature : + isDebug:bool -> + apiSig:ApiSignature -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + end + module FSharp = begin + val printFullName : api:Api -> string + val printApiName : api:Api -> string + val printAccessPath : depth:int option -> api:Api -> string + val printSignature : api:Api -> string + val printKind : api:Api -> string + val tryPrintTypeConstraints : api:Api -> string option + end + module internal CSharpImpl = begin + val toDisplayName : _arg1:NamePart -> string + val printNameItem : + n:DisplayNameItem -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printDisplayName_full : + xs:DisplayNameItem list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printName_full : + name:Name -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printApiName : + name:Name -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printAccessPath : + depth:int option -> + name:Name -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val csharpAlias : + System.Collections.Generic.IDictionary + val printIdentity : + identity:Identity -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val toFSharpFunc : xs:LowType list -> LowType + val nestedArray : + acc:string list -> _arg1:LowType -> string list * LowType + val printRef : isOut:bool -> string + val printLowType : + t:LowType -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printParameter : + p:Parameter -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printPropertyParameter : + m:Member -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printProperty : + m:Member -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printReturnParameter : + p:Parameter -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printMethodParameter : + m:Member -> + isExtension:bool -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printMethod : + m:Member -> + isExtension:bool -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printField : + m:Member -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printMember : + m:Member -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printConstructor : + m:Member -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printModuleValue : + t:LowType -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printFunction : + fn:Function -> sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printFullTypeDefinition : + td:FullTypeDefinition -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printApiSignature : + apiSig:ApiSignature -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val filterCSharpTypeConstraint : + xs:TypeConstraint list -> TypeConstraint list + val printConstraints : + xs:TypeConstraint list -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val printPropertyKind : _arg1:PropertyKind -> string + val printMemberKind : _arg1:MemberKind -> string + val printMemberModifier : _arg1:MemberModifier -> string + val printApiKind : + kind:ApiKind -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + end + module CSharp = begin + val printFullName : api:Api -> string + val printApiName : api:Api -> string + val printAccessPath : depth:int option -> api:Api -> string + val printSignature : api:Api -> string + val tryPrintTypeConstraints : api:Api -> string option + val printKind : api:Api -> string + end + type TypeVariable with + member Print : unit -> string + type DisplayNameItem with + member Print : unit -> string + type Name with + member Print : unit -> string + type LowType with + member Print : unit -> string + type LowType with + member internal Debug : unit -> string + type ApiSignature with + member Print : unit -> string + type ApiSignature with + member internal Debug : unit -> string + type TypeConstraint with + member Print : unit -> string + type TypeConstraint with + member internal Debug : unit -> string + type FullTypeDefinition with + member Print : unit -> string + type FullTypeDefinition with + member internal Debug : unit -> string + module internal LowType = begin + val debug : x:LowType -> string + end + module internal ApiSignature = begin + val debug : x:ApiSignature -> string + val print : x:ApiSignature -> string + end + module internal TypeConstraint = begin + val debug : x:TypeConstraint -> string + end + module internal FullTypeDefinition = begin + val debug : x:FullTypeDefinition -> string + end + end + +namespace FSharpApiSearch + module internal QueryParser = begin + val inline trim : + p:FParsec.Primitives.Parser<'a,'b> -> FParsec.Primitives.Parser<'a,'b> + val inline pcharAndTrim : c:char -> FParsec.Primitives.Parser + val inline pstringAndTrim : s:string -> FParsec.Primitives.Parser + val inline sepBy2 : + p:FParsec.Primitives.Parser<'a,'b> -> + sep:FParsec.Primitives.Parser<'c,'b> -> + FParsec.Primitives.Parser<'a list,'b> + val compose : + firstParser:FParsec.Primitives.Parser<'a,'b> -> + ps:(FParsec.Primitives.Parser<'a,'b> -> + FParsec.Primitives.Parser<'a,'b> -> + FParsec.Primitives.Parser<'a,'b>) list -> + FParsec.Primitives.Parser<'a,'b> + val parray : FParsec.Primitives.Parser + module FSharp = begin + val struct' : string + val keywords : string list + val pidentifier : FParsec.Primitives.Parser + val partialName : FParsec.Primitives.Parser + val fsharpSignatureRef : FParsec.Primitives.Parser ref + val fsharpSignature : FParsec.Primitives.Parser + val identity : FParsec.Primitives.Parser + val variable : FParsec.Primitives.Parser + val wildcard : FParsec.Primitives.Parser + val genericId : (FParsec.CharStream -> FParsec.Reply) + val createGeneric : id:LowType -> parameters:LowType list -> LowType + val dotNetGeneric : FParsec.Primitives.Parser + val flexible : FParsec.Primitives.Parser + val ptype : (FParsec.CharStream -> FParsec.Reply) + val array : + 'a -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val structTuple : + self:FParsec.Primitives.Parser -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val mlGeneric : + 'a -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val tuple : + 'a -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val arrow : + 'a -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val activePatternKind : FParsec.Primitives.Parser + val allPatterns : FParsec.Primitives.Parser + val activePattern : FParsec.Primitives.Parser + val activePatternQuery : FParsec.Primitives.Parser + val opName : FParsec.Primitives.Parser + val memberNamePartial : FParsec.Primitives.Parser + val signatureWildcard : FParsec.Primitives.Parser + val anyOrSignature : FParsec.Primitives.Parser + val nameQuery : FParsec.Primitives.Parser + val signatureQuery : FParsec.Primitives.Parser + val computationExpressionSyntax : FParsec.Primitives.Parser + val computationExpressionQuery : + FParsec.Primitives.Parser + val query : (FParsec.CharStream -> FParsec.Reply) + val parse : queryStr:string -> Query + end + module CSharp = begin + val ref : string + val out : string + val keywords : string list + val punit : FParsec.Primitives.Parser + val pidentifier : FParsec.Primitives.Parser + val partialName : FParsec.Primitives.Parser + val csharpSignatureRef : FParsec.Primitives.Parser ref + val csharpSignature : FParsec.Primitives.Parser + val identity : FParsec.Primitives.Parser + val wildcard : FParsec.Primitives.Parser + val genericId : (FParsec.CharStream -> FParsec.Reply) + val createGeneric : id:LowType -> parameters:LowType list -> LowType + val generic : FParsec.Primitives.Parser + val flexible : FParsec.Primitives.Parser + val ptype : (FParsec.CharStream -> FParsec.Reply) + val array : + 'a -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val structTuple : + self:FParsec.Primitives.Parser -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val byref : + 'a -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val arrow : + 'a -> + typeParser:FParsec.Primitives.Parser -> + FParsec.Primitives.Parser + val replaceWithVariable : + variableNames:Set -> _arg1:LowType -> LowType + val signatureWildcard : FParsec.Primitives.Parser + val genericPart : FParsec.Primitives.Parser + val memberNamePartial : FParsec.Primitives.Parser + val anyOrSignature : FParsec.Primitives.Parser + val nameQuery : FParsec.Primitives.Parser + val genericQuery : FParsec.Primitives.Parser + val signatureQuery : FParsec.Primitives.Parser + val query : (FParsec.CharStream -> FParsec.Reply) + val parse : queryStr:string -> Query + end + end + +namespace FSharpApiSearch + module internal MatcherTypes = begin + type Equations = + {Equalities: (LowType * LowType) list; + Inequalities: (LowType * LowType) list;} + module Equations = begin + val debugEquality : left:LowType * right:LowType -> string + val debugInequality : left:LowType * right:LowType -> string + val debug : x:Equations -> string + val empty : Equations + end + type SubtypeResult = + | Subtype of LowType + | Contextual of LowType option + | NonSubtype + type SubtypeCache = + System.Collections.Concurrent.ConcurrentDictionary<(LowType * LowType), + SubtypeResult> + module SubtypeCache = begin + val create : + unit -> + System.Collections.Concurrent.ConcurrentDictionary<(LowType * LowType), + SubtypeResult> + end + type Context = + {Distance: int; + Equations: Equations; + QueryTypes: Map; + ApiDictionaries: Map; + SubtypeCache: SubtypeCache;} + module Context = begin + val addDistance : reason:string -> x:int -> ctx:Context -> Context + val newEquations : + oldCtx:Context -> newCtx:Context -> (LowType * LowType) list + end + type MatchingResult = + | Matched of Context + | Continue of Context + | Failure + module MatchingResult = begin + val inline bindContinue : + f:(Context -> MatchingResult) -> x:MatchingResult -> MatchingResult + val inline bindMatched : + f:(Context -> MatchingResult) -> x:MatchingResult -> MatchingResult + val inline mapMatched : + f:(Context -> Context) -> x:MatchingResult -> MatchingResult + val toBool : _arg1:MatchingResult -> bool + end + type ILowTypeMatcher = + interface + abstract member Test : LowType -> LowType -> Context -> MatchingResult + abstract member + TestAll : seq -> seq -> Context -> MatchingResult + abstract member + TestAllExactly : seq -> + seq -> Context -> MatchingResult + end + module Extensions = begin + val private paramsAndRet : xs:seq<'a> -> 'a [] * 'a + type ILowTypeMatcher with + member + TestArrow : leftTypes:seq -> + rightTypes:seq -> ctx:Context -> MatchingResult + type ILowTypeMatcher with + member + TestReceiver : left:LowType -> + right:LowType -> ctx:Context -> MatchingResult + end + type IApiMatcher = + interface + abstract member + Test : ILowTypeMatcher -> + QueryMethod -> Api -> Context -> MatchingResult + abstract member Name : string + end + type Rule<'Left,'Right> = + ILowTypeMatcher -> 'Left -> 'Right -> Context -> MatchingResult + module Rule = begin + val run : + rule:Rule<'a,'b> -> + matcher:ILowTypeMatcher -> + left:'a -> right:'b -> ctx:Context -> MatchingResult + val terminator : 'a -> 'b -> 'c -> 'd -> MatchingResult + val continueFailure : + rule:Rule<'a,'b> -> + matcher:ILowTypeMatcher -> + left:'a -> right:'b -> ctx:Context -> MatchingResult + val compose : + xs:Rule<'a,'b> [] -> + test:ILowTypeMatcher -> + left:'a -> right:'b -> ctx:Context -> MatchingResult + end + end + +namespace FSharpApiSearch + module internal TypeHierarchy = begin + val transferVariableArgument : + inheritArgs:Map -> baseType:LowType -> LowType list + val instantiate : t:FullTypeDefinition -> args:LowType list -> LowType + val getSuperTypes : + ctx:MatcherTypes.Context -> + t:FullTypeDefinition -> args:LowType list -> seq + val fullTypeDef : + ctx:MatcherTypes.Context -> _arg1:Identity -> FullTypeDefinition [] + end + +namespace FSharpApiSearch + module internal LowTypeMatcher = begin + module Context = begin + val setEquations : + eqs:MatcherTypes.Equations -> + ctx:MatcherTypes.Context -> MatcherTypes.Context + end + module Equations = begin + val sortTerm : x:'a -> y:'a -> 'a * 'a when 'a : comparison + val containsEquality : + left:LowType -> right:LowType -> eqs:MatcherTypes.Equations -> bool + val containsInequality : + left:LowType -> right:LowType -> eqs:MatcherTypes.Equations -> bool + val findEqualities : + left:LowType -> eqs:MatcherTypes.Equations -> (LowType * LowType) list + val testInequality : + left:LowType -> right:LowType -> eqs:MatcherTypes.Equations -> bool + val isRecirsive : left:LowType -> right:LowType -> bool + val isCircular : + left:LowType -> right:LowType -> eqs:MatcherTypes.Equations -> bool + val tryAddEquality : + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + end + module Rules = begin + val terminator : + MatcherTypes.ILowTypeMatcher -> + LowType -> + LowType -> MatcherTypes.Context -> MatcherTypes.MatchingResult + val testLeftEqualities : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + leftEqualities:('a * LowType) list -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val testVariableEquality : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + type Swapped = bool + val swappedToInt : swapped:Swapped -> int + val contains : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + testee:LowType -> + back:LowType [] -> + forward:LowType [] -> + ctx:MatcherTypes.Context -> + (MatcherTypes.Context * LowType [] * LowType [] * Swapped) option + val containsWildcard : xs:LowType [] -> bool + val testAllWithComplementAndSwap : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + complementNumberLimit:int -> + swapNumberLimit:int -> + leftTypes:seq -> + rightTypes:seq -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val testAllExactly : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + leftTypes:seq -> + rightTypes:seq -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val choiceRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val typeAbbreviationRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val testIdentity : + nameEquality:Identity.Equality -> + leftIdentity:Identity -> + rightIdentity:Identity -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val identityRule : + nameEquality:Identity.Equality -> + 'a -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val variableRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val distanceFromVariable : _arg1:LowType -> int + val seqDistance : xs:LowType list -> int + val greedyVariableRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val tupleRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val testArrow : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + leftElems:seq -> + rightElems:seq -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val arrowRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val testArrow_IgnoreParameterStyle : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + leftElems:LowType list -> + rightElems:LowType list -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val arrowRule_IgnoreParameterStyle : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val genericRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val wildcardRule : + 'a -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val wildcardGroupRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val delegateRule : + nameEquality:Identity.Equality -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val delegateAndArrowRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val delegateAndArrowRule_IgnoreParameterStyle : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val byrefRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val flexibleTarget : + ctx:'a -> _arg1:LowType -> (Identity * LowType list) option + val ( |FlexibleTarget|_| ) : + ctx:'a -> (LowType -> (Identity * LowType list) option) + val testFlexible : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + flexible:LowType -> + targetId:Identity -> + targetArgs:LowType list -> + ctx:MatcherTypes.Context -> + (MatcherTypes.Context * LowType) option + val flexibleCacheValue : + contextualType:(unit -> bool) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + flexible:LowType -> + targetId:Identity -> + targetArgs:LowType list -> + ctx:MatcherTypes.Context -> MatcherTypes.SubtypeResult + val flexibleRule : + isContextual:(LowType -> bool) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:LowType -> + right:LowType -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + end + val instance : options:SearchOptions -> MatcherTypes.ILowTypeMatcher + end + +namespace FSharpApiSearch + module internal NameMatcher = begin + type StringOptions = + {StringComparer: System.StringComparer; + StringComparison: System.StringComparison; + RegexOptions: System.Text.RegularExpressions.RegexOptions;} + val stringOptions : ignoreCase:OptionStatus -> StringOptions + val test' : + strOpt:StringOptions -> + expected:ByName list -> actualNames:DisplayNameItem list -> bool + val test : + strOpt:StringOptions -> + query:QueryMethod -> + api:Api -> ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val instance : options:SearchOptions -> MatcherTypes.IApiMatcher + end + +namespace FSharpApiSearch + module internal SignatureMatcher = begin + module Rules = begin + val choiceRule : + runRules:(MatcherTypes.ILowTypeMatcher -> SignatureQuery -> + ApiSignature -> MatcherTypes.Context -> + MatcherTypes.MatchingResult) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val moduleValueRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val ( |WildcardOrVariable|_| ) : _arg1:LowType -> unit option + val trimOptionalParameters : + leftElems:LowType list -> + rightElems:Parameter list list -> Parameter list list + val testArrow : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + leftElems:LowType list -> + rightElems:Parameter list list -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val ( |Right_CurriedFunction|_| ) : + xs:Parameter list list -> LowType list option + val ( |Right_NonCurriedFunction|_| ) : + xs:Parameter list list -> LowType list option + val ( |Right_TupleFunction|_| ) : + xs:Parameter list list -> LowType list option + val ( |Left_CurriedFunction|_| ) : xs:LowType list -> LowType list option + val ( |Left_NonCurriedFunction|_| ) : + xs:LowType list -> LowType list option + val testArrow_IgnoreParamStyle : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + leftElems:LowType list -> + rightElems:Parameter list list -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val moduleFunctionRule : + testArrow:(MatcherTypes.ILowTypeMatcher -> LowType list -> Function -> + MatcherTypes.Context -> MatcherTypes.MatchingResult) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val arrowQueryAndDelegateRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val activePatternRule : + testArrow:(MatcherTypes.ILowTypeMatcher -> LowType list -> Function -> + MatcherTypes.Context -> MatcherTypes.MatchingResult) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val breakArrow : _arg1:LowType -> LowType list + val ( |StaticMember|_| ) : _arg1:ApiSignature -> Member option + val ( |NoArgsMember|_| ) : _arg1:Member -> Member option + val extensionMemberRule : + testArrow:(MatcherTypes.ILowTypeMatcher -> LowType list -> + Parameter list list -> MatcherTypes.Context -> + MatcherTypes.MatchingResult) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val staticMemberRule : + testArrow:(MatcherTypes.ILowTypeMatcher -> LowType list -> + Parameter list list -> MatcherTypes.Context -> + MatcherTypes.MatchingResult) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val constructorRule : + testArrow:(MatcherTypes.ILowTypeMatcher -> LowType list -> + Parameter list list -> MatcherTypes.Context -> + MatcherTypes.MatchingResult) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val methodPart : queryParams:'a list -> queryReturnType:'a -> 'a list + val ( |InstanceMember|_| ) : + _arg1:ApiSignature -> (LowType * Member) option + val arrowAndInstanceMemberRule : + testArrow:(MatcherTypes.ILowTypeMatcher -> LowType list -> + Parameter list list -> MatcherTypes.Context -> + MatcherTypes.MatchingResult) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val unionCaseRule : + testArrow:(MatcherTypes.ILowTypeMatcher -> LowType list -> + Parameter list list -> MatcherTypes.Context -> + MatcherTypes.MatchingResult) -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val typeDefRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val moduleDefRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val typeAbbreviationRule : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + left:SignatureQuery -> + right:ApiSignature -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + end + val tryGetSignatureQuery : _arg1:QueryMethod -> SignatureQuery option + val instance : options:SearchOptions -> MatcherTypes.IApiMatcher + end + +namespace FSharpApiSearch + module internal ActivePatternMatcher = begin + val testAllParameter : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + activePatternType:LowType -> + returnType:LowType -> + right:Function -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val test : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + query:ActivePatternQuery -> + api:Api -> ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val instance : SearchOptions -> MatcherTypes.IApiMatcher + end + +namespace FSharpApiSearch + module internal ConstraintSolver = begin + val ( |ConstraintTestee|_| ) : + _arg1:LowType -> (Identity * LowType list) option + val createConstraintSolver : + title:string -> + testConstraint:(FullTypeDefinition -> LowType list -> + MatcherTypes.Context -> #seq) -> + testeeType:LowType -> + ctx:MatcherTypes.Context -> seq + val firstMatched : + f:('a -> MatcherTypes.MatchingResult) -> + xs:seq<'a> -> seq + val testSubtypeConstraint : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + parentType:LowType -> + (LowType -> MatcherTypes.Context -> seq) + val addGenericMemberReplacements : + m:Member -> + replacements:Map -> Map + val normalizeGetterMethod : m:Member -> LowType + val normalizeSetterMethod : m:Member -> LowType + val normalizeMethod : m:Member -> LowType + val testMemberConstraint : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + modifier:MemberModifier -> + expectedMember:Member -> + (LowType -> MatcherTypes.Context -> seq) + val createConstraintStatusSolver : + name:string -> + get:(FullTypeDefinition -> ConstraintStatus) -> + (LowType -> MatcherTypes.Context -> seq) + val testNullnessConstraint : + (LowType -> MatcherTypes.Context -> seq) + val testDefaultConstructorConstriant : + (LowType -> MatcherTypes.Context -> seq) + val testValueTypeConstraint : + (LowType -> MatcherTypes.Context -> seq) + val testReferenceTypeConstraint : + (LowType -> MatcherTypes.Context -> seq) + val testEqualityConstraint : + (LowType -> MatcherTypes.Context -> seq) + val testComparisonConstraint : + (LowType -> MatcherTypes.Context -> seq) + val solve' : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + constraints:TypeConstraint list -> + initialCtx:MatcherTypes.Context -> + testEqualities:(LowType * LowType) list -> + MatcherTypes.MatchingResult + val solve : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + constraints:TypeConstraint list -> + ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val instance : SearchOptions -> MatcherTypes.IApiMatcher + end + +namespace FSharpApiSearch + module internal NonPublicFilter = begin + val testAccessibility : + ctx:MatcherTypes.Context -> + _arg1:Accessibility -> MatcherTypes.MatchingResult + val test : + api:Api -> ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val instance : SearchOptions -> MatcherTypes.IApiMatcher + end + +namespace FSharpApiSearch + module internal CSharpFilter = begin + val test : + api:Api -> ctx:MatcherTypes.Context -> MatcherTypes.MatchingResult + val instance : SearchOptions -> MatcherTypes.IApiMatcher + end + +namespace FSharpApiSearch + module internal ComputationExpressionMatcher = begin + module Filter = begin + val instance : SearchOptions -> MatcherTypes.IApiMatcher + end + val private collect : + options:SearchOptions -> f:('a -> #seq<'c>) -> xs:#seq<'a> -> seq<'c> + val private choose : + options:SearchOptions -> f:('a -> 'b option) -> xs:seq<'a> -> seq<'b> + val private append : + options:SearchOptions -> xs:seq<'a> -> ys:seq<'a> -> seq<'a> + val test : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + builderTypes:LowType -> + ctx:MatcherTypes.Context -> api:Api -> MatcherTypes.MatchingResult + val testComputationExpressionTypes : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + ctx:MatcherTypes.Context -> + queryCeType:LowType -> ceTypes:seq -> bool + val search : + options:SearchOptions -> + targets:seq -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + query:ComputationExpressionQuery -> + initialContext:MatcherTypes.Context -> seq + end + +namespace FSharpApiSearch + module internal MatcherInitializer = begin + val buildMatchers : + options:SearchOptions -> + apiMatchers:(SearchOptions -> 'a) list -> + MatcherTypes.ILowTypeMatcher * 'a list + val collectFromSignatureQuery : + getTarget:(LowType -> 'a option) -> query:Query -> 'a list + when 'a : equality + val collectVariables : (Query -> LowType list) + val collectWildcardGroups : (Query -> LowType list) + val collectPartialIdentities : (Query -> PartialIdentity list) + val initialEquations : + options:SearchOptions -> + query:Query -> eqs:MatcherTypes.Equations -> MatcherTypes.Equations + val queryTypes : + query:Query -> + dictionaries:ApiDictionary [] -> + Map + val initializeContext : + dictionaries:ApiDictionary [] -> + options:SearchOptions -> query:Query -> MatcherTypes.Context + val private replaceTypeAbbreviation' : + nameEquality:(Identity -> Identity -> bool) -> + table:TypeAbbreviation list -> query:Query -> Query + val replaceTypeAbbreviation : + table:TypeAbbreviation list -> + options:SearchOptions -> query:Query -> Query + val typeAbbreviationTableFromApiDictionary : + dictionaries:seq -> TypeAbbreviation list + type IInitializeStorategy = + interface + abstract member + InitialContext : Query * ApiDictionary [] * SearchOptions -> + MatcherTypes.Context + abstract member + InitializeQuery : Query * ApiDictionary [] * SearchOptions -> Query + abstract member + Matchers : SearchOptions -> + MatcherTypes.ILowTypeMatcher * + MatcherTypes.IApiMatcher list + abstract member ParseQuery : string -> Query + end + type FSharpInitializeStorategy = + class + interface IInitializeStorategy + new : unit -> FSharpInitializeStorategy + end + val csharpAliases : TypeAbbreviation list + type CSharpInitializeStorategy = + class + interface IInitializeStorategy + new : unit -> CSharpInitializeStorategy + end + end + +namespace FSharpApiSearch + module Matcher = begin + val internal test : + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + apiMatchers:MatcherTypes.IApiMatcher list -> + query:Query -> + ctx:MatcherTypes.Context -> api:Api -> MatcherTypes.MatchingResult + val private choose : + options:SearchOptions -> f:('a -> 'b option) -> xs:seq<'a> -> seq<'b> + val internal search' : + targets:seq -> + options:SearchOptions -> + lowTypeMatcher:MatcherTypes.ILowTypeMatcher -> + apiMatchers:MatcherTypes.IApiMatcher list -> + query:Query -> initialContext:MatcherTypes.Context -> seq + val internal storategy : + options:SearchOptions -> MatcherInitializer.IInitializeStorategy + val search : + dictionaries:ApiDictionary [] -> + options:SearchOptions -> + targets:seq -> queryStr:string -> seq + end + +namespace FSharpApiSearch + module AssemblyLoader = begin + type AssemblyResolver = + {FSharpCore: string; + Framework: string list; + Directories: string list;} + with + member Resolve : assemblyName:string -> string option + end + val internal ignoreFSharpCompilerServiceError : unit -> unit + val load : + assemblyResolver:AssemblyResolver -> + references:seq -> Compiler.SourceCodeServices.FSharpAssembly [] + end + +namespace FSharpApiSearch + module internal CompilerOptimization = begin + type ImplicitMember = + {InstanceMembers: Member list; + StaticMembers: Member list;} + module FullIdentity = begin + val Boolean : FullIdentity + val Byte : FullIdentity + val Char : FullIdentity + val Decimal : FullIdentity + val Double : FullIdentity + val Single : FullIdentity + val Int32 : FullIdentity + val Int16 : FullIdentity + val Int64 : FullIdentity + val IntPtr : FullIdentity + val SByte : FullIdentity + val String : FullIdentity + val UInt16 : FullIdentity + val UInt32 : FullIdentity + val UInt64 : FullIdentity + val UIntPtr : FullIdentity + end + module LowType = begin + val Boolean : LowType + val Byte : LowType + val Char : LowType + val Decimal : LowType + val Double : LowType + val Single : LowType + val Int32 : LowType + val Int16 : LowType + val Int64 : LowType + val IntPtr : LowType + val SByte : LowType + val String : LowType + val UInt16 : LowType + val UInt32 : LowType + val UInt64 : LowType + val UIntPtr : LowType + end + module Parameter = begin + val Boolean : Parameter + val Byte : Parameter + val Char : Parameter + val Decimal : Parameter + val Double : Parameter + val Single : Parameter + val Int32 : Parameter + val Int16 : Parameter + val Int64 : Parameter + val IntPtr : Parameter + val SByte : Parameter + val String : Parameter + val UInt16 : Parameter + val UInt32 : Parameter + val UInt64 : Parameter + val UIntPtr : Parameter + end + val table : Map + val implicitMembers : id:FullIdentity -> Member list * Member list + end + +namespace FSharpApiSearch + module internal ComputationExpressionLoader = begin + val ( |P| ) : p:Parameter -> LowType + module Extract = begin + val bind : m:Member -> LowType list + val return' : m:Member -> LowType list + val returnFrom : m:Member -> LowType list + val run : m:Member -> LowType list + val zero : m:Member -> LowType list + val source : m:Member -> LowType list + val customOperation : m:Member -> LowType + end + module BuilderMethod = begin + val bind : _arg1:Member -> bool + val delay : _arg1:Member -> bool + val return' : _arg1:Member -> bool + val returnFrom : _arg1:Member -> bool + val combine : _arg1:Member -> bool + val for' : _arg1:Member -> bool + val tryFinally : _arg1:Member -> bool + val tryWith : _arg1:Member -> bool + val using : _arg1:Member -> bool + val while' : _arg1:Member -> bool + val yield' : _arg1:Member -> bool + val yieldFrom : _arg1:Member -> bool + val zero : _arg1:Member -> bool + end + val extractTypes : + typeDef:FullTypeDefinition -> + customOperations:seq -> seq + val hasMethod : + builderTypeDef:FullTypeDefinition -> f:(Member -> bool) -> bool + val syntaxMethods : (string * (Member -> bool) list) list + val hasSyntax : + builderTypeDef:FullTypeDefinition -> + expectedMethods:(Member -> bool) list -> bool + val extractSyntaxes : builderTypeDef:FullTypeDefinition -> Set + end + +namespace FSharpApiSearch + module ApiLoader = begin + type TypeForward = + {Type: string; + From: string; + To: string;} + module internal Impl = begin + type XmlDocCache = System.Collections.Generic.IDictionary + val createXmlDocCache : + xml:System.Xml.Linq.XElement -> + System.Collections.Generic.IDictionary + val VariableSource : VariableSource + val inline tryGetXmlDoc : + cache:XmlDocCache option -> symbol: ^a -> string option + when ^a : (member get_XmlDocSig : ^a -> string) + val genericSuffix : System.Text.RegularExpressions.Regex + val inline compiledName : + symbol: ^a -> string + when ^a : (member get_CompiledName : ^a -> string) + type FSharpGenericParameter with + member IsAutoGeneric : bool + type FSharpGenericParameter with + member TypeVariable : TypeVariable + val genericParameters : + e:Compiler.SourceCodeServices.FSharpEntity -> TypeVariable list + type FSharpEntity with + member TypeAbbreviationFullName : string + type FSharpEntity with + member LoadingFullIdentity : FullIdentity + type FSharpEntity with + member Identity : LowType + type FSharpEntity with + member IsTuple : bool + type FSharpEntity with + member IsCompilerInternalModule : bool + type FSharpEntity with + member GetDisplayName : unit -> DisplayNameItem + type FSharpType with + member TryIdentity : LowType option + type FSharpType with + member TryFullIdentity : FullIdentity option + val compiledNameOfProperty : + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> string + type FSharpMemberOrFunctionOrValue with + member IsStaticMember : bool + type FSharpMemberOrFunctionOrValue with + member IsMethod : bool + type FSharpMemberOrFunctionOrValue with + member IsCSharpExtensionMember : bool + type FSharpMemberOrFunctionOrValue with + member MemberModifier : MemberModifier + type FSharpMemberOrFunctionOrValue with + member PropertyKind : PropertyKind + type FSharpMemberOrFunctionOrValue with + member TargetSignatureConstructor : (LowType -> Member -> ApiSignature) + type FSharpMemberOrFunctionOrValue with + member GenericParametersAsTypeVariable : TypeVariable list + type FSharpMemberOrFunctionOrValue with + member GetDisplayName : DisplayNameItem + type FSharpField with + member TargetSignatureConstructor : (LowType -> Member -> ApiSignature) + val accessibility : + e:Compiler.SourceCodeServices.FSharpEntity -> Accessibility + val autoGenericVariableLen : int + val isByRef : t:Compiler.SourceCodeServices.FSharpType -> bool + val fsharpTypeToLowType : + t:Compiler.SourceCodeServices.FSharpType -> LowType option + val delegateArrow : + t:Compiler.SourceCodeServices.FSharpType -> LowType list option + val abbreviationRoot : + t:Compiler.SourceCodeServices.FSharpType -> LowType option + val toFlatArrow : + t:Compiler.SourceCodeServices.FSharpType -> LowType list option + val listLowType : + ts:seq -> LowType list option + val fsharpEntityToLowType : + x:Compiler.SourceCodeServices.FSharpEntity -> LowType + val collectTypeConstraints : + genericParamters:seq -> + TypeConstraint list + val private ( |Fs_option|_| ) : _arg1:LowType -> LowType option + val private ( |Fs_Option|_| ) : _arg1:LowType -> LowType option + val private ( |IsOption|_| ) : _arg1:LowType -> LowType option + val unwrapFsOptionalParameter : _arg1:LowType -> LowType + val loadByRef : + p:Compiler.SourceCodeServices.FSharpParameter -> t:LowType -> LowType + val curriedParameterGroups : + isFSharp:bool -> + t:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + Parameter list list option + val complementUnitParameter : + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + ps:Parameter list list -> Parameter list list + val toMemberName : name:DisplayNameItem -> string + val methodMember : + isFSharp:bool -> + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + (DisplayNameItem * Member) option + val propertyMember : + isFSharp:bool -> + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + (DisplayNameItem * Member) option + val toModuleValue : + isFSharp:bool -> + xml:XmlDocCache option -> + declaringModuleName:DisplayName -> + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + Api option + val toTypeExtension : + isFSharp:bool -> + xml:XmlDocCache option -> + declaringModuleName:DisplayName -> + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + Api option + val toFSharpApi : + isFSharp:bool -> + xml:XmlDocCache option -> + declaringModuleName:DisplayName -> + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + Api option + val constructorSignature : + isFSharp:bool -> + xml:XmlDocCache option -> + declaringSignatureName:DisplayName -> + declaringSignature:LowType -> + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + Api option + val memberSignature : + xml:XmlDocCache option -> + loadMember:(Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + (DisplayNameItem * Member) option) -> + declaringSignatureName:DisplayName -> + declaringEntity:Compiler.SourceCodeServices.FSharpEntity -> + declaringSignature:LowType -> + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + Api option + val isConstructor : + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> bool + val toTypeMemberApi : + xml:XmlDocCache option -> + declaringSignatureName:DisplayName -> + declaringEntity:Compiler.SourceCodeServices.FSharpEntity -> + declaringSignature:LowType -> + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + Api option + val toFieldApi : + xml:XmlDocCache option -> + accessPath:DisplayName -> + declaringEntity:Compiler.SourceCodeServices.FSharpEntity -> + declaringSignature:LowType -> + field:Compiler.SourceCodeServices.FSharpField -> Api option + val toUnionCaseField : + length:int -> + n:int * field:Compiler.SourceCodeServices.FSharpField -> + UnionCaseField option + val toUnionCaseApi : + xml:XmlDocCache option -> + accessPath:DisplayName -> + declaringEntity:Compiler.SourceCodeServices.FSharpEntity -> + declaringSignature:LowType -> + unionCase:Compiler.SourceCodeServices.FSharpUnionCase -> + Api option + val resolveConflictGenericArgumnet : + replacementVariables:LowType list -> + m:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + (TypeVariable * LowType) list + val genericParametersAndArguments : + t:Compiler.SourceCodeServices.FSharpType -> + (TypeVariable * LowType) list + val updateInterfaceDeclaringType : + declaringSignatureName:DisplayName -> + declaringSignature:LowType -> api:Api -> Api + val collectTypeAbbreviationDefinition : + xml:XmlDocCache option -> + accessPath:DisplayName -> + e:Compiler.SourceCodeServices.FSharpEntity -> seq + val boolToConstraintStatus : _arg1:bool -> ConstraintStatus + val supportNull : e:Compiler.SourceCodeServices.FSharpEntity -> bool + val isStruct : e:Compiler.SourceCodeServices.FSharpEntity -> bool + val hasDefaultConstructor : xs:seq -> bool + type EqualityAndComparisonLoaderBuilder = + {ConditionalAttrName: string; + CustomAttrName: string; + NoAttrName: string; + SatisfyTypes: string list; + ExpectedInterfaces: string list;} + val loadEqualityAndComparison : + builder:EqualityAndComparisonLoaderBuilder -> + e:Compiler.SourceCodeServices.FSharpEntity -> + Map * ConstraintStatus + val equality : + e:Compiler.SourceCodeServices.FSharpEntity -> + Map * ConstraintStatus + val comparison : + e:Compiler.SourceCodeServices.FSharpEntity -> + Map * ConstraintStatus + val typeDefKind : + e:Compiler.SourceCodeServices.FSharpEntity -> TypeDefinitionKind + val fullTypeDef : + xml:XmlDocCache option -> + name:DisplayName -> + e:Compiler.SourceCodeServices.FSharpEntity -> + members:seq -> (Api * FullTypeDefinition) option + val moduleDef : + xml:XmlDocCache option -> + name:DisplayName -> e:Compiler.SourceCodeServices.FSharpEntity -> Api + val tryExtractSyntaxes : + typeDef:FullTypeDefinition -> + customOperations:seq -> Set option + val computationExpression : + xml:string option -> + typeDef:FullTypeDefinition -> + customOperations:seq -> Api option + val isCustomOperation : + x:Compiler.SourceCodeServices.FSharpMemberOrFunctionOrValue -> + string option + val collectApi : + xml:XmlDocCache option -> + accessPath:DisplayName -> + e:Compiler.SourceCodeServices.FSharpEntity -> seq + val collectFromNestedEntities : + xml:XmlDocCache option -> + accessPath:DisplayName -> + e:Compiler.SourceCodeServices.FSharpEntity -> seq + val collectFromModule : + xml:XmlDocCache option -> + accessPath:DisplayName -> + e:Compiler.SourceCodeServices.FSharpEntity -> seq + val collectFromType : + xml:XmlDocCache option -> + accessPath:DisplayName -> + e:Compiler.SourceCodeServices.FSharpEntity -> seq + val tryGetXml : + assembly:Compiler.SourceCodeServices.FSharpAssembly -> + System.Xml.Linq.XElement option + val typeDefsDict : + xs:seq -> + System.Collections.Generic.Dictionary + val makeDefAndAbb : api:ApiDictionary -> ApiDictionary + val load : + assembly:Compiler.SourceCodeServices.FSharpAssembly -> ApiDictionary + module NameResolve = begin + type AssemblyCache = + System.Collections.Generic.IDictionary + type NameCache = (string * AssemblyCache) [] + module NameCache = begin + val tryGetValue : + key:string -> cache:NameCache -> AssemblyCache option + val getValue : key:string -> cache:NameCache -> AssemblyCache + end + type Context = + {Cache: NameCache; + ForwardingLogs: + System.Collections.Generic.IDictionary;} + val tryGetValue : + key:'a -> + dict:System.Collections.Generic.IDictionary<'a,'b> -> 'b option + val tryResolve_Name : + name:Name -> assemblyCache:AssemblyCache -> Name option + val typeForwarding : + context:Context -> fromAssemblyName:string -> name:Name -> Name option + val resolve_Name : context:Context -> name:Name -> Name + val resolve_LowType : context:Context -> _arg1:LowType -> LowType + val resolve_Identity : cache:Context -> _arg2:Identity -> Identity + val resolve_Signature : + context:Context -> apiSig:ApiSignature -> ApiSignature + val resolve_TypeConstraint : + context:Context -> constraint':TypeConstraint -> TypeConstraint + val resolve_Api : context:Context -> api:Api -> Api + val resolve_ApiDictionary : + cache:NameCache -> + apiDic:ApiDictionary -> ApiDictionary * seq + val resolveLoadingName : + dictionaries:ApiDictionary [] -> (ApiDictionary * seq) [] + end + module AutoGenericResolve = begin + val variables : name:Name -> TypeVariable list + val replaceVariables : + table:Map -> + variables:TypeVariable list -> TypeVariable list + val replaceName : + table:Map -> name:Name -> Name + val resolve_TypeConstraint : + variableTable:Map -> + lowTypeTable:Map -> + constraint':TypeConstraint -> TypeConstraint + val resolve_ApiSignature : + table:Map -> apiSig:ApiSignature -> ApiSignature + val resolve_Api : api:Api -> Api + val resolveAutoGeneric : apiDict:ApiDictionary -> ApiDictionary + end + end + val loadWithLogs : + assemblies:Compiler.SourceCodeServices.FSharpAssembly [] -> + (ApiDictionary * seq) [] + val load : + assemblies:Compiler.SourceCodeServices.FSharpAssembly [] -> + ApiDictionary [] + val databaseName : string + module internal Serialization = begin + type T = (string * Api []) [] + val toDumpObj : xs:ApiDictionary [] -> T + val fromDumpObj : xs:T -> ApiDictionary [] + end + val internal initMessagePack : Lazy + val internal saveStream : + stream:System.IO.Stream -> dictionaries:ApiDictionary [] -> unit + val save : path:string -> dictionaries:ApiDictionary [] -> unit + val internal loadFromStream : stream:System.IO.Stream -> ApiDictionary [] + val loadFromFile : path:string -> ApiDictionary [] + end + +namespace FSharpApiSearch + type TargetSummary = + {AssemblyName: string; + PublicApiNumber: int;} + type FSharpApiSearchClient = + class + new : targets:seq * dictionaries:seq -> + FSharpApiSearchClient + member Search : query:string * options:SearchOptions -> seq + member Sort : results:seq -> seq + member TargetAssemblies : string list + member Targets : TargetSummary list + static member DefaultReferences : string list + static member DefaultTargets : string list + end + +namespace FSharpApiSearch + type LinkGenerator = Api -> string option + module LinkGenerator = begin + val internal genericParameters : api:Api -> TypeVariable list + val internal toLower : str:string -> string + val internal urlEncode : str:string -> string + val urlName : n:DisplayNameItem -> string + module internal FSharp = begin + val fullOpReplaceTable : + System.Collections.Generic.IDictionary + val opReplaceTable : System.Collections.Generic.IDictionary + val isActivePattern : api:Api -> bool + val replaceOp : name:string -> string + val isArray : n:DisplayNameItem -> bool + val generate : api:Api -> string option + end + module internal Msdn = begin + val isGeneric : api:Api -> bool + val canGenerate : api:Api -> bool + val generate : api:Api -> string option + end + module internal DotNetApiBrowser = begin + type VariableMemory = System.Collections.Generic.Dictionary + val variableId : + kind:ApiKind -> + name:DisplayName -> + System.Collections.Generic.Dictionary + val nameElementsAndVariableId : + api:Api -> + string [] * System.Collections.Generic.Dictionary + val urlPart : + elems:seq -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val parameterElement : + api:Api -> + variableMemory:LinkGenerator.DotNetApiBrowser.VariableMemory -> + t:LowType -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val hasParameter : member':Member -> bool + val hashPart : + nameElems:string [] -> + variableMemory:LinkGenerator.DotNetApiBrowser.VariableMemory -> + member':Member -> + api:Api -> + sb:System.Text.StringBuilder -> System.Text.StringBuilder + val generate : view:string -> api:Api -> string option + end + val fsharp : baseUrl:string -> api:Api -> string option + val msdn : baseUrl:string -> api:Api -> string option + val dotNetApiBrowser : + baseUrl:string -> view:string -> api:Api -> string option + end +