Math.NET Numerics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

109 lines
5.4 KiB

// (c) Microsoft Corporation. All rights reserved
#light
module (* internal *) Microsoft.FSharp.Compiler.TypeChecker
open Internal.Utilities
open Internal.Utilities.Pervasives
open Microsoft.FSharp.Compiler.AbstractIL
open Microsoft.FSharp.Compiler.AbstractIL.IL
open Microsoft.FSharp.Compiler.AbstractIL.Internal
open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library
open Microsoft.FSharp.Compiler
open Microsoft.FSharp.Compiler.Range
open Microsoft.FSharp.Compiler.Ast
open Microsoft.FSharp.Compiler.ErrorLogger
open Microsoft.FSharp.Compiler.Tast
open Microsoft.FSharp.Compiler.Tastops
open Microsoft.FSharp.Compiler.Lib
open Microsoft.FSharp.Compiler.Infos
[<Sealed>]
type tcEnv =
member DisplayEnv : DisplayEnv
(* Incremental construction of environments, e.g. for F# Interactive *)
val internal CreateInitialTcEnv : Env.TcGlobals * Import.ImportMap * range * (ccu * string list * bool) list -> tcEnv
val internal AddCcuToTcEnv : Env.TcGlobals * Import.ImportMap * range * tcEnv * ccu * autoOpens: string list * bool -> tcEnv
val internal AddLocalTopRootedModuleOrNamespace : Env.TcGlobals -> Import.ImportMap -> range -> tcEnv -> ModuleOrNamespaceType -> tcEnv
val internal TcOpenDecl : Env.TcGlobals -> Import.ImportMap -> range -> range -> tcEnv -> Ast.LongIdent -> tcEnv
type topAttribs =
{ mainMethodAttrs : Attribs;
netModuleAttrs : Attribs;
assemblyAttrs : Attribs }
type conditionalDefines =
string list
val internal EmptyTopAttrs : topAttribs
val internal CombineTopAttrs : topAttribs -> topAttribs -> topAttribs
val internal TypecheckOneImplFile :
Env.TcGlobals * NiceNameGenerator * Import.ImportMap * ccu * (unit -> bool) * conditionalDefines
-> tcEnv
-> Tast.ModuleOrNamespaceType option
-> implFile
-> Eventually<topAttribs * Tast.TypedImplFile * tcEnv>
val internal TypecheckOneSigFile :
Env.TcGlobals * NiceNameGenerator * Import.ImportMap * ccu * (unit -> bool) * conditionalDefines
-> tcEnv
-> sigFile
-> Eventually<tcEnv * tcEnv * ModuleOrNamespaceType >
(*-------------------------------------------------------------------------
* exceptions arising from type checking
*------------------------------------------------------------------------- *)
exception internal BakedInMemberConstraintName of string * range
exception internal FunctionExpected of DisplayEnv * typ * range
exception internal NotAFunction of DisplayEnv * typ * range * range
exception internal Recursion of DisplayEnv * Ast.ident * typ * typ * range
exception internal RecursiveUseCheckedAtRuntime of DisplayEnv * ValRef * range
exception internal LetRecEvaluatedOutOfOrder of DisplayEnv * ValRef * ValRef * range
exception internal LetRecCheckedAtRuntime of range
exception internal LetRecUnsound of DisplayEnv * ValRef list * range
exception internal TyconBadArgs of DisplayEnv * TyconRef * int * range
exception internal UnionCaseWrongArguments of DisplayEnv * int * int * range
exception internal UnionCaseWrongNumberOfArgs of DisplayEnv * int * int * range
exception internal FieldsFromDifferentTypes of DisplayEnv * RecdFieldRef * RecdFieldRef * range
exception internal FieldGivenTwice of DisplayEnv * RecdFieldRef * range
exception internal MissingFields of string list * range
exception internal UnitTypeExpected of DisplayEnv * Tast.typ * bool * range
exception internal FunctionValueUnexpected of DisplayEnv * Tast.typ * range
exception internal UnionPatternsBindDifferentNames of range
exception internal VarBoundTwice of Ast.ident
exception internal ValueRestriction of DisplayEnv * bool * Val * Typar * range
exception internal FieldNotMutable of DisplayEnv * RecdFieldRef * range
exception internal ValNotMutable of DisplayEnv * ValRef * range
exception internal ValNotLocal of DisplayEnv * ValRef * range
exception internal InvalidRuntimeCoercion of DisplayEnv * typ * typ * range
exception internal IndeterminateRuntimeCoercion of DisplayEnv * typ * typ * range
exception internal IndeterminateStaticCoercion of DisplayEnv * typ * typ * range
exception internal StaticCoercionShouldUseBox of DisplayEnv * typ * typ * range
exception internal RuntimeCoercionSourceSealed of DisplayEnv * typ * range
exception internal CoercionTargetSealed of DisplayEnv * typ * range
exception internal UpcastUnnecessary of range
exception internal TypeTestUnnecessary of range
exception internal SelfRefObjCtor of bool * range
exception internal VirtualAugmentationOnNullValuedType of range
exception internal NonVirtualAugmentationOnNullValuedType of range
exception internal UseOfAddressOfOperator of range
exception internal DeprecatedThreadStaticBindingWarning of range
exception internal NotUpperCaseConstructor of range
exception internal IntfImplInIntrinsicAugmentation of range
exception internal IntfImplInExtrinsicAugmentation of range
exception internal OverrideInIntrinsicAugmentation of range
exception internal OverrideInExtrinsicAugmentation of range
exception internal NonUniqueInferredAbstractSlot of Env.TcGlobals * DisplayEnv * string * MethInfo * MethInfo * range
exception internal IndexOutOfRangeExceptionWarning of range
exception internal StandardOperatorRedefinitionWarning of string * range
exception internal ParameterlessStructCtor of range
val internal TcFieldInit : range -> ILFieldInit -> Tast.Constant
val public nenv_of_tenv : tcEnv -> Nameres.NameResolutionEnv
val public items_of_tenv : tcEnv -> Nameres.NamedItem NameMap