From a69908ced46f55c191d9864c3e0ad3e6dce16173 Mon Sep 17 00:00:00 2001 From: dsyme Date: Wed, 28 Jun 2017 15:56:32 +0100 Subject: [PATCH] docs --> docsrc --- .gitignore | 3 +- RELEASE_NOTES.md | 3 + build.fsx | 18 +- docs/caches.html | 160 + docs/compiler.html | 199 + docs/{files => }/content/fcs.css | 0 docs/content/img/github-blue.png | Bin 0 -> 817 bytes docs/content/img/github.png | Bin 0 -> 806 bytes docs/content/style.css | 226 + docs/{files => }/content/style.ja.css | 0 docs/content/style_light.css | 227 + docs/content/tips.js | 46 + docs/corelib.html | 193 + docs/devnotes.html | 141 + docs/editor.html | 361 ++ docs/filesystem.html | 371 ++ docs/fsharp-readme.html | 309 ++ docs/{files => }/images/en.png | Bin docs/{files => }/images/ja.png | Bin docs/{files => }/images/logo.png | Bin docs/index.html | 174 + docs/interactive.html | 446 ++ docs/ja/compiler.html | 191 + docs/ja/corelib.html | 167 + docs/ja/devnotes.html | 143 + docs/ja/editor.html | 379 ++ docs/ja/filesystem.html | 334 ++ docs/ja/fsharp-readme.html | 344 ++ docs/ja/index.html | 159 + docs/ja/interactive.html | 461 ++ docs/ja/project.html | 475 ++ docs/ja/symbols.html | 426 ++ docs/ja/tokenizer.html | 265 + docs/ja/untypedtree.html | 443 ++ docs/project.html | 597 +++ docs/queue.html | 135 + docs/react.html | 171 + docs/reference/index.html | 1212 +++++ ...al-utilities-structuredformat-display.html | 305 ++ ...lities-structuredformat-formatoptions.html | 363 ++ ...ilities-structuredformat-ienvironment.html | 171 + ...rnal-utilities-structuredformat-joint.html | 160 + ...nal-utilities-structuredformat-layout.html | 177 + ...-utilities-structuredformat-layoutops.html | 683 +++ ...-utilities-structuredformat-layouttag.html | 696 +++ ...utilities-structuredformat-taggedtext.html | 142 + ...ructuredformat-taggedtextops-literals.html | 340 ++ ...lities-structuredformat-taggedtextops.html | 644 +++ ...ies-structuredformat-taggedtextwriter.html | 140 + ...rp-compiler-abstractil-il-ilalignment.html | 175 + ...ompiler-abstractil-il-ilargconvention.html | 211 + ...p-compiler-abstractil-il-ilarraybound.html | 174 + ...-compiler-abstractil-il-ilarraybounds.html | 95 + ...p-compiler-abstractil-il-ilarrayshape.html | 195 + ...ler-abstractil-il-ilassemblylongevity.html | 193 + ...iler-abstractil-il-ilassemblymanifest.html | 374 ++ ...-compiler-abstractil-il-ilassemblyref.html | 284 ++ ...p-compiler-abstractil-il-ilattribelem.html | 412 ++ ...rp-compiler-abstractil-il-ilattribute.html | 142 + ...ler-abstractil-il-ilattributenamedarg.html | 97 + ...p-compiler-abstractil-il-ilattributes.html | 122 + ...rp-compiler-abstractil-il-ilbasictype.html | 355 ++ ...sharp-compiler-abstractil-il-ilboxity.html | 139 + ...-compiler-abstractil-il-ilcallingconv.html | 270 + ...iler-abstractil-il-ilcallingsignature.html | 157 + ...-fsharp-compiler-abstractil-il-ilcode.html | 175 + ...rp-compiler-abstractil-il-ilcodelabel.html | 98 + ...piler-abstractil-il-ilcomparisoninstr.html | 319 ++ ...fsharp-compiler-abstractil-il-ilconst.html | 175 + ...bstractil-il-ildefaultpinvokeencoding.html | 159 + ...arp-compiler-abstractil-il-ilenuminfo.html | 141 + ...arp-compiler-abstractil-il-ileventdef.html | 267 + ...rp-compiler-abstractil-il-ileventdefs.html | 142 + ...arp-compiler-abstractil-il-ileventref.html | 167 + ...piler-abstractil-il-ilexceptionclause.html | 175 + ...ompiler-abstractil-il-ilexceptionspec.html | 139 + ...stractil-il-ilexportedtypeorforwarder.html | 215 + ...actil-il-ilexportedtypesandforwarders.html | 122 + ...arp-compiler-abstractil-il-ilfielddef.html | 341 ++ ...rp-compiler-abstractil-il-ilfielddefs.html | 144 + ...rp-compiler-abstractil-il-ilfieldinit.html | 357 ++ ...arp-compiler-abstractil-il-ilfieldref.html | 159 + ...rp-compiler-abstractil-il-ilfieldspec.html | 225 + ...-compiler-abstractil-il-ilgenericargs.html | 203 + ...piler-abstractil-il-ilgenericargslist.html | 201 + ...r-abstractil-il-ilgenericparameterdef.html | 242 + ...-abstractil-il-ilgenericparameterdefs.html | 201 + ...piler-abstractil-il-ilgenericvariance.html | 157 + ...harp-compiler-abstractil-il-ilglobals.html | 487 ++ ...-fsharp-compiler-abstractil-il-ilguid.html | 95 + ...fsharp-compiler-abstractil-il-ilinstr.html | 1838 +++++++ ...mpiler-abstractil-il-illazymethodbody.html | 122 + ...fsharp-compiler-abstractil-il-illocal.html | 159 + ...mpiler-abstractil-il-illocaldebuginfo.html | 139 + ...ler-abstractil-il-illocaldebugmapping.html | 143 + ...sharp-compiler-abstractil-il-illocals.html | 201 + ...piler-abstractil-il-illocalsallocator.html | 168 + ...compiler-abstractil-il-ilmemberaccess.html | 231 + ...p-compiler-abstractil-il-ilmethodbody.html | 215 + ...rp-compiler-abstractil-il-ilmethoddef.html | 894 ++++ ...p-compiler-abstractil-il-ilmethoddefs.html | 164 + ...ompiler-abstractil-il-ilmethodimpldef.html | 144 + ...mpiler-abstractil-il-ilmethodimpldefs.html | 122 + ...rp-compiler-abstractil-il-ilmethodref.html | 289 ++ ...p-compiler-abstractil-il-ilmethodspec.html | 283 ++ ...ler-abstractil-il-ilmethodvirtualinfo.html | 175 + ...rp-compiler-abstractil-il-ilmoduledef.html | 516 ++ ...rp-compiler-abstractil-il-ilmoduleref.html | 186 + ...p-compiler-abstractil-il-ilnativetype.html | 772 +++ ...ompiler-abstractil-il-ilnativevariant.html | 895 ++++ ...er-abstractil-il-ilnestedexportedtype.html | 197 + ...r-abstractil-il-ilnestedexportedtypes.html | 122 + ...ompiler-abstractil-il-iloverridesspec.html | 172 + ...rp-compiler-abstractil-il-ilparameter.html | 251 + ...p-compiler-abstractil-il-ilparameters.html | 201 + ...p-compiler-abstractil-il-ilpermission.html | 121 + ...-compiler-abstractil-il-ilpermissions.html | 125 + ...arp-compiler-abstractil-il-ilplatform.html | 157 + ...-compiler-abstractil-il-ilpropertydef.html | 285 ++ ...compiler-abstractil-il-ilpropertydefs.html | 142 + ...-compiler-abstractil-il-ilpropertyref.html | 167 + ...arp-compiler-abstractil-il-ilreadonly.html | 139 + ...p-compiler-abstractil-il-ilreferences.html | 139 + ...arp-compiler-abstractil-il-ilresource.html | 209 + ...mpiler-abstractil-il-ilresourceaccess.html | 139 + ...iler-abstractil-il-ilresourcelocation.html | 157 + ...rp-compiler-abstractil-il-ilresources.html | 124 + ...sharp-compiler-abstractil-il-ilreturn.html | 159 + ...arp-compiler-abstractil-il-ilscoperef.html | 285 ++ ...mpiler-abstractil-il-ilsecurityaction.html | 430 ++ ...mpiler-abstractil-il-ilsourcedocument.html | 208 + ...compiler-abstractil-il-ilsourcemarker.html | 224 + ...arp-compiler-abstractil-il-iltailcall.html | 139 + ...mpiler-abstractil-il-ilthisconvention.html | 163 + ...fsharp-compiler-abstractil-il-iltoken.html | 157 + ...-fsharp-compiler-abstractil-il-iltype.html | 447 ++ ...harp-compiler-abstractil-il-iltypedef.html | 631 +++ ...ompiler-abstractil-il-iltypedefaccess.html | 159 + ...-compiler-abstractil-il-iltypedefkind.html | 195 + ...ompiler-abstractil-il-iltypedeflayout.html | 159 + ...ler-abstractil-il-iltypedeflayoutinfo.html | 139 + ...arp-compiler-abstractil-il-iltypedefs.html | 191 + ...arp-compiler-abstractil-il-iltypeinit.html | 141 + ...harp-compiler-abstractil-il-iltyperef.html | 276 + ...fsharp-compiler-abstractil-il-iltypes.html | 201 + ...arp-compiler-abstractil-il-iltypespec.html | 254 + ...harp-compiler-abstractil-il-ilvarargs.html | 171 + ...-compiler-abstractil-il-ilversioninfo.html | 95 + ...p-compiler-abstractil-il-ilvolatility.html | 139 + ...arp-compiler-abstractil-il-methodbody.html | 175 + ...compiler-abstractil-il-methodcodekind.html | 157 + ...arp-compiler-abstractil-il-methodkind.html | 193 + ...bstractil-il-pinvokecallingconvention.html | 213 + ...iler-abstractil-il-pinvokecharbestfit.html | 157 + ...ler-abstractil-il-pinvokecharencoding.html | 175 + ...-compiler-abstractil-il-pinvokemethod.html | 247 + ...actil-il-pinvokethrowonunmappablechar.html | 157 + ...ompiler-abstractil-il-primaryassembly.html | 166 + ...harp-compiler-abstractil-il-publickey.html | 249 + ...crosoft-fsharp-compiler-abstractil-il.html | 4521 +++++++++++++++++ ...internal-library-anycallerthreadtoken.html | 124 + ...ler-abstractil-internal-library-array.html | 378 ++ ...ractil-internal-library-cancellable-1.html | 125 + ...l-internal-library-cancellablebuilder.html | 292 ++ ...il-internal-library-cancellablemodule.html | 347 ++ ...ternal-library-compilationthreadtoken.html | 129 + ...bstractil-internal-library-dictionary.html | 124 + ...tractil-internal-library-eventually-1.html | 156 + ...il-internal-library-eventuallybuilder.html | 274 + ...til-internal-library-eventuallymodule.html | 329 ++ ...actil-internal-library-executiontoken.html | 97 + ...il-internal-library-inlinedelayinit-1.html | 197 + ...tractil-internal-library-layeredmap-2.html | 148 + ...il-internal-library-layeredmultimap-2.html | 269 + ...iler-abstractil-internal-library-lazy.html | 124 + ...il-internal-library-lazywithcontext-2.html | 295 ++ ...ternal-library-lazywithcontextfailure.html | 176 + ...il-internal-library-list-frontandback.html | 125 + ...iler-abstractil-internal-library-list.html | 879 ++++ ...er-abstractil-internal-library-lock-1.html | 150 + ...abstractil-internal-library-locktoken.html | 98 + ...piler-abstractil-internal-library-map.html | 124 + ...l-internal-library-memoizationtable-2.html | 148 + ...bstractil-internal-library-multimap-2.html | 148 + ...actil-internal-library-multimapmodule.html | 214 + ...abstractil-internal-library-namemap-1.html | 148 + ...ractil-internal-library-namemapmodule.html | 616 +++ ...actil-internal-library-namemultimap-1.html | 148 + ...l-internal-library-namemultimapmodule.html | 286 ++ ...er-abstractil-internal-library-option.html | 232 + ...ler-abstractil-internal-library-order.html | 160 + ...-internal-library-resultorexception-1.html | 139 + ...ernal-library-resultorexceptionmodule.html | 197 + ...ternal-library-shim-defaultfilesystem.html | 122 + ...til-internal-library-shim-ifilesystem.html | 354 ++ ...iler-abstractil-internal-library-shim.html | 174 + ...er-abstractil-internal-library-string.html | 589 +++ ...er-abstractil-internal-library-tables.html | 124 + ...l-internal-library-undefinedexception.html | 95 + ...ternal-library-uniquestampgenerator-1.html | 167 + ...ractil-internal-library-valueoption-1.html | 204 + ...il-internal-library-valueoptionmodule.html | 142 + ...l-internal-library-valueorcancelled-1.html | 139 + ...-compiler-abstractil-internal-library.html | 885 ++++ ...ft-fsharp-compiler-ast-blockseparator.html | 97 + ...-fsharp-compiler-ast-customoperations.html | 124 + ...ft-fsharp-compiler-ast-expratomicflag.html | 145 + ...crosoft-fsharp-compiler-ast-fsharplib.html | 178 + .../microsoft-fsharp-compiler-ast-ident.html | 168 + ...p-compiler-ast-lexbuflocalxmldocstore.html | 101 + ...microsoft-fsharp-compiler-ast-lexcont.html | 122 + ...compiler-ast-lexerendlinecontinuation.html | 170 + ...arp-compiler-ast-lexerifdefexpression.html | 175 + ...t-fsharp-compiler-ast-lexerifdefstack.html | 118 + ...p-compiler-ast-lexerifdefstackentries.html | 201 + ...arp-compiler-ast-lexerifdefstackentry.html | 139 + ...piler-ast-lexerwhitespacecontinuation.html | 333 ++ ...crosoft-fsharp-compiler-ast-longident.html | 201 + ...fsharp-compiler-ast-longidentwithdots.html | 212 + ...osoft-fsharp-compiler-ast-memberflags.html | 193 + ...rosoft-fsharp-compiler-ast-memberkind.html | 215 + ...fsharp-compiler-ast-nicenamegenerator.html | 173 + ...arp-compiler-ast-parsedfsiinteraction.html | 139 + ...harp-compiler-ast-parsedhashdirective.html | 121 + ...ft-fsharp-compiler-ast-parsedimplfile.html | 121 + ...p-compiler-ast-parsedimplfilefragment.html | 157 + ...harp-compiler-ast-parsedimplfileinput.html | 121 + ...osoft-fsharp-compiler-ast-parsedinput.html | 166 + ...oft-fsharp-compiler-ast-parsedsigfile.html | 121 + ...rp-compiler-ast-parsedsigfilefragment.html | 157 + ...sharp-compiler-ast-parsedsigfileinput.html | 121 + ...soft-fsharp-compiler-ast-parserdetail.html | 139 + ...crosoft-fsharp-compiler-ast-prexmldoc.html | 246 + ...harp-compiler-ast-qualifiednameoffile.html | 193 + ...t-fsharp-compiler-ast-recordfieldname.html | 97 + ...soft-fsharp-compiler-ast-scopedpragma.html | 121 + ...osoft-fsharp-compiler-ast-seqexpronly.html | 125 + ...piler-ast-sequencepointinfoforbinding.html | 219 + ...piler-ast-sequencepointinfoforfinally.html | 139 + ...piler-ast-sequencepointinfoforforloop.html | 139 + ...-compiler-ast-sequencepointinfoforseq.html | 157 + ...mpiler-ast-sequencepointinfofortarget.html | 139 + ...-compiler-ast-sequencepointinfofortry.html | 157 + ...ler-ast-sequencepointinfoforwhileloop.html | 139 + ...compiler-ast-sequencepointinfoforwith.html | 139 + ...-compiler-ast-stablenicenamegenerator.html | 172 + ...crosoft-fsharp-compiler-ast-synaccess.html | 157 + ...rosoft-fsharp-compiler-ast-synarginfo.html | 123 + ...harp-compiler-ast-synargnamegenerator.html | 166 + ...soft-fsharp-compiler-ast-synattribute.html | 197 + ...oft-fsharp-compiler-ast-synattributes.html | 201 + ...rosoft-fsharp-compiler-ast-synbinding.html | 186 + ...ft-fsharp-compiler-ast-synbindingkind.html | 165 + ...arp-compiler-ast-synbindingreturninfo.html | 121 + ...-fsharp-compiler-ast-syncomponentinfo.html | 154 + ...icrosoft-fsharp-compiler-ast-synconst.html | 555 ++ ...sharp-compiler-ast-synconstructorargs.html | 139 + ...osoft-fsharp-compiler-ast-synenumcase.html | 150 + ...soft-fsharp-compiler-ast-synenumcases.html | 201 + ...-fsharp-compiler-ast-synexceptiondefn.html | 150 + ...arp-compiler-ast-synexceptiondefnrepr.html | 150 + ...t-fsharp-compiler-ast-synexceptionsig.html | 121 + ...microsoft-fsharp-compiler-ast-synexpr.html | 1417 ++++++ ...icrosoft-fsharp-compiler-ast-synfield.html | 123 + ...crosoft-fsharp-compiler-ast-synfields.html | 201 + ...oft-fsharp-compiler-ast-synindexerarg.html | 185 + ...microsoft-fsharp-compiler-ast-syninfo.html | 570 +++ ...-fsharp-compiler-ast-syninterfaceimpl.html | 121 + ...ft-fsharp-compiler-ast-synmatchclause.html | 167 + ...rosoft-fsharp-compiler-ast-synmeasure.html | 250 + ...oft-fsharp-compiler-ast-synmemberdefn.html | 340 ++ ...ft-fsharp-compiler-ast-synmemberdefns.html | 201 + ...soft-fsharp-compiler-ast-synmembersig.html | 196 + ...oft-fsharp-compiler-ast-synmembersigs.html | 201 + ...oft-fsharp-compiler-ast-synmoduledecl.html | 310 ++ ...ft-fsharp-compiler-ast-synmoduledecls.html | 201 + ...arp-compiler-ast-synmoduleornamespace.html | 150 + ...-compiler-ast-synmoduleornamespacesig.html | 121 + ...-fsharp-compiler-ast-synmodulesigdecl.html | 274 + ...fsharp-compiler-ast-synmodulesigdecls.html | 201 + .../microsoft-fsharp-compiler-ast-synpat.html | 504 ++ ...-fsharp-compiler-ast-synrationalconst.html | 159 + ...oft-fsharp-compiler-ast-synreturninfo.html | 126 + ...soft-fsharp-compiler-ast-synsimplepat.html | 168 + ...ler-ast-synsimplepatalternativeidinfo.html | 143 + ...oft-fsharp-compiler-ast-synsimplepats.html | 144 + ...r-ast-synstaticoptimizationconstraint.html | 139 + ...osoft-fsharp-compiler-ast-syntaxerror.html | 144 + ...icrosoft-fsharp-compiler-ast-syntypar.html | 148 + ...soft-fsharp-compiler-ast-syntypardecl.html | 123 + ...microsoft-fsharp-compiler-ast-syntype.html | 460 ++ ...fsharp-compiler-ast-syntypeconstraint.html | 325 ++ ...osoft-fsharp-compiler-ast-syntypedefn.html | 148 + ...t-fsharp-compiler-ast-syntypedefnkind.html | 301 ++ ...t-fsharp-compiler-ast-syntypedefnrepr.html | 184 + ...ft-fsharp-compiler-ast-syntypedefnsig.html | 125 + ...sharp-compiler-ast-syntypedefnsigrepr.html | 192 + ...rp-compiler-ast-syntypedefnsimplerepr.html | 295 ++ ...soft-fsharp-compiler-ast-synunioncase.html | 150 + ...oft-fsharp-compiler-ast-synunioncases.html | 201 + ...-fsharp-compiler-ast-synunioncasetype.html | 146 + ...rosoft-fsharp-compiler-ast-synvaldata.html | 121 + ...rosoft-fsharp-compiler-ast-synvalinfo.html | 152 + ...crosoft-fsharp-compiler-ast-synvalsig.html | 186 + ...-fsharp-compiler-ast-synvaltypardecls.html | 123 + ...ft-fsharp-compiler-ast-typarstaticreq.html | 139 + .../microsoft-fsharp-compiler-ast-xmldoc.html | 184 + ...t-fsharp-compiler-ast-xmldoccollector.html | 186 + ...oft-fsharp-compiler-ast-xmldocstatics.html | 149 + .../microsoft-fsharp-compiler-ast.html | 2302 +++++++++ ...sharp-compiler-errorlogger-buildphase.html | 303 ++ ...ler-errorlogger-buildphasesubcategory.html | 324 ++ ...iler-errorlogger-capturingerrorlogger.html | 167 + ...sharp-compiler-errorlogger-deprecated.html | 139 + ...oft-fsharp-compiler-errorlogger-error.html | 139 + ...harp-compiler-errorlogger-errorlogger.html | 187 + ...ler-errorlogger-errorloggerextensions.html | 283 ++ ...sharp-compiler-errorlogger-errorstyle.html | 195 + ...iler-errorlogger-errorwithsuggestions.html | 175 + ...ft-fsharp-compiler-errorlogger-exiter.html | 122 + ...arp-compiler-errorlogger-experimental.html | 139 + ...errorlogger-imperativeoperationresult.html | 95 + ...rp-compiler-errorlogger-internalerror.html | 139 + ...p-compiler-errorlogger-libraryuseonly.html | 121 + ...rp-compiler-errorlogger-numberederror.html | 139 + ...ompiler-errorlogger-operationresult-1.html | 139 + ...compiler-errorlogger-phaseddiagnostic.html | 261 + ...-errorlogger-possibleunverifiablecode.html | 121 + ...rp-compiler-errorlogger-reportederror.html | 128 + ...ompiler-errorlogger-stopprocessingexn.html | 123 + ...harp-compiler-errorlogger-suggestions.html | 95 + ...mpiler-errorlogger-trackerrorsbuilder.html | 238 + ...r-errorlogger-unresolvedpathreference.html | 157 + ...logger-unresolvedpathreferencenorange.html | 139 + ...-errorlogger-unresolvedreferenceerror.html | 139 + ...rrorlogger-unresolvedreferencenorange.html | 121 + ...piler-errorlogger-usercompilermessage.html | 157 + ...arp-compiler-errorlogger-wrappederror.html | 141 + ...microsoft-fsharp-compiler-errorlogger.html | 1352 +++++ ...osoft-fsharp-compiler-fsharperrorinfo.html | 273 + ...t-fsharp-compiler-fsharperrorseverity.html | 138 + ...interactive-shell-compilerinputstream.html | 152 + ...nteractive-shell-compileroutputstream.html | 150 + ...interactive-shell-evaluationeventargs.html | 208 + ...nteractive-shell-fsievaluationsession.html | 618 +++ ...-shell-fsievaluationsessionhostconfig.html | 532 ++ ...p-compiler-interactive-shell-fsivalue.html | 168 + ...interactive-shell-settings-ieventloop.html | 169 + ...ve-shell-settings-interactivesettings.html | 615 +++ ...p-compiler-interactive-shell-settings.html | 159 + ...oft-fsharp-compiler-interactive-shell.html | 167 + ...crosoft-fsharp-compiler-layout-layout.html | 95 + ...harp-compiler-layout-layoutrenderer-2.html | 200 + ...soft-fsharp-compiler-layout-layouttag.html | 95 + ...icrosoft-fsharp-compiler-layout-leftl.html | 232 + ...p-compiler-layout-navigabletaggedtext.html | 149 + ...osoft-fsharp-compiler-layout-noresult.html | 121 + ...rosoft-fsharp-compiler-layout-nostate.html | 121 + ...crosoft-fsharp-compiler-layout-rightl.html | 232 + ...microsoft-fsharp-compiler-layout-sepl.html | 304 ++ ...oft-fsharp-compiler-layout-taggedtext.html | 143 + ...ompiler-layout-taggedtextops-literals.html | 466 ++ ...-fsharp-compiler-layout-taggedtextops.html | 717 +++ ...icrosoft-fsharp-compiler-layout-wordl.html | 610 +++ .../microsoft-fsharp-compiler-layout.html | 840 +++ ...mpiler-prettynaming-activepatterninfo.html | 205 + ...-prettynaming-invalidmangledstaticarg.html | 121 + ...p-compiler-prettynaming-namearitypair.html | 121 + ...icrosoft-fsharp-compiler-prettynaming.html | 1001 ++++ ...osoft-fsharp-compiler-range-fileindex.html | 95 + .../microsoft-fsharp-compiler-range-line.html | 146 + ...microsoft-fsharp-compiler-range-line0.html | 97 + ...microsoft-fsharp-compiler-range-pos-0.html | 146 + .../microsoft-fsharp-compiler-range-pos.html | 207 + ...microsoft-fsharp-compiler-range-pos01.html | 97 + ...crosoft-fsharp-compiler-range-range-0.html | 144 + ...microsoft-fsharp-compiler-range-range.html | 379 ++ ...crosoft-fsharp-compiler-range-range01.html | 97 + .../microsoft-fsharp-compiler-range.html | 677 +++ ...codeservices-simplesourcecodeservices.html | 239 + ...ecodeservices-assemblycontentprovider.html | 147 + ...ourcecodeservices-assemblycontenttype.html | 144 + ...piler-sourcecodeservices-assemblypath.html | 132 + ...ler-sourcecodeservices-assemblysymbol.html | 264 + ...ervices-asttraversal-astvisitorbase-1.html | 427 ++ ...odeservices-asttraversal-traversepath.html | 201 + ...odeservices-asttraversal-traversestep.html | 231 + ...piler-sourcecodeservices-asttraversal.html | 230 + ...iler-sourcecodeservices-basicpatterns.html | 1013 ++++ ...ourcecodeservices-compilerenvironment.html | 124 + ...odeservices-compilerenvironmentmodule.html | 168 + ...-sourcecodeservices-completioncontext.html | 228 + ...sourcecodeservices-completionitemkind.html | 210 + ...ler-sourcecodeservices-completionpath.html | 94 + ...ourcecodeservices-debuggerenvironment.html | 128 + ...rp-compiler-sourcecodeservices-entity.html | 204 + ...mpiler-sourcecodeservices-entitycache.html | 171 + ...ompiler-sourcecodeservices-entitykind.html | 174 + ...-compiler-sourcecodeservices-envmisc2.html | 144 + ...ompiler-sourcecodeservices-extensions.html | 357 ++ ...ecodeservices-fsharpabstractparameter.html | 230 + ...ecodeservices-fsharpabstractsignature.html | 230 + ...ourcecodeservices-fsharpaccessibility.html | 167 + ...odeservices-fsharpaccessibilityrights.html | 96 + ...ecodeservices-fsharpactivepatterncase.html | 209 + ...codeservices-fsharpactivepatterngroup.html | 188 + ...ler-sourcecodeservices-fsharpassembly.html | 228 + ...cecodeservices-fsharpassemblycontents.html | 125 + ...ecodeservices-fsharpassemblysignature.html | 147 + ...er-sourcecodeservices-fsharpattribute.html | 208 + ...iler-sourcecodeservices-fsharpchecker.html | 960 ++++ ...rcecodeservices-fsharpcheckfileanswer.html | 140 + ...cecodeservices-fsharpcheckfileresults.html | 492 ++ ...odeservices-fsharpcheckprojectresults.html | 272 + ...odeservices-fsharpdeclarationlistinfo.html | 189 + ...odeservices-fsharpdeclarationlistitem.html | 381 ++ ...ecodeservices-fsharpdelegatesignature.html | 146 + ...urcecodeservices-fsharpdisplaycontext.html | 126 + ...odeservices-fsharpenclosingentitykind.html | 246 + ...piler-sourcecodeservices-fsharpentity.html | 1239 +++++ ...ompiler-sourcecodeservices-fsharpexpr.html | 170 + ...mpiler-sourcecodeservices-fsharpfield.html | 461 ++ ...eservices-fsharpfinddeclfailurereason.html | 184 + ...urcecodeservices-fsharpfinddeclresult.html | 144 + ...cecodeservices-fsharpgenericparameter.html | 272 + ...ices-fsharpgenericparameterconstraint.html | 503 ++ ...pgenericparameterdefaultstoconstraint.html | 146 + ...arpgenericparameterdelegateconstraint.html | 146 + ...sharpgenericparametermemberconstraint.html | 209 + ...mpiler-sourcecodeservices-fsharpglyph.html | 480 ++ ...ices-fsharpimplementationfilecontents.html | 209 + ...s-fsharpimplementationfiledeclaration.html | 164 + ...cecodeservices-fsharpinlineannotation.html | 182 + ...ourcecodeservices-fsharplinetokenizer.html | 173 + ...eservices-fsharpmemberfunctionorvalue.html | 1240 +++++ ...ervices-fsharpmemberorfunctionorvalue.html | 1261 +++++ ...-sourcecodeservices-fsharpmemberorval.html | 1240 +++++ ...-sourcecodeservices-fsharpmethodgroup.html | 146 + ...rcecodeservices-fsharpmethodgroupitem.html | 294 ++ ...rvices-fsharpmethodgroupitemparameter.html | 232 + ...vices-fsharpnavigationdeclarationitem.html | 294 ++ ...s-fsharpnavigationdeclarationitemkind.html | 266 + ...rcecodeservices-fsharpnavigationitems.html | 125 + ...s-fsharpnavigationtopleveldeclaration.html | 141 + ...es-fsharpnoteworthyparaminfolocations.html | 267 + ...codeservices-fsharpobjectexproverride.html | 188 + ...er-sourcecodeservices-fsharpparameter.html | 251 + ...cecodeservices-fsharpparsefileresults.html | 248 + ...urcecodeservices-fsharpprojectcontext.html | 145 + ...urcecodeservices-fsharpprojectoptions.html | 307 ++ ...-sourcecodeservices-fsharprecordfield.html | 461 ++ ...rcecodeservices-fsharpsourcetokenizer.html | 167 + ...rcecodeservices-fsharpstaticparameter.html | 228 + ...rvices-fsharpstructuredtooltipelement.html | 96 + ...eservices-fsharpstructuredtooltiptext.html | 94 + ...piler-sourcecodeservices-fsharpsymbol.html | 324 ++ ...er-sourcecodeservices-fsharpsymboluse.html | 315 ++ ...ourcecodeservices-fsharptokencharkind.html | 313 ++ ...urcecodeservices-fsharptokencolorkind.html | 332 ++ ...er-sourcecodeservices-fsharptokeninfo.html | 262 + ...odeservices-fsharptokenizercolorstate.html | 351 ++ ...ecodeservices-fsharptokenizerlexstate.html | 96 + ...ler-sourcecodeservices-fsharptokentag.html | 1007 ++++ ...ecodeservices-fsharptokentriggerclass.html | 256 + ...cecodeservices-fsharptooltipelement-1.html | 202 + ...urcecodeservices-fsharptooltipelement.html | 96 + ...ourcecodeservices-fsharptooltiptext-1.html | 124 + ...-sourcecodeservices-fsharptooltiptext.html | 94 + ...ompiler-sourcecodeservices-fsharptype.html | 589 +++ ...er-sourcecodeservices-fsharpunioncase.html | 314 ++ ...piler-sourcecodeservices-fsharpxmldoc.html | 164 + ...rcecodeservices-iassemblycontentcache.html | 146 + ...rp-compiler-sourcecodeservices-idents.html | 96 + ...sourcecodeservices-inheritancecontext.html | 156 + ...iler-sourcecodeservices-insertcontext.html | 144 + ...-compiler-sourcecodeservices-keywords.html | 165 + ...rp-compiler-sourcecodeservices-layout.html | 94 + ...ompiler-sourcecodeservices-lookuptype.html | 140 + ...urcecodeservices-maybeunresolvedident.html | 140 + ...rcecodeservices-maybeunresolvedidents.html | 96 + ...ompiler-sourcecodeservices-modulekind.html | 138 + ...urcecodeservices-navigateto-container.html | 139 + ...codeservices-navigateto-containertype.html | 193 + ...codeservices-navigateto-navigableitem.html | 193 + ...services-navigateto-navigableitemkind.html | 301 ++ ...ompiler-sourcecodeservices-navigateto.html | 158 + ...mpiler-sourcecodeservices-parsedinput.html | 187 + ...-compiler-sourcecodeservices-position.html | 94 + ...piler-sourcecodeservices-prettynaming.html | 237 + ...arp-compiler-sourcecodeservices-range.html | 94 + ...iler-sourcecodeservices-recordcontext.html | 156 + ...compiler-sourcecodeservices-scopekind.html | 194 + ...deservices-semanticclassificationtype.html | 372 ++ ...ompiler-sourcecodeservices-shortident.html | 132 + ...er-sourcecodeservices-stringlongident.html | 132 + ...ecodeservices-unresolvedreferencesset.html | 96 + ...r-sourcecodeservices-unresolvedsymbol.html | 138 + ...r-sourcecodeservices-untypedparseimpl.html | 213 + docs/symbols.html | 417 ++ docs/tokenizer.html | 257 + docs/typedtree.html | 537 ++ docs/untypedtree.html | 414 ++ {docs => docsrc}/content/caches.fsx | 0 {docs => docsrc}/content/compiler.fsx | 0 {docs => docsrc}/content/corelib.fsx | 0 {docs => docsrc}/content/devnotes.md | 0 {docs => docsrc}/content/editor.fsx | 0 {docs => docsrc}/content/filesystem.fsx | 0 {docs => docsrc}/content/fsharp-readme.md | 0 {docs => docsrc}/content/index.md | 0 {docs => docsrc}/content/interactive.fsx | 0 {docs => docsrc}/content/ja/compiler.fsx | 0 {docs => docsrc}/content/ja/corelib.fsx | 0 {docs => docsrc}/content/ja/devnotes.md | 0 {docs => docsrc}/content/ja/editor.fsx | 0 {docs => docsrc}/content/ja/filesystem.fsx | 0 {docs => docsrc}/content/ja/fsharp-readme.md | 0 {docs => docsrc}/content/ja/index.md | 0 {docs => docsrc}/content/ja/interactive.fsx | 0 {docs => docsrc}/content/ja/project.fsx | 0 {docs => docsrc}/content/ja/symbols.fsx | 0 {docs => docsrc}/content/ja/tokenizer.fsx | 0 {docs => docsrc}/content/ja/untypedtree.fsx | 0 {docs => docsrc}/content/project.fsx | 0 {docs => docsrc}/content/queue.fsx | 0 {docs => docsrc}/content/react.fsx | 0 {docs => docsrc}/content/symbols.fsx | 0 {docs => docsrc}/content/tokenizer.fsx | 0 {docs => docsrc}/content/typedtree.fsx | 0 {docs => docsrc}/content/untypedtree.fsx | 0 docsrc/files/content/fcs.css | 34 + docsrc/files/content/style.ja.css | 190 + docsrc/files/images/en.png | Bin 0 -> 842 bytes docsrc/files/images/ja.png | Bin 0 -> 335 bytes docsrc/files/images/logo.png | Bin 0 -> 4357 bytes {docs => docsrc}/tools/generate.fsx | 16 +- {docs => docsrc}/tools/generate.ja.fsx | 10 +- .../tools/templates/ja/template.cshtml | 0 .../tools/templates/template.cshtml | 0 539 files changed, 126403 insertions(+), 33 deletions(-) create mode 100644 docs/caches.html create mode 100644 docs/compiler.html rename docs/{files => }/content/fcs.css (100%) create mode 100644 docs/content/img/github-blue.png create mode 100644 docs/content/img/github.png create mode 100644 docs/content/style.css rename docs/{files => }/content/style.ja.css (100%) create mode 100644 docs/content/style_light.css create mode 100644 docs/content/tips.js create mode 100644 docs/corelib.html create mode 100644 docs/devnotes.html create mode 100644 docs/editor.html create mode 100644 docs/filesystem.html create mode 100644 docs/fsharp-readme.html rename docs/{files => }/images/en.png (100%) rename docs/{files => }/images/ja.png (100%) rename docs/{files => }/images/logo.png (100%) create mode 100644 docs/index.html create mode 100644 docs/interactive.html create mode 100644 docs/ja/compiler.html create mode 100644 docs/ja/corelib.html create mode 100644 docs/ja/devnotes.html create mode 100644 docs/ja/editor.html create mode 100644 docs/ja/filesystem.html create mode 100644 docs/ja/fsharp-readme.html create mode 100644 docs/ja/index.html create mode 100644 docs/ja/interactive.html create mode 100644 docs/ja/project.html create mode 100644 docs/ja/symbols.html create mode 100644 docs/ja/tokenizer.html create mode 100644 docs/ja/untypedtree.html create mode 100644 docs/project.html create mode 100644 docs/queue.html create mode 100644 docs/react.html create mode 100644 docs/reference/index.html create mode 100644 docs/reference/internal-utilities-structuredformat-display.html create mode 100644 docs/reference/internal-utilities-structuredformat-formatoptions.html create mode 100644 docs/reference/internal-utilities-structuredformat-ienvironment.html create mode 100644 docs/reference/internal-utilities-structuredformat-joint.html create mode 100644 docs/reference/internal-utilities-structuredformat-layout.html create mode 100644 docs/reference/internal-utilities-structuredformat-layoutops.html create mode 100644 docs/reference/internal-utilities-structuredformat-layouttag.html create mode 100644 docs/reference/internal-utilities-structuredformat-taggedtext.html create mode 100644 docs/reference/internal-utilities-structuredformat-taggedtextops-literals.html create mode 100644 docs/reference/internal-utilities-structuredformat-taggedtextops.html create mode 100644 docs/reference/internal-utilities-structuredformat-taggedtextwriter.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilalignment.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilargconvention.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarraybound.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarraybounds.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarrayshape.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblylongevity.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblymanifest.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblyref.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattribelem.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattribute.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattributenamedarg.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattributes.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilbasictype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilboxity.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcallingconv.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcallingsignature.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcode.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcodelabel.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcomparisoninstr.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilconst.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ildefaultpinvokeencoding.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilenuminfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventdef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventdefs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventref.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexceptionclause.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexceptionspec.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexportedtypeorforwarder.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexportedtypesandforwarders.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfielddef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfielddefs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldinit.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldref.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldspec.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericargs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericargslist.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericparameterdef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericparameterdefs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericvariance.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilglobals.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilguid.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilinstr.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-illazymethodbody.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-illocal.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-illocaldebuginfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-illocaldebugmapping.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-illocals.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-illocalsallocator.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmemberaccess.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodbody.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethoddef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethoddefs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodimpldef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodimpldefs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodref.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodspec.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodvirtualinfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmoduledef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmoduleref.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnativetype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnativevariant.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnestedexportedtype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnestedexportedtypes.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iloverridesspec.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilparameter.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilparameters.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpermission.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpermissions.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilplatform.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertydef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertydefs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertyref.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreadonly.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreferences.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresource.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresourceaccess.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresourcelocation.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresources.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreturn.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilscoperef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsecurityaction.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsourcedocument.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsourcemarker.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltailcall.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilthisconvention.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltoken.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefaccess.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedeflayout.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedeflayoutinfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypeinit.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltyperef.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypes.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypespec.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilvarargs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilversioninfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-ilvolatility.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-methodbody.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-methodcodekind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-methodkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecallingconvention.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecharbestfit.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecharencoding.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokemethod.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokethrowonunmappablechar.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-primaryassembly.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il-publickey.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-il.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-anycallerthreadtoken.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-array.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellable-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellablebuilder.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellablemodule.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-compilationthreadtoken.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-dictionary.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventually-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventuallybuilder.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventuallymodule.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-executiontoken.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-inlinedelayinit-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-layeredmap-2.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-layeredmultimap-2.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazy.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazywithcontext-2.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazywithcontextfailure.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-list-frontandback.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-list.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lock-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-locktoken.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-map.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-memoizationtable-2.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-multimap-2.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-multimapmodule.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemap-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemapmodule.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemultimap-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemultimapmodule.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-option.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-order.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-resultorexception-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-resultorexceptionmodule.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim-defaultfilesystem.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim-ifilesystem.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-string.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-tables.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-undefinedexception.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-uniquestampgenerator-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueoption-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueoptionmodule.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueorcancelled-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-abstractil-internal-library.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-blockseparator.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-customoperations.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-expratomicflag.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-fsharplib.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-ident.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-lexbuflocalxmldocstore.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-lexcont.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-lexerendlinecontinuation.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-lexerifdefexpression.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstack.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstackentries.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstackentry.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-lexerwhitespacecontinuation.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-longident.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-longidentwithdots.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-memberflags.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-memberkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-nicenamegenerator.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedfsiinteraction.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedhashdirective.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedimplfile.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedimplfilefragment.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedimplfileinput.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedinput.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedsigfile.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedsigfilefragment.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parsedsigfileinput.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-parserdetail.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-prexmldoc.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-qualifiednameoffile.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-recordfieldname.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-scopedpragma.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-seqexpronly.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforbinding.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforfinally.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforforloop.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforseq.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfofortarget.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfofortry.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforwhileloop.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforwith.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-stablenicenamegenerator.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synaccess.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synarginfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synargnamegenerator.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synattribute.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synattributes.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synbinding.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synbindingkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synbindingreturninfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syncomponentinfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synconst.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synconstructorargs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synenumcase.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synenumcases.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synexceptiondefn.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synexceptiondefnrepr.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synexceptionsig.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synexpr.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synfield.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synfields.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synindexerarg.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syninfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syninterfaceimpl.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmatchclause.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmeasure.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmemberdefn.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmemberdefns.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmembersig.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmembersigs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmoduledecl.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmoduledecls.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmoduleornamespace.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmoduleornamespacesig.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmodulesigdecl.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synmodulesigdecls.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synpat.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synrationalconst.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synreturninfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synsimplepat.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synsimplepatalternativeidinfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synsimplepats.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synstaticoptimizationconstraint.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntaxerror.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypar.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypardecl.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypeconstraint.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypedefn.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypedefnkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypedefnrepr.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsig.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsigrepr.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsimplerepr.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synunioncase.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synunioncases.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synunioncasetype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synvaldata.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synvalinfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synvalsig.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-synvaltypardecls.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-typarstaticreq.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-xmldoc.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-xmldoccollector.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast-xmldocstatics.html create mode 100644 docs/reference/microsoft-fsharp-compiler-ast.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-buildphase.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-buildphasesubcategory.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-capturingerrorlogger.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-deprecated.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-error.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-errorlogger.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-errorloggerextensions.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-errorstyle.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-errorwithsuggestions.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-exiter.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-experimental.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-imperativeoperationresult.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-internalerror.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-libraryuseonly.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-numberederror.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-operationresult-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-phaseddiagnostic.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-possibleunverifiablecode.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-reportederror.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-stopprocessingexn.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-suggestions.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-trackerrorsbuilder.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedpathreference.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedpathreferencenorange.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedreferenceerror.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedreferencenorange.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-usercompilermessage.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger-wrappederror.html create mode 100644 docs/reference/microsoft-fsharp-compiler-errorlogger.html create mode 100644 docs/reference/microsoft-fsharp-compiler-fsharperrorinfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-fsharperrorseverity.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-compilerinputstream.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-compileroutputstream.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-evaluationeventargs.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-fsievaluationsession.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-fsievaluationsessionhostconfig.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-fsivalue.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-settings-ieventloop.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-settings-interactivesettings.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell-settings.html create mode 100644 docs/reference/microsoft-fsharp-compiler-interactive-shell.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-layout.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-layoutrenderer-2.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-layouttag.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-leftl.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-navigabletaggedtext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-noresult.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-nostate.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-rightl.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-sepl.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-taggedtext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-taggedtextops-literals.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-taggedtextops.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout-wordl.html create mode 100644 docs/reference/microsoft-fsharp-compiler-layout.html create mode 100644 docs/reference/microsoft-fsharp-compiler-prettynaming-activepatterninfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-prettynaming-invalidmangledstaticarg.html create mode 100644 docs/reference/microsoft-fsharp-compiler-prettynaming-namearitypair.html create mode 100644 docs/reference/microsoft-fsharp-compiler-prettynaming.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-fileindex.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-line.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-line0.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-pos-0.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-pos.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-pos01.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-range-0.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-range.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range-range01.html create mode 100644 docs/reference/microsoft-fsharp-compiler-range.html create mode 100644 docs/reference/microsoft-fsharp-compiler-simplesourcecodeservices-simplesourcecodeservices.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblycontentprovider.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblycontenttype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblypath.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblysymbol.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-astvisitorbase-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-traversepath.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-traversestep.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-basicpatterns.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-compilerenvironment.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-compilerenvironmentmodule.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completioncontext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completionitemkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completionpath.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-debuggerenvironment.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entity.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entitycache.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entitykind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-envmisc2.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-extensions.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpabstractparameter.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpabstractsignature.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpaccessibility.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpaccessibilityrights.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpactivepatterncase.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpactivepatterngroup.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassembly.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassemblycontents.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassemblysignature.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpattribute.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpchecker.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckfileanswer.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckfileresults.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckprojectresults.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdeclarationlistinfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdeclarationlistitem.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdelegatesignature.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdisplaycontext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpenclosingentitykind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpentity.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpexpr.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfield.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfinddeclfailurereason.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfinddeclresult.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameter.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterconstraint.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterdefaultstoconstraint.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterdelegateconstraint.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparametermemberconstraint.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpglyph.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpimplementationfilecontents.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpimplementationfiledeclaration.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpinlineannotation.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharplinetokenizer.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberfunctionorvalue.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberorfunctionorvalue.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberorval.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroup.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroupitem.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroupitemparameter.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationdeclarationitem.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationdeclarationitemkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationitems.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationtopleveldeclaration.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnoteworthyparaminfolocations.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpobjectexproverride.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpparameter.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpparsefileresults.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpprojectcontext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpprojectoptions.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharprecordfield.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsourcetokenizer.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstaticparameter.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstructuredtooltipelement.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstructuredtooltiptext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsymbol.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsymboluse.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokencharkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokencolorkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokeninfo.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokenizercolorstate.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokenizerlexstate.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokentag.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokentriggerclass.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltipelement-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltipelement.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltiptext-1.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltiptext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpunioncase.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpxmldoc.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-iassemblycontentcache.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-idents.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-inheritancecontext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-insertcontext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-keywords.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-layout.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-lookuptype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-maybeunresolvedident.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-maybeunresolvedidents.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-modulekind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-container.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-containertype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-navigableitem.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-navigableitemkind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-parsedinput.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-position.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-prettynaming.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-range.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-recordcontext.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-scopekind.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-semanticclassificationtype.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-shortident.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-stringlongident.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-unresolvedreferencesset.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-unresolvedsymbol.html create mode 100644 docs/reference/microsoft-fsharp-compiler-sourcecodeservices-untypedparseimpl.html create mode 100644 docs/symbols.html create mode 100644 docs/tokenizer.html create mode 100644 docs/typedtree.html create mode 100644 docs/untypedtree.html rename {docs => docsrc}/content/caches.fsx (100%) rename {docs => docsrc}/content/compiler.fsx (100%) rename {docs => docsrc}/content/corelib.fsx (100%) rename {docs => docsrc}/content/devnotes.md (100%) rename {docs => docsrc}/content/editor.fsx (100%) rename {docs => docsrc}/content/filesystem.fsx (100%) rename {docs => docsrc}/content/fsharp-readme.md (100%) rename {docs => docsrc}/content/index.md (100%) rename {docs => docsrc}/content/interactive.fsx (100%) rename {docs => docsrc}/content/ja/compiler.fsx (100%) rename {docs => docsrc}/content/ja/corelib.fsx (100%) rename {docs => docsrc}/content/ja/devnotes.md (100%) rename {docs => docsrc}/content/ja/editor.fsx (100%) rename {docs => docsrc}/content/ja/filesystem.fsx (100%) rename {docs => docsrc}/content/ja/fsharp-readme.md (100%) rename {docs => docsrc}/content/ja/index.md (100%) rename {docs => docsrc}/content/ja/interactive.fsx (100%) rename {docs => docsrc}/content/ja/project.fsx (100%) rename {docs => docsrc}/content/ja/symbols.fsx (100%) rename {docs => docsrc}/content/ja/tokenizer.fsx (100%) rename {docs => docsrc}/content/ja/untypedtree.fsx (100%) rename {docs => docsrc}/content/project.fsx (100%) rename {docs => docsrc}/content/queue.fsx (100%) rename {docs => docsrc}/content/react.fsx (100%) rename {docs => docsrc}/content/symbols.fsx (100%) rename {docs => docsrc}/content/tokenizer.fsx (100%) rename {docs => docsrc}/content/typedtree.fsx (100%) rename {docs => docsrc}/content/untypedtree.fsx (100%) create mode 100644 docsrc/files/content/fcs.css create mode 100644 docsrc/files/content/style.ja.css create mode 100644 docsrc/files/images/en.png create mode 100644 docsrc/files/images/ja.png create mode 100644 docsrc/files/images/logo.png rename {docs => docsrc}/tools/generate.fsx (87%) rename {docs => docsrc}/tools/generate.ja.fsx (92%) rename {docs => docsrc}/tools/templates/ja/template.cshtml (100%) rename {docs => docsrc}/tools/templates/template.cshtml (100%) diff --git a/.gitignore b/.gitignore index 9690deec92..9a5400d0d2 100644 --- a/.gitignore +++ b/.gitignore @@ -136,7 +136,6 @@ src/fsharp/fsiAnyCpu/FSIstrings.resx bin packages -docs/output *.bak temp/ src/fsharp/fsi/FSIStrings.fs @@ -191,7 +190,7 @@ artifacts/*.nupkg *.ldf .paket/paket.exe paket-files -docs/tools/FSharp.Formatting.svclog +docsrc/tools/FSharp.Formatting.svclog src/fsharp/FSharp.Compiler.Service/pplex.fs src/fsharp/FSharp.Compiler.Service/pppars.fs src/fsharp/FSharp.Compiler.Service/pppars.fsi diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 257f77f3cc..f153d009f6 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,6 @@ +#### 13.0.1 + * Move docs --> docssrc + #### 13.0.0 * Move FSharp.Compiler.Service.MSBuild.v12.dll to a separate nuget package diff --git a/build.fsx b/build.fsx index 6823cecbfd..82c30fd2a9 100644 --- a/build.fsx +++ b/build.fsx @@ -96,7 +96,7 @@ Target "Clean" (fun _ -> ) Target "CleanDocs" (fun _ -> - CleanDirs ["docs/output"] + CleanDirs ["docs"] ) Target "Build.NetFx" (fun _ -> @@ -208,27 +208,16 @@ Target "PublishNuGet" (fun _ -> // Generate the documentation Target "GenerateDocs" (fun _ -> - executeFSIWithArgs "docs/tools" "generate.fsx" ["--define:RELEASE"] [] |> ignore + executeFSIWithArgs "docsrc/tools" "generate.fsx" ["--define:RELEASE"] [] |> ignore ) Target "GenerateDocsJa" (fun _ -> - executeFSIWithArgs "docs/tools" "generate.ja.fsx" ["--define:RELEASE"] [] |> ignore + executeFSIWithArgs "docsrc/tools" "generate.ja.fsx" ["--define:RELEASE"] [] |> ignore ) // -------------------------------------------------------------------------------------- // Release Scripts -Target "ReleaseDocs" (fun _ -> - let tempDocsDir = "temp/gh-pages" - if not (System.IO.Directory.Exists tempDocsDir) then - Repository.cloneSingleBranch "" (gitHome + "/" + gitName + ".git") "gh-pages" tempDocsDir - - fullclean tempDocsDir - CopyRecursive "docs/output" "temp/gh-pages" true |> printfn "%A" - StageAll tempDocsDir - Commit tempDocsDir (sprintf "Update generated documentation for version %s" buildVersion) - Branches.push "temp/gh-pages" -) #load "paket-files/fsharp/FAKE/modules/Octokit/Octokit.fsx" open Octokit @@ -424,7 +413,6 @@ Target "All.NetFx" DoNothing "CleanDocs" ==> "GenerateDocsJa" ==> "GenerateDocs" - ==> "ReleaseDocs" ==> "Release" RunTargetOrDefault "All" diff --git a/docs/caches.html b/docs/caches.html new file mode 100644 index 0000000000..9ad29220e5 --- /dev/null +++ b/docs/caches.html @@ -0,0 +1,160 @@ + + + + + Compiler Services: Notes on the FSharpChecker caches + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Notes on the FSharpChecker caches

+

This is a design note on the FSharpChecker component and its caches. See also the notes on the FSharpChecker operations queue

+

Each FSharpChecker object maintains a set of caches. These are

+
    +
  • +

    scriptClosureCache - an MRU cache of default size projectCacheSize that caches the +computation of GetProjectOptionsFromScript. This computation can be lengthy as it can involve processing the transative closure +of all #load directives, which in turn can mean parsing an unbounded number of script files

    +
  • +
  • +

    incrementalBuildersCache - an MRU cache of projects where a handle is being kept to their incremental checking state, +of default size projectCacheSize (= 3 unless explicitly set as a parameter). +The "current background project" (see the FSharpChecker operations queue) +will be one of these projects. When analyzing large collections of projects, this cache usually occupies by far the most memory. +Increasing the size of this cache can dramatically decrease incremental computation of project-wide checking, or of checking +individual files within a project, but can very greatly increase memory usage.

    +
  • +
  • braceMatchCache - an MRU cache of size braceMatchCacheSize (default = 5) keeping the results of calls to MatchBraces, keyed by filename, source and project options.

  • +
  • +

    parseFileInProjectCache - an MRU cache of size parseFileInProjectCacheSize (default = 2) keeping the results of ParseFileInProject, +keyed by filename, source and project options.

    +
  • +
  • +

    parseAndCheckFileInProjectCache - an MRU cache of size incrementalTypeCheckCacheSize (default = 5) keeping the results of +ParseAndCheckFileInProject, CheckFileInProject and/or CheckFileInProjectIfReady. This is keyed by filename, file source +and project options. The results held in this cache are only returned if they would reflect an accurate parse and check of the +file.

    +
  • +
  • +

    parseAndCheckFileInProjectCachePossiblyStale - a somewhat peculiar MRU cache of size incrementalTypeCheckCacheSize (default = 5) +keeping the results of ParseAndCheckFileInProject, CheckFileInProject and CheckFileInProjectIfReady, +keyed by filename and project options. This cache is accessed by TryGetRecentTypeCheckResultsForFile. Because the results +are accessed regardless of the content of the file, the checking results returned may be "stale".

    +
  • +
  • getToolTipTextCache - an aged lookup cache of strong size getToolTipTextSize (default = 5) computing the results of GetToolTipText.

  • +
  • +

    ilModuleReaderCache - an aged lookup of weak references to "readers" for references .NET binaries. Because these +are all weak references, you can generally ignore this cache, since its entries will be automatically collected. +Strong references to binary readers will be kept by other FCS data structures, e.g. any project checkers, symbols or project checking results.

    +

    In more detail, the bytes for referenced .NET binaries are read into memory all at once, eagerly. Files are not left +open or memory-mapped when using FSharpChecker (as opposed to FsiEvaluationSession, which loads assemblies using reflection). +The purpose of this cache is mainly to ensure that while setting up compilation, the reads of mscorlib, FSharp.Core and so on +amortize cracking the DLLs.

    +
  • +
  • +

    frameworkTcImportsCache - an aged lookup of strong size 8 which caches the process of setting up type checking against a set of system +components (e.g. a particular version of mscorlib, FSharp.Core and other system DLLs). These resources are automatically shared between multiple +project checkers which happen to reference the same set of system assemblies.

    +
  • +
+

Profiling the memory used by the various caches can be done by looking for the corresponding static roots in memory profiling traces.

+

The sizes of some of these caches can be adjusted by giving parameters to FSharpChecker. Unless otherwise noted, +the cache sizes above indicate the "strong" size of the cache, where memory is held regardless of the memory +pressure on the system. Some of the caches can also hold "weak" references which can be collected at will by the GC.

+
+

Note: Because of these caches, uou should generally use one global, shared FSharpChecker for everything in an IDE application.

+
+

Low-Memory Condition

+

Version 1.4.0.8 added a "maximum memory" limit specified by the MaxMemory property on FSharpChecker (in MB). If an FCS project operation +is performed (see CheckMaxMemoryReached in service.fs) and System.GC.GetTotalMemory(false) reports a figure greater than this, then +the strong sizes of all FCS caches are reduced to either 0 or 1. This happens for the remainder of the lifetime of the FSharpChecker object. +In practice this will still make tools like the Visual Studio F# Power Tools usable, but some operations like renaming across multiple +projects may take substantially longer.

+

By default the maximum memory trigger is disabled, see maxMBDefault in service.fs.

+

Reducing the FCS strong cache sizes does not guarantee there will be enough memory to continue operations - even holding one project +strongly may exceed a process memory budget. It just means FCS may hold less memory strongly.

+

If you do not want the maximum memory limit to apply then set MaxMemory to System.Int32.MaxValue.

+

Summary

+

In this design note, you learned that the FSharpChecker component keeps a set of caches in order to support common +incremental analysis scenarios reasonably efficiently. They correspond roughly to the original caches and sizes +used by the Visual F# Tools, from which the FSharpChecker component derives.

+

In long running, highly interactive, multi-project scenarios you should carefully +consider the cache sizes you are using and the tradeoffs involved between incremental multi-project checking and memory usage.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/compiler.html b/docs/compiler.html new file mode 100644 index 0000000000..f9adf46182 --- /dev/null +++ b/docs/compiler.html @@ -0,0 +1,199 @@ + + + + + Hosted Compiler + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Hosted Compiler

+

This tutorial demonstrates how to host the F# compiler.

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published

+
+
+

NOTE: There are several options for hosting the F# compiler. The easiest one is to use the +fsc.exe process and pass arguments.

+
+
+

NOTE: By default compilations using FSharp.Compiler.Service reference FSharp.Core 4.3.0.0 (matching F# 3.0). You can override +this choice by passing a reference to FSharp.Core for 4.3.1.0 or later explicitly in your command-line arguments.

+
+
+

First, we need to reference the libraries that contain F# interactive service:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+
#r "FSharp.Compiler.Service.dll"
+open System.IO
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+// Create an interactive checker instance 
+let checker = FSharpChecker.Create()
+
+

Now write content to a temporary file:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+
let fn = Path.GetTempFileName()
+let fn2 = Path.ChangeExtension(fn, ".fsx")
+let fn3 = Path.ChangeExtension(fn, ".dll")
+
+File.WriteAllText(fn2, """
+module M
+
+type C() = 
+   member x.P = 1
+
+let x = 3 + 4
+""")
+
+

Now invoke the compiler:

+ + + +
1: 
+
let errors1, exitCode1 = checker.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |])
+
+

If errors occur you can see this in the 'exitCode' and the returned array of errors:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
File.WriteAllText(fn2, """
+module M
+
+let x = 1.0 + "" // a type error
+""")
+
+let errors1b, exitCode1b = checker.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |])
+
+

Compiling to a dynamic assembly

+

You can also compile to a dynamic assembly, which uses the F# Interactive code generator. +This can be useful if you are, for example, in a situation where writing to the file system +is not really an option.

+

You still have to pass the "-o" option to name the output file, but the output file is not actually written to disk.

+

The 'None' option indicates that the initiatlization code for the assembly is not executed.

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+
let errors2, exitCode2, dynAssembly2 = 
+    checker.CompileToDynamicAssembly([| "-o"; fn3; "-a"; fn2 |], execute=None)
+
+(*
+Passing 'Some' for the 'execute' parameter executes  the initiatlization code for the assembly.
+*)
+let errors3, exitCode3, dynAssembly3 = 
+    checker.CompileToDynamicAssembly([| "-o"; fn3; "-a"; fn2 |], Some(stdout,stderr))
+
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/files/content/fcs.css b/docs/content/fcs.css similarity index 100% rename from docs/files/content/fcs.css rename to docs/content/fcs.css diff --git a/docs/content/img/github-blue.png b/docs/content/img/github-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..57432a035c7f20cf128620849ab94f969e0ec853 GIT binary patch literal 817 zcmV-11J3-3P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A0007@Nklr)FLcgCVo9Pvg?e5tk=Ui)SuA%` z>1o4{wxPwR%9U~5+L&%ls#w8NV|1j`86;G9ye0XMMwbNvLCEIXB3@X_<9QM&PQ##< zqjvVS5ApIs!iII1N(E2-&H!NYBC#h43k zgdD-4Boe98n`5jHN6wiY0k*z6prMIJ09VEeo$e5~y6$7^i`{&aM?`!ec!QkN6JqO= z*GCT;r98GHiIT<I!b@WezA>?4X7&B*H2#4IfluGP|Zy)2P`VAW);lZ4LJLU;QUEVM{r7;1s-7i*wDfKoQ6AJ;^oCSTA zHBVr4VH?6UGQ>idRmGx}1_W}10Je7i-ZaT}xVNcSfC<%htG?KL)VoK%5WvgAYm!Ly vTcJ303H%O3+ok$3c@AwF`ZmL2~800000NkvXXu0mjf^MPk* literal 0 HcmV?d00001 diff --git a/docs/content/img/github.png b/docs/content/img/github.png new file mode 100644 index 0000000000000000000000000000000000000000..5d48d83fab5dfd443c9e3bec2a262537f4ecece8 GIT binary patch literal 806 zcmV+>1KIqEP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A0007&NklyiRZ_dM+J&{THbRBQ2Kj2Fi3@98KxAP};1Qsq1e#z#5bWXI>-9m9nx-eS z;LglB+?hM`xSRik)nhS zmCyV8bF;H=Ha46NhhuklV|{(jZ1(wl)$3~{K#t_UT3rwOUQwkUZk`IKqA(%lf9*?v0qwene zR;dZU^Lb1hBmT-{IBbo$TCdkjbKAnTx5p?-g#s^De}1#c#Jt$`1kaP~`+!0~W|YN+ z1vu+M0lyz-tjJ5dUD4Bn)qlUeok}JJ)*bM-JkP(~+?2~?Oa*pybcASK2n(SZ9YxLf zfP4*w&?%DfdTmWmps=s3FfucI2FS$Jg@Du3Q_{TeCnq1BPRzGqVgip!q6FWLkHr!& zX;)YD?2JUI5P;7WVpEfo*=#nQPNP$}DUAsbPaLsNZa0mIg#c*bUTA@7W(JmQY?D|B zyXtniXh1-N5P;G~hlfdatg$pyLHs(6CL9h^?=6~z08Ezm;NY3XlFQ|&OTf=``nkmt k3 + + + + Compiler Services: Notes on FSharp.Core.dll + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Notes on FSharp.Core.dll

+

Shipping an FSharp.Core with your application

+

When building applications or plug-in components which use FSharp.Compiler.Service.dll, you will normally also +include a copy of FSharp.Core.dll as part of your application.

+

For example, if you build a HostedCompiler.exe, you will normally place an FSharp.Core.dll (say 4.3.1.0) alongside +your HostedCompiler.exe.

+

If doing dynamic compilation and execution you may also need to include +an FSharp.Core.optdata and FSharp.Core.sigdata, see below for guidance.

+

Binding redirects for your application

+

The FSharp.Compiler.Service.dll component depends on FSharp.Core 4.3.0.0. Normally your application will target +a later version of FSharp.Core, and you will need a binding redirect to ensure +that FSharp.Core 4.3.0.0 forwards to which the final version of FSharp.Core.dll your application uses. +Binding redirect files are normally generated automatically by build tools. If not, you can use one like this +(if your tool is called HostedCompiler.exe, the binding redirect file is called HostedCompiler.exe.config)

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <runtime>
+      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+        <dependentAssembly>
+          <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+          <bindingRedirect oldVersion="2.0.0.0-4.3.0.0" newVersion="4.3.1.0"/>
+        </dependentAssembly>
+      </assemblyBinding>
+    </runtime>	
+</configuration>
+
+

Which FSharp.Core and .NET Framework gets referenced in compilation?

+

The FSharp.Compiler.Service component can be used to do more or less any sort of F# compilation. +In particular you can reference an explicit FSharp.Core and/or framework +assemblies in the command line arguments (different to the FSharp.Core and a .NET Framework being used to run your tool).

+

To target a specific FSharp.Core and/or .NET Framework assemblies, use the --noframework argument +and the appropriate command-line arguments:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+
[<Literal>]
+let fsharpCorePath = 
+    @"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.1.0\FSharp.Core.dll"
+let errors2, exitCode2 = 
+  scs.Compile(
+    [| "fsc.exe"; "--noframework"; 
+       "-r"; fsharpCorePath; 
+       "-r"; @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll"; 
+       "-o"; fn3; 
+       "-a"; fn2 |])
+
+

You will need to determine the location of these assemblies. The easiest way to locate these DLLs in a cross-platform way and +convert them to command-line arguments is to crack an F# project file.
+Alternatively you can compute SDK paths yourself, and some helpers to do this are in the tests for FSharp.Compiler.Service.dll.

+

What about if I am processing a script or using GetCheckOptionsFromScriptRoot

+

If you do not explicitly reference an FSharp.Core.dll from an SDK location, or if you are processing a script +using FsiEvaluationSession or GetCheckOptionsFromScriptRoot, then an implicit reference to FSharp.Core will be made +by the following choice:

+
    +
  1. The version of FSharp.Core.dll statically referenced by the host assembly returned by System.Reflection.Assembly.GetEntryAssembly().

  2. +
  3. +

    If there is no static reference to FSharp.Core in the host assembly, then

    +
      +
    • For FSharp.Compiler.Service 0.x series, a reference to FSharp.Core version 4.3.0.0 is added
    • +
    • For FSharp.Compiler.Service 1.3.1.x (F# 3.1 series), a reference to FSharp.Core version 4.3.1.0 is added
    • +
    • For FSharp.Compiler.Service 1.4.0.x (F# 4.0 series), a reference to FSharp.Core version 4.4.0.0 is added
    • +
    +
  4. +
+

Do I need to include FSharp.Core.optdata and FSharp.Core.sigdata?

+

If your compilation arguments explicitly reference an FSharp.Core.dll from an SDK location, then FSharp.Core.sigdata and FSharp.Core.optdata should be alongside the DLL +(if these files are not installed, then that's a bug in the F# SDK installation). If your compilation +arguments are always making an explicit reference, then you should not include FSharp.Core.optdata and FSharp.Core.sigdata as part of your application.

+

If you are relying on an implicit reference (e.g. for script processing, see above), this means your tool may reference the FSharp.Core.dll +that is part of your application. In this case, you may either get an error that FSharp.Core.optdata and FSharp.Core.sigdata are not +found alongside FSharp.Core.dll. If you want to implicitly reference the FSharp.Core.dll you are including in your application, +then also add FSharp.Core.sigdata and FSharp.Core.optdata as two additional files to your application. When using CompileToDynamicAssembly, this problem +can also manifest itself as a stack overflow during assembly resolution.

+

Tools that dynamically compile and execute code (e.g. a HostedExecution.exe) often make an implicit +reference to FSharp.Core.dll, which means they normally also include FSharp.Core.optdata and FSharp.Core.sigdata.

+

Summary

+

In this design note we have discussed three things:

+
    +
  • which FSharp.Core.dll is used to run your compilation tools
  • +
  • how to configure binding redirects for the FSharp.Core.dll used to run your compilation tools
  • +
  • which FSharp.Core.dll and/or framework assemblies are referenced during the checking and compilations performed by your tools.
  • +
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/devnotes.html b/docs/devnotes.html new file mode 100644 index 0000000000..3fc4f8cb52 --- /dev/null +++ b/docs/devnotes.html @@ -0,0 +1,141 @@ + + + + + Developer notes + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Developer notes

+

Modified clone of F# compiler exposing additional functionality for editing clients and embedding F# compiler +and F# interactive as services.

+

Components

+

There is one main component, FSharp.Compiler.Service.dll. +The main aim is to have a stable and documented fork of the main compiler that allows various +tools to share this common code.
+This component allows embedding F# Interactive as a service and contains a number of +modifications to the source code of fsi.exe that adds EvalExpression and EvalInteraction functions.

+

This repo should be identical to 'fsharp' except:

+
    +
  • +

    Changes for building FSharp.Compiler.Service.dll, notably

    +
      +
    • Change the assembly name
    • +
    • Only build FSharp.Compiler.Service.dll

    • +
    • No bootstrap or proto compiler is used - an installed F# compiler is assumed
    • +
    +
  • +
  • +

    Build script using FAKE that builds everything, produces NuGet package and +generates documentation, files for publising NuGet packages etc. +(following F# project scaffold)

    +
  • +
  • +

    Changes to compiler source code to expose new functionality; Changes to the +F# Interactive service to implement the evaluation functions.

    +
  • +
  • Additions to compiler source code which improve the API for the use of F# editing clients
  • +
  • Additions to compiler source code which add new functionality to the compiler service API
  • +
+

If language or compiler addiitons are committed to fsharp/fsharp, they should be merged into +this repo and a new NuGet package released.

+

Building and NuGet

+

The build process follows the standard recommended by F# project scaffold +If you want to build the project yourself then you can follow these instructions:

+ +
1: 
+2: 
+
git clone https://github.com/fsharp/FSharp.Compiler.Service
+cd FSharp.Compiler.Service
+
+

Now follow build everything by running build.cmd (Windows) or build.sh (Linux + Mac OS). +The output will be located in the bin directory. If you also wish to build the documentation +and NuGet package, run build Release (this also attempts to publish the documentation to +GitHub, which only works if you have access to the GitHub repository).

+

Release checklist

+

Release checklist to publish a new version on nuget.org

+
    +
  1. Update RELEASE_NOTES.md
  2. +
  3. Check the version numbers are correct across the source (some files duplicate them)
  4. +
  5. Commit and add the necessary tag to the repo
  6. +
  7. Publish the nupkgs for FSharp.Compiler.Service and FSharp.Compiler.Service.ProjectCracker once they appear in AppVeyor artifacts
  8. +
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/editor.html b/docs/editor.html new file mode 100644 index 0000000000..76f0a15c19 --- /dev/null +++ b/docs/editor.html @@ -0,0 +1,361 @@ + + + + + Compiler Services: Editor services + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Editor services

+

This tutorial demonstrates how to use the editor services provided by the F# compiler. +This API is used to provide auto-complete, tool-tips, parameter info help, matching of +brackets and other functions in F# editors including Visual Studio, Xamarin Studio and Emacs +(see fsharpbindings project for more information). +Similarly to the tutorial on using untyped AST, we start by +getting the InteractiveChecker object.

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published

+
+

Type checking sample source code

+

As in the previous tutorial (using untyped AST), we start by referencing +FSharp.Compiler.Service.dll, opening the relevant namespace and creating an instance +of InteractiveChecker:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+
// Reference F# compiler API
+#r "FSharp.Compiler.Service.dll"
+
+open System
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+// Create an interactive checker instance 
+let checker = FSharpChecker.Create()
+
+

As previously, we use GetProjectOptionsFromScriptRoot to get a context +where the specified input is the only file passed to the compiler (and it is treated as a +script file or stand-alone F# source code).

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+
// Sample input as a multi-line string
+let input = 
+  """
+  open System
+
+  let foo() = 
+    let msg = String.Concat("Hello"," ","world")
+    if true then 
+      printfn "%s" msg.
+  """
+// Split the input & define file name
+let inputLines = input.Split('\n')
+let file = "/home/user/Test.fsx"
+
+let projOptions = 
+    checker.GetProjectOptionsFromScript(file, input)
+    |> Async.RunSynchronously
+
+

To perform type checking, we first need to parse the input using +ParseFileInProject, which gives us access to the untyped AST. However, +then we need to call CheckFileInProject to perform the full type checking. This function +also requires the result of ParseFileInProject, so the two functions are often called +together.

+ + + +
1: 
+2: 
+3: 
+4: 
+
// Perform parsing  
+let parseFileResults = 
+    checker.ParseFileInProject(file, input, projOptions) 
+    |> Async.RunSynchronously
+
+

Before we look at the interesting operations provided by TypeCheckResults, we +need to run the type checker on a sample input. On F# code with errors, you would get some type checking +result (but it may contain incorrectly "guessed" results).

+ + + +
1: 
+2: 
+3: 
+4: 
+
// Perform type checking
+let checkFileAnswer = 
+    checker.CheckFileInProject(parseFileResults, file, 0, input, projOptions) 
+    |> Async.RunSynchronously
+
+

Alternatively you can use ParseAndCheckFileInProject to check both in one step:

+ + + +
1: 
+2: 
+3: 
+
let parseResults2, checkFileAnswer2 = 
+    checker.ParseAndCheckFileInProject(file, 0, input, projOptions) 
+    |> Async.RunSynchronously
+
+

The function returns both the untyped parse result (which we do not use in this +tutorial), but also a CheckFileAnswer value, which gives us access to all +the interesting functionality...

+ + + +
1: 
+2: 
+3: 
+4: 
+
let checkFileResults = 
+    match checkFileAnswer with
+    | FSharpCheckFileAnswer.Succeeded(res) -> res
+    | res -> failwithf "Parsing did not finish... (%A)" res
+
+

Here, we type check a simple function that (conditionally) prints "Hello world". +On the last line, we leave an additional dot in msg. so that we can get the +completion list on the msg value (we expect to see various methods on the string +type there).

+

Using type checking results

+

Let's now look at some of the API that is exposed by the TypeCheckResults type. In general, +this is the type that lets you implement most of the interesting F# source code editor services.

+

Getting a tool tip

+

To get a tool tip, you can use GetToolTipTextAlternate method. The method takes a line number and character +offset. Both of the numbers are zero-based. In the sample code, we want to get tooltip for the foo +function that is defined on line 3 (line 0 is blank) and the letter f starts at index 7 (the tooltip +would work anywhere inside the identifier).

+

In addition, the method takes a tag of token which is typically IDENT, when getting tooltip for an +identifier (the other option lets you get tooltip with full assembly location when using #r "...").

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
// Get tag of the IDENT token to be used as the last argument
+open Microsoft.FSharp.Compiler
+let identToken = FSharpTokenTag.Identifier
+
+// Get tool tip at the specified location
+let tip = checkFileResults.GetToolTipTextAlternate(4, 7, inputLines.[1], ["foo"], identToken)
+printfn "%A" tip
+
+
+

NOTE: GetToolTipTextAlternate is an alternative name for the old GetToolTipText. The old GetToolTipText was +deprecated because it accepted zero-based line numbers. At some point it will be removed, and GetToolTipTextAlternate will be renamed back to GetToolTipText.

+
+

Aside from the location and token kind, the function also requires the current contents of the line +(useful when the source code changes) and a Names value, which is a list of strings representing +the current long name. For example to get tooltip for the Random identifier in a long name +System.Random, you would use location somewhere in the string Random and you would pass +["System"; "Random"] as the Names value.

+

The returned value is of type ToolTipText which contains a discriminated union ToolTipElement. +The union represents different kinds of tool tips that you can get from the compiler.

+

Getting auto-complete lists

+

The next method exposed by TypeCheckResults lets us perform auto-complete on a given location. +This can be called on any identifier or in any scope (in which case you get a list of names visible +in the scope) or immediately after . to get a list of members of some object. Here, we get a +list of members of the string value msg.

+

To do this, we call GetDeclarationListInfo with the location of the . symbol on the last line +(ending with printfn "%s" msg.). The offsets are one-based, so the location is 7, 23. +We also need to specify a function that says that the text has not changed and the current identifer +where we need to perform the completion.

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
// Get declarations (autocomplete) for a location
+let decls = 
+    checkFileResults.GetDeclarationListInfo
+      (Some parseFileResults, 7, 23, inputLines.[6], [], "msg", fun _ -> false)
+    |> Async.RunSynchronously
+
+// Print the names of available items
+for item in decls.Items do
+    printfn " - %s" item.Name
+
+
+

NOTE: v is an alternative name for the old GetDeclarations. The old GetDeclarations was +deprecated because it accepted zero-based line numbers. At some point it will be removed, and GetDeclarationListInfo will be renamed back to GetDeclarations.

+
+

When you run the code, you should get a list containing the usual string methods such as +Substring, ToUpper, ToLower etc. The fourth argument of GetDeclarations, here ([], "msg"), +specifies the context for the auto-completion. Here, we want a completion on a complete name +msg, but you could for example use (["System"; "Collections"], "Generic") to get a completion list +for a fully qualified namespace.

+

Getting parameter information

+

The next common feature of editors is to provide information about overloads of a method. In our +sample code, we use String.Concat which has a number of overloads. We can get the list using +GetMethods operation. As previously, this takes zero-indexed offset of the location that we are +interested in (here, right at the end of the String.Concat identifier) and we also need to provide +the identifier again (so that the compiler can provide up-to-date information when the source code +changes):

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+
// Get overloads of the String.Concat method
+let methods = 
+    checkFileResults.GetMethodsAlternate(5, 27, inputLines.[4], Some ["String"; "Concat"])
+    |> Async.RunSynchronously
+
+// Print concatenated parameter lists
+for mi in methods.Methods do
+    [ for p in mi.Parameters -> p.Display ]
+    |> String.concat ", " 
+    |> printfn "%s(%s)" methods.MethodName
+
+

The code uses the Display property to get the annotation for each parameter. This returns information +such as arg0: obj or params args: obj[] or str0: string, str1: string. We concatenate the parameters +and print a type annotation with the method name.

+

Asynchronous and immediate operations

+

You may have noticed that CheckFileInProject is an asynchronous operation. +This indicates that type checking of F# code can take some time. +The F# compiler performs the work in background (automatically) and when +we call CheckFileInProject method, it returns an asynchronous operation.

+

There is also the CheckFileInProjectIfReady method. This returns immediately if the +type checking operation can't be started immediately, e.g. if other files in the project +are not yet type-checked. In this case, a background worker might choose to do other +work in the meantime, or give up on type checking the file until the FileTypeCheckStateIsDirty event +is raised.

+
+

The fsharpbinding project has more advanced +example of handling the background work where all requests are sent through an F# agent. +This may be a more appropriate for implementing editor support.

+
+

Summary

+

The CheckFileAnswer object contains other useful methods that were not covered in this tutorial. You +can use it to get location of a declaration for a given identifier, additional colorization information +(the F# 3.1 colorizes computation builder identifiers & query operators) and others.

+

Using the FSharpChecker component in multi-project, incremental and interactive editing situations may involve +knowledge of the FSharpChecker operations queue and the FSharpChecker caches.

+

Finally, if you are implementing an editor support for an editor that cannot directly call .NET API, +you can call many of the methods discussed here via a command line interface that is available in the +FSharp.AutoComplete project.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/filesystem.html b/docs/filesystem.html new file mode 100644 index 0000000000..226efd23fd --- /dev/null +++ b/docs/filesystem.html @@ -0,0 +1,371 @@ + + + + + Compiler Services: Virtualized File System + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Virtualized File System

+

The FSharp.Compiler.Service component has a global variable +representing the file system. By setting this variable you can host the compiler in situations where a file system +is not available.

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published.

+
+

Setting the FileSystem

+

In the example below, we set the file system to an implementation which reads from disk

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+33: 
+34: 
+35: 
+36: 
+37: 
+38: 
+39: 
+40: 
+41: 
+42: 
+43: 
+44: 
+45: 
+46: 
+47: 
+48: 
+49: 
+50: 
+51: 
+52: 
+53: 
+54: 
+55: 
+56: 
+57: 
+58: 
+59: 
+60: 
+61: 
+62: 
+63: 
+64: 
+65: 
+66: 
+67: 
+
#r "FSharp.Compiler.Service.dll"
+open System
+open System.IO
+open System.Collections.Generic
+open System.Text
+open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library
+
+let defaultFileSystem = Shim.FileSystem
+
+let fileName1 = @"c:\mycode\test1.fs" // note, the path doesn't exist
+let fileName2 = @"c:\mycode\test2.fs" // note, the path doesn't exist
+
+type MyFileSystem() = 
+    let file1 = """
+module File1
+
+let A = 1"""
+    let file2 = """
+module File2
+let B = File1.A + File1.A"""
+    let files = dict [(fileName1, file1); (fileName2, file2)]
+
+    interface IFileSystem with
+        // Implement the service to open files for reading and writing
+        member __.FileStreamReadShim(fileName) = 
+            match files.TryGetValue(fileName) with
+            | true, text -> new MemoryStream(Encoding.UTF8.GetBytes(text)) :> Stream
+            | _ -> defaultFileSystem.FileStreamReadShim(fileName)
+
+        member __.FileStreamCreateShim(fileName) = 
+            defaultFileSystem.FileStreamCreateShim(fileName)
+
+        member __.FileStreamWriteExistingShim(fileName) = 
+            defaultFileSystem.FileStreamWriteExistingShim(fileName)
+
+        member __.ReadAllBytesShim(fileName) = 
+            match files.TryGetValue(fileName) with
+            | true, text -> Encoding.UTF8.GetBytes(text)
+            | _ -> defaultFileSystem.ReadAllBytesShim(fileName)
+
+        // Implement the service related to temporary paths and file time stamps
+        member __.GetTempPathShim() = 
+            defaultFileSystem.GetTempPathShim()
+        member __.GetLastWriteTimeShim(fileName) = 
+            defaultFileSystem.GetLastWriteTimeShim(fileName)
+        member __.GetFullPathShim(fileName) = 
+            defaultFileSystem.GetFullPathShim(fileName)
+        member __.IsInvalidPathShim(fileName) = 
+            defaultFileSystem.IsInvalidPathShim(fileName)
+        member __.IsPathRootedShim(fileName) = 
+            defaultFileSystem.IsPathRootedShim(fileName)
+
+        // Implement the service related to file existence and deletion
+        member __.SafeExists(fileName) = 
+            files.ContainsKey(fileName) || defaultFileSystem.SafeExists(fileName)
+        member __.FileDelete(fileName) = 
+            defaultFileSystem.FileDelete(fileName)
+
+        // Implement the service related to assembly loading, used to load type providers
+        // and for F# interactive.
+        member __.AssemblyLoadFrom(fileName) = 
+            defaultFileSystem.AssemblyLoadFrom fileName
+        member __.AssemblyLoad(assemblyName) = 
+            defaultFileSystem.AssemblyLoad assemblyName 
+
+let myFileSystem = MyFileSystem()
+Shim.FileSystem <- MyFileSystem() 
+
+

Doing a compilation with the FileSystem

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+33: 
+34: 
+35: 
+36: 
+37: 
+38: 
+39: 
+40: 
+41: 
+42: 
+43: 
+44: 
+45: 
+46: 
+47: 
+48: 
+49: 
+50: 
+51: 
+52: 
+53: 
+54: 
+55: 
+
open Microsoft.FSharp.Compiler.SourceCodeServices
+
+let checker = FSharpChecker.Create()
+
+let projectOptions = 
+    let sysLib nm = 
+        if System.Environment.OSVersion.Platform = System.PlatformID.Win32NT then // file references only valid on Windows 
+            System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) +
+            @"\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\" + nm + ".dll"
+        else
+            let sysDir = System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()
+            let (++) a b = System.IO.Path.Combine(a,b)
+            sysDir ++ nm + ".dll" 
+
+    let fsCore4300() = 
+        if System.Environment.OSVersion.Platform = System.PlatformID.Win32NT then // file references only valid on Windows 
+            System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) +
+            @"\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0\FSharp.Core.dll"  
+        else 
+            sysLib "FSharp.Core"
+
+    let allFlags = 
+        [| yield "--simpleresolution"; 
+           yield "--noframework"; 
+           yield "--debug:full"; 
+           yield "--define:DEBUG"; 
+           yield "--optimize-"; 
+           yield "--doc:test.xml"; 
+           yield "--warn:3"; 
+           yield "--fullpaths"; 
+           yield "--flaterrors"; 
+           yield "--target:library"; 
+           let references =
+             [ sysLib "mscorlib" 
+               sysLib "System"
+               sysLib "System.Core"
+               fsCore4300() ]
+           for r in references do 
+                 yield "-r:" + r |]
+ 
+    { ProjectFileName = @"c:\mycode\compilation.fsproj" // Make a name that is unique in this directory.
+      ProjectFileNames = [| fileName1; fileName2 |]
+      OtherOptions = allFlags 
+      ReferencedProjects = [| |]
+      IsIncompleteTypeCheckEnvironment = false
+      UseScriptResolutionRules = true 
+      LoadTime = System.DateTime.Now // Note using 'Now' forces reloading
+      UnresolvedReferences = None }
+
+let results = checker.ParseAndCheckProject(projectOptions) |> Async.RunSynchronously
+
+results.Errors
+results.AssemblySignature.Entities.Count //2
+results.AssemblySignature.Entities.[0].MembersFunctionsAndValues.Count //1
+results.AssemblySignature.Entities.[0].MembersFunctionsAndValues.[0].DisplayName // "B"
+
+

Summary

+

In this tutorial, we've seen how to globally customize the view of the file system used by the FSharp.Compiler.Service +component.

+

At the time of writing, the following System.IO operations are not considered part of the virtualized file system API. +Future iterations on the compiler service implementation may add these to the API.

+
    +
  • Path.Combine
  • +
  • Path.DirectorySeparatorChar
  • +
  • Path.GetDirectoryName
  • +
  • Path.GetFileName
  • +
  • Path.GetFileNameWithoutExtension
  • +
  • Path.HasExtension
  • +
  • Path.GetRandomFileName (used only in generation compiled win32 resources in assemblies)
  • +
+

NOTE: Several operations in the SourceCodeServices API accept the contents of a file to parse +or check as a parameter, in addition to a file name. In these cases, the file name is only used for +error reporting.

+

NOTE: Type provider components do not use the virtualized file system.

+

NOTE: The compiler service may use MSBuild for assembly resolutions unless --simpleresolution is +provided. When using the FileSystem API you will normally want to specify --simpleresolution as one +of your compiler flags. Also specify --noframework. You will need to supply explicit resolutions of all +referenced .NET assemblies.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/fsharp-readme.html b/docs/fsharp-readme.html new file mode 100644 index 0000000000..0a7676ca9b --- /dev/null +++ b/docs/fsharp-readme.html @@ -0,0 +1,309 @@ + + + + + F# Compiler README + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

F# Compiler README

+
+

NOTE: This readme file is the original README.md document from the F# compiler +source code (github.com/fsharp/fsharp). This project is a fork of the F# compiler +source, with several minor changes that expose certain services. The readme is included +here for reference.

+
+

This is the F# compiler, core library and core tools (open source edition). It uses the Apache 2.0 license. +The master branch is for the latest version of F# (currently F# 3.0). +To bootstrap the compiler, binaries built from an earlier version of this project are used.

+

Requirements

+

Requires mono 2.9 or higher. Prefer Mono 3.0.

+

On OSX, requires automake 2.69. To install from homebrew:

+ +
1: 
+
brew install automake
+
+

Building

+

On Linux and other Unix systems:

+

The usual:

+ +
1: 
+2: 
+3: 
+
./autogen.sh
+make
+sudo make install
+
+

By default that makes optimized binaries. To make debug, use make CONFIG=debug

+

On MacOS (OSX)

+

Use a prefix to your version of Mono:

+ +
1: 
+2: 
+3: 
+
./autogen.sh --prefix=/Library/Frameworks/Mono.framework/Versions/Current/
+make
+sudo make install
+
+

By default that makes optimized binaries. To make debug, use make CONFIG=debug

+

On Windows, using msbuild (e.g.. if .NET is installed)

+

If you have only VS2012 installed, and not VS2010, you'll need to install the F# 2.0 Runtime (http://www.microsoft.com/en-us/download/details.aspx?id=13450)

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+
cd src
+msbuild fsharp-proto-build.proj
+ngen install ..\lib\proto\4.0\fsc-proto.exe (optional)
+msbuild fsharp-library-build.proj /p:Configuration=Release
+msbuild fsharp-compiler-build.proj /p:Configuration=Release
+
+

You can also build the FSharp.Core for .NET 2.0, Mono 2.1, MonoTouch, Silverlight 5.0, Windows Phone 7.1, Portable Profile47 (net45+sl5+win8), Portable Profile88 (net4+sl4+wp71+win8) and XNA 4.0 for Xbox 360 profiles:

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+
msbuild fsharp-library-build.proj /p:TargetFramework=net20 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=mono21 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=monotouch /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=portable-net45+sl5+win8 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=portable-net4+sl4+wp71+win8 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=sl5 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=wp7 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=net40-xna40-xbox360 /p:Configuration=Release
+
+

You can also build the FSharp.Core and FSharp.Compiler.Silverlight.dll for Silverlight 5.0:

+ +
1: 
+2: 
+
msbuild fsharp-library-build.proj /p:TargetFramework=sl5-compiler  /p:Configuration=Release
+msbuild fsharp-compiler-build.proj /p:TargetFramework=sl5-compiler /p:Configuration=Release
+
+

Change to /p:Configuration=Debug for debug binaries.

+

On Windows, using xbuild (e.g. if no .NET is installed and only Mono 3.0 is installed):

+ +
1: 
+2: 
+3: 
+4: 
+
cd src
+xbuild fsharp-proto-build.proj
+xbuild fsharp-library-build.proj
+xbuild fsharp-compiler-build.proj
+
+

Building using xbuild does not yet lay down a Mono-ready distribution (see src/fsharp/targets.make), so should only +be used for private development rather than preparing distributions.

+

Strong Names

+

The FSharp.Core.dll produced is only delay-signed (Mono does not require strong names). +If a strong-name signed FSharp.Core.dll is needed then use the one in

+ +
1: 
+
lib\bootstrap\signed\3.0\v4.0\FSharp.Core.dll
+
+

What you get

+

Once built the main compiler binaries go in

+ +
1: 
+
lib/release/4.0
+
+

There are versions of FSharp.Core for .NET 2.0, MonoAndroid, MonoTouch (Mono profile 2.1) in

+ +
1: 
+2: 
+3: 
+
lib/release/2.0
+lib/release/2.1
+lib/release/2.1monotouch
+
+

On make install the binaries etc. go in the prefix, e.g.

+ +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/2.0/FSharp.Core.dll
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/2.1/FSharp.Core.dll
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.0/fsc.exe
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.0/FSharp.Compiler.dll
+...
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/fsc.exe
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/FSharp.Compiler.dll
+...
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/gac/.../FSharp.Compiler.dll
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/gac/.../FSharp.Compiler.dll
+...
+
+

plus some files for xbuild support

+ +
1: 
+2: 
+
/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/Microsoft\ F#/v4.0/*
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/Microsoft\ SDKs/F#/3.0/Framework/*
+
+

(these names are the canonical names for Microsoft.FSharp.Targets used by project files coming from Visual Studio)

+

plus scripts

+

/usr/bin/fsharpc (F# compiler) +/usr/bin/fsharpi (F# Interactive)

+

Development notes

+

Continuous Integration Build

+

We have a CI build set up with the JetBrains/Teamcity server as part of the F# community projects there:

+

http://teamcity.codebetter.com/project.html?projectId=project61&tab=projectOverview

+

@forki controls access. Right now this builds both a Mono 'make' install and a Windows 'cd src; msbuild fsharp-build.proj' build. No binaries are saved from the build, it is just for sanity checking.

+

Editing the Compiler with Visual Studio or MonoDevelop

+

Open all-vs2012.sln, and edit in modes Debug or Release. The compiler takes a good while to compile and that +can be a bit invasive to the work flow, so it's normally better to do the actual compilation from +the command line, see above.

+

The F# support in MonoDevelop uses an in-process background compiler. On the Mac this causes pausing garbage +collections to kick in which makes editing the compiler in MonoDevelop awkward.

+

Building F# Core Unit Tests for .NET 4.x (optional)

+

This uses the proto compiler to build the unit tests that check some parts of FSharp.Core.dll and FSharp.Compiler.dll. There is also another set of tests under tests\fsharp.

+ +
1: 
+
msbuild fsharp-library-unittests-build.proj /p:TargetFramework=net40
+
+

Note: You must have NUnit installed to build the unit tests.

+

Validation and Use

+

Here are some simple tests to validate what you have built by checking fsi.exe (F# Interactive) starts up:

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+
lib\debug\4.0\fsi.exe
+1 + 1;;
+\#q;;
+lib\debug\4.0\fsi.exe /help
+lib\debug\4.0\fsc.exe /help
+echo printfn "hello world" > hello.fs
+lib\debug\4.0\fsc.exe hello.fs
+hello.exe
+
+

Running Compiler tests (on Windows)

+

There are language tests under tests\fsharp\core. The test apparatus is primitive and unfortunately uses batch files. You can run these on Windows using:

+ +
1: 
+2: 
+
cd ..\tests\fsharp\core
+..\..\build-and-run-all-installed-ilx-configs.bat results.log
+
+

The results file will contain one entry for each test directory, plus any reported errors.

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+
tests\fsharp\core
+tests\fsharp\core\queriesCustomQueryOps
+tests\fsharp\core\queriesLeafExpressionConvert
+tests\fsharp\core\queriesNullableOperators
+tests\fsharp\core\queriesOverIEnumerable
+...
+
+

Some tests for LINQ queries require SQL Server be installed. A failing test will look like this:

+ +
1: 
+
ERRORLEVEL=1: in tests\fsharp\core\csfromfs\build.bat
+
+

You can then go to the relevant directory and run build.bat and run.bat.

+

History

+

F# compiler sources dropped by Microsoft are available from fsharppowerpack.codeplex.com.

+

Uses bootstrapping libraries, tools and F# compiler. The lib/bootstrap/X.0 directories contain mono-built libraries, compiler and tools that can be used to bootstrap a build. You can also supply your own via the --with-bootstrap option.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/files/images/en.png b/docs/images/en.png similarity index 100% rename from docs/files/images/en.png rename to docs/images/en.png diff --git a/docs/files/images/ja.png b/docs/images/ja.png similarity index 100% rename from docs/files/images/ja.png rename to docs/images/ja.png diff --git a/docs/files/images/logo.png b/docs/images/logo.png similarity index 100% rename from docs/files/images/logo.png rename to docs/images/logo.png diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000000..5b76b7f5eb --- /dev/null +++ b/docs/index.html @@ -0,0 +1,174 @@ + + + + + F# Compiler Services + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

F# Compiler Services

+

The F# compiler services package is a component derived from the F# compiler source code that +exposes additional functionality for implementing F# language bindings, additional +tools based on the compiler or refactoring tools. The package also includes F# +interactive service that can be used for embedding F# scripting into your applications.

+
+
+
+
+ The F# Compiler Services package can be installed from NuGet: +
PM> Install-Package FSharp.Compiler.Service
+
+
+
+
+

Available services

+

The project currently exposes the following services that are tested & documented on this page. +The libraries contain additional public API that can be used, but is not documented here.

+
    +
  • +

    F# Language tokenizer - turns any F# source code into a stream of tokens. +Useful for implementing source code colorization and basic tools. Correctly handle nested +comments, strings etc.

    +
  • +
  • +

    Processing untyped AST - allows accessing the untyped abstract syntax tree (AST). +This represents parsed F# syntax without type information and can be used to implement code formatting +and various simple processing tasks.

    +
  • +
  • +

    Using editor (IDE) services - expose functionality for auto-completion, tool-tips, +parameter information etc. These functions are useful for implementing F# support for editors +and for getting some type information for F# code.

    +
  • +
  • +

    Working with signatures, types, and resolved symbols - many services related to type checking +return resolved symbols, representing inferred types, and the signatures of whole assemblies.

    +
  • +
  • +

    Working with resolved expressions - services related to working with +type-checked expressions and declarations, where names have been resolved to symbols.

    +
  • +
  • +

    Working with projects and project-wide analysis - you can request a check of +an entire project, and ask for the results of whole-project analyses such as find-all-references.

    +
  • +
  • +

    Hosting F# interactive - allows calling F# interactive as a .NET library +from your .NET code. You can use this API to embed F# as a scripting language in your projects.

    +
  • +
  • Hosting the F# compiler - allows you to embed calls to the F# compiler.

  • +
  • +

    File system API - the FSharp.Compiler.Service component has a global variable +representing the file system. By setting this variable you can host the compiler in situations where a file system +is not available.

    +
  • +
+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published

+
+

Projects using the F# Compiler Services

+

Some of the projects using the F# Compiler Services are:

+ +

Contributing and copyright

+

This project is a fork of the fsharp/fsharp which has been +modified to expose additional internals useful for creating editors and F# tools and also for +embedding F# interactive.

+

The F# source code is copyright by Microsoft Corporation and contributors, the extensions have been +implemented by Dave Thomas, Anh-Dung Phan, Tomas Petricek and other contributors. The source code +is available under the Apache 2.0 license.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/interactive.html b/docs/interactive.html new file mode 100644 index 0000000000..52ddda2284 --- /dev/null +++ b/docs/interactive.html @@ -0,0 +1,446 @@ + + + + + Interactive Service: Embedding F# Interactive + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Interactive Service: Embedding F# Interactive

+

This tutorial demonstrates how to embed F# interactive in your application. F# interactive +is an interactive scripting environment that compiles F# code into highly efficient IL code +and executes it on the fly. The F# interactive service allows you to embed F# evaluation in +your application.

+
+

NOTE: There is a number of options for embedding F# Interactive. The easiest one is to use the +fsi.exe process and communicate with it using standard input and standard output. In this +tutorial, we look at calling F# Interactive directly through .NET API. However, if you have +no control over the input, it is a good idea to run F# interactive in a separate process. +One reason is that there is no way to handle StackOverflowException and so a poorly written +script can terminate the host process. Remember that while calling F# Interactive through .NET API, +--shadowcopyreferences option will be ignored. For detailed discussion, please take a look at +this thread. +NOTE: If FsiEvaluationSession.Create fails with an error saying that FSharp.Core.dll cannot be found, +add the FSharp.Core.sigdata and FSharp.Core.optdata files. More info here.

+
+

However, the F# interactive service is still useful, because you might want to wrap it in your +own executable that is then executed (and communicates with the rest of your application), or +if you only need to execute limited subset of F# code (e.g. generated by your own DSL).

+

Starting the F# interactive

+

First, we need to reference the libraries that contain F# interactive service:

+ + + +
1: 
+2: 
+3: 
+
#r "FSharp.Compiler.Service.dll"
+open Microsoft.FSharp.Compiler.SourceCodeServices
+open Microsoft.FSharp.Compiler.Interactive.Shell
+
+

To communicate with F# interactive, we need to create streams that represent input and +output. We will use those later to read the output printed as a result of evaluating some +F# code that prints:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+
open System
+open System.IO
+open System.Text
+
+// Intialize output and input streams
+let sbOut = new StringBuilder()
+let sbErr = new StringBuilder()
+let inStream = new StringReader("")
+let outStream = new StringWriter(sbOut)
+let errStream = new StringWriter(sbErr)
+
+// Build command line arguments & start FSI session
+let argv = [| "C:\\fsi.exe" |]
+let allArgs = Array.append argv [|"--noninteractive"|]
+
+let fsiConfig = FsiEvaluationSession.GetDefaultConfiguration()
+let fsiSession = FsiEvaluationSession.Create(fsiConfig, allArgs, inStream, outStream, errStream)  
+
+

Evaluating and executing code

+

The F# interactive service exposes several methods that can be used for evaluation. The first +is EvalExpression which evaluates an expression and returns its result. The result contains +the returned value (as obj) and the statically inferred type of the value:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+
/// Evaluate expression & return the result
+let evalExpression text =
+  match fsiSession.EvalExpression(text) with
+  | Some value -> printfn "%A" value.ReflectionValue
+  | None -> printfn "Got no result!"
+
+

This takes a string as an argument and evaluates (i.e. executes) it as F# code.

+ + + +
1: 
+
evalExpression "42+1" // prints '43'
+
+

This can be used in a strongly typed way as follows:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
/// Evaluate expression & return the result, strongly typed
+let evalExpressionTyped<'T> (text) = 
+    match fsiSession.EvalExpression(text) with
+    | Some value -> value.ReflectionValue |> unbox<'T>
+    | None -> failwith "Got no result!"
+
+evalExpressionTyped<int> "42+1"  // gives '43'
+
+

The EvalInteraction method can be used to evaluate side-effectful operations +such as printing, declarations, or other interactions that are not valid F# expressions, but can be entered in +the F# Interactive console. Such commands include #time "on" (and other directives), open System +all declarations and other top-level statements. The code +does not require ;; at the end. Just enter the code that you want to execute:

+ + + +
1: 
+
fsiSession.EvalInteraction "printfn \"bye\""
+
+

The EvalScript method allows to evaluate a complete .fsx script.

+ + + +
1: 
+2: 
+
File.WriteAllText("sample.fsx", "let twenty = 10 + 10")
+fsiSession.EvalScript "sample.fsx"
+
+

Catching errors

+

EvalExpression, EvalInteraction and EvalScript are awkward if the +code has type checking warnings or errors, or if evaluation fails with an exception. +In these cases you can use EvalExpressionNonThrowing, EvalInteractionNonThrowing +and EvalScriptNonThrowing. These return a tuple of a result and an array of FSharpErrorInfo values. +These represent the errors and warnings. The result part is a Choice<_,_> between an actual +result and an exception.

+

The result part of EvalExpression and EvalExpressionNonThrowing is an optional FSharpValue. +If that value is not present then it just indicates that the expression didn't have a tangible +result that could be represented as a .NET object. This siutation shouldn't actually +occur for any normal input expressions, and only for primitives used in libraries.

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
File.WriteAllText("sample.fsx", "let twenty = 'a' + 10.0")
+let result, warnings = fsiSession.EvalScriptNonThrowing "sample.fsx"
+
+// show the result
+match result with 
+| Choice1Of2 () -> printfn "checked and executed ok"
+| Choice2Of2 exn -> printfn "execution exception: %s" exn.Message
+
+

Gives:

+ + + +
1: 
+
execution exception: Operation could not be completed due to earlier error
+
+ + + +
1: 
+2: 
+3: 
+
// show the errors and warnings
+for w in warnings do 
+   printfn "Warning %s at %d,%d" w.Message w.StartLineAlternate w.StartColumn 
+
+

Gives:

+ + + +
1: 
+2: 
+
Warning The type 'float' does not match the type 'char' at 1,19
+Warning The type 'float' does not match the type 'char' at 1,17
+
+

For expressions:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+
let evalExpressionTyped2<'T> text =
+   let res, warnings = fsiSession.EvalExpressionNonThrowing(text)
+   for w in warnings do 
+       printfn "Warning %s at %d,%d" w.Message w.StartLineAlternate w.StartColumn 
+   match res with 
+   | Choice1Of2 (Some value) -> value.ReflectionValue |> unbox<'T>
+   | Choice1Of2 None -> failwith "null or no result"
+   | Choice2Of2 (exn:exn) -> failwith (sprintf "exception %s" exn.Message)
+
+evalExpressionTyped2<int> "42+1"  // gives '43'
+
+

Executing in parallel

+

By default the code passed to EvalExpression is executed immediately. To execute in parallel, submit a computation that starts a task:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+
open System.Threading.Tasks
+
+let sampleLongRunningExpr = 
+    """
+async { 
+    // The code of what you want to run
+    do System.Threading.Thread.Sleep 5000
+    return 10 
+}
+  |> Async.StartAsTask"""
+
+let task1 = evalExpressionTyped<Task<int>>(sampleLongRunningExpr)  
+let task2 = evalExpressionTyped<Task<int>>(sampleLongRunningExpr)  
+
+

Both computations have now started. You can now fetch the results:

+ + + +
1: 
+2: 
+
task1.Result // gives the result after completion (up to 5 seconds)
+task2.Result // gives the result after completion (up to 5 seconds)
+
+

Type checking in the evaluation context

+

Let's assume you have a situation where you would like to typecheck code +in the context of the F# Interactive scripting session. For example, you first +evaluation a declaration:

+ + + +
1: 
+
fsiSession.EvalInteraction "let xxx = 1 + 1"
+
+

Now you want to typecheck the partially complete code xxx + xx

+ + + +
1: 
+
let parseResults, checkResults, checkProjectResults = fsiSession.ParseAndCheckInteraction("xxx + xx")
+
+

The parseResults and checkResults have types ParseFileResults and CheckFileResults +explained in Editor. You can, for example, look at the type errors in the code:

+ + + +
1: 
+
checkResults.Errors.Length // 1
+
+

The code is checked with respect to the logical type context available in the F# interactive session +based on the declarations executed so far.

+

You can also request declaration list information, tooltip text and symbol resolution:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
open Microsoft.FSharp.Compiler
+
+// get a tooltip
+checkResults.GetToolTipTextAlternate(1, 2, "xxx + xx", ["xxx"], FSharpTokenTag.IDENT) 
+
+checkResults.GetSymbolUseAtLocation(1, 2, "xxx + xx", ["xxx"]) // symbol xxx
+  
+
+

The 'fsi' object

+

If you want your scripting code to be able to access the 'fsi' object, you should pass in an implementation of this object explicitly. +Normally the one fromm FSharp.Compiler.Interactive.Settings.dll is used.

+ + + +
1: 
+
let fsiConfig2 = FsiEvaluationSession.GetDefaultConfiguration(fsi)
+
+

Collectible code generation

+

Evaluating code in using FsiEvaluationSession generates a .NET dynamic assembly and uses other resources. +You can make generated code collectible by passing collectible=true. However code will only +be collected if there are no outstanding object references involving types, for example +FsiValue objects returned by EvalExpression, and you must have disposed the FsiEvaluationSession. +See also Restrictions on Collectible Assemblies.

+

The example below shows the creation of 200 evaluation sessions. Note that collectible=true and +use session = ... are both used.

+

If collectible code is working correctly, +overall resource usage will not increase linearly as the evaluation progresses.

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+
let collectionTest() = 
+
+    for i in 1 .. 200 do
+        let defaultArgs = [|"fsi.exe";"--noninteractive";"--nologo";"--gui-"|]
+        use inStream = new StringReader("")
+        use outStream = new StringWriter()
+        use errStream = new StringWriter()
+
+        let fsiConfig = FsiEvaluationSession.GetDefaultConfiguration()
+        use session = FsiEvaluationSession.Create(fsiConfig, defaultArgs, inStream, outStream, errStream, collectible=true)
+        
+        session.EvalInteraction (sprintf "type D = { v : int }")
+        let v = session.EvalExpression (sprintf "{ v = 42 * %d }" i)
+        printfn "iteration %d, result = %A" i v.Value.ReflectionValue
+
+// collectionTest()  <-- run the test like this
+
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/compiler.html b/docs/ja/compiler.html new file mode 100644 index 0000000000..e9aac63a53 --- /dev/null +++ b/docs/ja/compiler.html @@ -0,0 +1,191 @@ + + + + + コンパイラの組み込み + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

コンパイラの組み込み

+

このチュートリアルではF#コンパイラをホストする方法を紹介します。

+
+

注意: 以下で使用しているAPIは実験的なもので、 +新しいnugetパッケージの公開に伴って変更される可能性があります。 +注意: F#コンパイラをホストする方法はいくつかあります。 +一番簡単な方法は fsc.exe のプロセスを使って引数を渡す方法です。

+
+
+

まず、F# Interactiveサービスを含むライブラリへの参照を追加します:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+
#r "FSharp.Compiler.Service.dll"
+open Microsoft.FSharp.Compiler.SimpleSourceCodeServices
+open System.IO
+
+let scs = SimpleSourceCodeServices()
+
+

次に、一時ファイルへコンテンツを書き込みます:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+
let fn = Path.GetTempFileName()
+let fn2 = Path.ChangeExtension(fn, ".fs")
+let fn3 = Path.ChangeExtension(fn, ".dll")
+
+File.WriteAllText(fn2, """
+module M
+
+type C() = 
+   member x.P = 1
+
+let x = 3 + 4
+""")
+
+

そしてコンパイラを呼び出します:

+ + + +
1: 
+
let errors1, exitCode1 = scs.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |])
+
+

エラーが発生した場合は「終了コード」とエラーの配列から原因を特定できます:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
File.WriteAllText(fn2, """
+module M
+
+let x = 1.0 + "" // a type error
+""")
+
+let errors1b, exitCode1b = scs.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |])
+
+if exitCode1b <> 0 then
+    errors1b
+    |> Array.iter (printfn "%A")
+
+

動的アセンブリへのコンパイル

+

コードを動的アセンブリとしてコンパイルすることもできます。 +動的アセンブリはF# Interactiveコードジェネレータでも使用されています。

+

この機能はたとえばファイルシステムが必ずしも利用できないような状況で役に立ちます。

+

出力ファイルの名前を指定する "-o" オプションを指定することは可能ですが、 +実際には出力ファイルがディスク上に書き込まれることはありません。

+

'execute' 引数に 'None' を指定するとアセンブリ用の初期化コードが実行されません。

+ + + +
1: 
+2: 
+
let errors2, exitCode2, dynAssembly2 = 
+    scs.CompileToDynamicAssembly([| "-o"; fn3; "-a"; fn2 |], execute=None)
+
+

'Some' を指定するとアセンブリ用の初期化コードが実行されます。

+ + + +
1: 
+2: 
+
let errors3, exitCode3, dynAssembly3 = 
+    scs.CompileToDynamicAssembly([| "-o"; fn3; "-a"; fn2 |], Some(stdout,stderr))
+
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/corelib.html b/docs/ja/corelib.html new file mode 100644 index 0000000000..d81e2ae17c --- /dev/null +++ b/docs/ja/corelib.html @@ -0,0 +1,167 @@ + + + + + コンパイラサービス: FSharp.Core.dll についてのメモ + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

コンパイラサービス: FSharp.Core.dll についてのメモ

+

あなたのアプリケーションとともに FSharp.Core を配布する

+

FSharp.Compiler.Service.dll を利用するアプリケーションまたはプラグイン・コンポーネントをビルドする際、普通はアプリの一部として FSharp.Core.dll のコピーも含めることになるでしょう。

+

例えば、 HostedCompiler.exe をビルドする場合、普通はあなたの HostedCompiler.exe と同じフォルダに FSharp.Core.dll (例えば 4.3.1.0)を配置します。

+

動的コンパイルや動的実行を行う場合、FSharp.Core.optdata と FSharp.Core.sigdata も含める必要があるかもしれませんが、これらについては下記の指針をご覧ください。

+

あなたのアプリケーションにリダイレクトをバインドする

+

FSharp.Compiler.Service.dll コンポーネントは FSharp.Core 4.3.0.0 に依存しています。通例、あなたのアプリケーションはこれより後のバージョンの FSharp.Core をターゲットにしており、FSharp.Core 4.3.0.0 をあなたのアプリケーションで用いる FSharp.Core.dll の最終バージョンにちゃんと転送させるようにバインド リダイレクトが必要になるでしょう。バインド リダイレクト ファイルは通常ビルドツールによって自動的に生成されます。そうでない場合、下記のようなファイル(あなたのツールが HostedCompiler.exe という名前で、バインド リダイレクト ファイルが HostedCompiler.exe.config という名前の場合)を使うことが出来ます。

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <runtime>
+      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+        <dependentAssembly>
+          <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
+          <bindingRedirect oldVersion="2.0.0.0-4.3.0.0" newVersion="4.3.1.0"/>
+        </dependentAssembly>
+      </assemblyBinding>
+    </runtime>	
+</configuration>
+
+

どの FSharp.Core と .NET フレームワークがコンパイル時に参照される?

+

FSharp.Combiler.Service コンポーネントは多かれ少なかれ、F#コードを コンパイルするために使われるに過ぎません。特に、コマンドライン引数(あなたのツールを実行するために使われる FSharp.Core や .NET フレームワークとは違います)に明示的に FSharp.Core および/またはフレームワークのアセンブリを参照することが出来ます。

+

特定の FSharp.Core および .NET フレームワーク アセンブリ、またはそのいずれかをターゲットにする場合、 --noframework 引数と適切なコマンドライン引数を使います:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+
[<Literal>]
+let fsharpCorePath = 
+    @"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.1.0\FSharp.Core.dll"
+let errors2, exitCode2 = 
+  scs.Compile(
+    [| "fsc.exe"; "--noframework"; 
+       "-r"; fsharpCorePath; 
+       "-r"; @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll"; 
+       "-o"; fn3; 
+       "-a"; fn2 |])
+
+

これらのアセンブリが配置されている場所を指定する必要があります。クロスプラットフォームに対応した方法でDLL を配置して、それらをコマンドライン引数に変換する最も簡単な方法は、F# プロジェクトファイルをクラックすることです。 +自分で SDK のパスを処理する代わりに、FSharp.Compiler.Service.dll 用のテストで使用しているようなヘルパー関数も用意されています。

+

スクリプトを処理しているか GetCheckOptionsFromScriptRoot を使っている場合

+

もし SDK 配置先にある FSharp.Core.dll を明示的に参照 していない 場合、または FsiEvaluationSessionGetCheckOptionsFromScriptRoot を使用してスクリプトを処理している場合、以下のいずれかの方法により、暗黙的にFSharp.Core が参照されます:

+
    +
  1. System.Reflection.Assembly.GetEntryAssembly() によって返されるホストアセンブリから静的に参照されたFSharp.Core.dll のバージョン

  2. +
  3. +

    ホストアセンブリに FSharp.Core への静的な参照がない場合、

    +
      +
    • FSharp.Compiler.Service 0.x シリーズでは、FSharp.Core バージョン 4.3.0.0 への参照が付与されます
    • +
    • FSharp.Compiler.Service 1.3.1.x (F# 3.1 シリーズ)では、FSharp.Core バージョン 4.3.1.0 への参照が付与されます
    • +
    • FSharp.Compiler.Service 1.4.0.x (F# 4.0 シリーズ)では、FSharp.Core バージョン 4.4.0.0 への参照が付与されます
    • +
    +
  4. +
+

FSharp.Core.optdata と FSharp.Core.sigdata を含める必要はありますか?

+

もしあなたのコンパイル引数が SDK 配置先にある FSharp.Core.dll を明示的に参照している場合、FSharp.Core.sigdata と FSharp.Core.optdata はその DLL と同じフォルダになければいけません(これらのファイルがインストールされていない場合、F# SDKの インストールに問題があります)。もしコンパイル引数で常に明示的に参照していたなら、FSharp.Core.optdata と FSharp.Core.sigdata はあなたのアプリケーションの一部として含める必要は ありません

+

もしあなたが暗黙的な参照(例えば、上記のスクリプト処理など)に頼っているのなら、これはあなたのツールがアプリケーションの一部として FSharp.Core.dll を参照しているかもしれない、ということです。この場合、FSharp.Core.optdata および FSharp.Core.sigdata が FSharp.Core.dll と同じフォルダに見つからないというエラーが発生するかもしれません。 もしあなたがアプリケーションに含めている FSharp.Core.dll を暗黙的に参照したいのであれば、FSharp.Core.sigdata と FSharp.Core.optdata もアプリケーションに追加する2つのファイルとして追加しましょう。 CombileToDynamicAssembly を使用する場合、この問題によってアセンブリ解決中のスタックオーバーフローも引き起こされるでしょう。

+

動的コンパイルと動的コード実行を行うツール(例: HostedExecution.exe)はしばしば FSharp.Core.dll を暗黙的に参照するようになっています。 +これはつまり通常 FSharp.Core.optdata と FSharp.Core.sigdata を含んでいるということです。

+

要約

+

このデザインノートでは3つのポイントを検討しました:

+
    +
  • どの FSharp.Core.dll があなたのコンパイルツールを実行するのに使われるか
  • +
  • あなたのコンパイルツールを実行するのに使われる FSharp.Core.dll へのバインド リダイレクトを設定する方法
  • +
  • あなたのツールによって実行されるチェック時およびコンパイル時にどの FSharp.Core.dll および/またはフレームワークのアセンブリが参照されるか
  • +
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/devnotes.html b/docs/ja/devnotes.html new file mode 100644 index 0000000000..ec50c123e4 --- /dev/null +++ b/docs/ja/devnotes.html @@ -0,0 +1,143 @@ + + + + + 開発者用メモ + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

開発者用メモ

+

F#コンパイラの修正版クローンではクライアントの編集機能やF#コンパイラの埋め込み、 +F# Interactiveをサービスとして動作させるための機能が追加されています。

+

コンポーネント

+

まず FSharp.Compiler.Service.dll というコンポーネントがあります。 +このコンポーネントにはリファクタリングやその他の編集ツールが完全なF# ASTやパーサ機能を利用できるように +可視性を変更するというマイナーな変更だけが加えられています。 +主な狙いとしては、メインコンパイラの安定版かつドキュメントが備えられたフォークを用意することにより、 +このコンポーネントにある共通コードを様々なツールで共有できるようにすることです。

+

2つ目のコンポーネントはF# Interactiveをサービスとして組み込めるようにするためのもので、 +fsi.exe のソースコードに多数の変更が加えられており、 +EvalExpressionEvalInteraction といった関数が追加されています。

+

このレポジトリは以下の点を除けば 'fsharp' と 同一 です:

+
    +
  • +

    FSharp.Compiler.Service.dll のビルド、特に以下の点に関する変更:

    +
      +
    • アセンブリ名の変更
    • +
    • FSharp.Compiler.Service.dll のみビルドされる

    • +
    • +

      ブートストラッパーやプロトコンパイラを使用しない。 +F#コンパイラがインストール済みであることを想定。

      +
    • +
    +
  • +
  • +

    FAKEを使用するビルドスクリプト。 +すべてのコードのビルドとNuGetパッケージ、ドキュメントの生成、 +NuGetパッケージの配布に必要なファイルの生成などがFAKEによって行われる。 +(F# プロジェクト スキャフォールド に準拠)

    +
  • +
  • +

    新機能追加のためにコンパイラのソースコードを変更。 +また、評価用関数を実装するためにF# Interactiveサービスに対する変更を追加。

    +
  • +
  • F#編集用クライアントで使用されるAPIを改善するためにコンパイラのソースコードを変更。
  • +
  • コンパイラサービスAPIに新機能を追加するためにコンパイラのソースコードを変更。
  • +
+

fsharp/fsharp のレポジトリに言語あるいはコンパイラが追加コミットされた場合、 +それらはこのレポジトリにもマージされるべきで、同時に新しいNuGetパッケージもリリースする必要があります。

+

ビルドとNuGet

+

ビルドの手順は F# プロジェクト スキャフォールド +で推奨されているものに準じます。 +プロジェクトを独自にビルドする場合、以下の手順に従ってください:

+ +
1: 
+2: 
+
git clone https://github.com/fsharp/FSharp.Compiler.Service
+cd FSharp.Compiler.Service
+
+

次に、(Windowsであれば) build.cmd または(LinuxやMac OSであれば) build.sh を実行してすべてをビルドします。 +ファイルは bin ディレクトリ内に出力されます。 +ドキュメントやNuGetパッケージもビルドしたい場合には build Release を実行します +(このコマンドはGitHub上のドキュメントを更新しようとしますが、GitHubのレポジトリに適切な権限を持っている場合にのみ有効です)。

+

クライアント

+

このコンポーネントは以下のようなツールで使用されています:

+ + + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/editor.html b/docs/ja/editor.html new file mode 100644 index 0000000000..4e7f64c7fc --- /dev/null +++ b/docs/ja/editor.html @@ -0,0 +1,379 @@ + + + + + コンパイラサービス: エディタサービス + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

コンパイラサービス: エディタサービス

+

このチュートリアルはF#コンパイラによって公開されるエディタサービスの +使用方法についてのデモです。 +このAPIにより、Visual StudioやXamarin Studio、EmacsなどのF#エディタ内において、 +自動補完機能やツールチップ表示、引数情報のヘルプ表示、括弧の補完などの機能を +実装することができます +(詳細については fsharpbindings のプロジェクトを参照してください)。 +型無しASTを使用するチュートリアル と同じく、 +今回も FSharpChecker オブジェクトを作成するところから始めます。

+
+

注意: 以下で使用しているAPIは試験的なもので、最新バージョンのnugetパッケージの +公開に伴って変更されることがあります。

+
+

サンプルソースコードの型チェック

+

前回の(型無しASTを使った)チュートリアル と同じく、 +FSharp.Compiler.Service.dll への参照を追加した後に特定の名前空間をオープンし、 +FSharpChecker のインスタンスを作成します:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+
// F#コンパイラAPIを参照
+#r "FSharp.Compiler.Service.dll"
+
+open System
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+// インタラクティブチェッカーのインスタンスを作成
+let checker = FSharpChecker.Create()
+
+

前回 同様、 +コンパイラに渡されるファイルとしては特定の入力値だけであるという +コンテキストを想定するため、 GetCheckOptionsFromScriptRoot を使います +(この入力値はコンパイラによってスクリプトファイル、 +あるいはスタンドアロンのF#ソースコードとみなされます)。

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+
// サンプルの入力となる複数行文字列
+let input = 
+  """
+  open System
+
+  let foo() = 
+    let msg = String.Concat("Hello"," ","world")
+    if true then 
+      printfn "%s" msg.
+  """
+// 入力値の分割とファイル名の定義
+let inputLines = input.Split('\n')
+let file = "/home/user/Test.fsx"
+
+let projOptions = checker.GetProjectOptionsFromScript(file, input) |> Async.RunSynchronously
+
+

型チェックを実行するには、まず ParseFileInProject を使って +入力値をパースする必要があります。 +このメソッドを使うと 型無しAST にアクセスできるようになります。 +しかし今回は完全な型チェックを実行するため、続けて CheckFileInProject +を呼び出す必要があります。 +このメソッドは ParseFileInProject の結果も必要とするため、 +たいていの場合にはこれら2つのメソッドをセットで呼び出すことになります。

+ + + +
1: 
+2: 
+3: 
+4: 
+
// パースを実行
+let parseFileResults =
+    checker.ParseFileInProject(file, input, projOptions)
+    |> Async.RunSynchronously
+
+

TypeCheckResults に備えられた興味深い機能の紹介に入る前に、 +サンプル入力に対して型チェッカーを実行する必要があります。 +F#コードにエラーがあった場合も何らかの型チェックの結果が返されます +(ただし間違って「推測された」結果が含まれることがあります)。

+ + + +
1: 
+2: 
+3: 
+4: 
+
// 型チェックを実行
+let checkFileAnswer = 
+    checker.CheckFileInProject(parseFileResults, file, 0, input, projOptions) 
+    |> Async.RunSynchronously
+
+

あるいは ParseAndCheckFileInProject を使用すれば1つの操作で両方のチェックを行うことができます:

+ + + +
1: 
+2: 
+3: 
+
let parseResults2, checkFileAnswer2 =
+    checker.ParseAndCheckFileInProject(file, 0, input, projOptions)
+    |> Async.RunSynchronously
+
+

この返り値は CheckFileAnswer 型で、この型に機能的に興味深いものが揃えられています...

+ + + +
1: 
+2: 
+3: 
+4: 
+
let checkFileResults = 
+    match checkFileAnswer with
+    | FSharpCheckFileAnswer.Succeeded(res) -> res
+    | res -> failwithf "パースが完了していません... (%A)" res
+
+

今回は単に(状況に応じて)「Hello world」と表示するだけの +単純な関数の型をチェックしています。 +最終行では値 msg に対する補完リストを表示することができるように、 +msg. というようにドットを追加している点に注意してください +(今回の場合は文字列型に対する様々なメソッドが期待されます)。

+

型チェックの結果を使用する

+

では TypeCheckResults 型で公開されているAPIをいくつか見ていきましょう。 +一般的に、F#ソースコードエディタサービスの実装に必要な機能は +ほとんどこの型に備えられています。

+

ツールチップの取得

+

ツールチップを取得するには GetToolTipTextAlternate メソッドを使用します。 +このメソッドには行数と文字オフセットを指定します。 +いずれも0から始まる数値です。 +サンプルコードでは3行目(0行目は空白行)、インデックス7にある文字 f から始まる関数 +foo のツールチップを取得しています +(ツールチップは識別子の中であれば任意の位置で機能します)。

+

またこのメソッドにはトークンタグを指定する必要もあります。 +トークンタグは一般的には IDENT を指定して、識別子に対する +ツールチップが取得できるようにします +(あるいは #r "..." を使用している場合にはアセンブリの完全パスを表示させるように +することもできるでしょう)。

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
// 最後の引数に指定する、IDENTトークンのタグを取得
+open Microsoft.FSharp.Compiler
+let identToken = Parser.tagOfToken(Parser.token.IDENT("")) 
+
+// 特定の位置におけるツールチップを取得
+let tip = checkFileResults.GetToolTipTextAlternate(4, 7, inputLines.[1], ["foo"], identToken)
+printfn "%A" tip
+
+
+

注意: GetToolTipTextAlternate は古い関数 GetToolTipText に代わるものです。 +GetToolTipText は0から始まる行番号を受け取るようになっていたため、非推奨になりました。

+
+

この関数には位置とトークンの種類の他にも、 +(ソースコードの変更時に役立つように)特定行の現在の内容と、 +現時点における完全修飾された 名前 を表す文字列のリストを指定する必要があります。 +たとえば完全修飾名 System.Random という名前を持った識別子 Random に対する +ツールチップを取得する場合、 Random という文字列が現れる場所の他に、 +["System"; "Random"] という値を指定する必要があります。

+

返り値の型は ToolTipText で、この型には ToolTipElement という +判別共用体が含まれます。 +この共用体は、コンパイラによって返されたツールチップの種類に応じて異なります。

+

自動補完リストの取得

+

次に紹介する TypeCheckResults のメソッドを使用すると、 +特定の位置における自動補完機能を実装できます。 +この機能は任意の識別子上、 +あるいは(特定のスコープ内で利用可能な名前の一覧を取得する場合には)任意のスコープ、 +あるいは特定のオブジェクトにおけるメンバーリストを取得する場合には +. の直後で呼び出すことができます。 +今回は文字列の値 msg に対するメンバーリストを取得することにします。

+

そのためには最終行( printfn "%s" msg. で終わっている行)にある +シンボル . の位置を指定して GetDeclarationListInfo を呼び出します。 +オフセットは1から始まるため、位置は 7, 23 になります。 +また、テキストが変更されていないことを表す関数と、 +現時点において補完する必要がある識別子を指定する必要もあります。

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
// 特定の位置における宣言(自動補完)を取得する
+let decls = 
+    checkFileResults.GetDeclarationListInfo
+      (Some parseFileResults, 7, 23, inputLines.[6], [], "msg", fun _ -> false)
+    |> Async.RunSynchronously
+
+// 利用可能な項目を表示
+for item in decls.Items do
+    printfn " - %s" item.Name
+
+
+

注意: GetDeclarationListInfo は古い関数 GetDeclarations に代わるものです。 +GetDeclarations は0から始まる行番号を受け取るようになっていたため、非推奨になりました。 +また、将来的には現在の GetDeclarations が削除され、 GetDeclarationListInfo が +GetDeclarations になる予定です。

+
+

コードを実行してみると、 SubstringToUpperToLower といった +文字列に対するいつものメソッドのリストが取得できていることでしょう。 +GetDeclarations の5,6番目の引数( [] および "msg" )には +自動補完用のコンテキストを指定します。 +今回の場合は完全名 msg に対する補完を行いましたが、 +たとえば ["System"; "Collections"]"Generic" というように +完全修飾された名前空間を指定して補完リストを取得することもできます。

+

引数の情報を取得する

+

次に一般的なエディタの機能としては、メソッドのオーバーロードに +関する情報を提供するというものでしょう。 +サンプルコード中では多数のオーバーロードを持った String.Concat を使っています。 +このオーバーロード一覧は GetMethods で取得できます。 +先ほどと同じく、このメソッドには対象とする項目の位置を0基準のオフセットで指定し +(今回は String.Concat 識別子の右側の終端)、 +識別子もやはり指定します +(これにより、コンパイラはソースコードが変更された場合でも最新の情報に追従できます):

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
//String.Concatメソッドのオーバーロードを取得する
+let methods = 
+    checkFileResults.GetMethodsAlternate(5, 27, inputLines.[4], Some ["String"; "Concat"]) |> Async.RunSynchronously
+
+// 連結された引数リストを表示
+for mi in methods.Methods do
+    [ for p in mi.Parameters -> p.Display ]
+    |> String.concat ", " 
+    |> printfn "%s(%s)" methods.MethodName
+
+

ここでは Display プロパティを使用することで各引数に対する +アノテーションを取得しています。 +このプロパティは arg0: obj あるいは params args: obj[] 、 +str0: string, str1: string といった情報を返します。 +これらの引数を連結した後、メソッド名とメソッドの型情報とともに表示させています。

+

非同期操作と即時操作

+

CheckFileInProject が非同期操作であることを気にされる人もいるかもしれません。 +これはつまり、F#コードの型チェックにはある程度時間がかかることを示唆しています。 +F#コンパイラは型チェックを(自動的に)バックグラウンドで処理を進めているため、 +CheckFileInProject メソッドを呼び出すと非同期操作が返されることになります。

+

また、 CheckFileInProjectIfReady というメソッドもあります。 +このメソッドは、型チェックの操作が即座に開始できない場合、 +つまりプロジェクト内の他のファイルがまだ型チェックされていない場合には +処理が即座に返されます。 +この場合、バックグラウンドワーカーは一定期間他の作業を進めるか、 +FileTypeCheckStateIsDirty イベントが発生するまでは +ファイルに対する型チェックを諦めるか、どちらか選択することになります。

+
+

fsharpbinding プロジェクトには +1つのF#エージェント経由ですべてのリクエストをバックグラウンドワークとして +処理するような、より複雑な具体例も含まれています。 +エディタの機能を実装する方法としてはこちらのほうが適切です。

+
+

まとめ

+

CheckFileAnswer にはチュートリアルで紹介していないような便利なメソッドが +多数揃えられています。 +これらを使用すれば特定の識別子に対する宣言の位置を取得したり、 +付加的な色情報を取得したりすることができます +(F# 3.1では式ビルダーの識別子やクエリ演算子も着色表示されます)。

+

最後に、直接.NET APIを呼び出すことができないようなエディタに対するサポート機能を +実装する場合、ここで紹介した様々な機能を +FSharp.AutoComplete +プロジェクトのコマンドラインインターフェイス経由で呼び出すこともできます。

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/filesystem.html b/docs/ja/filesystem.html new file mode 100644 index 0000000000..50f16034f4 --- /dev/null +++ b/docs/ja/filesystem.html @@ -0,0 +1,334 @@ + + + + + コンパイラサービス: ファイルシステム仮想化 + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

コンパイラサービス: ファイルシステム仮想化

+

FSharp.Compiler.Service にはファイルシステムを表すグローバル変数があります。 +この変数を設定するこにより、ファイルシステムが利用できない状況でも +コンパイラをホストすることができるようになります。

+
+

注意: 以下で使用しているAPIは実験的なもので、 +新しいnugetパッケージの公開に伴って変更される可能性があります。

+
+

FileSystemの設定

+

以下の例ではディスクからの読み取りを行うような実装をファイルシステムに設定しています:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+33: 
+34: 
+35: 
+36: 
+37: 
+38: 
+39: 
+40: 
+41: 
+42: 
+43: 
+44: 
+45: 
+46: 
+47: 
+48: 
+49: 
+50: 
+51: 
+52: 
+53: 
+54: 
+55: 
+56: 
+57: 
+58: 
+59: 
+60: 
+61: 
+62: 
+63: 
+64: 
+65: 
+66: 
+67: 
+
#r "FSharp.Compiler.Service.dll"
+open System
+open System.IO
+open System.Collections.Generic
+open System.Text
+open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library
+
+let defaultFileSystem = Shim.FileSystem
+
+let fileName1 = @"c:\mycode\test1.fs" // 注意: 実際には存在しないファイルのパス
+let fileName2 = @"c:\mycode\test2.fs" // 注意: 実際には存在しないファイルのパス
+
+type MyFileSystem() = 
+    let file1 = """
+module File1
+
+let A = 1"""
+    let file2 = """
+module File2
+let B = File1.A + File1.A"""
+    let files = dict [(fileName1, file1); (fileName2, file2)]
+
+    interface IFileSystem with
+        // 読み取りおよび書き込み用にファイルをオープンする機能を実装
+        member __.FileStreamReadShim(fileName) = 
+            match files.TryGetValue(fileName) with
+            | true, text -> new MemoryStream(Encoding.UTF8.GetBytes(text)) :> Stream
+            | _ -> defaultFileSystem.FileStreamReadShim(fileName)
+
+        member __.FileStreamCreateShim(fileName) = 
+            defaultFileSystem.FileStreamCreateShim(fileName)
+
+        member __.FileStreamWriteExistingShim(fileName) = 
+            defaultFileSystem.FileStreamWriteExistingShim(fileName)
+
+        member __.ReadAllBytesShim(fileName) = 
+            match files.TryGetValue(fileName) with
+            | true, text -> Encoding.UTF8.GetBytes(text)
+            | _ -> defaultFileSystem.ReadAllBytesShim(fileName)
+
+        // 一時パスおよびファイルのタイムスタンプに関連する機能を実装
+        member __.GetTempPathShim() = 
+            defaultFileSystem.GetTempPathShim()
+        member __.GetLastWriteTimeShim(fileName) = 
+            defaultFileSystem.GetLastWriteTimeShim(fileName)
+        member __.GetFullPathShim(fileName) = 
+            defaultFileSystem.GetFullPathShim(fileName)
+        member __.IsInvalidPathShim(fileName) = 
+            defaultFileSystem.IsInvalidPathShim(fileName)
+        member __.IsPathRootedShim(fileName) = 
+            defaultFileSystem.IsPathRootedShim(fileName)
+
+        // ファイルの存在確認および削除に関連する機能を実装
+        member __.SafeExists(fileName) = 
+            files.ContainsKey(fileName) || defaultFileSystem.SafeExists(fileName)
+        member __.FileDelete(fileName) = 
+            defaultFileSystem.FileDelete(fileName)
+
+        // アセンブリのロードに関連する機能を実装。
+        // 型プロバイダやF# Interactiveで使用される。
+        member __.AssemblyLoadFrom(fileName) = 
+            defaultFileSystem.AssemblyLoadFrom fileName
+        member __.AssemblyLoad(assemblyName) = 
+            defaultFileSystem.AssemblyLoad assemblyName 
+
+let myFileSystem = MyFileSystem()
+Shim.FileSystem <- MyFileSystem() 
+
+

FileSystemによるコンパイルの実行

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+33: 
+34: 
+35: 
+36: 
+37: 
+38: 
+
open Microsoft.FSharp.Compiler.SourceCodeServices
+
+let checker = FSharpChecker.Create()
+let projectOptions = 
+    let allFlags = 
+        [| yield "--simpleresolution"; 
+           yield "--noframework"; 
+           yield "--debug:full"; 
+           yield "--define:DEBUG"; 
+           yield "--optimize-"; 
+           yield "--doc:test.xml"; 
+           yield "--warn:3"; 
+           yield "--fullpaths"; 
+           yield "--flaterrors"; 
+           yield "--target:library"; 
+           let references =
+             [ @"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll"; 
+               @"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll"; 
+               @"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll"; 
+               @"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0\FSharp.Core.dll"]
+           for r in references do 
+                 yield "-r:" + r |]
+ 
+    { ProjectFileName = @"c:\mycode\compilation.fsproj" // 現在のディレクトリで一意な名前を指定
+      ProjectFileNames = [| fileName1; fileName2 |]
+      OtherOptions = allFlags 
+      ReferencedProjects=[| |]
+      IsIncompleteTypeCheckEnvironment = false
+      UseScriptResolutionRules = true 
+      LoadTime = System.DateTime.Now // 'Now' を指定して強制的に再読込させている点に注意
+      UnresolvedReferences = None }
+
+let results = checker.ParseAndCheckProject(projectOptions) |> Async.RunSynchronously
+
+results.Errors
+results.AssemblySignature.Entities.Count //2
+results.AssemblySignature.Entities.[0].MembersFunctionsAndValues.Count //1
+results.AssemblySignature.Entities.[0].MembersFunctionsAndValues.[0].DisplayName // "B"
+
+

まとめ

+

このチュートリアルでは FSharp.Compiler.Service コンポーネントで使用される +ファイルシステムに注目して、グローバルな設定を変更する方法について紹介しました。

+

このチュートリアルの執筆時点では、以下に列挙したSystem.IOの操作に対しては +仮想化されたファイルシステムAPIが用意されない予定になっています。 +将来のバージョンのコンパイラサービスではこれらのAPIが追加されるかもしれません。

+
    +
  • Path.Combine
  • +
  • Path.DirectorySeparatorChar
  • +
  • Path.GetDirectoryName
  • +
  • Path.GetFileName
  • +
  • Path.GetFileNameWithoutExtension
  • +
  • Path.HasExtension
  • +
  • Path.GetRandomFileName (アセンブリ内にコンパイル済みwin32リソースを生成する場合にのみ使用される)
  • +
+

注意: SourceCodeServices API内の一部の操作では、 +引数にファイルの内容だけでなくファイル名を指定する必要があります。 +これらのAPIにおいて、ファイル名はエラーの報告のためだけに使用されます。

+

注意: 型プロバイダーコンポーネントは仮想化されたファイルシステムを使用しません。

+

注意: コンパイラサービスは --simpleresolution が指定されていない場合、 +MSBuildを使ってアセンブリの解決を試みることがあります。 +FileSystem APIを使用する場合、通常はコンパイラへのフラグとして +--simpleresolution を指定することになります。 +それと同時に --noframework を指定します。 +.NETアセンブリに対するすべての参照を明示的に指定する必要があるでしょう。

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/fsharp-readme.html b/docs/ja/fsharp-readme.html new file mode 100644 index 0000000000..7b3d10f5ea --- /dev/null +++ b/docs/ja/fsharp-readme.html @@ -0,0 +1,344 @@ + + + + + F# コンパイラのREADME + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

F# コンパイラのREADME

+
+

注意: このreadmeファイルはF# コンパイラソースコード +(github.com/fsharp/fsharp) +に付属していたオリジナルのファイルのコピーです。 +F# Compiler Servicesプロジェクトは元々F# Compilerプロジェクトから派生したもので、 +いくつかのサービスを公開するために若干の変更が加えられています。 +ここに含まれるreadmeファイルは参考程度にとどめてください。

+
+

このプロジェクトには(オープンソース版の)F# コンパイラ、コアライブラリ、コアツールが含まれます。 +いずれもApache 2.0ライセンスが適用されます。 +master ブランチは最新バージョンのF#(現時点ではF# 3.0)に対応します。 +なおコンパイラをブートストラップするために、 +このプロジェクトの以前のバージョンでビルドされたバイナリが使用されます。

+

必須要件

+

Mono 2.9以上のバージョンが必要です。Mono 3.0が推奨されます。

+

OS Xの場合、automake 2.69が必要です。 +homebrew 経由でインストールする場合は +以下のようにします:

+ +
1: 
+
brew install automake
+
+

ビルド

+

Linuxおよびその他のUnixシステムの場合

+

通常の手順は以下の通りです:

+ +
1: 
+2: 
+3: 
+
./autogen.sh
+make
+sudo make install
+
+

デフォルトでは最適化されたバイナリが生成されます。 +デバッグ版をビルドする場合は make CONFIG=debug とします。

+

MacOS (OSX)の場合

+

Monoのバージョンを指定するprefixを設定します:

+ +
1: 
+2: 
+3: 
+
./autogen.sh --prefix=/Library/Frameworks/Mono.framework/Versions/Current/
+make
+sudo make install
+
+

デフォルトでは最適化されたバイナリが生成されます。 +デバッグ版をビルドする場合は make CONFIG=debug とします。

+

Windows上でmsbuildを使用する(つまり.NETがインストールされている)場合

+

VS2010がインストールされておらず、VS2012しかインストールされていない場合には +F# 2.0 ランタイム +のインストールが必要です:

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+
cd src
+msbuild fsharp-proto-build.proj
+ngen install ..\lib\proto\4.0\fsc-proto.exe (optional)
+msbuild fsharp-library-build.proj /p:Configuration=Release
+msbuild fsharp-compiler-build.proj /p:Configuration=Release
+
+

また、.NET 2.0やMono 2.1、MonoTouch、Silverlight 5.0、 +Windows Phone 7.1、ポータブルプロファイル47(.NET4.5+Silverlight5+Windows8)、 +ポータブルプロファイル88(.NET4+Silverlight4+WindowsPhone7.1+Windows8)、 +Xbox 360用XNA 4.0のプロファイルに対応するFSharp.Coreをビルドすることもできます:

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+
msbuild fsharp-library-build.proj /p:TargetFramework=net20 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=mono21 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=monotouch /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=portable-net45+sl5+win8 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=portable-net4+sl4+wp71+win8 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=sl5 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=wp7 /p:Configuration=Release
+msbuild fsharp-library-build.proj /p:TargetFramework=net40-xna40-xbox360 /p:Configuration=Release
+
+

Silverlight 5.0用にFSharp.CoreとFSharp.Compiler.Silverlight.dll +をビルドすることもできます:

+ +
1: 
+2: 
+
msbuild fsharp-library-build.proj /p:TargetFramework=sl5-compiler  /p:Configuration=Release
+msbuild fsharp-compiler-build.proj /p:TargetFramework=sl5-compiler /p:Configuration=Release
+
+

デバッグ版バイナリを出力する場合は /p:Configuration=Debug に変更します。

+

Windows上でxbuildを使用する(つまり.NETがインストールされておらず、Mono 3.0だけがインストールされている)場合

+ +
1: 
+2: 
+3: 
+4: 
+
cd src
+xbuild fsharp-proto-build.proj
+xbuild fsharp-library-build.proj
+xbuild fsharp-compiler-build.proj
+
+

xbuildを使用したビルドはMono準拠の公開用バイナリ生成にはまだ対応していないため +(src/fsharp/targets.make を参照)、個人的な使用にとどめ、 +公開用のビルドには使用してはいけません。

+

厳密名

+

生成されたFSharp.Core.dllには遅延署名だけが行われます +(Monoでは厳密名が必須ではありません)。 +厳密名で署名されたFSharp.Core.dllが必要であれば以下を使用してください:

+ +
1: 
+
lib\bootstrap\signed\3.0\v4.0\FSharp.Core.dll
+
+

生成されるファイル

+

ビルドが完了すると、メインのコンパイラバイナリは以下の場所に生成されます:

+ +
1: 
+
lib/release/4.0
+
+

.NET 2.0やMonoAndroid、MonoTouch(Monoプロファイル2.1)は以下の場所に生成されます:

+ +
1: 
+2: 
+3: 
+
lib/release/2.0
+lib/release/2.1
+lib/release/2.1monotouch
+
+

make install を実行した場合のプレフィックスは以下のようになります:

+ +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/2.0/FSharp.Core.dll
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/2.1/FSharp.Core.dll
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.0/fsc.exe
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.0/FSharp.Compiler.dll
+...
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/fsc.exe
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5/FSharp.Compiler.dll
+...
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/gac/.../FSharp.Compiler.dll
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/gac/.../FSharp.Compiler.dll
+...
+
+

またxbuildをサポートする場合は以下のプレフィックスになります:

+ +
1: 
+2: 
+
/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/Microsoft\ F#/v4.0/*
+/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/Microsoft\ SDKs/F#/3.0/Framework/*
+
+

(これらの名前はVisual Studio由来のプロジェクトファイルで使用されている +Microsoft.FSharp.Targetsファイル内における正式名です)

+

また、以下のスクリプトが配置されます:

+ +
1: 
+2: 
+
/usr/bin/fsharpc   (F# コンパイラ)
+/usr/bin/fsharpi   (F# Interactive)
+
+

開発者用メモ

+

継続的インテグレーションビルド

+

このプロジェクトはJetBrains/Teamcityサーバー上において、 +F#コミュニティプロジェクトの一部として継続的インテグレーション +(CI:continuous integration)ビルドが行われています:

+

http://teamcity.codebetter.com/project.html?projectId=project61&tab=projectOverview

+

主な管理者は @forki です。 +今のところMono用に'make' installと、 +Windows用に 'cd src; msbuild fsharp-build.proj' のビルドが行われています。 +ビルドされたバイナリは保存されておらず、 +単にサニティチェックだけが対象になっています。

+

Visual StudioまたはMonoDevelop上でコンパイラを編集する

+

all-vs2012.sln を開いてモードをDebugまたはReleaseに設定します。 +コンパイラはコンパイル中でも気を利かせてワークフローに若干介入することがあるため、 +実際にコンパイルを実行するには上記にあるようなコマンドライン経由で +コンパイルするとよいでしょう。

+

MonoDevelopでサポートされているF#ではプロセス内バックグラウンドコンパイラが +使用されます。 +Mac上ではこれが原因でガベージコレクションを止めることがあり、 +MonoDevelop上でのコンパイラの編集がしづらくなる場合があります。

+

.NET 4.x用にF# Coreの単体テストをビルドする(省略可)

+

このプロジェクトでは、 FSharp.Core.dllFSharp.Compiler.dll の一部を +チェックする単体テストをビルドするためにprotoコンパイラを使用しています。 +また、 tests\fsharp 以下にもいくつかのテストがあります。

+ +
1: 
+
msbuild fsharp-library-unittests-build.proj /p:TargetFramework=net40
+
+

注意: 単体テストをビルドする場合、NUnitをインストールしておく必要があります。

+

検証および使用方法

+

ビルドされたバイナリを簡単に検証するには、以下のようにして fsi.exe +(F# Interactive) を起動してみるとよいでしょう:

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+
lib\debug\4.0\fsi.exe
+1 + 1;;
+\#q;;
+lib\debug\4.0\fsi.exe /help
+lib\debug\4.0\fsc.exe /help
+echo printfn "hello world" > hello.fs
+lib\debug\4.0\fsc.exe hello.fs
+hello.exe
+
+

(Windows上で)コンパイラのテストを実行する

+

tests\fsharp\core 以下には言語機能のテストがあります。 +テスト機構は素朴なもので、残念なことにバッチファイルを使用しています。 +これらのテストをWindows上で実行するには以下のようにします:

+ +
1: 
+2: 
+
cd ..\tests\fsharp\core
+..\..\build-and-run-all-installed-ilx-configs.bat results.log
+
+

それぞれのテストディレクトリには1つのテスト結果ファイルが生成され、 +発生したエラーも記録されます。

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+
tests\fsharp\core
+tests\fsharp\core\queriesCustomQueryOps
+tests\fsharp\core\queriesLeafExpressionConvert
+tests\fsharp\core\queriesNullableOperators
+tests\fsharp\core\queriesOverIEnumerable
+...
+
+

LINQクエリに対するいくつかのテストではSQL Serverのインストールが必要です。 +テストが失敗すると、たとえば以下のように出力されます:

+ +
1: 
+
ERRORLEVEL=1: in tests\fsharp\core\csfromfs\build.bat
+
+

この場合、関連するディレクトリに移動した後、 +build.bat および run.bat を実行します。

+

歴史

+

Microsoftから公開されたF#コンパイラのソースは +fsharppowerpack.codeplex.com にあります。

+

ブートストラップ用ライブラリ、ツール、F#コンパイラが利用できます。 +lib/bootstrap/X.0 ディレクトリにはMonoビルド用ライブラリやコンパイラ、 +ビルドをブートストラップするために使用するツールなどが含まれています。 +ブートストラップを独自に指定する場合は --with-bootstrap オプションを使用します。

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/index.html b/docs/ja/index.html new file mode 100644 index 0000000000..6499f58a2f --- /dev/null +++ b/docs/ja/index.html @@ -0,0 +1,159 @@ + + + + + F# コンパイラサービス + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

F# コンパイラサービス

+

F# コンパイラサービスパッケージはF# コンパイラのソースコードから派生したコンポーネントです。 +このソースコードにはF# 言語バインディングを実装するための機能や、 +コンパイラやリファクタリングツールを元にしたツールを作成するための機能が追加されています。 +また、パッケージには自身のアプリケーションにF# スクリプトを埋め込む際に利用できるような +F# インタラクティブサービスも含まれています。

+
+
+
+
+ F# コンパイラサービスパッケージは NuGet経由でインストールできます: +
PM> Install-Package FSharp.Compiler.Service
+
+
+
+
+

利用可能なサービス

+

プロジェクトには現在以下のサービスがあり、いずれもテストされ、 +このページから参照可能なドキュメントがあります。 +ライブラリには他にも使用可能な公開APIがありますが、 +ここではドキュメント化されていません。

+
    +
  • +

    F# 言語トークナイザ - F#ソースコードをトークンのストリームへと変換します。 +この機能はソースコードを色つき表示したり、基本的なツールを作成するような場合に有効です。 +ネストされたコメントや文字列なども適切に処理できます。

    +
  • +
  • +

    型無しASTの処理 - この機能を使うことで型無し抽象構文木(AST: abstract syntax tree)にアクセスできます。 +型無しASTとは型情報を含まない解析済みのF#の文法を表すもので、 +コードフォーマットやその他様々な単純処理に利用できます。

    +
  • +
  • +

    エディタ (IDE) サービスの使用 - 自動補完やツールチップ、 +引数の情報などを表示するための機能があります。 +この機能を使うと、F#サポート機能をエディタに追加したり、F#コードから +何らかの型情報を取得したりすることができるようになります。

    +
  • +
  • +

    シグネチャや型、解決済みのシンボルの処理 - +解決済みのシンボルや推測された型の表現、アセンブリ全体のシグネチャなどを +型のチェック時に返すような多数のサービスがあります。

    +
  • +
  • +

    複数プロジェクトやプロジェクト全体の処理 - +すべてのプロジェクトに対するチェックを実行することにより、 +プロジェクト全体の解析結果を使って[すべての参照の検索] のような +機能を実現できます。

    +
  • +
  • +

    F# Interactive のホスティング - 自身の.NETコードから +F# Interactiveを.NETライブラリとして呼び出すことができるようになります。 +このAPIを使用すると、自身のプロジェクト内でF#をスクリプト言語として +埋め込むことができるようになります。

    +
  • +
  • +

    F#コンパイラのホスティング - F# コンパイラを +呼び出すコードを組み込むことができます。

    +
  • +
  • +

    ファイルシステムAPI - FSharp.Compiler.Service コンポーネントには +ファイルシステムを表すグローバル変数が定義されています。 +この変数を設定することによって、ファイルシステムが使用できない状況であっても +コンパイラをホストすることができるようになります。

    +
  • +
+
+

注釈: FSharp.Compiler.Service.dll には既存のものと重複する機能が多数あるため、 +将来的にはもっときちんとした形に変更されます。 +そのため、これらのサービスを使用するAPIには破壊的変更が加えられる可能性があります。

+
+

貢献および著作権について

+

このプロジェクトは fsharp/fsharp からフォークしたもので、 +そこへさらにエディタやF#用ツール、F# Interactiveの組み込みに必要となる機能を +追加したものです。

+

F# ソースコードの著作権はMicrosoft Corporationおよび貢献者に、 +拡張機能の著作権は Dave Thomas, Anh-Dung Phan, Tomas Petricek および +その他の貢献者にあります。 +ソースコードは Apache 2.0 ライセンス の元に公開されています。

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/interactive.html b/docs/ja/interactive.html new file mode 100644 index 0000000000..d4face96fc --- /dev/null +++ b/docs/ja/interactive.html @@ -0,0 +1,461 @@ + + + + + インタラクティブサービス: F# Interactiveの組み込み + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

インタラクティブサービス: F# Interactiveの組み込み

+

このチュートリアルでは、独自のアプリケーションに +F# Interactiveを組み込む方法について紹介します。 +F# Interactiveは対話式のスクリプティング環境で、 +F#コードを高度に最適化されたILコードへとコンパイルしつつ、 +それを即座に実行することができます。 +F# Interactiveサービスを使用すると、独自のアプリケーションに +F#の評価機能を追加できます。

+
+

注意: F# Interactiveは様々な方法で組み込むことができます。 +最も簡単な方法は fsi.exe プロセスとの間で標準入出力経由でやりとりする方法です。 +このチュートリアルではF# Interactiveの機能を.NET APIで +直接呼び出す方法について紹介します。 +ただし入力用のコントロールを備えていない場合、別プロセスでF# Interactiveを +起動するのはよい方法だといえます。 +理由の1つとしては StackOverflowException を処理する方法がないため、 +出来の悪いスクリプトによってはホストプロセスが停止させられてしまう +場合があるからです。 +.NET APIを通じてF# Interactiveを呼び出すとしても、 --shadowcopyreferences +オプションは無視されることを覚えておきましょう。 +詳細な議論については、このスレッド +に目を通してみてください。 +注意: もしFSharp.Core.dll が見つからないというエラーが出て FsiEvaluationSession.Create +に失敗した場合、 FSharp.Core.sigdataFSharp.Core.optdata というファイルを追加してください。 +詳しい内容はこちら +にあります。

+
+

しかしそれでもF# InteractiveサービスにはF# Interactiveを実行ファイルに埋め込んで +実行出来る(そしてアプリケーションの各機能とやりとり出来る)、あるいは +機能限定されたF#コード(たとえば独自のDSLによって生成されたコード)だけを +実行させることが出来るという便利さがあります。

+

F# Interactiveの開始

+

まずF# Interactiveサービスを含むライブラリへの参照を追加します:

+ + + +
1: 
+2: 
+3: 
+
#r "FSharp.Compiler.Service.dll"
+open Microsoft.FSharp.Compiler.SourceCodeServices
+open Microsoft.FSharp.Compiler.Interactive.Shell
+
+

F# Interactiveとやりとりするには、入出力を表すストリームを作成する必要があります。 +これらのストリームを使用することで、 +いくつかのF#コードに対する評価結果を後から出力することができます:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+
open System
+open System.IO
+open System.Text
+
+// 入出力のストリームを初期化
+let sbOut = new StringBuilder()
+let sbErr = new StringBuilder()
+let inStream = new StringReader("")
+let outStream = new StringWriter(sbOut)
+let errStream = new StringWriter(sbErr)
+
+// コマンドライン引数を組み立てて、FSIセッションを開始する
+let argv = [| "C:\\fsi.exe" |]
+let allArgs = Array.append argv [|"--noninteractive"|]
+
+let fsiConfig = FsiEvaluationSession.GetDefaultConfiguration()
+let fsiSession = FsiEvaluationSession.Create(fsiConfig, allArgs, inStream, outStream, errStream)  
+
+

コードの評価および実行

+

F# Interactiveサービスにはコードを評価するためのメソッドがいくつか用意されています。 +最初の1つは EvalExpression で、式を評価してその結果を返します。 +結果には戻り値が( obj として)含まれる他、値に対して静的に推論された型も含まれます:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+
/// 式を評価して結果を返す
+let evalExpression text =
+  match fsiSession.EvalExpression(text) with
+  | Some value -> printfn "%A" value.ReflectionValue
+  | None -> printfn "結果が得られませんでした!"
+
+

これは引数に文字列を取り、それをF#コードとして評価(つまり実行)します。

+ + + +
1: 
+
evalExpression "42+1" // '43' を表示する
+
+

これは以下のように強く型付けされた方法で使うことができます:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
/// 式を評価して、強く型付けされた結果を返す
+let evalExpressionTyped<'T> (text) =
+    match fsiSession.EvalExpression(text) with
+    | Some value -> value.ReflectionValue |> unbox<'T>
+    | None -> failwith "結果が得られませんでした!"
+
+evalExpressionTyped<int> "42+1"  // '43' になる
+
+

EvalInteraction メソッドは画面出力機能や宣言、 +F#の式としては不正なものの、F# Interactiveコンソールには入力できるようなものなど、 +副作用を伴う命令を評価する場合に使用できます。 +たとえば #time "on" (あるいはその他のディレクティブ)や open System 、 +その他の宣言やトップレベルステートメントなどが該当します。 +指定するコードの終端に ;; を入力する必要はありません。 +実行したいコードだけを入力します:

+ + + +
1: 
+
fsiSession.EvalInteraction "printfn \"bye\""
+
+

EvalScript メソッドを使用すると、完全な .fsx スクリプトを評価することができます。

+ + + +
1: 
+2: 
+
File.WriteAllText("sample.fsx", "let twenty = 10 + 10")
+fsiSession.EvalScript "sample.fsx"
+
+

例外処理

+

コードに型チェックの警告やエラーがあった場合、または評価して例外で失敗した場合、 +EvalExpressionEvalInteraction そして EvalScript ではあまりうまく処理されません。 +これらのケースでは、 EvalExpressionNonThrowingEvalInteractionNonThrowing +そして EvalScriptNonThrowing を使うことが出来ます。 +これらは結果と FSharpErrorInfo 値の配列の組を返します。 +これらはエラーと警告を表します。結果の部分は実際の結果と例外のいずれかを表す +Choice<_,_> です。

+

EvalExpression および EvalExpressionNonThrowing の結果部分は +オプションの FSharpValue 値です。 +その値が存在しない場合、式が .NET オブジェクトとして表現できる具体的な結果を +持っていなかったということを指し示しています。 +この状況は実際には入力されたどんな通常の式に対しても発生すべきではなく、 +ライブラリ内で使われるプリミティブ値に対してのみ発生すべきです。

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
File.WriteAllText("sample.fsx", "let twenty = 'a' + 10.0")
+let result, warnings = fsiSession.EvalScriptNonThrowing "sample.fsx"
+
+// 結果を表示する
+match result with 
+| Choice1Of2 () -> printfn "チェックと実行はOKでした"
+| Choice2Of2 exn -> printfn "実行例外: %s" exn.Message
+
+

は次のようになります:

+ + + +
1: 
+
実行例外: Operation could not be completed due to earlier error
+
+ + + +
1: 
+2: 
+3: 
+
// エラーと警告を表示する
+for w in warnings do 
+   printfn "警告 %s 場所 %d,%d" w.Message w.StartLineAlternate w.StartColumn
+
+

は次のようになります:

+ + + +
1: 
+2: 
+
警告 The type 'float' does not match the type 'char' 場所 1,19
+警告 The type 'float' does not match the type 'char' 場所 1,17
+
+

式に対しては:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+
let evalExpressionTyped2<'T> text =
+   let res, warnings = fsiSession.EvalExpressionNonThrowing(text)
+   for w in warnings do 
+       printfn "警告 %s 場所 %d,%d" w.Message w.StartLineAlternate w.StartColumn 
+   match res with 
+   | Choice1Of2 (Some value) -> value.ReflectionValue |> unbox<'T>
+   | Choice1Of2 None -> failwith "null または結果がありません"
+   | Choice2Of2 (exn:exn) -> failwith (sprintf "例外 %s" exn.Message)
+
+evalExpressionTyped2<int> "42+1"  // '43' になる
+
+

並列実行

+

デフォルトでは EvalExpression に渡したコードは即時実行されます。 +並列に実行するために、タスクを開始する計算を投入します:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+
open System.Threading.Tasks
+
+let sampleLongRunningExpr = 
+    """
+async { 
+    // 実行したいコード
+    do System.Threading.Thread.Sleep 5000
+    return 10 
+}
+  |> Async.StartAsTask"""
+
+let task1 = evalExpressionTyped<Task<int>>(sampleLongRunningExpr)  
+let task2 = evalExpressionTyped<Task<int>>(sampleLongRunningExpr)
+
+

両方の計算がいま開始しました。結果を取得することが出来ます:

+ + + +
1: 
+2: 
+
task1.Result // 完了後に結果が出てくる (最大5秒)
+task2.Result // 完了後に結果が出てくる (最大5秒)
+
+

評価コンテキスト内での型チェック

+

F# Interactiveの一連のスクリプティングセッション中で +コードの型チェックを実行したいような状況を考えてみましょう。 +たとえばまず宣言を評価します:

+ + + +
1: 
+
fsiSession.EvalInteraction "let xxx = 1 + 1"
+
+

次に部分的に完全な xxx + xx というコードの型チェックを実行したいとします:

+ + + +
1: 
+
let parseResults, checkResults, checkProjectResults = fsiSession.ParseAndCheckInteraction("xxx + xx")
+
+

parseResultscheckResults はそれぞれ エディタ +のページで説明している ParseFileResultsCheckFileResults 型です。 +たとえば以下のようなコードでエラーを確認出来ます:

+ + + +
1: 
+
checkResults.Errors.Length // 1
+
+

コードはF# Interactiveセッション内において、その時点までに実行された +有効な宣言からなる論理的な型コンテキストと結びつく形でチェックされます。

+

また、宣言リスト情報やツールチップテキスト、シンボルの解決といった処理を +要求することもできます:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
open Microsoft.FSharp.Compiler
+
+// ツールチップを取得する
+checkResults.GetToolTipTextAlternate(1, 2, "xxx + xx", ["xxx"], FSharpTokenTag.IDENT) 
+
+checkResults.GetSymbolUseAtLocation(1, 2, "xxx + xx", ["xxx"]) // シンボル xxx
+  
+
+

'fsi'オブジェクト

+

スクリプトのコードが'fsi'オブジェクトにアクセスできるようにしたい場合、 +このオブジェクトの実装を明示的に渡さなければなりません。 +通常、FSharp.Compiler.Interactive.Settings.dll由来の1つが使われます。

+ + + +
1: 
+
let fsiConfig2 = FsiEvaluationSession.GetDefaultConfiguration(fsi)
+
+

収集可能なコード生成

+

FsiEvaluationSessionを使用してコードを評価すると、 +.NET の動的アセンブリを生成し、他のリソースを使用します。 +collectible=true を渡すことで、生成されたコードを収集可能に出来ます。 +しかしながら、例えば EvalExpression から返される FsiValue のような型を必要とする未解放のオブジェクト参照が無く、 +かつ FsiEvaluationSession を破棄したに違いない場合に限ってコードが収集されます。 +収集可能なアセンブリに対する制限 +も参照してください。

+

以下の例は200個の評価セッションを生成しています。 collectible=trueuse session = ... +の両方を使っていることに気をつけてください。

+

収集可能なコードが正しく動いた場合、全体としてのリソース使用量は +評価が進んでも線形には増加しないでしょう。

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+
let collectionTest() = 
+
+    for i in 1 .. 200 do
+        let defaultArgs = [|"fsi.exe";"--noninteractive";"--nologo";"--gui-"|]
+        use inStream = new StringReader("")
+        use outStream = new StringWriter()
+        use errStream = new StringWriter()
+
+        let fsiConfig = FsiEvaluationSession.GetDefaultConfiguration()
+        use session = FsiEvaluationSession.Create(fsiConfig, defaultArgs, inStream, outStream, errStream, collectible=true)
+        
+        session.EvalInteraction (sprintf "type D = { v : int }")
+        let v = session.EvalExpression (sprintf "{ v = 42 * %d }" i)
+        printfn "その %d, 結果 = %A" i v.Value.ReflectionValue
+
+// collectionTest()  <-- このようにテストを実行する
+
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/project.html b/docs/ja/project.html new file mode 100644 index 0000000000..2c5e93e964 --- /dev/null +++ b/docs/ja/project.html @@ -0,0 +1,475 @@ + + + + + コンパイラサービス: プロジェクトの分析 + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

コンパイラサービス: プロジェクトの分析

+

このチュートリアルではF#コンパイラによって提供されるサービスを使用して +プロジェクト全体を分析する方法について紹介します。

+
+

注意: 以下で使用しているAPIは試験的なもので、 +最新のnugetパッケージの公開に伴って変更されることがあります。

+
+

プロジェクト全体の結果を取得する

+

以前の(型無しASTを使った)チュートリアル と同じく、 +まずは FSharp.Compiler.Service.dll への参照追加と、適切な名前空間のオープン、 +FSharpChecker インスタンスの作成を行います:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
// F#コンパイラAPIへの参照
+#r "FSharp.Compiler.Service.dll"
+
+open System
+open System.Collections.Generic
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+// インタラクティブチェッカーのインスタンスを作成
+let checker = FSharpChecker.Create()
+
+

今回のサンプル入力は以下の通りです:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+33: 
+34: 
+35: 
+
module Inputs = 
+    open System.IO
+
+    let base1 = Path.GetTempFileName()
+    let fileName1 = Path.ChangeExtension(base1, ".fs")
+    let base2 = Path.GetTempFileName()
+    let fileName2 = Path.ChangeExtension(base2, ".fs")
+    let dllName = Path.ChangeExtension(base2, ".dll")
+    let projFileName = Path.ChangeExtension(base2, ".fsproj")
+    let fileSource1 = """
+module M
+
+type C() = 
+    member x.P = 1
+
+let xxx = 3 + 4
+let fff () = xxx + xxx
+    """
+    File.WriteAllText(fileName1, fileSource1)
+
+    let fileSource2 = """
+module N
+
+open M
+
+type D1() = 
+    member x.SomeProperty = M.xxx
+
+type D2() = 
+    member x.SomeProperty = M.fff()
+
+// 警告を発生させる
+let y2 = match 1 with 1 -> M.xxx
+    """
+    File.WriteAllText(fileName2, fileSource2)
+
+

GetProjectOptionsFromCommandLineArgs を使用して、 +2つのファイルを1つのプロジェクトとして扱えるようにします:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+
let projectOptions = 
+    checker.GetProjectOptionsFromCommandLineArgs
+       (Inputs.projFileName,
+        [| yield "--simpleresolution" 
+           yield "--noframework" 
+           yield "--debug:full" 
+           yield "--define:DEBUG" 
+           yield "--optimize-" 
+           yield "--out:" + Inputs.dllName
+           yield "--doc:test.xml" 
+           yield "--warn:3" 
+           yield "--fullpaths" 
+           yield "--flaterrors" 
+           yield "--target:library" 
+           yield Inputs.fileName1
+           yield Inputs.fileName2
+           let references = 
+             [ @"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll" 
+               @"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll" 
+               @"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll" 
+               @"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0\FSharp.Core.dll"]  
+           for r in references do
+                 yield "-r:" + r |])
+
+

そして(ディスク上に保存されたファイルを使用して) +プロジェクト全体をチェックします:

+ + + +
1: 
+
let wholeProjectResults = checker.ParseAndCheckProject(projectOptions) |> Async.RunSynchronously
+
+

発生したエラーと警告は以下のようにしてチェックできます:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
wholeProjectResults.Errors.Length // 1
+wholeProjectResults.Errors.[0].Message.Contains("Incomplete pattern matches on this expression") // true
+
+wholeProjectResults.Errors.[0].StartLineAlternate // 13
+wholeProjectResults.Errors.[0].EndLineAlternate // 13
+wholeProjectResults.Errors.[0].StartColumn // 15
+wholeProjectResults.Errors.[0].EndColumn // 16
+
+

推測されたプロジェクトのシグネチャをチェックします:

+ + + +
1: 
+2: 
+3: 
+4: 
+
[ for x in wholeProjectResults.AssemblySignature.Entities -> x.DisplayName ] // ["N"; "M"]
+[ for x in wholeProjectResults.AssemblySignature.Entities.[0].NestedEntities -> x.DisplayName ] // ["D1"; "D2"]
+[ for x in wholeProjectResults.AssemblySignature.Entities.[1].NestedEntities -> x.DisplayName ] // ["C"]
+[ for x in wholeProjectResults.AssemblySignature.Entities.[0].MembersFunctionsAndValues -> x.DisplayName ] // ["y2"]
+
+

プロジェクト内の全シンボルを取得することもできます:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+
let rec allSymbolsInEntities (entities: IList<FSharpEntity>) = 
+    [ for e in entities do 
+          yield (e :> FSharpSymbol) 
+          for x in e.MembersFunctionsAndValues do
+             yield (x :> FSharpSymbol)
+          for x in e.UnionCases do
+             yield (x :> FSharpSymbol)
+          for x in e.FSharpFields do
+             yield (x :> FSharpSymbol)
+          yield! allSymbolsInEntities e.NestedEntities ]
+
+let allSymbols = allSymbolsInEntities wholeProjectResults.AssemblySignature.Entities
+
+

プロジェクト全体のチェックが完了した後は、 +プロジェクト内の各ファイルに対する個別の結果を取得することもできます。 +この処理は即座に完了し、改めてチェックが実行されることもありません。

+ + + +
1: 
+2: 
+3: 
+
let backgroundParseResults1, backgroundTypedParse1 = 
+    checker.GetBackgroundCheckResultsForFileInProject(Inputs.fileName1, projectOptions) 
+    |> Async.RunSynchronously
+
+

そしてそれぞれのファイル内にあるシンボルを解決できます:

+ + + +
1: 
+2: 
+3: 
+
let xSymbol = 
+    backgroundTypedParse1.GetSymbolUseAtLocation(9,9,"",["xxx"])
+    |> Async.RunSynchronously
+
+

それぞれのシンボルに対して、シンボルへの参照を検索することもできます:

+ + + +
1: 
+
let usesOfXSymbol = wholeProjectResults.GetUsesOfSymbol(xSymbol.Value.Symbol)
+
+

推測されたシグネチャ内にあるすべての定義済みシンボルに対して、 +それらがどこで使用されているのかを探し出すこともできます:

+ + + +
1: 
+2: 
+3: 
+
let allUsesOfAllSignatureSymbols = 
+    [ for s in allSymbols do 
+         yield s.ToString(), wholeProjectResults.GetUsesOfSymbol(s) ]
+
+

(ローカルスコープで使用されているものも含めて) +プロジェクト全体で使用されているすべてのシンボルを確認することもできます:

+ + + +
1: 
+
let allUsesOfAllSymbols = wholeProjectResults.GetAllUsesOfAllSymbols()
+
+

また、プロジェクト内のファイルに対して、更新後のバージョンに対して +チェックを実行するようにリクエストすることもできます +(なお FileSystem API を使用していない場合には、 +プロジェクト内のその他のファイルがまだディスクから +読み取り中であることに注意してください):

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+
let parseResults1, checkAnswer1 = 
+    checker.ParseAndCheckFileInProject(Inputs.fileName1, 0, Inputs.fileSource1, projectOptions) 
+    |> Async.RunSynchronously
+
+let checkResults1 = 
+    match checkAnswer1 with 
+    | FSharpCheckFileAnswer.Succeeded x ->  x 
+    | _ -> failwith "想定外の終了状態です"
+
+let parseResults2, checkAnswer2 = 
+    checker.ParseAndCheckFileInProject(Inputs.fileName2, 0, Inputs.fileSource2, projectOptions)
+    |> Async.RunSynchronously
+
+let checkResults2 = 
+    match checkAnswer2 with 
+    | FSharpCheckFileAnswer.Succeeded x ->  x 
+    | _ -> failwith "想定外の終了状態です"
+
+

そして再びシンボルを解決したり、参照を検索したりすることができます:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+
let xSymbol2 = 
+    checkResults1.GetSymbolUseAtLocation(9,9,"",["xxx"]) 
+    |> Async.RunSynchronously
+
+let usesOfXSymbol2 = wholeProjectResults.GetUsesOfSymbol(xSymbol2.Value.Symbol)
+
+

あるいは(ローカルスコープで使用されているシンボルも含めて) +ファイル中で使用されているすべてのシンボルを検索することもできます:

+ + + +
1: 
+
let allUsesOfAllSymbolsInFile1 = checkResults1.GetAllUsesOfAllSymbolsInFile()
+
+

あるいは特定のファイル中で使用されているシンボルを検索することもできます:

+ + + +
1: 
+2: 
+3: 
+
let allUsesOfXSymbolInFile1 = checkResults1.GetUsesOfSymbolInFile(xSymbol2.Value.Symbol)
+
+let allUsesOfXSymbolInFile2 = checkResults2.GetUsesOfSymbolInFile(xSymbol2.Value.Symbol)
+
+

複数プロジェクトの分析

+

複数のプロジェクトにまたがった参照があるような、 +複数のF# プロジェクトを分析したい場合、 +それらのプロジェクトを一旦ビルドして、 +ProjectOptionsで -r:プロジェクト-出力-までの-パス.dll 引数を指定して +プロジェクトの相互参照を設定すると一番簡単です。 +しかしこの場合、それぞれのプロジェクトが正しくビルド出来、 +DLLファイルが参照可能なディスク上に生成されなければいけません。

+

たとえばIDEを操作している場合など、状況によっては +DLLのコンパイルが通るようになる前に +プロジェクトを参照したいことがあるでしょう。 +この場合はProjectOptionsのReferencedProjectsを設定します。 +この値には依存するプロジェクトのオプションを再帰的に指定します。 +それぞれのプロジェクト参照にはやはり、 +ReferencedProjectsのエントリそれぞれに対応する +-r:プロジェクト-出力-までの-パス.dll というコマンドライン引数を +ProjectOptionsに設定する必要があります。

+

プロジェクト参照が設定されると、ソースファイルからのF#プロジェクト分析処理が +インクリメンタル分析の結果を使用して行われるようになります。 +その際にはソースファイルファイルをDLLへとコンパイルする必要はありません。

+

相互参照を含むようなF#プロジェクトを効率よく分析するには、 +ReferencedProjectsを正しく設定した後、 +それぞれのプロジェクトを順番通りに分析していくとよいでしょう。

+
+

注意: プロジェクトの参照機能は試作段階です。 +プロジェクトの参照を使用すると、依存先のプロジェクトがまだ分析中で、 +要求したサービスがまだ利用できないことがあるため、 +コンパイラサービスの性能が低下することがあります。 +注意: アセンブリが型プロバイダーのコンポーネントを含む場合、 +プロジェクト参照機能は利用できません。 +プロジェクトの分析処理を強制しない限りはプロジェクト参照を設定しても +効果がありません。 +また、分析を強制する場合にはディスク上にDLLが存在しなければいけません。

+
+

まとめ

+

これまで説明してきた通り、 ParseAndCheckProject を使用すると +シンボルの参照などのようなプロジェクト全体の解析結果にアクセスできるようになります。 +シンボルに対する処理の詳細については シンボル のページを参照してください。

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/symbols.html b/docs/ja/symbols.html new file mode 100644 index 0000000000..5863fd6f43 --- /dev/null +++ b/docs/ja/symbols.html @@ -0,0 +1,426 @@ + + + + + コンパイラサービス: シンボルの処理 + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

コンパイラサービス: シンボルの処理

+

このチュートリアルでは、F#コンパイラによって提供される +シンボルの扱い方についてのデモを紹介します。 +シンボルの参照に関する情報については プロジェクト全体の分析 +も参考にしてください。

+
+

注意: 以下で使用しているAPIは試験的なもので、 +最新のnugetパッケージの公開に伴って変更されることがあります。

+
+

これまでと同じく、 FSharp.Compiler.Service.dll への参照を追加した後、 +適切な名前空間をオープンし、 FSharpChecker のインスタンスを作成します:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
// F#コンパイラAPIへの参照
+#r "FSharp.Compiler.Service.dll"
+
+open System
+open System.IO
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+// インタラクティブチェッカーのインスタンスを作成
+let checker = FSharpChecker.Create()
+
+

そして特定の入力値に対して型チェックを行います:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+
let parseAndTypeCheckSingleFile (file, input) = 
+    // スタンドアロンの(スクリプト)ファイルを表すコンテキストを取得
+    let projOptions = 
+        checker.GetProjectOptionsFromScript(file, input)
+        |> Async.RunSynchronously
+
+    let parseFileResults, checkFileResults = 
+        checker.ParseAndCheckFileInProject(file, 0, input, projOptions) 
+        |> Async.RunSynchronously
+
+    // 型チェックが成功(あるいは100%に到達)するまで待機
+    match checkFileResults with
+    | FSharpCheckFileAnswer.Succeeded(res) -> parseFileResults, res
+    | res -> failwithf "Parsing did not finish... (%A)" res
+
+let file = "/home/user/Test.fsx"
+
+

ファイルに対する解決済みのシグネチャ情報を取得する

+

ファイルに対する型チェックが完了すると、 +TypeCheckResultsPartialAssemblySignature プロパティを参照することにより、 +チェック中の特定のファイルを含む、推論されたプロジェクトのシグネチャに +アクセスすることができます。

+

モジュールや型、属性、メンバ、値、関数、共用体、レコード型、測定単位、 +およびその他のF#言語要素に対する完全なシグネチャ情報が参照できます。

+

ただし型付き式ツリーに対する情報は(今のところ)この方法では利用できません。

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+
let input2 = 
+      """
+[<System.CLSCompliant(true)>]
+let foo(x, y) = 
+    let msg = String.Concat("Hello"," ","world")
+    if true then 
+        printfn "x = %d, y = %d" x y 
+        printfn "%s" msg
+
+type C() = 
+    member x.P = 1
+      """
+let parseFileResults, checkFileResults = 
+    parseAndTypeCheckSingleFile(file, input2)
+
+

これでコードに対する部分的なアセンブリのシグネチャが取得できるようになります:

+ + + +
1: 
+2: 
+3: 
+
let partialAssemblySignature = checkFileResults.PartialAssemblySignature
+
+partialAssemblySignature.Entities.Count = 1  // エンティティは1つ
+
+

そしてコードを含むモジュールに関連したエンティティを取得します:

+ + + +
1: 
+2: 
+3: 
+
let moduleEntity = partialAssemblySignature.Entities.[0]
+
+moduleEntity.DisplayName = "Test"
+
+

そしてコード内の型定義に関連したエンティティを取得します:

+ + + +
1: 
+
let classEntity = moduleEntity.NestedEntities.[0]
+
+

そしてコード内で定義された関数に関連した値を取得します:

+ + + +
1: 
+
let fnVal = moduleEntity.MembersFunctionsAndValues.[0]
+
+

関数値に関するプロパティの値を確認してみましょう。

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+
fnVal.Attributes.Count // 1
+fnVal.CurriedParameterGroups.Count // 1
+fnVal.CurriedParameterGroups.[0].Count // 2
+fnVal.CurriedParameterGroups.[0].[0].Name // "x"
+fnVal.CurriedParameterGroups.[0].[1].Name // "y"
+fnVal.DeclarationLocation.StartLine // 3
+fnVal.DisplayName // "foo"
+fnVal.EnclosingEntity.DisplayName // "Test"
+fnVal.EnclosingEntity.DeclarationLocation.StartLine // 1
+fnVal.GenericParameters.Count // 0
+fnVal.InlineAnnotation // FSharpInlineAnnotation.OptionalInline
+fnVal.IsActivePattern // false
+fnVal.IsCompilerGenerated // false
+fnVal.IsDispatchSlot // false
+fnVal.IsExtensionMember // false
+fnVal.IsPropertyGetterMethod // false
+fnVal.IsImplicitConstructor // false
+fnVal.IsInstanceMember // false
+fnVal.IsMember // false
+fnVal.IsModuleValueOrMember // true
+fnVal.IsMutable // false
+fnVal.IsPropertySetterMethod // false
+fnVal.IsTypeFunction // false
+
+

次に、この関数の型がファーストクラスの値として使用されているかどうかチェックします。 +(ちなみに CurriedParameterGroups プロパティには引数の名前など、 +より多くの情報も含まれています)

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
fnVal.FullType // int * int -> unit
+fnVal.FullType.IsFunctionType // true
+fnVal.FullType.GenericArguments.[0] // int * int 
+fnVal.FullType.GenericArguments.[0].IsTupleType // true
+let argTy1 = fnVal.FullType.GenericArguments.[0].GenericArguments.[0]
+
+argTy1.TypeDefinition.DisplayName // int
+
+

というわけで int * int -> unit という型を表現するオブジェクトが取得できて、 +その1つめの 'int' を確認できたわけです。 +また、以下のようにすると 'int' 型についてのより詳細な情報が取得でき、 +それが名前付きの型であり、F#の型省略形 type int = int32 であることがわかります:

+ + + +
1: 
+2: 
+
argTy1.HasTypeDefinition // true
+argTy1.TypeDefinition.IsFSharpAbbreviation // true
+
+

型省略形の右辺、つまり int32 についてもチェックしてみましょう:

+ + + +
1: 
+2: 
+3: 
+
let argTy1b = argTy1.TypeDefinition.AbbreviatedType
+argTy1b.TypeDefinition.Namespace // Some "Microsoft.FSharp.Core" 
+argTy1b.TypeDefinition.CompiledName // "int32" 
+
+

そして再び型省略形 type int32 = System.Int32 から型に関する完全な情報が取得できます:

+ + + +
1: 
+2: 
+3: 
+
let argTy1c = argTy1b.TypeDefinition.AbbreviatedType
+argTy1c.TypeDefinition.Namespace // Some "System" 
+argTy1c.TypeDefinition.CompiledName // "Int32" 
+
+

ファイルに対する型チェックの結果には、 +コンパイル時に使用されたプロジェクト(あるいはスクリプト)のオプションに関する +ProjectContext と呼ばれる情報も含まれています:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+
let projectContext = checkFileResults.ProjectContext
+
+for ass in projectContext.GetReferencedAssemblies() do
+    match ass.FileName with 
+    | None -> printfn "コンパイル時にファイルの存在しないアセンブリを参照しました"
+    | Some s -> printfn "コンパイル時にアセンブリ '%s' を参照しました" s
+
+

注意:

+
    +
  • +不完全なコードが存在する場合、一部あるいはすべての属性が意図したとおりには +並ばないことがあります。 +
  • +
  • +(実際には非常によくあることですが)一部のアセンブリが見つからない場合、 +外部アセンブリに関連する値やメンバ、エンティティにおける 'IsUnresolved' が +trueになることがあります。 +IsUnresolvedによる例外に対処できるよう、堅牢なコードにしておくべきです。 +
  • +
+

プロジェクト全体に対するシンボル情報を取得する

+

プロジェクト全体をチェックする場合、チェッカーを作成した後に parseAndCheckScript +を呼び出します。 +今回の場合は単に1つのスクリプトだけが含まれたプロジェクトをチェックします。 +異なる "projOptions" を指定すると、巨大なプロジェクトに対する設定を +構成することもできます。

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+
let parseAndCheckScript (file, input) = 
+    let projOptions = 
+        checker.GetProjectOptionsFromScript(file, input)
+        |> Async.RunSynchronously
+
+    let projResults = 
+        checker.ParseAndCheckProject(projOptions) 
+        |> Async.RunSynchronously
+
+    projResults
+
+

そして特定の入力に対してこの関数を呼び出します:

+ + + +
1: 
+2: 
+3: 
+4: 
+
let tmpFile = Path.ChangeExtension(System.IO.Path.GetTempFileName() , "fs")
+File.WriteAllText(tmpFile, input2)
+
+let projectResults = parseAndCheckScript(tmpFile, input2)
+
+

結果は以下の通りです:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
let assemblySig = projectResults.AssemblySignature
+
+assemblySig.Entities.Count = 1  // エンティティは1つ
+assemblySig.Entities.[0].Namespace  // null
+assemblySig.Entities.[0].DisplayName // "Tmp28D0"
+assemblySig.Entities.[0].MembersFunctionsAndValues.Count // 1 
+assemblySig.Entities.[0].MembersFunctionsAndValues.[0].DisplayName // "foo" 
+
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/tokenizer.html b/docs/ja/tokenizer.html new file mode 100644 index 0000000000..60baed527e --- /dev/null +++ b/docs/ja/tokenizer.html @@ -0,0 +1,265 @@ + + + + + コンパイラサービス:F#トークナイザを使用する + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

コンパイラサービス:F#トークナイザを使用する

+

このチュートリアルではF#言語トークナイザの呼び出し方を紹介します。 +F#のソースコードに対して、トークナイザは +コードの各行にあるトークンに関する情報を含んだソースコード行のリストを生成します。 +各トークンに対してはトークンの種類や位置を取得したり、 +トークンの種類(キーワード、識別子、数値、演算子など)に応じた +色を取得したりすることができます。

+
+

注意: 以下で使用しているAPIは実験的なもので、 +新しいnugetパッケージの公開に伴って変更される可能性があります。

+
+

トークナイザの作成

+

トークナイザを使用するには、 FSharp.Compiler.Service.dll への参照を追加した後に +SourceCodeServices 名前空間をオープンします:

+ + + +
1: 
+2: 
+
#r "FSharp.Compiler.Service.dll"
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+

すると FSharpSourceTokenizer のインスタンスを作成できるようになります。 +このクラスには2つの引数を指定します。 +最初の引数には定義済みのシンボルのリスト、 +2番目の引数にはソースコードのファイル名を指定します。 +定義済みのシンボルのリストを指定するのは、 +トークナイザが #if ディレクティブを処理する必要があるからです。 +ファイル名はソースコードの位置を特定する場合にのみ指定する必要があります +(存在しないファイル名でも指定できます):

+ + + +
1: 
+
let sourceTok = FSharpSourceTokenizer([], "C:\\test.fsx")
+
+

sourceTok オブジェクトを使用することでF#ソースコードの各行を +(繰り返し)トークン化することができます。

+

F#コードのトークン化

+

トークナイザはソースファイル全体ではなく、行単位で処理を行います。 +トークンを取得した後、トークナイザは新しいステートを( int64 値として)返します。 +この値を使うとF#コードをより効率的にトークン化できます。 +つまり、ソースコードが変更された場合もファイル全体を +再度トークン化する必要はありません。 +変更された部分だけをトークン化すればよいのです。

+

1行をトークン化する

+

1行をトークン化するには、先ほど作成した FSharpSourceTokenizer オブジェクトに対して +CreateLineTokenizer を呼び、 FSharpLineTokenizer を作成します:

+ + + +
1: 
+
let tokenizer = sourceTok.CreateLineTokenizer("let answer=42")
+
+

そして tokenizerScanToken を繰り返し None を返すまで +(つまり最終行に到達するまで)繰り返し呼び出すような単純な再帰関数を用意します。 +この関数が成功すると、必要な詳細情報をすべて含んだ FSharpTokenInfo オブジェクトが +返されます:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
/// F#コード1行をトークン化します
+let rec tokenizeLine (tokenizer:FSharpLineTokenizer) state =
+  match tokenizer.ScanToken(state) with
+  | Some tok, state ->
+      // トークン名を表示
+      printf "%s " tok.TokenName
+      // 新しい状態で残りをトークン化
+      tokenizeLine tokenizer state
+  | None, state -> state
+
+

この関数は、複数行コードや複数行コメント内の前方の行をトークン化する場合に +必要となるような新しい状態を返します。 +初期値としては 0L を指定します:

+ + + +
1: 
+
tokenizeLine tokenizer 0L
+
+

この結果は LET WHITESPACE IDENT EQUALS INT32 という +トークン名のシーケンスになります。 +FSharpTokenInfo にはたとえば以下のような興味深いプロパティが多数あります:

+
    +
  • +CharClass および ColorClass はF#コードを色づけする場合に使用できるような、 +トークンのカテゴリに関する情報を返します。 +
  • +
  • LeftColumn および RightColumn は行内におけるトークンの位置を返します。
  • +
  • TokenName は(F# レキサ内で定義された)トークンの名前を返します。
  • +
+

なおトークナイザはステートフルであることに注意してください。 +つまり、1行を複数回トークン化したい場合にはその都度 CreateLineTokenizer を +呼び出す必要があります。

+

サンプルコードのトークン化

+

トークナイザをもっと長いサンプルコードやファイル全体に対して実行する場合、 +サンプル入力を string のコレクションとして読み取る必要があります:

+ + + +
1: 
+2: 
+3: 
+4: 
+
let lines = """
+  // Hello world
+  let hello() =
+     printfn "Hello world!" """.Split('\r','\n')
+
+

複数行の入力値をトークン化する場合も、現在の状態を保持するような +再帰関数が必要になります。 +以下の関数はソースコード行を文字列のリストとして受け取ります +(また、行番号および現在の状態も受け取ります)。 +各行に対して新しいトークナイザを作成して、 +直前の行における 最後 の状態を使って tokenizeLine を呼び出します:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
/// 複数行のコードに対してトークンの名前を表示します
+let rec tokenizeLines state count lines = 
+  match lines with
+  | line::lines ->
+      // トークナイザを作成して1行をトークン化
+      printfn "\nLine %d" count
+      let tokenizer = sourceTok.CreateLineTokenizer(line)
+      let state = tokenizeLine tokenizer state
+      // 新しい状態を使って残りをトークン化
+      tokenizeLines state (count+1) lines
+  | [] -> ()
+
+

ここでは単に(先ほど定義した) tokenizeLine を呼び出して、 +各行にあるすべてのトークンの名前を表示しています。 +この関数は先と同じく、初期状態の値 0L と、1行目を表す 1 を +指定して呼び出すことができます:

+ + + +
1: 
+2: 
+3: 
+
lines
+|> List.ofSeq
+|> tokenizeLines 0L 1
+
+

重要ではない部分(各行の先頭にある空白文字や、1行目のように空白文字しかない行) +を除けば、このコードを実行すると以下のような出力になります:

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+
Line 1
+  LINE_COMMENT LINE_COMMENT (...) LINE_COMMENT 
+Line 2
+  LET WHITESPACE IDENT LPAREN RPAREN WHITESPACE EQUALS 
+Line 3
+  IDENT WHITESPACE STRING_TEXT (...) STRING_TEXT STRING 
+
+

注目すべきは、単一行コメントや文字列に対して、 +トークナイザが複数回(大まかにいって単語単位で) LINE_COMMENT や +STRING_TEXT を返しているところです。 +したがって、コメントや文字列全体をテキストとして取得したい場合には +それぞれのトークンを連結する必要があります。

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/ja/untypedtree.html b/docs/ja/untypedtree.html new file mode 100644 index 0000000000..151d0a6357 --- /dev/null +++ b/docs/ja/untypedtree.html @@ -0,0 +1,443 @@ + + + + + コンパイラサービス:型無し構文木の処理 + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

コンパイラサービス:型無し構文木の処理

+

このチュートリアルではF#コードに対する型無し抽象構文木 +(untyped abstract syntax tree: untyped AST) +を取得する方法、および木全体を走査する方法を紹介します。 +この処理を行うことによって、コードフォーマットツールや +基本的なリファクタリングツール、コードナビゲーションツールなどを作成できます。 +型無し構文木にはコードの構造に関する情報が含まれていますが、 +型情報が含まれていないだけでなく、後で型チェッカーを通すまでは +解決されないような曖昧さも残されています。 +また、 エディタサービス として提供されているAPIと +型無しASTの情報を組み合わせることもできます。

+
+

注釈: 以下で使用しているAPIは試験的なもので、将来的に変更される場合があります。 +つまりFSharp.Compiler.Service.dll には既存のものと重複する機能が多数あるため、 +将来的にはもっときちんとした形に変更されます。 +そのため、これらのサービスを使用するAPIには破壊的変更が加えられる可能性があります。

+
+

型無しASTの取得

+

型無しASTにアクセスするには、 FSharpChecker のインスタンスを作成します。 +これは型チェックおよびパース用のコンテキストを表す型で、、 +スタンドアロンのF#スクリプトファイル(たとえばVisual Studioで開いたファイル)、 +あるいは複数ファイルで構成されたロード済みのプロジェクトファイルの +いずれかと結びつきます。 +このインスタンスを作成すると、型チェックの最初のステップである +「型無しパース」を実行できます。 +次のフェーズは「型有りパース」で、これは エディタサービス で +使用されるものです。

+

インタラクティブチェッカーを使用するには、 +FSharp.Compiler.Service.dll への参照を追加した後、 +SourceCodeServices 名前空間をオープンします:

+ + + +
1: 
+2: 
+3: 
+
#r "FSharp.Compiler.Service.dll"
+open System
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+

型無しパースの実行

+

型無しパース処理は(それなりの時間がかかる型チェック処理と比較すると) +かなり高速なため、同期的に実行できます。 +まず FSharpChecker を作成します。

+ + + +
1: 
+2: 
+
// インタラクティブチェッカーのインスタンスを作成
+let checker = FSharpChecker.Create()
+
+

ASTを取得するために、ファイル名とソースコードを受け取る関数を用意します +(ファイル名は位置情報のためだけに使用されるもので、存在しなくても構いません)。 +まず、コンテキストを表す「インタラクティブチェッカーオプション」を +用意する必要があります。 +単純な処理に対しては、 GetCheckOptionsFromScriptRoot を使えば +スクリプトファイルのコンテキストを推測させることができます。 +そして UntypedParse メソッドを呼び出した後、 +ParseTree プロパティの値を返します:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+
/// 特定の入力に対する型無し構文木を取得する
+let getUntypedTree (file, input) = 
+  // 1つのスクリプトファイルから推測される「プロジェクト」用の
+  // コンパイラオプションを取得する
+  let projectOptions =
+      checker.GetProjectOptionsFromScript(file, input) 
+      |> Async.RunSynchronously
+
+  // コンパイラの第1フェーズを実行する
+  let untypedRes = 
+      checker.ParseFileInProject(file, input, projectOptions) 
+      |> Async.RunSynchronously
+
+  match untypedRes.ParseTree with
+  | Some tree -> tree
+  | None -> failwith "パース中に何らかの問題が発生しました!"
+
+

FSharpChecker の詳細については + APIドキュメント +の他に、F# ソースコードのインラインコメントも参考になるでしょう +( service.fsi のソースコードを参照 )。

+

ASTの走査

+

抽象構文木は(式やパターン、宣言など)それぞれ異なる文法的要素を表現する、 +多数の判別共用体として定義されています。 +ASTを理解するには +ast.fs内にあるソースコード +の定義を確認する方法が一番よいでしょう。

+

ASTに関連する要素は以下の名前空間に含まれています:

+ + + +
1: 
+
open Microsoft.FSharp.Compiler.Ast
+
+

ASTを処理する場合、異なる文法的要素に対するパターンマッチを行うような +相互再帰関数を多数用意することになります。 +サポートすべき要素は非常に多種多様です。 +たとえばトップレベル要素としてはモジュールや名前空間の宣言、 +モジュール内における(letバインディングや型などの)宣言などがあります。 +モジュール内のlet宣言には式が含まれ、さらにこの式に +パターンが含まれていることもあります。

+

パターンと式を走査する

+

まずは式とパターンを走査する関数から始めます。 +この関数は要素を走査しつつ、要素に関する情報を画面に表示します。 +パターンの場合、入力は SynPat 型であり、この型には Wild ( _ パターンを表す)や +Named ( <pat> という名前 のパターン)、 +LongIdent ( Foo.Bar 形式の名前)など、多数のケースがあります。 +なお、基本的にパース後のパターンは元のソースコードの見た目よりも複雑になります +(具体的には Named がかなり多数現れます):

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+
/// パターンの走査
+/// これは let <pat> = <expr> あるいは 'match' 式に対する例です
+let rec visitPattern = function
+  | SynPat.Wild(_) -> 
+      printfn "  .. アンダースコアパターン"
+  | SynPat.Named(pat, name, _, _, _) ->
+      visitPattern pat
+      printfn "  .. 名前 '%s' のパターン" name.idText
+  | SynPat.LongIdent(LongIdentWithDots(ident, _), _, _, _, _, _) ->
+      let names = String.concat "." [ for i in ident -> i.idText ]
+      printfn "  .. 識別子: %s" names
+  | pat -> printfn "  .. その他のパターン: %A" pat
+
+

この関数は (bar という名前の (foo, _) のような、 +ネストされたパターンに対応するために) 再帰関数になっていますが、 +以降で定義するいずれの関数も呼び出しません +(パターンはその他の文法的な要素を含むことができないからです)。

+

次の関数は式全体を走査するものです。 +これは処理の大部分が行われる関数で、 +20以上のケースをカバーすることになるでしょう +( SynExpr と入力するとその他のオプションが確認できます)。 +以下のコードでは if .. then ..let .. = ... という式を +処理する方法だけを紹介しています:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+
/// 式を走査する。
+/// 式に2つあるいは3つの部分式が含まれていた場合('else'の分岐がない場合は2つ)、
+/// let式にはパターンおよび2つの部分式が含まれる
+let rec visitExpression = function
+  | SynExpr.IfThenElse(cond, trueBranch, falseBranchOpt, _, _, _, _) ->
+      // すべての部分式を走査
+      printfn "条件部:"
+      visitExpression cond
+      visitExpression trueBranch
+      falseBranchOpt |> Option.iter visitExpression 
+
+  | SynExpr.LetOrUse(_, _, bindings, body, _) ->
+      // バインディングを走査
+      // ('let .. = .. and .. = .. in ...' に対しては複数回走査されることがある)
+      printfn "以下のバインディングを含むLetOrUse:"
+      for binding in bindings do
+        let (Binding(access, kind, inlin, mutabl, attrs, xmlDoc, 
+                     data, pat, retInfo, init, m, sp)) = binding
+        visitPattern pat 
+        visitExpression init
+      // 本体の式を走査
+      printfn "本体は以下:"
+      visitExpression body
+  | expr -> printfn " - サポート対象外の式: %A" expr
+
+

visitExpression 関数はモジュール内のすべてのトップレベル宣言を走査するような +関数から呼ばれることになります。 +今回のチュートリアルでは型やメンバーを無視していますが、 +これらを走査する場合も visitExpression を呼び出すことになるでしょう。

+

宣言を走査する

+

既に説明したように、1つのファイルに対するASTには多数のモジュールや +名前空間の宣言が(トップレベルノードとして)含まれ、 +モジュール内にも(letバインディングや型の)宣言が、 +名前空間にも(こちらは単に型だけの)宣言が含まれます。 +以下の関数はそれぞれの宣言を走査します。 +ただし今回は型やネストされたモジュール、その他の要素については無視して、 +トップレベルの(値および関数に対する) let バインディングだけを対象にしています:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+
/// モジュール内の宣言リストを走査する。
+/// モジュール内のトップレベルに記述できるすべての要素
+/// (letバインディングやネストされたモジュール、型の宣言など)が対象になる。
+let visitDeclarations decls = 
+  for declaration in decls do
+    match declaration with
+    | SynModuleDecl.Let(isRec, bindings, range) ->
+        // 宣言としてのletバインディングは
+        // (visitExpressionで処理したような)式としてのletバインディングと
+        // 似ているが、本体を持たない
+        for binding in bindings do
+          let (Binding(access, kind, inlin, mutabl, attrs, xmlDoc, 
+                       data, pat, retInfo, body, m, sp)) = binding
+          visitPattern pat 
+          visitExpression body         
+    | _ -> printfn " - サポート対象外の宣言: %A" declaration
+
+

visitDeclarations 関数はモジュールや名前空間の宣言のシーケンスを走査する +関数から呼ばれることになります。 +このシーケンスはたとえば複数の namespace Foo 宣言を含むようなファイルに対応します:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
/// すべてのモジュールや名前空間の宣言を走査する
+/// (基本的には 'module Foo =' または 'namespace Foo.Bar' というコード)
+/// なおファイル中で明示的に定義されていない場合であっても
+/// 暗黙的にモジュールまたは名前空間の宣言が存在することに注意。
+let visitModulesAndNamespaces modulesOrNss =
+  for moduleOrNs in modulesOrNss do
+    let (SynModuleOrNamespace(lid, isRec, isMod, decls, xml, attrs, _, m)) = moduleOrNs
+    printfn "名前空間またはモジュール: %A" lid
+    visitDeclarations decls
+
+

以上でASTの要素を(宣言から始まって式やパターンに至るまで)走査するための +関数がそろったので、サンプル入力からASTを取得した後、 +上記の関数を実行することができるようになりました。

+

すべてを組み合わせる

+

既に説明したように、 getUntypedTree 関数では FSharpChecker を使って +ASTに対する第1フェーズ(パース)を行ってツリーを返しています。 +この関数にはF#のソースコードとともに、ファイルのパスを指定する必要があります。 +(単に位置情報として利用されるだけなので) +指定先のパスにファイルが存在している必要はなく、 +UnixとWindowsどちらの形式でも指定できます:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
// コンパイラサービスへのサンプル入力
+let input = """
+  let foo() = 
+    let msg = "Hello world"
+    if true then 
+      printfn "%s" msg """
+// Unix形式のファイル名
+let file = "/home/user/Test.fsx"
+
+// サンプルF#コードに対するASTを取得
+let tree = getUntypedTree(file, input) 
+
+

このコードをF# Interactiveで実行した場合、コンソールに tree;; と入力すると、 +データ構造に対する文字列表現が表示されることが確認できます。 +ツリーには大量の情報が含まれているため、あまり読みやすいものではありませんが、 +木が動作する様子を想像することはできるでしょう。

+

tree の返値はやはり判別共用体で、2つのケースに分かれます。 +1つはF#のシグネチャファイル( *.fsi )を表す ParsedInput.SigFile で、 +もう1つは通常のソースコード( *.fsx または *.fs )を表す +ParsedInput.ImplFile です。 +上記の手順で作成した関数に渡すことができるモジュールや名前空間のシーケンスは +実装ファイルに含まれています:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
// 実装ファイルの詳細をチェックする
+match tree with
+| ParsedInput.ImplFile(implFile) ->
+    // 宣言を展開してそれぞれを走査する
+    let (ParsedImplFileInput(fn, script, name, _, _, modules, _)) = implFile
+    visitModulesAndNamespaces modules
+| _ -> failwith "F# インターフェイスファイル (*.fsi) は未サポートです。"
+
+

まとめ

+

このチュートリアルでは型無し抽象構文木に対する基本的な走査方法を紹介しました。 +このトピックは包括的なものであるため、1つの記事ですべてを説明することは不可能です。 +さらに深く理解するためには、型無しASTを活用するツールのよい例として +Fantomas project を参考にするとよいでしょう。 +実際には今回参照したような情報と、次のチュートリアルで説明する +エディタサービス から得られる情報とを +組み合わせて利用することになるでしょう。

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/project.html b/docs/project.html new file mode 100644 index 0000000000..ea179e4b3b --- /dev/null +++ b/docs/project.html @@ -0,0 +1,597 @@ + + + + + Compiler Services: Project Analysis + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Project Analysis

+

This tutorial demonstrates how to can analyze a whole project using services provided by the F# compiler.

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published.

+
+

Getting whole-project results

+

As in the previous tutorial (using untyped AST), we start by referencing +FSharp.Compiler.Service.dll, opening the relevant namespace and creating an instance +of InteractiveChecker:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+
// Reference F# compiler API
+#r "FSharp.Compiler.Service.dll"
+#r "FSharp.Compiler.Service.ProjectCracker.dll"
+
+open System
+open System.Collections.Generic
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+// Create an interactive checker instance 
+let checker = FSharpChecker.Create()
+
+

Here are our sample inputs:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+33: 
+34: 
+35: 
+
module Inputs = 
+    open System.IO
+
+    let base1 = Path.GetTempFileName()
+    let fileName1 = Path.ChangeExtension(base1, ".fs")
+    let base2 = Path.GetTempFileName()
+    let fileName2 = Path.ChangeExtension(base2, ".fs")
+    let dllName = Path.ChangeExtension(base2, ".dll")
+    let projFileName = Path.ChangeExtension(base2, ".fsproj")
+    let fileSource1 = """
+module M
+
+type C() = 
+    member x.P = 1
+
+let xxx = 3 + 4
+let fff () = xxx + xxx
+    """
+    File.WriteAllText(fileName1, fileSource1)
+
+    let fileSource2 = """
+module N
+
+open M
+
+type D1() = 
+    member x.SomeProperty = M.xxx
+
+type D2() = 
+    member x.SomeProperty = M.fff() + D1().P
+
+// Generate a warning
+let y2 = match 1 with 1 -> M.xxx
+    """
+    File.WriteAllText(fileName2, fileSource2)
+
+

We use GetProjectOptionsFromCommandLineArgs to treat two files as a project:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+33: 
+34: 
+35: 
+36: 
+37: 
+38: 
+39: 
+40: 
+41: 
+
let projectOptions = 
+    let sysLib nm = 
+        if System.Environment.OSVersion.Platform = System.PlatformID.Win32NT then
+            // file references only valid on Windows
+            System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) +
+            @"\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\" + nm + ".dll"
+        else
+            let sysDir = System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()
+            let (++) a b = System.IO.Path.Combine(a,b)
+            sysDir ++ nm + ".dll" 
+
+    let fsCore4300() = 
+        if System.Environment.OSVersion.Platform = System.PlatformID.Win32NT then
+            // file references only valid on Windows
+            System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) +
+            @"\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0\FSharp.Core.dll"  
+        else 
+            sysLib "FSharp.Core"
+
+    checker.GetProjectOptionsFromCommandLineArgs
+       (Inputs.projFileName,
+        [| yield "--simpleresolution" 
+           yield "--noframework" 
+           yield "--debug:full" 
+           yield "--define:DEBUG" 
+           yield "--optimize-" 
+           yield "--out:" + Inputs.dllName
+           yield "--doc:test.xml" 
+           yield "--warn:3" 
+           yield "--fullpaths" 
+           yield "--flaterrors" 
+           yield "--target:library" 
+           yield Inputs.fileName1
+           yield Inputs.fileName2
+           let references =
+             [ sysLib "mscorlib" 
+               sysLib "System"
+               sysLib "System.Core"
+               fsCore4300() ]
+           for r in references do 
+                 yield "-r:" + r |])
+
+

Now check the entire project (using the files saved on disk):

+ + + +
1: 
+
let wholeProjectResults = checker.ParseAndCheckProject(projectOptions) |> Async.RunSynchronously
+
+

Now look at the errors and warnings:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
wholeProjectResults .Errors.Length // 1
+wholeProjectResults.Errors.[0].Message.Contains("Incomplete pattern matches on this expression") // yes it does
+
+wholeProjectResults.Errors.[0].StartLineAlternate // 13
+wholeProjectResults.Errors.[0].EndLineAlternate // 13
+wholeProjectResults.Errors.[0].StartColumn // 15
+wholeProjectResults.Errors.[0].EndColumn // 16
+
+

Now look at the inferred signature for the project:

+ + + +
1: 
+2: 
+3: 
+4: 
+
[ for x in wholeProjectResults.AssemblySignature.Entities -> x.DisplayName ] // ["N"; "M"]
+[ for x in wholeProjectResults.AssemblySignature.Entities.[0].NestedEntities -> x.DisplayName ] // ["D1"; "D2"]
+[ for x in wholeProjectResults.AssemblySignature.Entities.[1].NestedEntities -> x.DisplayName ] // ["C"]
+[ for x in wholeProjectResults.AssemblySignature.Entities.[0].MembersFunctionsAndValues -> x.DisplayName ] // ["y"; "y2"]
+
+

You can also get all symbols in the project:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+
let rec allSymbolsInEntities (entities: IList<FSharpEntity>) = 
+    [ for e in entities do 
+          yield (e :> FSharpSymbol) 
+          for x in e.MembersFunctionsAndValues do
+             yield (x :> FSharpSymbol)
+          for x in e.UnionCases do
+             yield (x :> FSharpSymbol)
+          for x in e.FSharpFields do
+             yield (x :> FSharpSymbol)
+          yield! allSymbolsInEntities e.NestedEntities ]
+
+let allSymbols = allSymbolsInEntities wholeProjectResults.AssemblySignature.Entities
+
+

After checking the whole project, you can access the background results for individual files +in the project. This will be fast and will not involve any additional checking.

+ + + +
1: 
+2: 
+3: 
+
let backgroundParseResults1, backgroundTypedParse1 = 
+    checker.GetBackgroundCheckResultsForFileInProject(Inputs.fileName1, projectOptions) 
+    |> Async.RunSynchronously
+
+

You can now resolve symbols in each file:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
let xSymbolUseOpt = 
+    backgroundTypedParse1.GetSymbolUseAtLocation(9,9,"",["xxx"])
+    |> Async.RunSynchronously
+
+let xSymbolUse = xSymbolUseOpt.Value
+
+let xSymbol = xSymbolUse.Symbol
+
+

You can find out more about a symbol by doing type checks on various symbol kinds:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+
let xSymbolAsValue = 
+    match xSymbol with 
+    | :? FSharpMemberOrFunctionOrValue as xSymbolAsVal -> xSymbolAsVal
+    | _ -> failwith "we expected this to be a member, function or value"
+       
+
+

For each symbol, you can look up the references to that symbol:

+ + + +
1: 
+2: 
+3: 
+
let usesOfXSymbol = 
+    wholeProjectResults.GetUsesOfSymbol(xSymbol) 
+    |> Async.RunSynchronously
+
+

You can iterate all the defined symbols in the inferred signature and find where they are used:

+ + + +
1: 
+2: 
+3: 
+4: 
+
let allUsesOfAllSignatureSymbols = 
+    [ for s in allSymbols do 
+         let uses = wholeProjectResults.GetUsesOfSymbol(s) |> Async.RunSynchronously 
+         yield s.ToString(), uses ]
+
+

You can also look at all the symbols uses in the whole project (including uses of symbols with local scope)

+ + + +
1: 
+2: 
+3: 
+
let allUsesOfAllSymbols =  
+    wholeProjectResults.GetAllUsesOfAllSymbols()
+    |> Async.RunSynchronously
+
+

You can also request checks of updated versions of files within the project (note that the other files +in the project are still read from disk, unless you are using the FileSystem API):

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+
let parseResults1, checkAnswer1 = 
+    checker.ParseAndCheckFileInProject(Inputs.fileName1, 0, Inputs.fileSource1, projectOptions) 
+    |> Async.RunSynchronously
+
+let checkResults1 = 
+    match checkAnswer1 with 
+    | FSharpCheckFileAnswer.Succeeded x ->  x 
+    | _ -> failwith "unexpected aborted"
+
+let parseResults2, checkAnswer2 = 
+    checker.ParseAndCheckFileInProject(Inputs.fileName2, 0, Inputs.fileSource2, projectOptions)
+    |> Async.RunSynchronously
+
+let checkResults2 = 
+    match checkAnswer2 with 
+    | FSharpCheckFileAnswer.Succeeded x ->  x 
+    | _ -> failwith "unexpected aborted"
+
+

Again, you can resolve symbols and ask for references:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
let xSymbolUse2Opt = 
+    checkResults1.GetSymbolUseAtLocation(9,9,"",["xxx"])
+    |> Async.RunSynchronously
+
+let xSymbolUse2 = xSymbolUse2Opt.Value
+
+let xSymbol2 = xSymbolUse2.Symbol
+
+let usesOfXSymbol2 = 
+    wholeProjectResults.GetUsesOfSymbol(xSymbol2) 
+    |> Async.RunSynchronously
+
+

Or ask for all the symbols uses in the file (including uses of symbols with local scope)

+ + + +
1: 
+2: 
+3: 
+
let allUsesOfAllSymbolsInFile1 = 
+    checkResults1.GetAllUsesOfAllSymbolsInFile()
+    |> Async.RunSynchronously
+
+

Or ask for all the uses of one symbol in one file:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
let allUsesOfXSymbolInFile1 = 
+    checkResults1.GetUsesOfSymbolInFile(xSymbol2)
+    |> Async.RunSynchronously
+
+let allUsesOfXSymbolInFile2 = 
+    checkResults2.GetUsesOfSymbolInFile(xSymbol2)
+    |> Async.RunSynchronously
+
+

Analyzing multiple projects

+

If you have multiple F# projects to analyze which include references from some projects to others, +then the simplest way to do this is to build the projects and specify the cross-project references using +a -r:path-to-output-of-project.dll argument in the ProjectOptions. However, this requires the build +of each project to succeed, producing the DLL file on disk which can be referred to.

+

In some situations, e.g. in an IDE, you may wish to allow references to other F# projects prior to successful compilation to +a DLL. To do this, fill in the ProjectReferences entry in ProjectOptions, which recursively specifies the project +options for dependent projects. Each project reference still needs a corresponding -r:path-to-output-of-project.dll +command line argument in ProjectOptions, along with an entry in ProjectReferences. +The first element of each tuple in the ProjectReferences entry should be the DLL name, i.e. path-to-output-of-project.dll. +This should be the same as the text used in the -r project reference.

+

When a project reference is used, the analysis will make use of the results of incremental +analysis of the referenced F# project from source files, without requiring the compilation of these files to DLLs.

+

To efficiently analyze a set of F# projects which include cross-references, you should populate the ProjectReferences +correctly and then analyze each project in turn.

+
+

NOTE: Project references are disabled if the assembly being referred to contains type provider components - +specifying the project reference will have no effect beyond forcing the analysis of the project, and the DLL will +still be required on disk.

+
+

Cracking a project file

+

F# projects normally use the '.fsproj' project file format. +A project cracking facility is provided as a separate NuGet package: +FSharp.Compiler.Service.ProjectCracker. This NuGet package contains a +library FSharp.Compiler.Service.ProjectCracker.dll, which should be +referenced by your application directly, and an executable +FSharp.Compiler.Service.ProjectCrackerTool.exe, which should be copied +into the output folder of your application by the build process. If +you install using Paket or NuGet, then this will be configured for you +automatically. If not, you should reference the provided .targets +file manually in your application. This can be found in the NuGet +package at build/net45/FSharp.Compiler.Service.ProjectCrackerTool.targets.

+

The reason for this split is so that the analysis of an F# project +file is performed out of process, in order that the necessary assembly +binding redirects can be applied without requiring the caller to +arrange this. In this way MSBuild versions from 4 up to 14 can be +accommodated transparently.

+

In this example we get the project options for one of the +project files in the F# Compiler Service project itself - you should also be able to use this technique +for any project that builds cleanly using the command line tools 'xbuild' or 'msbuild'.

+ + + +
1: 
+2: 
+3: 
+
let projectFile  = __SOURCE_DIRECTORY__ + @"/../../src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj"
+
+ProjectCracker.GetProjectOptionsFromProjectFile(projectFile)
+
+

You can also request RELEASE mode and set other build configuration parameters:

+ + + +
1: 
+
ProjectCracker.GetProjectOptionsFromProjectFile(projectFile, [("Configuration", "Release")])
+
+

For debugging purposes it is also possible to obtain a detailed log from the assembly resolution process.

+ + + +
1: 
+
let options, logs = ProjectCracker.GetProjectOptionsFromProjectFileLogged(projectFile, [("Configuration", "Release")])
+
+

Summary

+

As you have seen, the ParseAndCheckProject lets you access results of project-wide analysis +such as symbol references. To learn more about working with symbols, see Symbols.

+

Using the FSharpChecker component in multi-project, incremental and interactive editing situations may involve +knowledge of the FSharpChecker operations queue and the FSharpChecker caches.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/queue.html b/docs/queue.html new file mode 100644 index 0000000000..cfaff27330 --- /dev/null +++ b/docs/queue.html @@ -0,0 +1,135 @@ + + + + + Compiler Services: Notes on the FSharpChecker operations queue + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Notes on the FSharpChecker operations queue

+

This is a design note on the FSharpChecker component and its operations queue. See also the notes on the FSharpChecker caches

+

FSharpChecker maintains an operations queue. Items from the FSharpChecker operations queue are processed +sequentially and in order.

+

The thread processing these requests can also run a low-priority, interleaved background operation when the +queue is empty. This can be used to implicitly bring the background check of a project "up-to-date".
+When the operations queue has been empty for 1 second, +this background work is run in small incremental fragments. This work is cooperatively time-sliced to be approximately <50ms, (see maxTimeShareMilliseconds in +IncrementalBuild.fs). The project to be checked in the background is set implicitly +by calls to CheckFileInProject and ParseAndCheckFileInProject. +To disable implicit background checking completely, set checker.ImplicitlyStartBackgroundWork to false. +To change the time before background work starts, set checker.PauseBeforeBackgroundWork to the required number of milliseconds.

+

Most calls to the FSharpChecker API enqueue an operation in the FSharpChecker compiler queue. These correspond to the +calls to EnqueueAndAwaitOpAsync in service.fs.

+
    +
  • +

    For example, calling ParseAndCheckProject enqueues a ParseAndCheckProjectImpl operation. The time taken for the +operation will depend on how much work is required to bring the project analysis up-to-date.

    +
  • +
  • +

    Likewise, calling any of GetUsesOfSymbol, GetAllUsesOfAllSymbols, ParseFileInProject, +GetBackgroundParseResultsForFileInProject, MatchBraces, CheckFileInProjectIfReady, ParseAndCheckFileInProject, GetBackgroundCheckResultsForFileInProject, +ParseAndCheckProject, GetProjectOptionsFromScript, InvalidateConfiguration, InvaidateAll and operations +on FSharpCheckResults will cause an operation to be enqueued. The length of the operation will +vary - many will be very fast - but they won't be processed until other operations already in the queue are complete.

    +
  • +
+

Some operations do not enqueue anything on the FSharpChecker operations queue - notably any accesses to the Symbol APIs. +These use cross-threaded access to the TAST data produced by other FSharpChecker operations.

+

Some tools throw a lot of interactive work at the FSharpChecker operations queue. +If you are writing such a component, consider running your project against a debug build +of FSharp.Compiler.Service.dll to see the Trace.WriteInformation messages indicating the length of the +operations queuea and the time to process requests.

+

For those writing interactive editors which use FCS, you +should be cautious about operations that request a check of the entire project. +For example, be careful about requesting the check of an entire project +on operations like "Highlight Symbol" or "Find Unused Declarations" +(which run automatically when the user opens a file or moves the cursor). +as opposed to operations like "Find All References" (which a user explicitly triggers). +Project checking can cause long and contention on the FSharpChecker operations queue.

+

Requests to FCS can be cancelled by cancelling the async operation. (Some requests also +include additional callbacks which can be used to indicate a cancellation condition).
+This cancellation will be effective if the cancellation is performed before the operation +is executed in the operations queue.

+

Summary

+

In this design note, you learned that the FSharpChecker component keeps an operations queue. When using FSharpChecker +in highly interactive situations, you should carefully consider the characteristics of the operations you are +enqueueing.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/react.html b/docs/react.html new file mode 100644 index 0000000000..47be54269c --- /dev/null +++ b/docs/react.html @@ -0,0 +1,171 @@ + + + + + Compiler Services: Reacting to Changes + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Reacting to Changes

+

This tutorial discusses some technical aspects of how to make sure the F# compiler service is +providing up-to-date results especially when hosted in an IDE. See also project wide analysis +for information on project analysis.

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published.

+
+

The logical results of all "Check" routines (ParseAndCheckFileInProject, GetBackgroundCheckResultsForFileInProject, +TryGetRecentTypeCheckResultsForFile, ParseAndCheckProject) depend on results reported by the file system, +especially the IFileSystem implementation described in the tutorial on project wide analysis. +Logically speaking, these results would be different if file system changes occur. For example, +referenced DLLs may change on disk, or referenced files may change.

+

The FSharpChecker component from FSharp.Compiler.Service does not actively "listen" +to changes in the file system. However FSharpChecker does repeatedly ask for +time stamps from the file system which it uses to decide if recomputation is needed. +FCS doesn�t listen for changes directly - for example, it creates no FileWatcher object (and the +IFileSystem API has no ability to create such objects). This is partly for legacy reasons, +and partly because some hosts forbid the creation of FileWatcher objects.

+

In most cases the repeated timestamp requests are sufficient. If you don't actively +listen for changes, then FSharpChecker will still do approximately +the right thing, because it is asking for time stamps repeatedly. However, some updates on the file system +(such as a DLL appearing after a build, or the user randomly pasting a file into a folder) +may not actively be noticed by FSharpChecker until some operation happens to ask for a timestamp. +By issuing fresh requests, you can ensure that FCS actively reassesses the state of play when +stays up-to-date when changes are observed.

+

If you want to more actively listen for changes, then you should add watchers for the +files specified in the DependencyFiles property of FSharpCheckFileResults and FSharpCheckProjectResults. +Here�s what you need to do:

+
    +
  • +

    When your client notices an CHANGE event on a DependencyFile, it should schedule a refresh call to perform the ParseAndCheckFileInProject (or other operation) again. +This will result in fresh FileSystem calls to compute time stamps.

    +
  • +
  • +

    When your client notices an ADD event on a DependencyFile, it should call checker.InvalidateConfiguration +for all active projects in which the file occurs. This will result in fresh FileSystem calls to compute time +stamps, and fresh calls to compute whether files exist.

    +
  • +
  • +

    Generally clients don�t listen for DELETE events on files. Although it would be logically more consistent +to do so, in practice it�s very irritating for a "project clean" to invalidate all intellisense and +cause lots of red squiggles. Some source control tools also make a change by removing and adding files, which +is best noticed as a single change event.

    +
  • +
+

If your host happens to be Visual Studio, then this is one technique you can use: + Listeners should be associated with a visual source file buffer + Use fragments like this to watch the DependencyFiles:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+
    // Get the service
+    let vsFileWatch = fls.GetService(typeof<SVsFileChangeEx >) :?> IVsFileChangeEx
+
+    // Watch the Add and Change events
+    let fileChangeFlags = 
+        uint32 (_VSFILECHANGEFLAGS.VSFILECHG_Add ||| 
+                // _VSFILECHANGEFLAGS.VSFILECHG_Del ||| // don't listen for deletes - if a file (such as a 'Clean'ed project reference) is deleted, just keep using stale info
+                _VSFILECHANGEFLAGS.VSFILECHG_Time)
+
+    // Advise on file changes...
+    let cookie = Com.ThrowOnFailure1(vsFileWatch.AdviseFileChange(file, fileChangeFlags, changeEvents))
+
+    ...
+    
+    // Unadvise file changes...
+    Com.ThrowOnFailure0(vsFileWatch.UnadviseFileChange(cookie))
+
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/index.html b/docs/reference/index.html new file mode 100644 index 0000000000..610f74c3ea --- /dev/null +++ b/docs/reference/index.html @@ -0,0 +1,1212 @@ + + + + + Namespaces - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + +

F# Compiler Services

+ + +

Internal.Utilities.StructuredFormat Namespace

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ FormatOptions +

A record of options to control structural formatting. +For F# Interactive properties matching those of this value can be accessed via the 'fsi' +value.

+

Floating Point format given in the same format accepted by System.Double.ToString, +e.g. f6 or g15.

+

If ShowProperties is set the printing process will evaluate properties of the values being +displayed. This may cause additional computation.

+

The ShowIEnumerable is set the printing process will force the evaluation of IEnumerable objects +to a small, finite depth, as determined by the printing parameters. +This may lead to additional computation being performed during printing.

+ +From F# Interactive the default settings can be adjusted using, for example, +
+  open Microsoft.FSharp.Compiler.Interactive.Settings;;
+  setPrintWidth 120;;
+
+
+ +
+ IEnvironment +
+ Joint +

Data representing structured layouts of terms.
+Data representing joints in structured layouts of terms. The representation +of this data type is only for the consumption of formatting engines.

+ +
+ Layout +

Data representing structured layouts of terms. The representation +of this data type is only for the consumption of formatting engines.

+ +
+ LayoutTag +
+ TaggedText +
+ TaggedTextWriter +
+ + + + + + + + + + + + + + + + + + +
ModuleDescription
+ Display +
+ LayoutOps +

A layout is a sequence of strings which have been joined together. +The strings are classified as words, separators and left and right parenthesis. +This classification determines where spaces are inserted. +A joint is either unbreakable, breakable or broken. +If a joint is broken the RHS layout occurs on the next line with optional indentation. +A layout can be squashed to for given width which forces breaks as required.

+ +
+ TaggedTextOps +
+ +
+

Microsoft.FSharp.Compiler Namespace

+
+ + + + + + + + + + + + + + +
TypeDescription
+ FSharpErrorInfo +
+ FSharpErrorSeverity +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleDescription
+ Ast +
+ ErrorLogger +
+ Layout +
+ PrettyNaming +

Anything to do with special names of identifiers and other lexical rules

+ +
+ Range +
+ +
+

Microsoft.FSharp.Compiler.AbstractIL Namespace

+
+ + + + + + + + + + +
ModuleDescription
+ IL +

The "unlinked" view of .NET metadata and code. Central to +to Abstract IL library

+ +
+ +
+

Microsoft.FSharp.Compiler.AbstractIL.Internal Namespace

+
+ + + + + + + + + + +
ModuleDescription
+ Library +
+ +
+

Microsoft.FSharp.Compiler.Interactive Namespace

+
+ + + + + + + + + + +
ModuleDescription
+ Shell +
+ +
+

Microsoft.FSharp.Compiler.SimpleSourceCodeServices Namespace

+
+ + + + + + + + + + +
TypeDescription
+ SimpleSourceCodeServices +

Provides simpler version of services for checking and compiling F# scripts

+ +
+ +
+

Microsoft.FSharp.Compiler.SourceCodeServices Namespace

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ AssemblyContentType +

Assembly content type.

+ +
+ AssemblyPath +

Assembly path.

+ +
+ AssemblySymbol +

Represents type, module, member, function or value in a compiled assembly.

+ +
+ CompilerEnvironment +

Information about the compilation environment

+ +
+ CompletionContext +
+ CompletionItemKind +
+ CompletionPath +
+ Entity +

Helper data structure representing a symbol, sutable for implementing unresolved identifiers resolution code fixes.

+ +
+ EntityCache +

Thread safe wrapper over IAssemblyContentCache.

+ +
+ EntityKind +
+ FSharpAbstractParameter +

Represents a parameter in an abstract method of a class or interface

+ +
+ FSharpAbstractSignature +

Represents the signature of an abstract slot of a class or interface

+ +
+ FSharpAccessibility +

Indicates the accessibility of a symbol, as seen by the F# language

+ +
+ FSharpAccessibilityRights +

Represents the rights of a compilation to access symbols

+ +
+ FSharpActivePatternCase +

A subtype of FSharpSymbol that represents a single case within an active pattern

+ +
+ FSharpActivePatternGroup +

Represents all cases within an active pattern

+ +
+ FSharpAssembly +

Represents an assembly as seen by the F# language

+ +
+ FSharpAssemblyContents +

Represents the definitional contents of an assembly, as seen by the F# language

+ +
+ FSharpAssemblySignature +

Represents an inferred signature of part of an assembly as seen by the F# language

+ +
+ FSharpAttribute +

Represents a custom attribute attached to F# source code or a compiler .NET component

+ +
+ FSharpCheckFileAnswer +

The result of calling TypeCheckResult including the possibility of abort and background compiler not caught up.

+ +
+ FSharpCheckFileResults +

A handle to the results of CheckFileInProject.

+ +
+ FSharpCheckProjectResults +

A handle to the results of CheckFileInProject.

+ +
+ FSharpChecker +

Used to parse and check F# source code.

+ +
+ FSharpDeclarationListInfo +

Represents a set of declarations in F# source code, with information attached ready for display by an editor. +Returned by GetDeclarations.

+ +
+ FSharpDeclarationListItem +

Represents a declaration in F# source code, with information attached ready for display by an editor. +Returned by GetDeclarations.

+ +
+ FSharpDelegateSignature +

Represents a delegate signature in an F# symbol

+ +
+ FSharpDisplayContext +

Represents the information needed to format types and other information in a style +suitable for use in F# source text at a particular source location.

+

Acquired via GetDisplayEnvAtLocationAlternate and similar methods. May be passed +to the Format method on FSharpType and other methods.

+ +
+ FSharpEnclosingEntityKind +
+ FSharpEntity +

A subtype of FSharpSymbol that represents a type definition or module as seen by the F# language

+ +
+ FSharpExpr +

Represents a checked and reduced expression, as seen by the F# language. The active patterns +in 'FSharp.Compiler.SourceCodeServices' can be used to analyze information about the expression.

+

Pattern matching is reduced to decision trees and conditional tests. Some other +constructs may be represented in reduced form.

+ +
+ FSharpField +

A subtype of FSharpSymbol that represents a record or union case field as seen by the F# language

+ +
+ FSharpFindDeclFailureReason +

Represents the reason why the GetDeclarationLocation operation failed.

+ +
+ FSharpFindDeclResult +

Represents the result of the GetDeclarationLocation operation.

+ +
+ FSharpGenericParameter +

A subtype of FSharpSymbol that represents a generic parameter for an FSharpSymbol

+ +
+ FSharpGenericParameterConstraint +

Represents a constraint on a generic type parameter

+ +
+ FSharpGenericParameterDefaultsToConstraint +

Represents further information about a 'defaults to' constraint on a generic type parameter

+ +
+ FSharpGenericParameterDelegateConstraint +

Represents further information about a delegate constraint on a generic type parameter

+ +
+ FSharpGenericParameterMemberConstraint +

Represents further information about a member constraint on a generic type parameter

+ +
+ FSharpGlyph +
+ FSharpImplementationFileContents +

Represents the definitional contents of a single file or fragment in an assembly, as seen by the F# language

+ +
+ FSharpImplementationFileDeclaration +

Represents a declaration in an implementation file, as seen by the F# language

+ +
+ FSharpInlineAnnotation +
+ FSharpLineTokenizer +

Object to tokenize a line of F# source code, starting with the given lexState. The lexState should be 0 for +the first line of text. Returns an array of ranges of the text and two enumerations categorizing the +tokens and characters covered by that range, i.e. FSharpTokenColorKind and FSharpTokenCharKind. The enumerations +are somewhat adhoc but useful enough to give good colorization options to the user in an IDE.

+

A new lexState is also returned. An IDE-plugin should in general cache the lexState +values for each line of the edited code.

+ +
+ FSharpMemberFunctionOrValue +

Renamed to FSharpMemberOrFunctionOrValue

+ +
+ FSharpMemberOrFunctionOrValue +

A subtype of F# symbol that represents an F# method, property, event, function or value, including extension members.

+ +
+ FSharpMemberOrVal +

Renamed to FSharpMemberOrFunctionOrValue

+ +
+ FSharpMethodGroup +

Represents a group of methods (or other items) returned by GetMethods.

+ +
+ FSharpMethodGroupItem +

Represents one method (or other item) in a method group. The item may represent either a method or +a single, non-overloaded item such as union case or a named function value.

+ +
+ FSharpMethodGroupItemParameter +

Represents one parameter for one method (or other item) in a group.

+ +
+ FSharpNavigationDeclarationItem +

Represents an item to be displayed in the navigation bar

+ +
+ FSharpNavigationDeclarationItemKind +

Indicates a kind of item to show in an F# navigation bar

+ +
+ FSharpNavigationItems +

Represents result of 'GetNavigationItems' operation - this contains +all the members and currently selected indices. First level correspond to +types & modules and second level are methods etc.

+ +
+ FSharpNavigationTopLevelDeclaration +

Represents top-level declarations (that should be in the type drop-down) +with nested declarations (that can be shown in the member drop-down)

+ +
+ FSharpNoteworthyParamInfoLocations +
+ FSharpObjectExprOverride +

Represents a checked method in an object expression, as seen by the F# language.

+ +
+ FSharpParameter +

A subtype of FSharpSymbol that represents a parameter

+ +
+ FSharpParseFileResults +

Represents the results of parsing an F# file

+ +
+ FSharpProjectContext +

Represents the checking context implied by the ProjectOptions

+ +
+ FSharpProjectOptions +

A set of information describing a project or script build configuration.

+ +
+ FSharpRecordField +

Renamed to FSharpField

+ +
+ FSharpSourceTokenizer +

Tokenizer for a source file. Holds some expensive-to-compute resources at the scope of the file.

+ +
+ FSharpStaticParameter +

A subtype of FSharpSymbol that represents a static parameter to an F# type provider

+ +
+ FSharpStructuredToolTipElement +

A single data tip display element with where text is expressed as

+ +
+ FSharpStructuredToolTipText +
+ FSharpSymbol +

Represents a symbol in checked F# source code or a compiled .NET component.

+

The subtype of the symbol may reveal further information and can be one of FSharpEntity, FSharpUnionCase +FSharpField, FSharpGenericParameter, FSharpStaticParameter, FSharpMemberOrFunctionOrValue, FSharpParameter, +or FSharpActivePatternCase.

+ +
+ FSharpSymbolUse +

Represents the use of an F# symbol from F# source code

+ +
+ FSharpTokenCharKind +

Gives an indication of the class to assign to the characters of the token an IDE

+ +
+ FSharpTokenColorKind +

Gives an indicattion of the color class to assign to the token an IDE

+ +
+ FSharpTokenInfo +

Information about a particular token from the tokenizer

+ +
+ FSharpTokenTriggerClass +

Gives an indication of what should happen when the token is typed in an IDE

+ +
+ FSharpTokenizerColorState +

Represents stable information for the state of the laxing engine at the end of a line

+ +
+ FSharpTokenizerLexState +

Represents encoded information for the end-of-line continuation of lexing

+ +
+ FSharpToolTipElement<'T> +

A single tool tip display element

+ +
+ FSharpToolTipElement +

A single data tip display element with where text is expressed as string

+ +
+ FSharpToolTipText<'T> +

Information for building a tool tip box.

+ +
+ FSharpToolTipText +
+ FSharpType +
+ FSharpUnionCase +

A subtype of FSharpSymbol that represents a union case as seen by the F# language

+ +
+ FSharpXmlDoc +

Describe a comment as either a block of text or a file+signature reference into an intellidoc file.

+ +
+ IAssemblyContentCache +

Assembly content cache.

+ +
+ Idents +

An array of ShortIdent.

+ +
+ InheritanceContext +
+ InsertContext +

Insert open namespace context.

+ +
+ Layout +
+ LookupType +

Entity lookup type.

+ +
+ MaybeUnresolvedIdent +

ShortIdent with a flag indicating if it's resolved in some scope.

+ +
+ MaybeUnresolvedIdents +

Array of MaybeUnresolvedIdent.

+ +
+ ModuleKind +
+ Position +
+ Range +
+ RecordContext +
+ ScopeKind +

Kind of lexical scope.

+ +
+ SemanticClassificationType +
+ ShortIdent +

Short identifier, i.e. an identifier that contains no dots.

+ +
+ StringLongIdent +

Lond identifier (i.e. it may contain dots).

+ +
+ UnresolvedReferencesSet +

Unused in this API

+ +
+ UnresolvedSymbol +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleDescription
+ AssemblyContentProvider +

Provides assembly content.

+ +
+ AstTraversal +

A range of utility functions to assist with traversing an AST

+ +
+ BasicPatterns +

A collection of active patterns to analyze expressions

+ +
+ CompilerEnvironment +

Information about the compilation environment

+ +
+ DebuggerEnvironment +

Information about the debugging environment

+ +
+ EnvMisc2 +
+ Extensions +
+ FSharpTokenTag +

Some of the values in the field FSharpTokenInfo.Tag

+ +
+ Keywords +
+ NavigateTo +
+ ParsedInput +

Parse AST helpers.

+ +
+ PrettyNaming +

A set of helpers related to naming of identifiers

+ +
+ UntypedParseImpl +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-display.html b/docs/reference/internal-utilities-structuredformat-display.html new file mode 100644 index 0000000000..6ba43301eb --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-display.html @@ -0,0 +1,305 @@ + + + + + Display - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Display

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + any_to_layout options (value, arg3) + +
+ Signature: options:FormatOptions -> (value:'T * Type) -> Layout
+ Type parameters: 'T
+
+ + + + + +
+ + + any_to_string (value, arg2) + +
+ Signature: (value:'T * Type) -> string
+ Type parameters: 'T
+
+ + + + +

Convert any value to a string using a standard formatter +Data is typically formatted in a structured format, e.g. +lists are formatted using the "[1;2]" notation. +The details of the format are not specified and may change +from version to version and according to the flags given +to the F# compiler. The format is intended to be human-readable, +not machine readable. If alternative generic formats are required +you should develop your own formatter, using the code in the +implementation of this file as a starting point.

+

Data from other .NET languages is formatted using a virtual +call to Object.ToString() on the boxed version of the input.

+ + +
+ + + asTaggedTextWriter writer + +
+ Signature: writer:TextWriter -> TaggedTextWriter
+
+
+ + + + + +
+ + + fsi_any_to_layout options (value, arg3) + +
+ Signature: options:FormatOptions -> (value:'T * Type) -> Layout
+ Type parameters: 'T
+
+ + + + + +
+ + + layout_as_string options (value, arg3) + +
+ Signature: options:FormatOptions -> (value:'T * Type) -> string
+ Type parameters: 'T
+
+ + + + + +
+ + + layout_to_string options layout + +
+ Signature: options:FormatOptions -> layout:Layout -> string
+
+
+ + + + +

Convert any value to a layout using the given formatting options. The +layout can then be processed using formatting display engines such as +those in the LayoutOps module. anytostring and outputany are +built using anyto_layout with default format options.

+ + +
+ + + output_any writer (value, arg3) + +
+ Signature: writer:TextWriter -> (value:'T * Type) -> unit
+ Type parameters: 'T
+
+ + + + +

Output any value to a channel using the same set of formatting rules +as anytostring

+ + +
+ + + output_layout options writer layout + +
+ Signature: options:FormatOptions -> writer:TextWriter -> layout:Layout -> unit
+
+
+ + + + + +
+ + + output_layout_tagged (...) + +
+ Signature: options:FormatOptions -> writer:TaggedTextWriter -> layout:Layout -> unit
+
+
+ + + + + +
+ + + squash_layout options layout + +
+ Signature: options:FormatOptions -> layout:Layout -> Layout
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-formatoptions.html b/docs/reference/internal-utilities-structuredformat-formatoptions.html new file mode 100644 index 0000000000..8415e9c4c2 --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-formatoptions.html @@ -0,0 +1,363 @@ + + + + + FormatOptions - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FormatOptions

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+

A record of options to control structural formatting. +For F# Interactive properties matching those of this value can be accessed via the 'fsi' +value.

+

Floating Point format given in the same format accepted by System.Double.ToString, +e.g. f6 or g15.

+

If ShowProperties is set the printing process will evaluate properties of the values being +displayed. This may cause additional computation.

+

The ShowIEnumerable is set the printing process will force the evaluation of IEnumerable objects +to a small, finite depth, as determined by the printing parameters. +This may lead to additional computation being performed during printing.

+ +From F# Interactive the default settings can be adjusted using, for example, +
+  open Microsoft.FSharp.Compiler.Interactive.Settings;;
+  setPrintWidth 120;;
+
+
+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AttributeProcessor + +
+ Signature: string -> (string * string) list -> bool -> unit
+
+
+ + + + + +
+ + + BindingFlags + +
+ Signature: BindingFlags
+
+
+ + + + + +
+ + + FloatingPointFormat + +
+ Signature: string
+
+
+ + + + + +
+ + + FormatProvider + +
+ Signature: IFormatProvider
+
+
+ + + + + +
+ + + PrintDepth + +
+ Signature: int
+
+
+ + + + + +
+ + + PrintIntercepts + +
+ Signature: (IEnvironment -> obj -> Layout option) list
+
+
+ + + + + +
+ + + PrintLength + +
+ Signature: int
+
+
+ + + + + +
+ + + PrintSize + +
+ Signature: int
+
+
+ + + + + +
+ + + PrintWidth + +
+ Signature: int
+
+
+ + + + + +
+ + + ShowIEnumerable + +
+ Signature: bool
+
+
+ + + + + +
+ + + ShowProperties + +
+ Signature: bool
+
+
+ + + + + +
+ + + StringLimit + +
+ Signature: int
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Default + +
+ Signature: FormatOptions
+
+
+ + + + + +

CompiledName: get_Default

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-ienvironment.html b/docs/reference/internal-utilities-structuredformat-ienvironment.html new file mode 100644 index 0000000000..7148d31796 --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-ienvironment.html @@ -0,0 +1,171 @@ + + + + + IEnvironment - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

IEnvironment

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + GetLayout(arg1) + +
+ Signature: obj -> Layout
+ Modifiers: abstract
+
+
+ + + + +

Return to the layout-generation +environment to layout any otherwise uninterpreted object

+ + +
+ + + MaxColumns + +
+ Signature: int
+ Modifiers: abstract
+
+
+ + + + +

The maximum number of elements for which to generate layout for +list-like structures, or columns in table-like +structures. -1 if no maximum.

+ + +

CompiledName: get_MaxColumns

+
+ + + MaxRows + +
+ Signature: int
+ Modifiers: abstract
+
+
+ + + + +

The maximum number of rows for which to generate layout for table-like +structures. -1 if no maximum.

+ + +

CompiledName: get_MaxRows

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-joint.html b/docs/reference/internal-utilities-structuredformat-joint.html new file mode 100644 index 0000000000..2e5d4a8e8d --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-joint.html @@ -0,0 +1,160 @@ + + + + + Joint - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Joint

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+

Data representing structured layouts of terms.
+Data representing joints in structured layouts of terms. The representation +of this data type is only for the consumption of formatting engines.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Breakable(int) + +
+ Signature: int
+
+
+ + + + + +
+ + + Broken(int) + +
+ Signature: int
+
+
+ + + + + +
+ + + Unbreakable + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-layout.html b/docs/reference/internal-utilities-structuredformat-layout.html new file mode 100644 index 0000000000..85427cde95 --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-layout.html @@ -0,0 +1,177 @@ + + + + + Layout - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Layout

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+

Data representing structured layouts of terms. The representation +of this data type is only for the consumption of formatting engines.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Attr(...) + +
+ Signature: string * (string * string) list * Layout
+
+
+ + + + + +
+ + + Leaf(bool,TaggedText,bool) + +
+ Signature: bool * TaggedText * bool
+
+
+ + + + + +
+ + + Node(bool,Layout,bool,Layout,bool,Joint) + +
+ Signature: bool * Layout * bool * Layout * bool * Joint
+
+
+ + + + + +
+ + + ObjLeaf(bool,obj,bool) + +
+ Signature: bool * obj * bool
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-layoutops.html b/docs/reference/internal-utilities-structuredformat-layoutops.html new file mode 100644 index 0000000000..921fa6bb29 --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-layoutops.html @@ -0,0 +1,683 @@ + + + + + LayoutOps - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LayoutOps

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+

A layout is a sequence of strings which have been joined together. +The strings are classified as words, separators and left and right parenthesis. +This classification determines where spaces are inserted. +A joint is either unbreakable, breakable or broken. +If a joint is broken the RHS layout occurs on the next line with optional indentation. +A layout can be squashed to for given width which forces breaks as required.

+ +
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( -- ) layout1 layout2 + +
+ Signature: layout1:Layout -> layout2:Layout -> Layout
+
+
+ + + + +

Join, possible break with indent=1

+ + +

CompiledName: op_MinusMinus

+
+ + + ( --- ) layout1 layout2 + +
+ Signature: layout1:Layout -> layout2:Layout -> Layout
+
+
+ + + + +

Join, possible break with indent=2

+ + +

CompiledName: op_MinusMinusMinus

+
+ + + ( @@ ) layout1 layout2 + +
+ Signature: layout1:Layout -> layout2:Layout -> Layout
+
+
+ + + + +

Join broken with ident=0

+ + +

CompiledName: op_AtAt

+
+ + + ( @@- ) layout1 layout2 + +
+ Signature: layout1:Layout -> layout2:Layout -> Layout
+
+
+ + + + +

Join broken with ident=1

+ + +

CompiledName: op_AtAtMinus

+
+ + + ( @@-- ) layout1 layout2 + +
+ Signature: layout1:Layout -> layout2:Layout -> Layout
+
+
+ + + + +

Join broken with ident=2

+ + +

CompiledName: op_AtAtMinusMinus

+
+ + + ( ^^ ) layout1 layout2 + +
+ Signature: layout1:Layout -> layout2:Layout -> Layout
+
+
+ + + + +

Join, unbreakable.

+ + +

CompiledName: op_HatHat

+
+ + + ( ++ ) layout1 layout2 + +
+ Signature: layout1:Layout -> layout2:Layout -> Layout
+
+
+ + + + +

Join, possible break with indent=0

+ + +

CompiledName: op_PlusPlus

+
+ + + aboveL layout1 layout2 + +
+ Signature: layout1:Layout -> layout2:Layout -> Layout
+
+
+ + + + +

Layout two vertically.

+ + +
+ + + aboveListL layouts + +
+ Signature: layouts:Layout list -> Layout
+
+
+ + + + +

Layout list vertically.

+ + +
+ + + braceL layout + +
+ Signature: layout:Layout -> Layout
+
+
+ + + + +

Wrap braces around layout.

+ + +
+ + + bracketL Layout + +
+ Signature: Layout:Layout -> Layout
+
+
+ + + + +

Wrap round brackets around Layout.

+ + +
+ + + commaListL layouts + +
+ Signature: layouts:Layout list -> Layout
+
+
+ + + + +

Join layouts into a comma separated list.

+ + +
+ + + emptyL + +
+ Signature: Layout
+
+
+ + + + +

The empty layout

+ + +
+ + + isEmptyL layout + +
+ Signature: layout:Layout -> bool
+
+
+ + + + +

Is it the empty layout?

+ + +
+ + + leftL text + +
+ Signature: text:TaggedText -> Layout
+
+
+ + + + +

An string which is left parenthesis (no space on the right).

+ + +
+ + + listL selector value + +
+ Signature: selector:('T -> Layout) -> value:'T list -> Layout
+ Type parameters: 'T
+
+ + + + +

Layout like an F# list.

+ + +
+ + + objL value + +
+ Signature: value:obj -> Layout
+
+
+ + + + +

An uninterpreted leaf, to be interpreted into a string +by the layout engine. This allows leaf layouts for numbers, strings and +other atoms to be customized according to culture.

+ + +
+ + + optionL selector value + +
+ Signature: selector:('T -> Layout) -> value:'T option -> Layout
+ Type parameters: 'T
+
+ + + + +

Layout like an F# option.

+ + +
+ + + rightL text + +
+ Signature: text:TaggedText -> Layout
+
+
+ + + + +

An string which is right parenthesis (no space on the left).

+ + +
+ + + semiListL layouts + +
+ Signature: layouts:Layout list -> Layout
+
+
+ + + + +

Join layouts into a semi-colon separated list.

+ + +
+ + + sepL text + +
+ Signature: text:TaggedText -> Layout
+
+
+ + + + +

An string which requires no spaces either side.

+ + +
+ + + sepListL layout1 layouts + +
+ Signature: layout1:Layout -> layouts:Layout list -> Layout
+
+
+ + + + +

Join layouts into a list separated using the given Layout.

+ + +
+ + + spaceListL layouts + +
+ Signature: layouts:Layout list -> Layout
+
+
+ + + + +

Join layouts into a space separated list.

+ + +
+ + + squareBracketL layout + +
+ Signature: layout:Layout -> Layout
+
+
+ + + + +

Wrap square brackets around layout.

+ + +
+ + + tagAttrL text maps layout + +
+ Signature: text:string -> maps:(string * string) list -> layout:Layout -> Layout
+
+
+ + + + +

See tagL

+ + +
+ + + tupleL layouts + +
+ Signature: layouts:Layout list -> Layout
+
+
+ + + + +

Form tuple of layouts.

+ + +
+ + + unfoldL selector folder state count + +
+ Signature: selector:('T -> Layout) -> folder:('State -> ('T * 'State) option) -> state:'State -> count:int -> Layout list
+ Type parameters: 'T, 'State
+
+ + + + +

For limiting layout of list-like sequences (lists,arrays,etc). +unfold a list of items using (project and z) making layout list via itemL. +If reach maxLength (before exhausting) then truncate.

+ + +
+ + + wordL text + +
+ Signature: text:TaggedText -> Layout
+
+
+ + + + +

An string leaf

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-layouttag.html b/docs/reference/internal-utilities-structuredformat-layouttag.html new file mode 100644 index 0000000000..207297b942 --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-layouttag.html @@ -0,0 +1,696 @@ + + + + + LayoutTag - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LayoutTag

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + ActivePatternCase + +
+ Signature:
+
+
+ + + + + +
+ + + ActivePatternResult + +
+ Signature:
+
+
+ + + + + +
+ + + Alias + +
+ Signature:
+
+
+ + + + + +
+ + + Class + +
+ Signature:
+
+
+ + + + + +
+ + + Delegate + +
+ Signature:
+
+
+ + + + + +
+ + + Enum + +
+ Signature:
+
+
+ + + + + +
+ + + Event + +
+ Signature:
+
+
+ + + + + +
+ + + Field + +
+ Signature:
+
+
+ + + + + +
+ + + Interface + +
+ Signature:
+
+
+ + + + + +
+ + + Keyword + +
+ Signature:
+
+
+ + + + + +
+ + + LineBreak + +
+ Signature:
+
+
+ + + + + +
+ + + Local + +
+ Signature:
+
+
+ + + + + +
+ + + Member + +
+ Signature:
+
+
+ + + + + +
+ + + Method + +
+ Signature:
+
+
+ + + + + +
+ + + Module + +
+ Signature:
+
+
+ + + + + +
+ + + ModuleBinding + +
+ Signature:
+
+
+ + + + + +
+ + + Namespace + +
+ Signature:
+
+
+ + + + + +
+ + + NumericLiteral + +
+ Signature:
+
+
+ + + + + +
+ + + Operator + +
+ Signature:
+
+
+ + + + + +
+ + + Parameter + +
+ Signature:
+
+
+ + + + + +
+ + + Property + +
+ Signature:
+
+
+ + + + + +
+ + + Punctuation + +
+ Signature:
+
+
+ + + + + +
+ + + Record + +
+ Signature:
+
+
+ + + + + +
+ + + RecordField + +
+ Signature:
+
+
+ + + + + +
+ + + Space + +
+ Signature:
+
+
+ + + + + +
+ + + StringLiteral + +
+ Signature:
+
+
+ + + + + +
+ + + Struct + +
+ Signature:
+
+
+ + + + + +
+ + + Text + +
+ Signature:
+
+
+ + + + + +
+ + + TypeParameter + +
+ Signature:
+
+
+ + + + + +
+ + + Union + +
+ Signature:
+
+
+ + + + + +
+ + + UnionCase + +
+ Signature:
+
+
+ + + + + +
+ + + UnknownEntity + +
+ Signature:
+
+
+ + + + + +
+ + + UnknownType + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-taggedtext.html b/docs/reference/internal-utilities-structuredformat-taggedtext.html new file mode 100644 index 0000000000..83a20dfda4 --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-taggedtext.html @@ -0,0 +1,142 @@ + + + + + TaggedText - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TaggedText

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Tag + +
+ Signature: LayoutTag
+ Modifiers: abstract
+
+
+ + + + + +

CompiledName: get_Tag

+
+ + + Text + +
+ Signature: string
+ Modifiers: abstract
+
+
+ + + + + +

CompiledName: get_Text

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-taggedtextops-literals.html b/docs/reference/internal-utilities-structuredformat-taggedtextops-literals.html new file mode 100644 index 0000000000..1c234c94ba --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-taggedtextops-literals.html @@ -0,0 +1,340 @@ + + + + + Literals - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Literals

+

+ Namespace: Internal.Utilities.StructuredFormat
+ Parent Module: TaggedTextOps +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + arrow + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + comma + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + equals + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + leftBrace + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + leftBracket + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + leftParen + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + lineBreak + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + questionMark + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + rightBrace + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + rightBracket + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + rightParen + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + semicolon + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + space + +
+ Signature: TaggedText
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-taggedtextops.html b/docs/reference/internal-utilities-structuredformat-taggedtextops.html new file mode 100644 index 0000000000..5a10320392 --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-taggedtextops.html @@ -0,0 +1,644 @@ + + + + + TaggedTextOps - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TaggedTextOps

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
ModuleDescription
+ Literals +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + keywordFunctions + +
+ Signature: Set<string>
+
+
+ + + + + +
+ + + tag arg1 arg2 + +
+ Signature: LayoutTag -> string -> TaggedText
+
+
+ + + + + +
+ + + tagAlias arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagClass arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagDelegate arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagEnum arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagEvent arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagField arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagInterface arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagKeyword arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagLineBreak arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagLocal arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagMethod arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagModule arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagModuleBinding arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagNamespace arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagNumericLiteral arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagOperator arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagParameter arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagProperty arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagPunctuation arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagRecord arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagRecordField arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagSpace arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagStringLiteral arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagStruct arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagText arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagTypeParameter arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagUnionCase arg1 + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/internal-utilities-structuredformat-taggedtextwriter.html b/docs/reference/internal-utilities-structuredformat-taggedtextwriter.html new file mode 100644 index 0000000000..1b75333e12 --- /dev/null +++ b/docs/reference/internal-utilities-structuredformat-taggedtextwriter.html @@ -0,0 +1,140 @@ + + + + + TaggedTextWriter - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TaggedTextWriter

+

+ Namespace: Internal.Utilities.StructuredFormat
+

+
+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Write(t) + +
+ Signature: t:TaggedText -> unit
+ Modifiers: abstract
+
+
+ + + + + +
+ + + WriteLine() + +
+ Signature: unit -> unit
+ Modifiers: abstract
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilalignment.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilalignment.html new file mode 100644 index 0000000000..1361670100 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilalignment.html @@ -0,0 +1,175 @@ + + + + + ILAlignment - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILAlignment

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Aligned + +
+ Signature:
+
+
+ + + + + +
+ + + Unaligned1 + +
+ Signature:
+
+
+ + + + + +
+ + + Unaligned2 + +
+ Signature:
+
+
+ + + + + +
+ + + Unaligned4 + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilargconvention.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilargconvention.html new file mode 100644 index 0000000000..43b5fca349 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilargconvention.html @@ -0,0 +1,211 @@ + + + + + ILArgConvention - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILArgConvention

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + CDecl + +
+ Signature:
+
+
+ + + + + +
+ + + Default + +
+ Signature:
+
+
+ + + + + +
+ + + FastCall + +
+ Signature:
+
+
+ + + + + +
+ + + StdCall + +
+ Signature:
+
+
+ + + + + +
+ + + ThisCall + +
+ Signature:
+
+
+ + + + + +
+ + + VarArg + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarraybound.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarraybound.html new file mode 100644 index 0000000000..8720e74832 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarraybound.html @@ -0,0 +1,174 @@ + + + + + ILArrayBound - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILArrayBound

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Array shapes. For most purposes, including verification, the +rank is the only thing that matters.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsNone + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsNone

+
+ + + IsSome + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsSome

+
+ + + Value + +
+ Signature: int32
+
+
+ +

CompiledName: get_Value

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + None + +
+ Signature: int32 option
+
+
+ +

CompiledName: get_None

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarraybounds.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarraybounds.html new file mode 100644 index 0000000000..c9165a16fe --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarraybounds.html @@ -0,0 +1,95 @@ + + + + + ILArrayBounds - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILArrayBounds

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarrayshape.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarrayshape.html new file mode 100644 index 0000000000..304a024697 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilarrayshape.html @@ -0,0 +1,195 @@ + + + + + ILArrayShape - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILArrayShape

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + ILArrayShape(ILArrayBounds list) + +
+ Signature: ILArrayBounds list
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Rank + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_Rank

+
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + FromRank(arg1) + +
+ Signature: int -> ILArrayShape
+
+
+ + + + + +
+ + + SingleDimensional + +
+ Signature: ILArrayShape
+
+
+ + + + +

Bounds for a single dimensional, zero based array

+ + +

CompiledName: get_SingleDimensional

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblylongevity.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblylongevity.html new file mode 100644 index 0000000000..7b89aa7d9a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblylongevity.html @@ -0,0 +1,193 @@ + + + + + ILAssemblyLongevity - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILAssemblyLongevity

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Library + +
+ Signature:
+
+
+ + + + + +
+ + + PlatformAppDomain + +
+ Signature:
+
+
+ + + + + +
+ + + PlatformProcess + +
+ Signature:
+
+
+ + + + + +
+ + + PlatformSystem + +
+ Signature:
+
+
+ + + + + +
+ + + Unspecified + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblymanifest.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblymanifest.html new file mode 100644 index 0000000000..306c8a57e5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblymanifest.html @@ -0,0 +1,374 @@ + + + + + ILAssemblyManifest - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILAssemblyManifest

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

The main module of an assembly is a module plus some manifest information.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AssemblyLongevity + +
+ Signature: ILAssemblyLongevity
+
+
+ + + + + +
+ + + AuxModuleHashAlgorithm + +
+ Signature: int32
+
+
+ + + + +

This is the ID of the algorithm used for the hashes of auxiliary +files in the assembly. These hashes are stored in the +ILModuleRef.Hash fields of this assembly. These are not +cryptographic hashes: they are simple file hashes. The algorithm +is normally 0x00008004 indicating the SHA1 hash algorithm.

+ + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + DisableJitOptimizations + +
+ Signature: bool
+
+
+ + + + + +
+ + + EntrypointElsewhere + +
+ Signature: ILModuleRef option
+
+
+ + + + +

Records whether the entrypoint resides in another module.

+ + +
+ + + ExportedTypes + +
+ Signature: ILExportedTypesAndForwarders
+
+
+ + + + +

Records the types implemented by this assembly in auxiliary +modules.

+ + +
+ + + IgnoreSymbolStoreSequencePoints + +
+ Signature: bool
+
+
+ + + + + +
+ + + JitTracking + +
+ Signature: bool
+
+
+ + + + + +
+ + + Locale + +
+ Signature: string option
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + PublicKey + +
+ Signature: byte [] option
+
+
+ + + + +

This is the public key used to sign this +assembly (the signature itself is stored elsewhere: see the +binary format, and may not have been written if delay signing +is used). (member Name, member PublicKey) forms the full +public name of the assembly.

+ + +
+ + + Retargetable + +
+ Signature: bool
+
+
+ + + + + +
+ + + SecurityDecls + +
+ Signature: ILPermissions
+
+
+ + + + + +
+ + + Version + +
+ Signature: ILVersionInfo option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblyref.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblyref.html new file mode 100644 index 0000000000..97cd4274f5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilassemblyref.html @@ -0,0 +1,284 @@ + + + + + ILAssemblyRef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILAssemblyRef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Hash + +
+ Signature: byte [] option
+
+
+ + + + + +

CompiledName: get_Hash

+
+ + + Locale + +
+ Signature: string option
+
+
+ + + + + +

CompiledName: get_Locale

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+ + + PublicKey + +
+ Signature: PublicKey option
+
+
+ + + + + +

CompiledName: get_PublicKey

+
+ + + QualifiedName + +
+ Signature: string
+
+
+ + + + +

The fully qualified name of the assembly reference, e.g. mscorlib, Version=1.0.3705 etc.

+ + +

CompiledName: get_QualifiedName

+
+ + + Retargetable + +
+ Signature: bool
+
+
+ + + + +

CLI says this indicates if the assembly can be retargeted (at runtime) to be from a different publisher.

+ + +

CompiledName: get_Retargetable

+
+ + + Version + +
+ Signature: ILVersionInfo option
+
+
+ + + + + +

CompiledName: get_Version

+
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Create(...) + +
+ Signature: (name:string * hash:byte [] option * publicKey:PublicKey option * retargetable:bool * version:ILVersionInfo option * locale:string option) -> ILAssemblyRef
+
+
+ + + + + +
+ + + FromAssemblyName(arg1) + +
+ Signature: AssemblyName -> ILAssemblyRef
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattribelem.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattribelem.html new file mode 100644 index 0000000000..20d329b386 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattribelem.html @@ -0,0 +1,412 @@ + + + + + ILAttribElem - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILAttribElem

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Array(ILType,ILAttribElem list) + +
+ Signature: ILType * ILAttribElem list
+
+
+ + + + + +
+ + + Bool(bool) + +
+ Signature: bool
+
+
+ + + + + +
+ + + Byte(byte) + +
+ Signature: byte
+
+
+ + + + + +
+ + + Char(char) + +
+ Signature: char
+
+
+ + + + + +
+ + + Double(double) + +
+ Signature: double
+
+
+ + + + + +
+ + + Int16(int16) + +
+ Signature: int16
+
+
+ + + + + +
+ + + Int32(int32) + +
+ Signature: int32
+
+
+ + + + + +
+ + + Int64(int64) + +
+ Signature: int64
+
+
+ + + + + +
+ + + Null + +
+ Signature:
+
+
+ + + + + +
+ + + SByte(sbyte) + +
+ Signature: sbyte
+
+
+ + + + + +
+ + + Single(single) + +
+ Signature: single
+
+
+ + + + + +
+ + + String(string option) + +
+ Signature: string option
+
+
+ + + + +

Represents a custom attribute parameter of type 'string'. These may be null, in which case they are encoded in a special +way as indicated by Ecma-335 Partition II.

+ + +
+ + + Type(ILType option) + +
+ Signature: ILType option
+
+
+ + + + + +
+ + + TypeRef(ILTypeRef option) + +
+ Signature: ILTypeRef option
+
+
+ + + + + +
+ + + UInt16(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + UInt32(uint32) + +
+ Signature: uint32
+
+
+ + + + + +
+ + + UInt64(uint64) + +
+ Signature: uint64
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattribute.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattribute.html new file mode 100644 index 0000000000..a29551f898 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattribute.html @@ -0,0 +1,142 @@ + + + + + ILAttribute - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILAttribute

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Custom attributes. See 'decodeILAttribData' for a helper to parse the byte[] +to ILAttribElem's as best as possible.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data + +
+ Signature: byte []
+
+
+ + + + + +
+ + + Method + +
+ Signature: ILMethodSpec
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattributenamedarg.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattributenamedarg.html new file mode 100644 index 0000000000..8cf29d0957 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattributenamedarg.html @@ -0,0 +1,97 @@ + + + + + ILAttributeNamedArg - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILAttributeNamedArg

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Named args: values and flags indicating if they are fields or properties.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattributes.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattributes.html new file mode 100644 index 0000000000..f2bab3047f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilattributes.html @@ -0,0 +1,122 @@ + + + + + ILAttributes - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILAttributes

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILAttribute list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilbasictype.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilbasictype.html new file mode 100644 index 0000000000..1a4ff397b9 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilbasictype.html @@ -0,0 +1,355 @@ + + + + + ILBasicType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILBasicType

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + DT_I + +
+ Signature:
+
+
+ + + + + +
+ + + DT_I1 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_I2 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_I4 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_I8 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_R + +
+ Signature:
+
+
+ + + + + +
+ + + DT_R4 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_R8 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_REF + +
+ Signature:
+
+
+ + + + + +
+ + + DT_U + +
+ Signature:
+
+
+ + + + + +
+ + + DT_U1 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_U2 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_U4 + +
+ Signature:
+
+
+ + + + + +
+ + + DT_U8 + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilboxity.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilboxity.html new file mode 100644 index 0000000000..754310e9d0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilboxity.html @@ -0,0 +1,139 @@ + + + + + ILBoxity - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILBoxity

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + AsObject + +
+ Signature:
+
+
+ + + + + +
+ + + AsValue + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcallingconv.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcallingconv.html new file mode 100644 index 0000000000..07b38ed68b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcallingconv.html @@ -0,0 +1,270 @@ + + + + + ILCallingConv - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILCallingConv

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + Callconv(...) + +
+ Signature: ILThisConvention * ILArgConvention
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + BasicConv + +
+ Signature: ILArgConvention
+
+
+ + + + + +

CompiledName: get_BasicConv

+
+ + + IsInstance + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsInstance

+
+ + + IsInstanceExplicit + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsInstanceExplicit

+
+ + + IsStatic + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsStatic

+
+ + + ThisConv + +
+ Signature: ILThisConvention
+
+
+ + + + + +

CompiledName: get_ThisConv

+
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Instance + +
+ Signature: ILCallingConv
+
+
+ + + + + +

CompiledName: get_Instance

+
+ + + Static + +
+ Signature: ILCallingConv
+
+
+ + + + + +

CompiledName: get_Static

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcallingsignature.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcallingsignature.html new file mode 100644 index 0000000000..9209d59cd8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcallingsignature.html @@ -0,0 +1,157 @@ + + + + + ILCallingSignature - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILCallingSignature

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ArgTypes + +
+ Signature: ILTypes
+
+
+ + + + + +
+ + + CallingConv + +
+ Signature: ILCallingConv
+
+
+ + + + + +
+ + + ReturnType + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcode.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcode.html new file mode 100644 index 0000000000..50a70d8fe5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcode.html @@ -0,0 +1,175 @@ + + + + + ILCode - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILCode

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Exceptions + +
+ Signature: ILExceptionSpec list
+
+
+ + + + + +
+ + + Instrs + +
+ Signature: ILInstr []
+
+
+ + + + + +
+ + + Labels + +
+ Signature: Dictionary<ILCodeLabel,int>
+
+
+ + + + + +
+ + + Locals + +
+ Signature: ILLocalDebugInfo list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcodelabel.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcodelabel.html new file mode 100644 index 0000000000..a96ca867c7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcodelabel.html @@ -0,0 +1,98 @@ + + + + + ILCodeLabel - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILCodeLabel

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

ILCode labels. In structured code each code label +refers to a basic block somewhere in the code of the method.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcomparisoninstr.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcomparisoninstr.html new file mode 100644 index 0000000000..9b1f3665e1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilcomparisoninstr.html @@ -0,0 +1,319 @@ + + + + + ILComparisonInstr - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILComparisonInstr

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + BI_beq + +
+ Signature:
+
+
+ + + + + +
+ + + BI_bge + +
+ Signature:
+
+
+ + + + + +
+ + + BI_bge_un + +
+ Signature:
+
+
+ + + + + +
+ + + BI_bgt + +
+ Signature:
+
+
+ + + + + +
+ + + BI_bgt_un + +
+ Signature:
+
+
+ + + + + +
+ + + BI_ble + +
+ Signature:
+
+
+ + + + + +
+ + + BI_ble_un + +
+ Signature:
+
+
+ + + + + +
+ + + BI_blt + +
+ Signature:
+
+
+ + + + + +
+ + + BI_blt_un + +
+ Signature:
+
+
+ + + + + +
+ + + BI_bne_un + +
+ Signature:
+
+
+ + + + + +
+ + + BI_brfalse + +
+ Signature:
+
+
+ + + + + +
+ + + BI_brtrue + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilconst.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilconst.html new file mode 100644 index 0000000000..d586e84e92 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilconst.html @@ -0,0 +1,175 @@ + + + + + ILConst - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILConst

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + I4(int32) + +
+ Signature: int32
+
+
+ + + + + +
+ + + I8(int64) + +
+ Signature: int64
+
+
+ + + + + +
+ + + R4(single) + +
+ Signature: single
+
+
+ + + + + +
+ + + R8(double) + +
+ Signature: double
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ildefaultpinvokeencoding.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ildefaultpinvokeencoding.html new file mode 100644 index 0000000000..c7fece4c6e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ildefaultpinvokeencoding.html @@ -0,0 +1,159 @@ + + + + + ILDefaultPInvokeEncoding - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILDefaultPInvokeEncoding

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Default Unicode encoding for P/Invoke within a type.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Ansi + +
+ Signature:
+
+
+ + + + + +
+ + + Auto + +
+ Signature:
+
+
+ + + + + +
+ + + Unicode + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilenuminfo.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilenuminfo.html new file mode 100644 index 0000000000..5e7f2d86d5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilenuminfo.html @@ -0,0 +1,141 @@ + + + + + ILEnumInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILEnumInfo

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Decompose a type definition according to its kind.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + enumType + +
+ Signature: ILType
+
+
+ + + + + +
+ + + enumValues + +
+ Signature: (string * ILFieldInit) list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventdef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventdef.html new file mode 100644 index 0000000000..a52de1da2f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventdef.html @@ -0,0 +1,267 @@ + + + + + ILEventDef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILEventDef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Event definitions.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AddMethod + +
+ Signature: ILMethodRef
+
+
+ + + + + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + FireMethod + +
+ Signature: ILMethodRef option
+
+
+ + + + + +
+ + + IsRTSpecialName + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsSpecialName + +
+ Signature: bool
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + OtherMethods + +
+ Signature: ILMethodRef list
+
+
+ + + + + +
+ + + RemoveMethod + +
+ Signature: ILMethodRef
+
+
+ + + + + +
+ + + Type + +
+ Signature: ILType option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventdefs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventdefs.html new file mode 100644 index 0000000000..4949c38a73 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventdefs.html @@ -0,0 +1,142 @@ + + + + + ILEventDefs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILEventDefs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Table of those events in a type definition.

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILEventDef list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ + + LookupByName(arg1) + +
+ Signature: string -> ILEventDef list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventref.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventref.html new file mode 100644 index 0000000000..23ea80f222 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ileventref.html @@ -0,0 +1,167 @@ + + + + + ILEventRef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILEventRef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + EnclosingTypeRef + +
+ Signature: ILTypeRef
+
+
+ + + + + +

CompiledName: get_EnclosingTypeRef

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(arg1, arg2) + +
+ Signature: (ILTypeRef * string) -> ILEventRef
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexceptionclause.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexceptionclause.html new file mode 100644 index 0000000000..e581db43ca --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexceptionclause.html @@ -0,0 +1,175 @@ + + + + + ILExceptionClause - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILExceptionClause

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Fault(ILCodeLabel * ILCodeLabel) + +
+ Signature: ILCodeLabel * ILCodeLabel
+
+
+ + + + + +
+ + + FilterCatch(...) + +
+ Signature: ILCodeLabel * ILCodeLabel * ILCodeLabel * ILCodeLabel
+
+
+ + + + + +
+ + + Finally(ILCodeLabel * ILCodeLabel) + +
+ Signature: ILCodeLabel * ILCodeLabel
+
+
+ + + + + +
+ + + TypeCatch(...) + +
+ Signature: ILType * ILCodeLabel * ILCodeLabel
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexceptionspec.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexceptionspec.html new file mode 100644 index 0000000000..4392540fd9 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexceptionspec.html @@ -0,0 +1,139 @@ + + + + + ILExceptionSpec - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILExceptionSpec

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Clause + +
+ Signature: ILExceptionClause
+
+
+ + + + + +
+ + + Range + +
+ Signature: ILCodeLabel * ILCodeLabel
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexportedtypeorforwarder.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexportedtypeorforwarder.html new file mode 100644 index 0000000000..01d0b60df3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexportedtypeorforwarder.html @@ -0,0 +1,215 @@ + + + + + ILExportedTypeOrForwarder - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILExportedTypeOrForwarder

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

these are only found in the ILExportedTypesAndForwarders table in the manifest

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Access + +
+ Signature: ILTypeDefAccess
+
+
+ + + + + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + IsForwarder + +
+ Signature: bool
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + +

[Namespace.]Name

+ + +
+ + + Nested + +
+ Signature: ILNestedExportedTypes
+
+
+ + + + + +
+ + + ScopeRef + +
+ Signature: ILScopeRef
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexportedtypesandforwarders.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexportedtypesandforwarders.html new file mode 100644 index 0000000000..705d4f31f6 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilexportedtypesandforwarders.html @@ -0,0 +1,122 @@ + + + + + ILExportedTypesAndForwarders - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILExportedTypesAndForwarders

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILExportedTypeOrForwarder list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfielddef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfielddef.html new file mode 100644 index 0000000000..e9f91832bd --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfielddef.html @@ -0,0 +1,341 @@ + + + + + ILFieldDef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILFieldDef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Field definitions.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Access + +
+ Signature: ILMemberAccess
+
+
+ + + + + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + Data + +
+ Signature: byte [] option
+
+
+ + + + + +
+ + + IsInitOnly + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsLiteral + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsSpecialName + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsStatic + +
+ Signature: bool
+
+
+ + + + + +
+ + + LiteralValue + +
+ Signature: ILFieldInit option
+
+
+ + + + + +
+ + + Marshal + +
+ Signature: ILNativeType option
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + NotSerialized + +
+ Signature: bool
+
+
+ + + + + +
+ + + Offset + +
+ Signature: int32 option
+
+
+ + + + +

The explicit offset in bytes when explicit layout is used.

+ + +
+ + + Type + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfielddefs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfielddefs.html new file mode 100644 index 0000000000..1562a83a60 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfielddefs.html @@ -0,0 +1,144 @@ + + + + + ILFieldDefs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILFieldDefs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Tables of fields. Logically equivalent to a list of fields but +the table is kept in a form optimized for looking up fields by +name.

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILFieldDef list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ + + LookupByName(arg1) + +
+ Signature: string -> ILFieldDef list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldinit.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldinit.html new file mode 100644 index 0000000000..947369bb38 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldinit.html @@ -0,0 +1,357 @@ + + + + + ILFieldInit - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILFieldInit

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Field Init

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Bool(bool) + +
+ Signature: bool
+
+
+ + + + + +
+ + + Char(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + Double(double) + +
+ Signature: double
+
+
+ + + + + +
+ + + Int16(int16) + +
+ Signature: int16
+
+
+ + + + + +
+ + + Int32(int32) + +
+ Signature: int32
+
+
+ + + + + +
+ + + Int64(int64) + +
+ Signature: int64
+
+
+ + + + + +
+ + + Int8(sbyte) + +
+ Signature: sbyte
+
+
+ + + + + +
+ + + Null + +
+ Signature:
+
+
+ + + + + +
+ + + Single(single) + +
+ Signature: single
+
+
+ + + + + +
+ + + String(string) + +
+ Signature: string
+
+
+ + + + + +
+ + + UInt16(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + UInt32(uint32) + +
+ Signature: uint32
+
+
+ + + + + +
+ + + UInt64(uint64) + +
+ Signature: uint64
+
+
+ + + + + +
+ + + UInt8(byte) + +
+ Signature: byte
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldref.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldref.html new file mode 100644 index 0000000000..e11fe9c8e2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldref.html @@ -0,0 +1,159 @@ + + + + + ILFieldRef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILFieldRef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Formal identities of fields.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + EnclosingTypeRef + +
+ Signature: ILTypeRef
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Type + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldspec.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldspec.html new file mode 100644 index 0000000000..df48dadeaf --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilfieldspec.html @@ -0,0 +1,225 @@ + + + + + ILFieldSpec - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILFieldSpec

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Field specs. The data given for a ldfld, stfld etc. instruction.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + EnclosingType + +
+ Signature: ILType
+
+
+ + + + + +
+ + + FieldRef + +
+ Signature: ILFieldRef
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + ActualType + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_ActualType

+
+ + + EnclosingTypeRef + +
+ Signature: ILTypeRef
+
+
+ + + + + +

CompiledName: get_EnclosingTypeRef

+
+ + + FormalType + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_FormalType

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericargs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericargs.html new file mode 100644 index 0000000000..43a6424756 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericargs.html @@ -0,0 +1,203 @@ + + + + + ILGenericArgs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILGenericArgs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Actual generic parameters are always types.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: ILType
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> ILType
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: ILType list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: ILType list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericargslist.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericargslist.html new file mode 100644 index 0000000000..8391f55370 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericargslist.html @@ -0,0 +1,201 @@ + + + + + ILGenericArgsList - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILGenericArgsList

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: ILType
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> ILType
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: ILType list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: ILType list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericparameterdef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericparameterdef.html new file mode 100644 index 0000000000..b952d1338c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericparameterdef.html @@ -0,0 +1,242 @@ + + + + + ILGenericParameterDef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILGenericParameterDef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Generic parameters. Formal generic parameter declarations +may include the bounds, if any, on the generic parameter.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Constraints + +
+ Signature: ILTypes
+
+
+ + + + +

At most one is the parent type, the others are interface types.

+ + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + HasDefaultConstructorConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates the type argument must have a public nullary constructor.

+ + +
+ + + HasNotNullableValueTypeConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates the type argument must be a value type, but not Nullable.

+ + +
+ + + HasReferenceTypeConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates the type argument must be a reference type.

+ + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Variance + +
+ Signature: ILGenericVariance
+
+
+ + + + +

Variance of type parameters, only applicable to generic parameters for generic interfaces and delegates.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericparameterdefs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericparameterdefs.html new file mode 100644 index 0000000000..e5725e5ee3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericparameterdefs.html @@ -0,0 +1,201 @@ + + + + + ILGenericParameterDefs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILGenericParameterDefs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: ILGenericParameterDef
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> ILGenericParameterDef
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: ILGenericParameterDef list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: ILGenericParameterDef list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericvariance.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericvariance.html new file mode 100644 index 0000000000..7d332de2d1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilgenericvariance.html @@ -0,0 +1,157 @@ + + + + + ILGenericVariance - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILGenericVariance

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + ContraVariant + +
+ Signature:
+
+
+ + + + + +
+ + + CoVariant + +
+ Signature:
+
+
+ + + + + +
+ + + NonVariant + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilglobals.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilglobals.html new file mode 100644 index 0000000000..be6f77886e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilglobals.html @@ -0,0 +1,487 @@ + + + + + ILGlobals - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILGlobals

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

A table of common references to items in primary assembly (System.Runtime or mscorlib). +If a particular version of System.Runtime.dll has been loaded then you should +reference items from it via an ILGlobals for that specific version built using mkILGlobals.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + primaryAssemblyName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_primaryAssemblyName

+
+ + + primaryAssemblyScopeRef + +
+ Signature: ILScopeRef
+
+
+ + + + + +

CompiledName: get_primaryAssemblyScopeRef

+
+ + + typ_Array + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Array

+
+ + + typ_Bool + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Bool

+
+ + + typ_Byte + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Byte

+
+ + + typ_Char + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Char

+
+ + + typ_Double + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Double

+
+ + + typ_Int16 + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Int16

+
+ + + typ_Int32 + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Int32

+
+ + + typ_Int64 + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Int64

+
+ + + typ_IntPtr + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_IntPtr

+
+ + + typ_Object + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Object

+
+ + + typ_SByte + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_SByte

+
+ + + typ_Single + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Single

+
+ + + typ_String + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_String

+
+ + + typ_Type + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_Type

+
+ + + typ_UInt16 + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_UInt16

+
+ + + typ_UInt32 + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_UInt32

+
+ + + typ_UInt64 + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_UInt64

+
+ + + typ_UIntPtr + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_typ_UIntPtr

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilguid.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilguid.html new file mode 100644 index 0000000000..9fa113952c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilguid.html @@ -0,0 +1,95 @@ + + + + + ILGuid - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILGuid

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilinstr.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilinstr.html new file mode 100644 index 0000000000..7b6dff42eb --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilinstr.html @@ -0,0 +1,1838 @@ + + + + + ILInstr - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILInstr

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

The instruction set.

+

In general we don't categorize instructions, as different +instruction groups are relevant for different types of operations. +However we do collect the branch and compare instructions together +because they all take an address, and the ILArithInstr ones because +none of them take any direct arguments.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AI_add + +
+ Signature:
+
+
+ + + + + +
+ + + AI_add_ovf + +
+ Signature:
+
+
+ + + + + +
+ + + AI_add_ovf_un + +
+ Signature:
+
+
+ + + + + +
+ + + AI_and + +
+ Signature:
+
+
+ + + + + +
+ + + AI_ceq + +
+ Signature:
+
+
+ + + + + +
+ + + AI_cgt + +
+ Signature:
+
+
+ + + + + +
+ + + AI_cgt_un + +
+ Signature:
+
+
+ + + + + +
+ + + AI_ckfinite + +
+ Signature:
+
+
+ + + + + +
+ + + AI_clt + +
+ Signature:
+
+
+ + + + + +
+ + + AI_clt_un + +
+ Signature:
+
+
+ + + + + +
+ + + AI_conv(ILBasicType) + +
+ Signature: ILBasicType
+
+
+ + + + + +
+ + + AI_conv_ovf(ILBasicType) + +
+ Signature: ILBasicType
+
+
+ + + + + +
+ + + AI_conv_ovf_un(ILBasicType) + +
+ Signature: ILBasicType
+
+
+ + + + + +
+ + + AI_div + +
+ Signature:
+
+
+ + + + + +
+ + + AI_div_un + +
+ Signature:
+
+
+ + + + + +
+ + + AI_dup + +
+ Signature:
+
+
+ + + + + +
+ + + AI_ldc(ILBasicType,ILConst) + +
+ Signature: ILBasicType * ILConst
+
+
+ + + + + +
+ + + AI_ldnull + +
+ Signature:
+
+
+ + + + + +
+ + + AI_mul + +
+ Signature:
+
+
+ + + + + +
+ + + AI_mul_ovf + +
+ Signature:
+
+
+ + + + + +
+ + + AI_mul_ovf_un + +
+ Signature:
+
+
+ + + + + +
+ + + AI_neg + +
+ Signature:
+
+
+ + + + + +
+ + + AI_nop + +
+ Signature:
+
+
+ + + + + +
+ + + AI_not + +
+ Signature:
+
+
+ + + + + +
+ + + AI_or + +
+ Signature:
+
+
+ + + + + +
+ + + AI_pop + +
+ Signature:
+
+
+ + + + + +
+ + + AI_rem + +
+ Signature:
+
+
+ + + + + +
+ + + AI_rem_un + +
+ Signature:
+
+
+ + + + + +
+ + + AI_shl + +
+ Signature:
+
+
+ + + + + +
+ + + AI_shr + +
+ Signature:
+
+
+ + + + + +
+ + + AI_shr_un + +
+ Signature:
+
+
+ + + + + +
+ + + AI_sub + +
+ Signature:
+
+
+ + + + + +
+ + + AI_sub_ovf + +
+ Signature:
+
+
+ + + + + +
+ + + AI_sub_ovf_un + +
+ Signature:
+
+
+ + + + + +
+ + + AI_xor + +
+ Signature:
+
+
+ + + + + +
+ + + EI_ilzero(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + EI_ldlen_multi(int32,int32) + +
+ Signature: int32 * int32
+
+
+ + + + + +
+ + + I_arglist + +
+ Signature:
+
+
+ + + + + +
+ + + I_box(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_br(ILCodeLabel) + +
+ Signature: ILCodeLabel
+
+
+ + + + + +
+ + + I_brcmp(ILComparisonInstr,ILCodeLabel) + +
+ Signature: ILComparisonInstr * ILCodeLabel
+
+
+ + + + + +
+ + + I_break + +
+ Signature:
+
+
+ + + + + +
+ + + I_call(...) + +
+ Signature: ILTailcall * ILMethodSpec * ILVarArgs
+
+
+ + + + + +
+ + + I_callconstraint(...) + +
+ Signature: ILTailcall * ILType * ILMethodSpec * ILVarArgs
+
+
+ + + + + +
+ + + I_calli(...) + +
+ Signature: ILTailcall * ILCallingSignature * ILVarArgs
+
+
+ + + + + +
+ + + I_callvirt(...) + +
+ Signature: ILTailcall * ILMethodSpec * ILVarArgs
+
+
+ + + + + +
+ + + I_castclass(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_cpblk(ILAlignment,ILVolatility) + +
+ Signature: ILAlignment * ILVolatility
+
+
+ + + + + +
+ + + I_cpobj(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_endfilter + +
+ Signature:
+
+
+ + + + + +
+ + + I_endfinally + +
+ Signature:
+
+
+ + + + + +
+ + + I_initblk(ILAlignment,ILVolatility) + +
+ Signature: ILAlignment * ILVolatility
+
+
+ + + + + +
+ + + I_initobj(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_isinst(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_jmp(ILMethodSpec) + +
+ Signature: ILMethodSpec
+
+
+ + + + + +
+ + + I_ldarg(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + I_ldarga(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + I_ldelem(ILBasicType) + +
+ Signature: ILBasicType
+
+
+ + + + + +
+ + + I_ldelem_any(ILArrayShape,ILType) + +
+ Signature: ILArrayShape * ILType
+
+
+ + + + + +
+ + + I_ldelema(...) + +
+ Signature: ILReadonly * bool * ILArrayShape * ILType
+
+
+ + + + + +
+ + + I_ldfld(...) + +
+ Signature: ILAlignment * ILVolatility * ILFieldSpec
+
+
+ + + + + +
+ + + I_ldflda(ILFieldSpec) + +
+ Signature: ILFieldSpec
+
+
+ + + + + +
+ + + I_ldftn(ILMethodSpec) + +
+ Signature: ILMethodSpec
+
+
+ + + + + +
+ + + I_ldind(...) + +
+ Signature: ILAlignment * ILVolatility * ILBasicType
+
+
+ + + + + +
+ + + I_ldlen + +
+ Signature:
+
+
+ + + + + +
+ + + I_ldloc(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + I_ldloca(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + I_ldobj(ILAlignment,ILVolatility,ILType) + +
+ Signature: ILAlignment * ILVolatility * ILType
+
+
+ + + + + +
+ + + I_ldsfld(ILVolatility,ILFieldSpec) + +
+ Signature: ILVolatility * ILFieldSpec
+
+
+ + + + + +
+ + + I_ldsflda(ILFieldSpec) + +
+ Signature: ILFieldSpec
+
+
+ + + + + +
+ + + I_ldstr(string) + +
+ Signature: string
+
+
+ + + + + +
+ + + I_ldtoken(ILToken) + +
+ Signature: ILToken
+
+
+ + + + + +
+ + + I_ldvirtftn(ILMethodSpec) + +
+ Signature: ILMethodSpec
+
+
+ + + + + +
+ + + I_leave(ILCodeLabel) + +
+ Signature: ILCodeLabel
+
+
+ + + + + +
+ + + I_localloc + +
+ Signature:
+
+
+ + + + + +
+ + + I_mkrefany(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_newarr(ILArrayShape,ILType) + +
+ Signature: ILArrayShape * ILType
+
+
+ + + + + +
+ + + I_newobj(ILMethodSpec,ILVarArgs) + +
+ Signature: ILMethodSpec * ILVarArgs
+
+
+ + + + + +
+ + + I_refanytype + +
+ Signature:
+
+
+ + + + + +
+ + + I_refanyval(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_ret + +
+ Signature:
+
+
+ + + + + +
+ + + I_rethrow + +
+ Signature:
+
+
+ + + + + +
+ + + I_seqpoint(ILSourceMarker) + +
+ Signature: ILSourceMarker
+
+
+ + + + + +
+ + + I_sizeof(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_starg(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + I_stelem(ILBasicType) + +
+ Signature: ILBasicType
+
+
+ + + + + +
+ + + I_stelem_any(ILArrayShape,ILType) + +
+ Signature: ILArrayShape * ILType
+
+
+ + + + + +
+ + + I_stfld(...) + +
+ Signature: ILAlignment * ILVolatility * ILFieldSpec
+
+
+ + + + + +
+ + + I_stind(...) + +
+ Signature: ILAlignment * ILVolatility * ILBasicType
+
+
+ + + + + +
+ + + I_stloc(uint16) + +
+ Signature: uint16
+
+
+ + + + + +
+ + + I_stobj(ILAlignment,ILVolatility,ILType) + +
+ Signature: ILAlignment * ILVolatility * ILType
+
+
+ + + + + +
+ + + I_stsfld(ILVolatility,ILFieldSpec) + +
+ Signature: ILVolatility * ILFieldSpec
+
+
+ + + + + +
+ + + I_switch(ILCodeLabel list) + +
+ Signature: ILCodeLabel list
+
+
+ + + + + +
+ + + I_throw + +
+ Signature:
+
+
+ + + + + +
+ + + I_unbox(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ + + I_unbox_any(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-illazymethodbody.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illazymethodbody.html new file mode 100644 index 0000000000..951cb735b4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illazymethodbody.html @@ -0,0 +1,122 @@ + + + + + ILLazyMethodBody - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILLazyMethodBody

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Contents + +
+ Signature: MethodBody
+
+
+ + + + + +

CompiledName: get_Contents

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocal.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocal.html new file mode 100644 index 0000000000..6d38879c6b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocal.html @@ -0,0 +1,159 @@ + + + + + ILLocal - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILLocal

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Local variables

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + DebugInfo + +
+ Signature: (string * int * int) option
+
+
+ + + + + +
+ + + IsPinned + +
+ Signature: bool
+
+
+ + + + + +
+ + + Type + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocaldebuginfo.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocaldebuginfo.html new file mode 100644 index 0000000000..16ffe6fd9a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocaldebuginfo.html @@ -0,0 +1,139 @@ + + + + + ILLocalDebugInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILLocalDebugInfo

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + DebugMappings + +
+ Signature: ILLocalDebugMapping list
+
+
+ + + + + +
+ + + Range + +
+ Signature: ILCodeLabel * ILCodeLabel
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocaldebugmapping.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocaldebugmapping.html new file mode 100644 index 0000000000..ac197976e4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocaldebugmapping.html @@ -0,0 +1,143 @@ + + + + + ILLocalDebugMapping - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILLocalDebugMapping

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Indicates that a particular local variable has a particular source +language name within a given set of ranges. This does not effect local +variable numbering, which is global over the whole method.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + LocalIndex + +
+ Signature: int
+
+
+ + + + + +
+ + + LocalName + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocals.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocals.html new file mode 100644 index 0000000000..84f0ad9d51 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocals.html @@ -0,0 +1,201 @@ + + + + + ILLocals - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILLocals

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: ILLocal
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> ILLocal
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: ILLocal list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: ILLocal list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocalsallocator.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocalsallocator.html new file mode 100644 index 0000000000..6ebb6efec8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-illocalsallocator.html @@ -0,0 +1,168 @@ + + + + + ILLocalsAllocator - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILLocalsAllocator

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Helpers for codegen: scopes for allocating new temporary variables.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(preAlloc) + +
+ Signature: preAlloc:int -> ILLocalsAllocator
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + AllocLocal(arg1) + +
+ Signature: ILLocal -> uint16
+
+
+ + + + + +
+ + + Close() + +
+ Signature: unit -> ILLocal list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmemberaccess.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmemberaccess.html new file mode 100644 index 0000000000..fb914dcf33 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmemberaccess.html @@ -0,0 +1,231 @@ + + + + + ILMemberAccess - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMemberAccess

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Member Access

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Assembly + +
+ Signature:
+
+
+ + + + + +
+ + + CompilerControlled + +
+ Signature:
+
+
+ + + + + +
+ + + Family + +
+ Signature:
+
+
+ + + + + +
+ + + FamilyAndAssembly + +
+ Signature:
+
+
+ + + + + +
+ + + FamilyOrAssembly + +
+ Signature:
+
+
+ + + + + +
+ + + Private + +
+ Signature:
+
+
+ + + + + +
+ + + Public + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodbody.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodbody.html new file mode 100644 index 0000000000..5d79bb33a3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodbody.html @@ -0,0 +1,215 @@ + + + + + ILMethodBody - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMethodBody

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

IL method bodies

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Code + +
+ Signature: ILCode
+
+
+ + + + + +
+ + + IsZeroInit + +
+ Signature: bool
+
+
+ + + + + +
+ + + Locals + +
+ Signature: ILLocals
+
+
+ + + + + +
+ + + MaxStack + +
+ Signature: int32
+
+
+ + + + +

strictly speakin should be a uint16

+ + +
+ + + NoInlining + +
+ Signature: bool
+
+
+ + + + + +
+ + + SourceMarker + +
+ Signature: ILSourceMarker option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethoddef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethoddef.html new file mode 100644 index 0000000000..a6429caae0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethoddef.html @@ -0,0 +1,894 @@ + + + + + ILMethodDef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMethodDef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Method definitions.

+

There are several different flavours of methods (constructors, +abstract, virtual, static, instance, class constructors). There +is no perfect factorization of these as the combinations are not +independent.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Access + +
+ Signature: ILMemberAccess
+
+
+ + + + + +
+ + + CallingConv + +
+ Signature: ILCallingConv
+
+
+ + + + + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + GenericParams + +
+ Signature: ILGenericParameterDefs
+
+
+ + + + + +
+ + + HasSecurity + +
+ Signature: bool
+
+
+ + + + +

Some methods are marked "HasSecurity" even if there are no permissions attached, e.g. if they use SuppressUnmanagedCodeSecurityAttribute

+ + +
+ + + IsEntryPoint + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsForwardRef + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsHideBySig + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsInternalCall + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsManaged + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsMustRun + +
+ Signature: bool
+
+
+ + + + +

.NET 2.0 feature: SafeHandle finalizer must be run.

+ + +
+ + + IsNoInline + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsPreserveSig + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsReqSecObj + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsSpecialName + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsSynchronized + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsUnmanagedExport + +
+ Signature: bool
+
+
+ + + + +

The method is exported to unmanaged code using COM interop.

+ + +
+ + + mdBody + +
+ Signature: ILLazyMethodBody
+
+
+ + + + + +
+ + + mdCodeKind + +
+ Signature: MethodCodeKind
+
+
+ + + + + +
+ + + mdKind + +
+ Signature: MethodKind
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Parameters + +
+ Signature: ILParameters
+
+
+ + + + + +
+ + + Return + +
+ Signature: ILReturn
+
+
+ + + + + +
+ + + SecurityDecls + +
+ Signature: ILPermissions
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + CallingSignature + +
+ Signature: ILCallingSignature
+
+
+ + + + + +

CompiledName: get_CallingSignature

+
+ + + Code + +
+ Signature: ILCode option
+
+
+ + + + + +

CompiledName: get_Code

+
+ + + IsAbstract + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsAbstract

+
+ + + IsCheckAccessOnOverride + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsCheckAccessOnOverride

+
+ + + IsClassInitializer + +
+ Signature: bool
+
+
+ + + + +

.cctor methods. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) +form a complete, non-overlapping classification of this type.

+ + +

CompiledName: get_IsClassInitializer

+
+ + + IsConstructor + +
+ Signature: bool
+
+
+ + + + +

.ctor methods. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) +form a complete, non-overlapping classification of this type.

+ + +

CompiledName: get_IsConstructor

+
+ + + IsFinal + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsFinal

+
+ + + IsIL + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsIL

+
+ + + IsNewSlot + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsNewSlot

+
+ + + IsNonVirtualInstance + +
+ Signature: bool
+
+
+ + + + +

instance methods that are not virtual. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) +form a complete, non-overlapping classification of this type.

+ + +

CompiledName: get_IsNonVirtualInstance

+
+ + + IsStatic + +
+ Signature: bool
+
+
+ + + + +

static methods. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) +form a complete, non-overlapping classification of this type.

+ + +

CompiledName: get_IsStatic

+
+ + + IsVirtual + +
+ Signature: bool
+
+
+ + + + +

instance methods that are virtual or abstract or implement an interface slot.
+The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) +form a complete, non-overlapping classification of this type.

+ + +

CompiledName: get_IsVirtual

+
+ + + IsZeroInit + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsZeroInit

+
+ + + Locals + +
+ Signature: ILLocals
+
+
+ + + + + +

CompiledName: get_Locals

+
+ + + MaxStack + +
+ Signature: int32
+
+
+ + + + + +

CompiledName: get_MaxStack

+
+ + + MethodBody + +
+ Signature: ILMethodBody
+
+
+ + + + + +

CompiledName: get_MethodBody

+
+ + + ParameterTypes + +
+ Signature: ILTypes
+
+
+ + + + + +

CompiledName: get_ParameterTypes

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethoddefs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethoddefs.html new file mode 100644 index 0000000000..4f044dd31a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethoddefs.html @@ -0,0 +1,164 @@ + + + + + ILMethodDefs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMethodDefs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Tables of methods. Logically equivalent to a list of methods but +the table is kept in a form optimized for looking up methods by +name and arity. +abstract type equivalent to [ILMethodDef list]

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AsArray + +
+ Signature: ILMethodDef []
+
+
+ + + + + +

CompiledName: get_AsArray

+
+ + + AsList + +
+ Signature: ILMethodDef list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ + + FindByName(arg1) + +
+ Signature: string -> ILMethodDef list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodimpldef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodimpldef.html new file mode 100644 index 0000000000..c559e85481 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodimpldef.html @@ -0,0 +1,144 @@ + + + + + ILMethodImplDef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMethodImplDef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Method Impls

+

If there is an entry (pms --&gt; ms) in this table, then method [ms] +is used to implement method [pms] for the purposes of this class +and its subclasses.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + OverrideBy + +
+ Signature: ILMethodSpec
+
+
+ + + + + +
+ + + Overrides + +
+ Signature: ILOverridesSpec
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodimpldefs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodimpldefs.html new file mode 100644 index 0000000000..0db8edc0f8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodimpldefs.html @@ -0,0 +1,122 @@ + + + + + ILMethodImplDefs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMethodImplDefs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILMethodImplDef list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodref.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodref.html new file mode 100644 index 0000000000..ad949705be --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodref.html @@ -0,0 +1,289 @@ + + + + + ILMethodRef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMethodRef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Formal identities of methods. Method refs refer to methods on +named types. In general you should work with ILMethodSpec objects +rather than MethodRef objects, because ILMethodSpec objects carry +information about how generic methods are instantiated. MethodRef +objects are only used at a few places in the Abstract IL syntax +and if analyzing or generating IL you will be unlikely to come across +these.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + ArgCount + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_ArgCount

+
+ + + ArgTypes + +
+ Signature: ILTypes
+
+
+ + + + + +

CompiledName: get_ArgTypes

+
+ + + CallingConv + +
+ Signature: ILCallingConv
+
+
+ + + + + +

CompiledName: get_CallingConv

+
+ + + CallingSignature + +
+ Signature: ILCallingSignature
+
+
+ + + + + +

CompiledName: get_CallingSignature

+
+ + + EnclosingTypeRef + +
+ Signature: ILTypeRef
+
+
+ + + + + +

CompiledName: get_EnclosingTypeRef

+
+ + + GenericArity + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_GenericArity

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+ + + ReturnType + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_ReturnType

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(...) + +
+ Signature: (enclosingTypeRef:ILTypeRef * callingConv:ILCallingConv * name:string * genericArity:int * argTypes:ILTypes * returnType:ILType) -> ILMethodRef
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodspec.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodspec.html new file mode 100644 index 0000000000..5cdc56cea7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodspec.html @@ -0,0 +1,283 @@ + + + + + ILMethodSpec - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMethodSpec

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

The information at the callsite of a method

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + CallingConv + +
+ Signature: ILCallingConv
+
+
+ + + + + +

CompiledName: get_CallingConv

+
+ + + EnclosingType + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_EnclosingType

+
+ + + FormalArgTypes + +
+ Signature: ILTypes
+
+
+ + + + + +

CompiledName: get_FormalArgTypes

+
+ + + FormalReturnType + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_FormalReturnType

+
+ + + GenericArgs + +
+ Signature: ILGenericArgs
+
+
+ + + + + +

CompiledName: get_GenericArgs

+
+ + + GenericArity + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_GenericArity

+
+ + + MethodRef + +
+ Signature: ILMethodRef
+
+
+ + + + + +

CompiledName: get_MethodRef

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(arg1, arg2, arg3) + +
+ Signature: (ILType * ILMethodRef * ILGenericArgs) -> ILMethodSpec
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodvirtualinfo.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodvirtualinfo.html new file mode 100644 index 0000000000..92191abe23 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmethodvirtualinfo.html @@ -0,0 +1,175 @@ + + + + + ILMethodVirtualInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILMethodVirtualInfo

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + IsAbstract + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsCheckAccessOnOverride + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsFinal + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsNewSlot + +
+ Signature: bool
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmoduledef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmoduledef.html new file mode 100644 index 0000000000..efa0fdb96c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmoduledef.html @@ -0,0 +1,516 @@ + + + + + ILModuleDef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILModuleDef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

One module in the "current" assembly, either a main-module or +an auxiliary module. The main module will have a manifest.

+

An assembly is built by joining together a "main" module plus +several auxiliary modules.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + ImageBase + +
+ Signature: int32
+
+
+ + + + + +
+ + + Is32Bit + +
+ Signature: bool
+
+
+ + + + + +
+ + + Is32BitPreferred + +
+ Signature: bool
+
+
+ + + + + +
+ + + Is64Bit + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsDLL + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsILOnly + +
+ Signature: bool
+
+
+ + + + + +
+ + + Manifest + +
+ Signature: ILAssemblyManifest option
+
+
+ + + + + +
+ + + MetadataVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + NativeResources + +
+ Signature: Lazy<byte []> list
+
+
+ + + + +

e.g. win86 resources, as the exact contents of a .res or .obj file.

+ + +
+ + + PhysicalAlignment + +
+ Signature: int32
+
+
+ + + + + +
+ + + Platform + +
+ Signature: ILPlatform option
+
+
+ + + + + +
+ + + Resources + +
+ Signature: ILResources
+
+
+ + + + + +
+ + + StackReserveSize + +
+ Signature: int32 option
+
+
+ + + + + +
+ + + SubSystemFlags + +
+ Signature: int32
+
+
+ + + + + +
+ + + SubsystemVersion + +
+ Signature: int * int
+
+
+ + + + + +
+ + + TypeDefs + +
+ Signature: ILTypeDefs
+
+
+ + + + + +
+ + + UseHighEntropyVA + +
+ Signature: bool
+
+
+ + + + + +
+ + + VirtualAlignment + +
+ Signature: int32
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + HasManifest + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_HasManifest

+
+ + + ManifestOfAssembly + +
+ Signature: ILAssemblyManifest
+
+
+ + + + + +

CompiledName: get_ManifestOfAssembly

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmoduleref.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmoduleref.html new file mode 100644 index 0000000000..21dc9cc24b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilmoduleref.html @@ -0,0 +1,186 @@ + + + + + ILModuleRef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILModuleRef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Hash + +
+ Signature: byte [] option
+
+
+ + + + + +

CompiledName: get_Hash

+
+ + + HasMetadata + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_HasMetadata

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(name, hasMetadata, hash) + +
+ Signature: (name:string * hasMetadata:bool * hash:byte [] option) -> ILModuleRef
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnativetype.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnativetype.html new file mode 100644 index 0000000000..fec956fd67 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnativetype.html @@ -0,0 +1,772 @@ + + + + + ILNativeType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILNativeType

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Native Types, for marshalling to the native C interface. +These are taken directly from the ILASM syntax, see ECMA Spec (Partition II, 7.4).

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + ANSIBSTR + +
+ Signature:
+
+
+ + + + + +
+ + + Array(...) + +
+ Signature: ILNativeType option * (int32 * int32 option) option
+
+
+ + + + + +
+ + + AsAny + +
+ Signature:
+
+
+ + + + + +
+ + + Bool + +
+ Signature:
+
+
+ + + + + +
+ + + BSTR + +
+ Signature:
+
+
+ + + + + +
+ + + Byte + +
+ Signature:
+
+
+ + + + + +
+ + + ByValStr + +
+ Signature:
+
+
+ + + + + +
+ + + Currency + +
+ Signature:
+
+
+ + + + + +
+ + + Custom(ILGuid,string,string,byte []) + +
+ Signature: ILGuid * string * string * byte []
+
+
+ + + + + +
+ + + Double + +
+ Signature:
+
+
+ + + + + +
+ + + Empty + +
+ Signature:
+
+
+ + + + + +
+ + + Error + +
+ Signature:
+
+
+ + + + + +
+ + + FixedArray(int32) + +
+ Signature: int32
+
+
+ + + + + +
+ + + FixedSysString(int32) + +
+ Signature: int32
+
+
+ + + + + +
+ + + IDispatch + +
+ Signature:
+
+
+ + + + + +
+ + + Int + +
+ Signature:
+
+
+ + + + + +
+ + + Int16 + +
+ Signature:
+
+
+ + + + + +
+ + + Int32 + +
+ Signature:
+
+
+ + + + + +
+ + + Int64 + +
+ Signature:
+
+
+ + + + + +
+ + + Int8 + +
+ Signature:
+
+
+ + + + + +
+ + + Interface + +
+ Signature:
+
+
+ + + + + +
+ + + IUnknown + +
+ Signature:
+
+
+ + + + + +
+ + + LPSTR + +
+ Signature:
+
+
+ + + + + +
+ + + LPSTRUCT + +
+ Signature:
+
+
+ + + + + +
+ + + LPTSTR + +
+ Signature:
+
+
+ + + + + +
+ + + LPWSTR + +
+ Signature:
+
+
+ + + + + +
+ + + Method + +
+ Signature:
+
+
+ + + + + +
+ + + SafeArray(ILNativeVariant,string option) + +
+ Signature: ILNativeVariant * string option
+
+
+ + + + + +
+ + + Single + +
+ Signature:
+
+
+ + + + + +
+ + + Struct + +
+ Signature:
+
+
+ + + + + +
+ + + TBSTR + +
+ Signature:
+
+
+ + + + + +
+ + + UInt + +
+ Signature:
+
+
+ + + + + +
+ + + UInt16 + +
+ Signature:
+
+
+ + + + + +
+ + + UInt32 + +
+ Signature:
+
+
+ + + + + +
+ + + UInt64 + +
+ Signature:
+
+
+ + + + + +
+ + + VariantBool + +
+ Signature:
+
+
+ + + + + +
+ + + Void + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnativevariant.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnativevariant.html new file mode 100644 index 0000000000..3f730ada80 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnativevariant.html @@ -0,0 +1,895 @@ + + + + + ILNativeVariant - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILNativeVariant

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Array(ILNativeVariant) + +
+ Signature: ILNativeVariant
+
+
+ + + + + +
+ + + Blob + +
+ Signature:
+
+
+ + + + + +
+ + + BlobObject + +
+ Signature:
+
+
+ + + + + +
+ + + Bool + +
+ Signature:
+
+
+ + + + + +
+ + + BSTR + +
+ Signature:
+
+
+ + + + + +
+ + + Byref(ILNativeVariant) + +
+ Signature: ILNativeVariant
+
+
+ + + + + +
+ + + CArray + +
+ Signature:
+
+
+ + + + + +
+ + + CF + +
+ Signature:
+
+
+ + + + + +
+ + + CLSID + +
+ Signature:
+
+
+ + + + + +
+ + + Currency + +
+ Signature:
+
+
+ + + + + +
+ + + Date + +
+ Signature:
+
+
+ + + + + +
+ + + Decimal + +
+ Signature:
+
+
+ + + + + +
+ + + Double + +
+ Signature:
+
+
+ + + + + +
+ + + Empty + +
+ Signature:
+
+
+ + + + + +
+ + + Error + +
+ Signature:
+
+
+ + + + + +
+ + + FileTime + +
+ Signature:
+
+
+ + + + + +
+ + + HRESULT + +
+ Signature:
+
+
+ + + + + +
+ + + IDispatch + +
+ Signature:
+
+
+ + + + + +
+ + + Int + +
+ Signature:
+
+
+ + + + + +
+ + + Int16 + +
+ Signature:
+
+
+ + + + + +
+ + + Int32 + +
+ Signature:
+
+
+ + + + + +
+ + + Int64 + +
+ Signature:
+
+
+ + + + + +
+ + + Int8 + +
+ Signature:
+
+
+ + + + + +
+ + + IUnknown + +
+ Signature:
+
+
+ + + + + +
+ + + LPSTR + +
+ Signature:
+
+
+ + + + + +
+ + + LPWSTR + +
+ Signature:
+
+
+ + + + + +
+ + + Null + +
+ Signature:
+
+
+ + + + + +
+ + + PTR + +
+ Signature:
+
+
+ + + + + +
+ + + Record + +
+ Signature:
+
+
+ + + + + +
+ + + SafeArray + +
+ Signature:
+
+
+ + + + + +
+ + + Single + +
+ Signature:
+
+
+ + + + + +
+ + + Storage + +
+ Signature:
+
+
+ + + + + +
+ + + StoredObject + +
+ Signature:
+
+
+ + + + + +
+ + + Stream + +
+ Signature:
+
+
+ + + + + +
+ + + StreamedObject + +
+ Signature:
+
+
+ + + + + +
+ + + UInt + +
+ Signature:
+
+
+ + + + + +
+ + + UInt16 + +
+ Signature:
+
+
+ + + + + +
+ + + UInt32 + +
+ Signature:
+
+
+ + + + + +
+ + + UInt64 + +
+ Signature:
+
+
+ + + + + +
+ + + UInt8 + +
+ Signature:
+
+
+ + + + + +
+ + + UserDefined + +
+ Signature:
+
+
+ + + + + +
+ + + Variant + +
+ Signature:
+
+
+ + + + + +
+ + + Vector(ILNativeVariant) + +
+ Signature: ILNativeVariant
+
+
+ + + + + +
+ + + Void + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnestedexportedtype.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnestedexportedtype.html new file mode 100644 index 0000000000..8d201176da --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnestedexportedtype.html @@ -0,0 +1,197 @@ + + + + + ILNestedExportedType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILNestedExportedType

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

"Classes Elsewhere" - classes in auxiliary modules.

+

Manifests include declarations for all the classes in an +assembly, regardless of which module they are in.

+

The ".class extern" construct describes so-called exported types -- +these are public classes defined in the auxiliary modules of this assembly, +i.e. modules other than the manifest-carrying module.

+

For example, if you have a two-module +assembly (A.DLL and B.DLL), and the manifest resides in the A.DLL, +then in the manifest all the public classes declared in B.DLL should +be defined as exported types, i.e., as ".class extern". The public classes +defined in A.DLL should not be defined as ".class extern" -- they are +already available in the manifest-carrying module. The union of all +public classes defined in the manifest-carrying module and all +exported types defined there is the set of all classes exposed by +this assembly. Thus, by analysing the metadata of the manifest-carrying +module of an assembly, you can identify all the classes exposed by +this assembly, and where to find them.

+

Nested classes found in external modules should also be located in +this table, suitably nested inside another "ILExportedTypeOrForwarder" +definition. +these are only found in the "Nested" field of ILExportedTypeOrForwarder objects

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Access + +
+ Signature: ILMemberAccess
+
+
+ + + + + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Nested + +
+ Signature: ILNestedExportedTypes
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnestedexportedtypes.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnestedexportedtypes.html new file mode 100644 index 0000000000..e2ae73e94f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilnestedexportedtypes.html @@ -0,0 +1,122 @@ + + + + + ILNestedExportedTypes - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILNestedExportedTypes

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILNestedExportedType list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iloverridesspec.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iloverridesspec.html new file mode 100644 index 0000000000..57d42d7947 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iloverridesspec.html @@ -0,0 +1,172 @@ + + + + + ILOverridesSpec - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILOverridesSpec

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

or superinterface. Used for overriding/method impls. Includes +a type for the parent for the same reason that a method specs +includes the type of the enclosing type, i.e. the type +gives the "ILGenericArgs" at which the parent type is being used.

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + OverridesSpec(ILMethodRef,ILType) + +
+ Signature: ILMethodRef * ILType
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + EnclosingType + +
+ Signature: ILType
+
+
+ + + + + +

CompiledName: get_EnclosingType

+
+ + + MethodRef + +
+ Signature: ILMethodRef
+
+
+ + + + + +

CompiledName: get_MethodRef

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilparameter.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilparameter.html new file mode 100644 index 0000000000..5673f4c54a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilparameter.html @@ -0,0 +1,251 @@ + + + + + ILParameter - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILParameter

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Method parameters and return values.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + Default + +
+ Signature: ILFieldInit option
+
+
+ + + + + +
+ + + IsIn + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsOptional + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsOut + +
+ Signature: bool
+
+
+ + + + + +
+ + + Marshal + +
+ Signature: ILNativeType option
+
+
+ + + + +

Marshalling map for parameters. COM Interop only.

+ + +
+ + + Name + +
+ Signature: string option
+
+
+ + + + + +
+ + + Type + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilparameters.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilparameters.html new file mode 100644 index 0000000000..ac5901d036 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilparameters.html @@ -0,0 +1,201 @@ + + + + + ILParameters - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILParameters

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: ILParameter
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> ILParameter
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: ILParameter list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: ILParameter list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpermission.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpermission.html new file mode 100644 index 0000000000..5a53790437 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpermission.html @@ -0,0 +1,121 @@ + + + + + ILPermission - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILPermission

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + PermissionSet(ILSecurityAction,byte []) + +
+ Signature: ILSecurityAction * byte []
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpermissions.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpermissions.html new file mode 100644 index 0000000000..3b6fc05ef7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpermissions.html @@ -0,0 +1,125 @@ + + + + + ILPermissions - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILPermissions

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Abstract type equivalent to ILPermission list - use helpers +below to construct/destruct these.

+ +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILPermission list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilplatform.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilplatform.html new file mode 100644 index 0000000000..3d7e50f355 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilplatform.html @@ -0,0 +1,157 @@ + + + + + ILPlatform - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILPlatform

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AMD64 + +
+ Signature:
+
+
+ + + + + +
+ + + IA64 + +
+ Signature:
+
+
+ + + + + +
+ + + X86 + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertydef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertydef.html new file mode 100644 index 0000000000..f61ce3e2cd --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertydef.html @@ -0,0 +1,285 @@ + + + + + ILPropertyDef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILPropertyDef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Property definitions.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Args + +
+ Signature: ILTypes
+
+
+ + + + + +
+ + + CallingConv + +
+ Signature: ILThisConvention
+
+
+ + + + + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + GetMethod + +
+ Signature: ILMethodRef option
+
+
+ + + + + +
+ + + Init + +
+ Signature: ILFieldInit option
+
+
+ + + + + +
+ + + IsRTSpecialName + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsSpecialName + +
+ Signature: bool
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + SetMethod + +
+ Signature: ILMethodRef option
+
+
+ + + + + +
+ + + Type + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertydefs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertydefs.html new file mode 100644 index 0000000000..6c6819d1f3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertydefs.html @@ -0,0 +1,142 @@ + + + + + ILPropertyDefs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILPropertyDefs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Table of those properties in a type definition.

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILPropertyDef list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ + + LookupByName(arg1) + +
+ Signature: string -> ILPropertyDef list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertyref.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertyref.html new file mode 100644 index 0000000000..e86b98eb2f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilpropertyref.html @@ -0,0 +1,167 @@ + + + + + ILPropertyRef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILPropertyRef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + EnclosingTypeRef + +
+ Signature: ILTypeRef
+
+
+ + + + + +

CompiledName: get_EnclosingTypeRef

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(arg1, arg2) + +
+ Signature: (ILTypeRef * string) -> ILPropertyRef
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreadonly.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreadonly.html new file mode 100644 index 0000000000..29fb52fd0a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreadonly.html @@ -0,0 +1,139 @@ + + + + + ILReadonly - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILReadonly

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + NormalAddress + +
+ Signature:
+
+
+ + + + + +
+ + + ReadonlyAddress + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreferences.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreferences.html new file mode 100644 index 0000000000..f930a2e0ee --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreferences.html @@ -0,0 +1,139 @@ + + + + + ILReferences - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILReferences

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + AssemblyReferences + +
+ Signature: ILAssemblyRef list
+
+
+ + + + + +
+ + + ModuleReferences + +
+ Signature: ILModuleRef list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresource.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresource.html new file mode 100644 index 0000000000..d27a990a40 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresource.html @@ -0,0 +1,209 @@ + + + + + ILResource - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILResource

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

"Manifest ILResources" are chunks of resource data, being one of: +- the data section of the current module (byte[] of resource given directly). +- in an external file in this assembly (offset given in the ILResourceLocation field). +- as a resources in another assembly of the same name.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Access + +
+ Signature: ILResourceAccess
+
+
+ + + + + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + Location + +
+ Signature: ILResourceLocation
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Bytes + +
+ Signature: byte []
+
+
+ + + + +

Read the bytes from a resource local to an assembly

+ + +

CompiledName: get_Bytes

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresourceaccess.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresourceaccess.html new file mode 100644 index 0000000000..9f97a2184b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresourceaccess.html @@ -0,0 +1,139 @@ + + + + + ILResourceAccess - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILResourceAccess

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Private + +
+ Signature:
+
+
+ + + + + +
+ + + Public + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresourcelocation.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresourcelocation.html new file mode 100644 index 0000000000..0cbd2c437d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresourcelocation.html @@ -0,0 +1,157 @@ + + + + + ILResourceLocation - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILResourceLocation

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Assembly(ILAssemblyRef) + +
+ Signature: ILAssemblyRef
+
+
+ + + + + +
+ + + File(ILModuleRef,int32) + +
+ Signature: ILModuleRef * int32
+
+
+ + + + + +
+ + + Local(unit -> byte []) + +
+ Signature: unit -> byte []
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresources.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresources.html new file mode 100644 index 0000000000..85a7766b53 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilresources.html @@ -0,0 +1,124 @@ + + + + + ILResources - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILResources

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Table of resources in a module.

+ +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + AsList + +
+ Signature: ILResource list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreturn.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreturn.html new file mode 100644 index 0000000000..bf6fbcde40 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilreturn.html @@ -0,0 +1,159 @@ + + + + + ILReturn - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILReturn

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Method return values.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + Marshal + +
+ Signature: ILNativeType option
+
+
+ + + + + +
+ + + Type + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilscoperef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilscoperef.html new file mode 100644 index 0000000000..b7f4b39629 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilscoperef.html @@ -0,0 +1,285 @@ + + + + + ILScopeRef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILScopeRef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Assembly(ILAssemblyRef) + +
+ Signature: ILAssemblyRef
+
+
+ + + + +

A reference to a type in another assembly

+ + +
+ + + Local + +
+ Signature:
+
+
+ + + + +

A reference to the type in the current module

+ + +
+ + + Module(ILModuleRef) + +
+ Signature: ILModuleRef
+
+
+ + + + +

A reference to a type in a module in the same assembly

+ + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AssemblyRef + +
+ Signature: ILAssemblyRef
+
+
+ + + + + +

CompiledName: get_AssemblyRef

+
+ + + IsAssemblyRef + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsAssemblyRef

+
+ + + IsLocalRef + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsLocalRef

+
+ + + IsModuleRef + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsModuleRef

+
+ + + ModuleRef + +
+ Signature: ILModuleRef
+
+
+ + + + + +

CompiledName: get_ModuleRef

+
+ + + QualifiedName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_QualifiedName

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsecurityaction.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsecurityaction.html new file mode 100644 index 0000000000..7e1420e8ff --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsecurityaction.html @@ -0,0 +1,430 @@ + + + + + ILSecurityAction - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILSecurityAction

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Security ILPermissions +Attached to various structures...

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Assert + +
+ Signature:
+
+
+ + + + + +
+ + + Demand + +
+ Signature:
+
+
+ + + + + +
+ + + DemandChoice + +
+ Signature:
+
+
+ + + + + +
+ + + Deny + +
+ Signature:
+
+
+ + + + + +
+ + + InheritanceDemandChoice + +
+ Signature:
+
+
+ + + + + +
+ + + InheritCheck + +
+ Signature:
+
+
+ + + + + +
+ + + LinkCheck + +
+ Signature:
+
+
+ + + + + +
+ + + LinkDemandChoice + +
+ Signature:
+
+
+ + + + + +
+ + + NonCasDemand + +
+ Signature:
+
+
+ + + + + +
+ + + NonCasInheritance + +
+ Signature:
+
+
+ + + + + +
+ + + NonCasLinkDemand + +
+ Signature:
+
+
+ + + + + +
+ + + PermitOnly + +
+ Signature:
+
+
+ + + + + +
+ + + PreJitDeny + +
+ Signature:
+
+
+ + + + + +
+ + + PreJitGrant + +
+ Signature:
+
+
+ + + + + +
+ + + ReqMin + +
+ Signature:
+
+
+ + + + + +
+ + + ReqOpt + +
+ Signature:
+
+
+ + + + + +
+ + + ReqRefuse + +
+ Signature:
+
+
+ + + + + +
+ + + Request + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsourcedocument.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsourcedocument.html new file mode 100644 index 0000000000..c5a8726a4e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsourcedocument.html @@ -0,0 +1,208 @@ + + + + + ILSourceDocument - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILSourceDocument

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Debug info. Values of type "source" can be attached at sequence +points and some other locations.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + DocumentType + +
+ Signature: ILGuid option
+
+
+ + + + + +

CompiledName: get_DocumentType

+
+ + + File + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_File

+
+ + + Language + +
+ Signature: ILGuid option
+
+
+ + + + + +

CompiledName: get_Language

+
+ + + Vendor + +
+ Signature: ILGuid option
+
+
+ + + + + +

CompiledName: get_Vendor

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(...) + +
+ Signature: (language:ILGuid option * vendor:ILGuid option * documentType:ILGuid option * file:string) -> ILSourceDocument
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsourcemarker.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsourcemarker.html new file mode 100644 index 0000000000..b8ff4dca64 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilsourcemarker.html @@ -0,0 +1,224 @@ + + + + + ILSourceMarker - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILSourceMarker

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Column + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_Column

+
+ + + Document + +
+ Signature: ILSourceDocument
+
+
+ + + + + +

CompiledName: get_Document

+
+ + + EndColumn + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_EndColumn

+
+ + + EndLine + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_EndLine

+
+ + + Line + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_Line

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(...) + +
+ Signature: (document:ILSourceDocument * line:int * column:int * endLine:int * endColumn:int) -> ILSourceMarker
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltailcall.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltailcall.html new file mode 100644 index 0000000000..2acc8a37ca --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltailcall.html @@ -0,0 +1,139 @@ + + + + + ILTailcall - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTailcall

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Normalcall + +
+ Signature:
+
+
+ + + + + +
+ + + Tailcall + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilthisconvention.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilthisconvention.html new file mode 100644 index 0000000000..8640b016bd --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilthisconvention.html @@ -0,0 +1,163 @@ + + + + + ILThisConvention - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILThisConvention

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Instance + +
+ Signature:
+
+
+ + + + +

accepts an implicit 'this' pointer

+ + +
+ + + InstanceExplicit + +
+ Signature:
+
+
+ + + + +

accepts an explicit 'this' pointer

+ + +
+ + + Static + +
+ Signature:
+
+
+ + + + +

no 'this' pointer is passed

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltoken.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltoken.html new file mode 100644 index 0000000000..18500df6d2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltoken.html @@ -0,0 +1,157 @@ + + + + + ILToken - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILToken

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + ILField(ILFieldSpec) + +
+ Signature: ILFieldSpec
+
+
+ + + + + +
+ + + ILMethod(ILMethodSpec) + +
+ Signature: ILMethodSpec
+
+
+ + + + + +
+ + + ILType(ILType) + +
+ Signature: ILType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltype.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltype.html new file mode 100644 index 0000000000..8900577031 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltype.html @@ -0,0 +1,447 @@ + + + + + ILType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILType

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Array(ILArrayShape,ILType) + +
+ Signature: ILArrayShape * ILType
+
+
+ + + + +

Array types

+ + +
+ + + Boxed(ILTypeSpec) + +
+ Signature: ILTypeSpec
+
+
+ + + + +

Reference types. Also may be used for parents of members even if for members in value types.

+ + +
+ + + Byref(ILType) + +
+ Signature: ILType
+
+
+ + + + +

Managed pointers.

+ + +
+ + + FunctionPointer(ILCallingSignature) + +
+ Signature: ILCallingSignature
+
+
+ + + + +

ILCode pointers.

+ + +
+ + + Modified(bool,ILTypeRef,ILType) + +
+ Signature: bool * ILTypeRef * ILType
+
+
+ + + + +

Custom modifiers.

+ + +
+ + + Ptr(ILType) + +
+ Signature: ILType
+
+
+ + + + +

Unmanaged pointers. Nb. the type is used by tools and for binding only, not by the verifier.

+ + +
+ + + TypeVar(uint16) + +
+ Signature: uint16
+
+
+ + + + +

Reference a generic arg.

+ + +
+ + + Value(ILTypeSpec) + +
+ Signature: ILTypeSpec
+
+
+ + + + +

Unboxed types, including builtin types.

+ + +
+ + + Void + +
+ Signature:
+
+
+ + + + +

Used only in return and pointer types.

+ + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + BasicQualifiedName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_BasicQualifiedName

+
+ + + Boxity + +
+ Signature: ILBoxity
+
+
+ + + + + +

CompiledName: get_Boxity

+
+ + + GenericArgs + +
+ Signature: ILGenericArgs
+
+
+ + + + + +

CompiledName: get_GenericArgs

+
+ + + IsNominal + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsNominal

+
+ + + IsTyvar + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsTyvar

+
+ + + QualifiedNameWithNoShortPrimaryAssembly + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_QualifiedNameWithNoShortPrimaryAssembly

+
+ + + TypeRef + +
+ Signature: ILTypeRef
+
+
+ + + + + +

CompiledName: get_TypeRef

+
+ + + TypeSpec + +
+ Signature: ILTypeSpec
+
+
+ + + + +

True if modifier is "required". +The class of the custom modifier. +The type being modified.

+ + +

CompiledName: get_TypeSpec

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedef.html new file mode 100644 index 0000000000..3db67ee2e0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedef.html @@ -0,0 +1,631 @@ + + + + + ILTypeDef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeDef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Type Definitions

+

As for methods there are several important constraints not encoded +in the type definition below, for example that the super class of +an interface type is always None, or that enumerations always +have a very specific form.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Access + +
+ Signature: ILTypeDefAccess
+
+
+ + + + + +
+ + + CustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + Encoding + +
+ Signature: ILDefaultPInvokeEncoding
+
+
+ + + + + +
+ + + Events + +
+ Signature: ILEventDefs
+
+
+ + + + + +
+ + + Extends + +
+ Signature: ILType option
+
+
+ + + + + +
+ + + Fields + +
+ Signature: ILFieldDefs
+
+
+ + + + + +
+ + + GenericParams + +
+ Signature: ILGenericParameterDefs
+
+
+ + + + + +
+ + + HasSecurity + +
+ Signature: bool
+
+
+ + + + +

Some classes are marked "HasSecurity" even if there are no permissions attached, +e.g. if they use SuppressUnmanagedCodeSecurityAttribute

+ + +
+ + + Implements + +
+ Signature: ILTypes
+
+
+ + + + + +
+ + + InitSemantics + +
+ Signature: ILTypeInit
+
+
+ + + + + +
+ + + IsAbstract + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsComInterop + +
+ Signature: bool
+
+
+ + + + +

Class or interface generated for COM interop.

+ + +
+ + + IsSealed + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsSerializable + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsSpecialName + +
+ Signature: bool
+
+
+ + + + + +
+ + + Layout + +
+ Signature: ILTypeDefLayout
+
+
+ + + + + +
+ + + MethodImpls + +
+ Signature: ILMethodImplDefs
+
+
+ + + + + +
+ + + Methods + +
+ Signature: ILMethodDefs
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + NestedTypes + +
+ Signature: ILTypeDefs
+
+
+ + + + + +
+ + + Properties + +
+ Signature: ILPropertyDefs
+
+
+ + + + + +
+ + + SecurityDecls + +
+ Signature: ILPermissions
+
+
+ + + + + +
+ + + tdKind + +
+ Signature: ILTypeDefKind
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsClass + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsClass

+
+ + + IsDelegate + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsDelegate

+
+ + + IsEnum + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsEnum

+
+ + + IsInterface + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsInterface

+
+ + + IsStructOrEnum + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsStructOrEnum

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefaccess.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefaccess.html new file mode 100644 index 0000000000..9240514305 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefaccess.html @@ -0,0 +1,159 @@ + + + + + ILTypeDefAccess - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeDefAccess

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Type Access.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Nested(ILMemberAccess) + +
+ Signature: ILMemberAccess
+
+
+ + + + + +
+ + + Private + +
+ Signature:
+
+
+ + + + + +
+ + + Public + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefkind.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefkind.html new file mode 100644 index 0000000000..a98bcf6f25 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefkind.html @@ -0,0 +1,195 @@ + + + + + ILTypeDefKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeDefKind

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

A categorization of type definitions into "kinds"

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Class + +
+ Signature:
+
+
+ + + + + +
+ + + Delegate + +
+ Signature:
+
+
+ + + + + +
+ + + Enum + +
+ Signature:
+
+
+ + + + + +
+ + + Interface + +
+ Signature:
+
+
+ + + + + +
+ + + ValueType + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedeflayout.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedeflayout.html new file mode 100644 index 0000000000..340059d8ce --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedeflayout.html @@ -0,0 +1,159 @@ + + + + + ILTypeDefLayout - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeDefLayout

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Type Layout information.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Auto + +
+ Signature:
+
+
+ + + + + +
+ + + Explicit(ILTypeDefLayoutInfo) + +
+ Signature: ILTypeDefLayoutInfo
+
+
+ + + + + +
+ + + Sequential(ILTypeDefLayoutInfo) + +
+ Signature: ILTypeDefLayoutInfo
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedeflayoutinfo.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedeflayoutinfo.html new file mode 100644 index 0000000000..e114db1df4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedeflayoutinfo.html @@ -0,0 +1,139 @@ + + + + + ILTypeDefLayoutInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeDefLayoutInfo

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Pack + +
+ Signature: uint16 option
+
+
+ + + + + +
+ + + Size + +
+ Signature: int32 option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefs.html new file mode 100644 index 0000000000..b553e948b3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypedefs.html @@ -0,0 +1,191 @@ + + + + + ILTypeDefs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeDefs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Tables of named type definitions. The types and table may contain on-demand +(lazy) computations, e.g. the actual reading of some aspects +of a type definition may be delayed if the reader being used supports +this.

+

This is an abstract type equivalent to "ILTypeDef list".

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AsArray + +
+ Signature: ILTypeDef []
+
+
+ + + + + +

CompiledName: get_AsArray

+
+ + + AsArrayOfLazyTypeDefs + +
+ Signature: (string list * string * ILAttributes * Lazy<ILTypeDef>) array
+
+
+ + + + +

Get some information about the type defs, but do not force the read of the type defs themselves.

+ + +

CompiledName: get_AsArrayOfLazyTypeDefs

+
+ + + AsList + +
+ Signature: ILTypeDef list
+
+
+ + + + + +

CompiledName: get_AsList

+
+ + + FindByName(arg1) + +
+ Signature: string -> ILTypeDef
+
+
+ + + + +

Calls to FindByName will result in any laziness in the overall +set of ILTypeDefs being read in in addition +to the details for the type found, but the remaining individual +type definitions will not be read.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypeinit.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypeinit.html new file mode 100644 index 0000000000..d48c18f5fe --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypeinit.html @@ -0,0 +1,141 @@ + + + + + ILTypeInit - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeInit

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Indicate the initialization semantics of a type.

+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + BeforeField + +
+ Signature:
+
+
+ + + + + +
+ + + OnAny + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltyperef.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltyperef.html new file mode 100644 index 0000000000..75ce3a0eae --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltyperef.html @@ -0,0 +1,276 @@ + + + + + ILTypeRef - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeRef

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Type refs, i.e. references to types in some .NET assembly

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + BasicQualifiedName + +
+ Signature: string
+
+
+ + + + +

The name of the type in the assembly using the '+' notation for nested types.

+ + +

CompiledName: get_BasicQualifiedName

+
+ + + Enclosing + +
+ Signature: string list
+
+
+ + + + +

The list of enclosing type names for a nested type. If non-nil then the first of these also contains the namespace.

+ + +

CompiledName: get_Enclosing

+
+ + + FullName + +
+ Signature: string
+
+
+ + + + +

The name of the type in the assembly using the '.' notation for nested types.

+ + +

CompiledName: get_FullName

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

The name of the type. This also contains the namespace if Enclosing is empty.

+ + +

CompiledName: get_Name

+
+ + + QualifiedName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_QualifiedName

+
+ + + QualifiedNameWithNoShortPrimaryAssembly + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_QualifiedNameWithNoShortPrimaryAssembly

+
+ + + Scope + +
+ Signature: ILScopeRef
+
+
+ + + + +

Where is the type, i.e. is it in this module, in another module in this assembly or in another assembly?

+ + +

CompiledName: get_Scope

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(scope, enclosing, name) + +
+ Signature: (scope:ILScopeRef * enclosing:string list * name:string) -> ILTypeRef
+
+
+ + + + +

Create a ILTypeRef.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypes.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypes.html new file mode 100644 index 0000000000..5d6889f967 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypes.html @@ -0,0 +1,201 @@ + + + + + ILTypes - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypes

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: ILType
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> ILType
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: ILType list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: ILType list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypespec.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypespec.html new file mode 100644 index 0000000000..de318072c7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-iltypespec.html @@ -0,0 +1,254 @@ + + + + + ILTypeSpec - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILTypeSpec

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

Type specs and types.

+

These are the types that appear syntactically in .NET binaries.

+

Generic type definitions must be combined with +an instantiation to form a type. Throughout this file, +a "ref" refers to something that is uninstantiated, and +a "spec" to a ref that is combined with the relevant instantiations.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Enclosing + +
+ Signature: string list
+
+
+ + + + + +

CompiledName: get_Enclosing

+
+ + + FullName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_FullName

+
+ + + GenericArgs + +
+ Signature: ILGenericArgs
+
+
+ + + + +

The type instantiation if the type is generic, otherwise empty

+ + +

CompiledName: get_GenericArgs

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+ + + Scope + +
+ Signature: ILScopeRef
+
+
+ + + + + +

CompiledName: get_Scope

+
+ + + TypeRef + +
+ Signature: ILTypeRef
+
+
+ + + + +

Which type is being referred to?

+ + +

CompiledName: get_TypeRef

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(typeRef, instantiation) + +
+ Signature: (typeRef:ILTypeRef * instantiation:ILGenericArgs) -> ILTypeSpec
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilvarargs.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilvarargs.html new file mode 100644 index 0000000000..1e5081caf8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilvarargs.html @@ -0,0 +1,171 @@ + + + + + ILVarArgs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILVarArgs

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsNone + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsNone

+
+ + + IsSome + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsSome

+
+ + + Value + +
+ Signature: ILTypes
+
+
+ +

CompiledName: get_Value

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + None + +
+ Signature: ILTypes option
+
+
+ +

CompiledName: get_None

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilversioninfo.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilversioninfo.html new file mode 100644 index 0000000000..9b28c048e8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilversioninfo.html @@ -0,0 +1,95 @@ + + + + + ILVersionInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILVersionInfo

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilvolatility.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilvolatility.html new file mode 100644 index 0000000000..1105de9405 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-ilvolatility.html @@ -0,0 +1,139 @@ + + + + + ILVolatility - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ILVolatility

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Nonvolatile + +
+ Signature:
+
+
+ + + + + +
+ + + Volatile + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodbody.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodbody.html new file mode 100644 index 0000000000..11697351b6 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodbody.html @@ -0,0 +1,175 @@ + + + + + MethodBody - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MethodBody

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Abstract + +
+ Signature:
+
+
+ + + + + +
+ + + IL(ILMethodBody) + +
+ Signature: ILMethodBody
+
+
+ + + + + +
+ + + Native + +
+ Signature:
+
+
+ + + + + +
+ + + PInvoke(PInvokeMethod) + +
+ Signature: PInvokeMethod
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodcodekind.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodcodekind.html new file mode 100644 index 0000000000..5f2a43203e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodcodekind.html @@ -0,0 +1,157 @@ + + + + + MethodCodeKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MethodCodeKind

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + IL + +
+ Signature:
+
+
+ + + + + +
+ + + Native + +
+ Signature:
+
+
+ + + + + +
+ + + Runtime + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodkind.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodkind.html new file mode 100644 index 0000000000..61f0bebb30 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-methodkind.html @@ -0,0 +1,193 @@ + + + + + MethodKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MethodKind

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Cctor + +
+ Signature:
+
+
+ + + + + +
+ + + Ctor + +
+ Signature:
+
+
+ + + + + +
+ + + NonVirtual + +
+ Signature:
+
+
+ + + + + +
+ + + Static + +
+ Signature:
+
+
+ + + + + +
+ + + Virtual(ILMethodVirtualInfo) + +
+ Signature: ILMethodVirtualInfo
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecallingconvention.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecallingconvention.html new file mode 100644 index 0000000000..24183c7070 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecallingconvention.html @@ -0,0 +1,213 @@ + + + + + PInvokeCallingConvention - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PInvokeCallingConvention

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+

PInvoke attributes.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Cdecl + +
+ Signature:
+
+
+ + + + + +
+ + + Fastcall + +
+ Signature:
+
+
+ + + + + +
+ + + None + +
+ Signature:
+
+
+ + + + + +
+ + + Stdcall + +
+ Signature:
+
+
+ + + + + +
+ + + Thiscall + +
+ Signature:
+
+
+ + + + + +
+ + + WinApi + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecharbestfit.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecharbestfit.html new file mode 100644 index 0000000000..4faeda0580 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecharbestfit.html @@ -0,0 +1,157 @@ + + + + + PInvokeCharBestFit - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PInvokeCharBestFit

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Disabled + +
+ Signature:
+
+
+ + + + + +
+ + + Enabled + +
+ Signature:
+
+
+ + + + + +
+ + + UseAssembly + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecharencoding.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecharencoding.html new file mode 100644 index 0000000000..4b5c58df7e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokecharencoding.html @@ -0,0 +1,175 @@ + + + + + PInvokeCharEncoding - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PInvokeCharEncoding

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Ansi + +
+ Signature:
+
+
+ + + + + +
+ + + Auto + +
+ Signature:
+
+
+ + + + + +
+ + + None + +
+ Signature:
+
+
+ + + + + +
+ + + Unicode + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokemethod.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokemethod.html new file mode 100644 index 0000000000..36923ed40b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokemethod.html @@ -0,0 +1,247 @@ + + + + + PInvokeMethod - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PInvokeMethod

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CallingConv + +
+ Signature: PInvokeCallingConvention
+
+
+ + + + + +
+ + + CharBestFit + +
+ Signature: PInvokeCharBestFit
+
+
+ + + + + +
+ + + CharEncoding + +
+ Signature: PInvokeCharEncoding
+
+
+ + + + + +
+ + + LastError + +
+ Signature: bool
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + NoMangle + +
+ Signature: bool
+
+
+ + + + + +
+ + + ThrowOnUnmappableChar + +
+ Signature: PInvokeThrowOnUnmappableChar
+
+
+ + + + + +
+ + + Where + +
+ Signature: ILModuleRef
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokethrowonunmappablechar.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokethrowonunmappablechar.html new file mode 100644 index 0000000000..e0eed46a7a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-pinvokethrowonunmappablechar.html @@ -0,0 +1,157 @@ + + + + + PInvokeThrowOnUnmappableChar - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PInvokeThrowOnUnmappableChar

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Disabled + +
+ Signature:
+
+
+ + + + + +
+ + + Enabled + +
+ Signature:
+
+
+ + + + + +
+ + + UseAssembly + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-primaryassembly.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-primaryassembly.html new file mode 100644 index 0000000000..c72d24554c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-primaryassembly.html @@ -0,0 +1,166 @@ + + + + + PrimaryAssembly - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PrimaryAssembly

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + DotNetCore + +
+ Signature:
+
+
+ + + + + +
+ + + Mscorlib + +
+ Signature:
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il-publickey.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il-publickey.html new file mode 100644 index 0000000000..96afc53a2e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il-publickey.html @@ -0,0 +1,249 @@ + + + + + PublicKey - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PublicKey

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+ Parent Module: IL +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + PublicKey(byte []) + +
+ Signature: byte []
+
+
+ + + + + +
+ + + PublicKeyToken(byte []) + +
+ Signature: byte []
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsKey + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsKey

+
+ + + IsKeyToken + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsKeyToken

+
+ + + Key + +
+ Signature: byte []
+
+
+ + + + + +

CompiledName: get_Key

+
+ + + KeyToken + +
+ Signature: byte []
+
+
+ + + + + +

CompiledName: get_KeyToken

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + KeyAsToken(arg1) + +
+ Signature: (byte []) -> PublicKey
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-il.html b/docs/reference/microsoft-fsharp-compiler-abstractil-il.html new file mode 100644 index 0000000000..dc20998d16 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-il.html @@ -0,0 +1,4521 @@ + + + + + IL - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

IL

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL
+

+
+

The "unlinked" view of .NET metadata and code. Central to +to Abstract IL library

+ +
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ ILAlignment +
+ ILArgConvention +
+ ILArrayBound +

Array shapes. For most purposes, including verification, the +rank is the only thing that matters.

+ +
+ ILArrayBounds +
+ ILArrayShape +
+ ILAssemblyLongevity +
+ ILAssemblyManifest +

The main module of an assembly is a module plus some manifest information.

+ +
+ ILAssemblyRef +
+ ILAttribElem +
+ ILAttribute +

Custom attributes. See 'decodeILAttribData' for a helper to parse the byte[] +to ILAttribElem's as best as possible.

+ +
+ ILAttributeNamedArg +

Named args: values and flags indicating if they are fields or properties.

+ +
+ ILAttributes +
+ ILBasicType +
+ ILBoxity +
+ ILCallingConv +
+ ILCallingSignature +
+ ILCode +
+ ILCodeLabel +

ILCode labels. In structured code each code label +refers to a basic block somewhere in the code of the method.

+ +
+ ILComparisonInstr +
+ ILConst +
+ ILDefaultPInvokeEncoding +

Default Unicode encoding for P/Invoke within a type.

+ +
+ ILEnumInfo +

Decompose a type definition according to its kind.

+ +
+ ILEventDef +

Event definitions.

+ +
+ ILEventDefs +

Table of those events in a type definition.

+ +
+ ILEventRef +
+ ILExceptionClause +
+ ILExceptionSpec +
+ ILExportedTypeOrForwarder +

these are only found in the ILExportedTypesAndForwarders table in the manifest

+ +
+ ILExportedTypesAndForwarders +
+ ILFieldDef +

Field definitions.

+ +
+ ILFieldDefs +

Tables of fields. Logically equivalent to a list of fields but +the table is kept in a form optimized for looking up fields by +name.

+ +
+ ILFieldInit +

Field Init

+ +
+ ILFieldRef +

Formal identities of fields.

+ +
+ ILFieldSpec +

Field specs. The data given for a ldfld, stfld etc. instruction.

+ +
+ ILGenericArgs +

Actual generic parameters are always types.

+ +
+ ILGenericArgsList +
+ ILGenericParameterDef +

Generic parameters. Formal generic parameter declarations +may include the bounds, if any, on the generic parameter.

+ +
+ ILGenericParameterDefs +
+ ILGenericVariance +
+ ILGlobals +

A table of common references to items in primary assembly (System.Runtime or mscorlib). +If a particular version of System.Runtime.dll has been loaded then you should +reference items from it via an ILGlobals for that specific version built using mkILGlobals.

+ +
+ ILGuid +
+ ILInstr +

The instruction set.

+

In general we don't categorize instructions, as different +instruction groups are relevant for different types of operations. +However we do collect the branch and compare instructions together +because they all take an address, and the ILArithInstr ones because +none of them take any direct arguments.

+ +
+ ILLazyMethodBody +
+ ILLocal +

Local variables

+ +
+ ILLocalDebugInfo +
+ ILLocalDebugMapping +

Indicates that a particular local variable has a particular source +language name within a given set of ranges. This does not effect local +variable numbering, which is global over the whole method.

+ +
+ ILLocals +
+ ILLocalsAllocator +

Helpers for codegen: scopes for allocating new temporary variables.

+ +
+ ILMemberAccess +

Member Access

+ +
+ ILMethodBody +

IL method bodies

+ +
+ ILMethodDef +

Method definitions.

+

There are several different flavours of methods (constructors, +abstract, virtual, static, instance, class constructors). There +is no perfect factorization of these as the combinations are not +independent.

+ +
+ ILMethodDefs +

Tables of methods. Logically equivalent to a list of methods but +the table is kept in a form optimized for looking up methods by +name and arity. +abstract type equivalent to [ILMethodDef list]

+ +
+ ILMethodImplDef +

Method Impls

+

If there is an entry (pms --&gt; ms) in this table, then method [ms] +is used to implement method [pms] for the purposes of this class +and its subclasses.

+ +
+ ILMethodImplDefs +
+ ILMethodRef +

Formal identities of methods. Method refs refer to methods on +named types. In general you should work with ILMethodSpec objects +rather than MethodRef objects, because ILMethodSpec objects carry +information about how generic methods are instantiated. MethodRef +objects are only used at a few places in the Abstract IL syntax +and if analyzing or generating IL you will be unlikely to come across +these.

+ +
+ ILMethodSpec +

The information at the callsite of a method

+ +
+ ILMethodVirtualInfo +
+ ILModuleDef +

One module in the "current" assembly, either a main-module or +an auxiliary module. The main module will have a manifest.

+

An assembly is built by joining together a "main" module plus +several auxiliary modules.

+ +
+ ILModuleRef +
+ ILNativeType +

Native Types, for marshalling to the native C interface. +These are taken directly from the ILASM syntax, see ECMA Spec (Partition II, 7.4).

+ +
+ ILNativeVariant +
+ ILNestedExportedType +

"Classes Elsewhere" - classes in auxiliary modules.

+

Manifests include declarations for all the classes in an +assembly, regardless of which module they are in.

+

The ".class extern" construct describes so-called exported types -- +these are public classes defined in the auxiliary modules of this assembly, +i.e. modules other than the manifest-carrying module.

+

For example, if you have a two-module +assembly (A.DLL and B.DLL), and the manifest resides in the A.DLL, +then in the manifest all the public classes declared in B.DLL should +be defined as exported types, i.e., as ".class extern". The public classes +defined in A.DLL should not be defined as ".class extern" -- they are +already available in the manifest-carrying module. The union of all +public classes defined in the manifest-carrying module and all +exported types defined there is the set of all classes exposed by +this assembly. Thus, by analysing the metadata of the manifest-carrying +module of an assembly, you can identify all the classes exposed by +this assembly, and where to find them.

+

Nested classes found in external modules should also be located in +this table, suitably nested inside another "ILExportedTypeOrForwarder" +definition. +these are only found in the "Nested" field of ILExportedTypeOrForwarder objects

+ +
+ ILNestedExportedTypes +
+ ILOverridesSpec +

or superinterface. Used for overriding/method impls. Includes +a type for the parent for the same reason that a method specs +includes the type of the enclosing type, i.e. the type +gives the "ILGenericArgs" at which the parent type is being used.

+ +
+ ILParameter +

Method parameters and return values.

+ +
+ ILParameters +
+ ILPermission +
+ ILPermissions +

Abstract type equivalent to ILPermission list - use helpers +below to construct/destruct these.

+ +
+ ILPlatform +
+ ILPropertyDef +

Property definitions.

+ +
+ ILPropertyDefs +

Table of those properties in a type definition.

+ +
+ ILPropertyRef +
+ ILReadonly +
+ ILReferences +
+ ILResource +

"Manifest ILResources" are chunks of resource data, being one of: +- the data section of the current module (byte[] of resource given directly). +- in an external file in this assembly (offset given in the ILResourceLocation field). +- as a resources in another assembly of the same name.

+ +
+ ILResourceAccess +
+ ILResourceLocation +
+ ILResources +

Table of resources in a module.

+ +
+ ILReturn +

Method return values.

+ +
+ ILScopeRef +
+ ILSecurityAction +

Security ILPermissions +Attached to various structures...

+ +
+ ILSourceDocument +

Debug info. Values of type "source" can be attached at sequence +points and some other locations.

+ +
+ ILSourceMarker +
+ ILTailcall +
+ ILThisConvention +
+ ILToken +
+ ILType +
+ ILTypeDef +

Type Definitions

+

As for methods there are several important constraints not encoded +in the type definition below, for example that the super class of +an interface type is always None, or that enumerations always +have a very specific form.

+ +
+ ILTypeDefAccess +

Type Access.

+ +
+ ILTypeDefKind +

A categorization of type definitions into "kinds"

+ +
+ ILTypeDefLayout +

Type Layout information.

+ +
+ ILTypeDefLayoutInfo +
+ ILTypeDefs +

Tables of named type definitions. The types and table may contain on-demand +(lazy) computations, e.g. the actual reading of some aspects +of a type definition may be delayed if the reader being used supports +this.

+

This is an abstract type equivalent to "ILTypeDef list".

+ +
+ ILTypeInit +

Indicate the initialization semantics of a type.

+ +
+ ILTypeRef +

Type refs, i.e. references to types in some .NET assembly

+ +
+ ILTypeSpec +

Type specs and types.

+

These are the types that appear syntactically in .NET binaries.

+

Generic type definitions must be combined with +an instantiation to form a type. Throughout this file, +a "ref" refers to something that is uninstantiated, and +a "spec" to a ref that is combined with the relevant instantiations.

+ +
+ ILTypes +
+ ILVarArgs +
+ ILVersionInfo +
+ ILVolatility +
+ MethodBody +
+ MethodCodeKind +
+ MethodKind +
+ PInvokeCallingConvention +

PInvoke attributes.

+ +
+ PInvokeCharBestFit +
+ PInvokeCharEncoding +
+ PInvokeMethod +
+ PInvokeThrowOnUnmappableChar +
+ PrimaryAssembly +
+ PublicKey +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + addILTypeDef arg1 arg2 + +
+ Signature: ILTypeDef -> ILTypeDefs -> ILTypeDefs
+
+
+ + + + + +
+ + + andTailness arg1 arg2 + +
+ Signature: ILTailcall -> bool -> ILTailcall
+
+
+ + + + + +
+ + + buildILCode arg1 lab2pc instrs arg4 arg5 + +
+ Signature: string -> lab2pc:Dictionary<ILCodeLabel,int> -> instrs:ILInstr [] -> ILExceptionSpec list -> ILLocalDebugInfo list -> ILCode
+
+
+ + + + + +
+ + + compareILVersions arg1 arg2 + +
+ Signature: ILVersionInfo -> ILVersionInfo -> int
+
+
+ + + + + +
+ + + computeILEnumInfo (arg1, arg2) + +
+ Signature: (string * ILFieldDefs) -> ILEnumInfo
+
+
+ + + + + +
+ + + computeILRefs arg1 + +
+ Signature: ILModuleDef -> ILReferences
+
+
+ + + + +

Find the full set of assemblies referenced by a module.

+ + +
+ + + decodeILAttribData arg1 arg2 + +
+ Signature: ILGlobals -> ILAttribute -> ILAttribElem list * ILAttributeNamedArg list
+
+
+ + + + +

Not all custom attribute data can be decoded without binding types. In particular +enums must be bound in order to discover the size of the underlying integer. +The following assumes enums have size int32.

+ + +
+ + + destILArrTy arg1 + +
+ Signature: ILType -> ILArrayShape * ILType
+
+
+ + + + + +
+ + + destTypeDefsWithGlobalFunctionsFirst (...) + +
+ Signature: ILGlobals -> ILTypeDefs -> ILTypeDef list
+
+
+ + + + +

When writing a binary the fake "toplevel" type definition (called ) +must come first. This function puts it first, and creates it in the returned +list as an empty typedef if it doesn't already exist.

+ + +
+ + + EcmaMscorlibILGlobals + +
+ Signature: ILGlobals
+
+
+ + + + + +
+ + + ecmaPublicKey + +
+ Signature: PublicKey
+
+
+ + + + +

This is a 'vendor neutral' way of referencing mscorlib.

+ + +
+ + + emptyILCustomAttrs + +
+ Signature: ILAttributes
+
+
+ + + + + +
+ + + emptyILEvents + +
+ Signature: ILEventDefs
+
+
+ + + + + +
+ + + emptyILFields + +
+ Signature: ILFieldDefs
+
+
+ + + + + +
+ + + emptyILMethodImpls + +
+ Signature: ILMethodImplDefs
+
+
+ + + + + +
+ + + emptyILMethods + +
+ Signature: ILMethodDefs
+
+
+ + + + + +
+ + + emptyILProperties + +
+ Signature: ILPropertyDefs
+
+
+ + + + + +
+ + + emptyILRefs + +
+ Signature: ILReferences
+
+
+ + + + + +
+ + + emptyILSecurityDecls + +
+ Signature: ILPermissions
+
+
+ + + + + +
+ + + emptyILTypeDefs + +
+ Signature: ILTypeDefs
+
+
+ + + + + +
+ + + formatCodeLabel arg1 + +
+ Signature: ILCodeLabel -> string
+
+
+ + + + + +
+ + + formatILVersion arg1 + +
+ Signature: ILVersionInfo -> string
+
+
+ + + + + +
+ + + generateCodeLabel () + +
+ Signature: unit -> ILCodeLabel
+
+
+ + + + +

Making code.

+ + +
+ + + getTyOfILEnumInfo arg1 + +
+ Signature: ILEnumInfo -> ILType
+
+
+ + + + + +
+ + + instILType arg1 arg2 + +
+ Signature: ILGenericArgs -> ILType -> ILType
+
+
+ + + + +

Instantiate type variables that occur within types and other items.

+ + +
+ + + instILTypeAux arg1 arg2 arg3 + +
+ Signature: int -> ILGenericArgs -> ILType -> ILType
+
+
+ + + + +

Instantiate type variables that occur within types and other items.

+ + +
+ + + isILArrTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILBoolTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILByteTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILCharTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILDoubleTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILInt16Ty arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILInt32Ty arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILInt64Ty arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILIntPtrTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILObjectTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + +

Discriminating different important built-in types.

+ + +
+ + + isILSByteTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILSingleTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILStringTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILTypedReferenceTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILUInt16Ty arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILUInt32Ty arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILUInt64Ty arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isILUIntPtrTy arg1 + +
+ Signature: ILType -> bool
+
+
+ + + + + +
+ + + isTypeNameForGlobalFunctions arg1 + +
+ Signature: string -> bool
+
+
+ + + + + +
+ + + mkCallBaseConstructor (arg1, arg2) + +
+ Signature: (ILType * ILType list) -> ILInstr list
+
+
+ + + + + +
+ + + mkCtorMethSpecForDelegate (...) + +
+ Signature: ILGlobals -> (ILType * bool) -> ILMethodSpec
+
+
+ + + + +

Given a delegate type definition which lies in a particular scope, +make a reference to its constructor.

+ + +
+ + + mkILArr1DTy arg1 + +
+ Signature: ILType -> ILType
+
+
+ + + + + +
+ + + mkILArrTy (arg1, arg2) + +
+ Signature: (ILType * ILArrayShape) -> ILType
+
+
+ + + + + +
+ + + mkILBoxedTy arg1 arg2 + +
+ Signature: ILTypeRef -> ILGenericArgsList -> ILType
+
+
+ + + + + +
+ + + mkILBoxedType arg1 + +
+ Signature: ILTypeSpec -> ILType
+
+
+ + + + + +
+ + + mkILCallSig (arg1, arg2, arg3) + +
+ Signature: (ILCallingConv * ILType list * ILType) -> ILCallingSignature
+
+
+ + + + + +
+ + + mkILClassCtor arg1 + +
+ Signature: MethodBody -> ILMethodDef
+
+
+ + + + + +
+ + + mkILComputedCustomAttrs arg1 + +
+ Signature: (unit -> ILAttribute []) -> ILAttributes
+
+
+ + + + + +
+ + + mkILCtor (arg1, arg2, arg3) + +
+ Signature: (ILMemberAccess * ILParameter list * MethodBody) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILCtorMethSpecForTy (arg1, arg2) + +
+ Signature: (ILType * ILType list) -> ILMethodSpec
+
+
+ + + + +

Construct references to constructors.

+ + +
+ + + mkILCustomAttribMethRef (...) + +
+ Signature: ILGlobals -> (ILMethodSpec * ILAttribElem list * ILAttributeNamedArg list) -> ILAttribute
+
+
+ + + + +

Make custom attributes.

+ + +
+ + + mkILCustomAttribute (...) + +
+ Signature: ILGlobals -> (ILTypeRef * ILType list * ILAttribElem list * ILAttributeNamedArg list) -> ILAttribute
+
+
+ + + + + +
+ + + mkILCustomAttrs arg1 + +
+ Signature: ILAttribute list -> ILAttributes
+
+
+ + + + +

Making tables of custom attributes, etc.

+ + +
+ + + mkILCustomAttrsFromArray arg1 + +
+ Signature: ILAttribute [] -> ILAttributes
+
+
+ + + + + +
+ + + mkILDelegateMethods (...) + +
+ Signature: ILGlobals -> (ILType * ILType) -> (ILParameter list * ILReturn) -> ILMethodDef list
+
+
+ + + + + +
+ + + mkILEmptyGenericParams + +
+ Signature: ILGenericParameterDefs
+
+
+ + + + +

Make a formal generic parameters.

+ + +
+ + + mkILEvents arg1 + +
+ Signature: ILEventDef list -> ILEventDefs
+
+
+ + + + + +
+ + + mkILEventsLazy arg1 + +
+ Signature: Lazy<ILEventDef list> -> ILEventDefs
+
+
+ + + + + +
+ + + mkILExportedTypes arg1 + +
+ Signature: ILExportedTypeOrForwarder list -> ILExportedTypesAndForwarders
+
+
+ + + + + +
+ + + mkILExportedTypesLazy arg1 + +
+ Signature: Lazy<ILExportedTypeOrForwarder list> -> ILExportedTypesAndForwarders
+
+
+ + + + + +
+ + + mkILFieldRef (arg1, arg2, arg3) + +
+ Signature: (ILTypeRef * string * ILType) -> ILFieldRef
+
+
+ + + + +

Construct references to fields.

+ + +
+ + + mkILFields arg1 + +
+ Signature: ILFieldDef list -> ILFieldDefs
+
+
+ + + + + +
+ + + mkILFieldsLazy arg1 + +
+ Signature: Lazy<ILFieldDef list> -> ILFieldDefs
+
+
+ + + + + +
+ + + mkILFieldSpec (arg1, arg2) + +
+ Signature: (ILFieldRef * ILType) -> ILFieldSpec
+
+
+ + + + + +
+ + + mkILFieldSpecInTy (arg1, arg2, arg3) + +
+ Signature: (ILType * string * ILType) -> ILFieldSpec
+
+
+ + + + + +
+ + + mkILFormalBoxedTy arg1 arg2 + +
+ Signature: ILTypeRef -> ILGenericParameterDef list -> ILType
+
+
+ + + + +

Make generalized versions of possibly-generic types, +e.g. Given the ILTypeDef for List, return the type "List".

+ + +
+ + + mkILFormalGenericArgs arg1 arg2 + +
+ Signature: int -> ILGenericParameterDefs -> ILGenericArgsList
+
+
+ + + + + +
+ + + mkILFormalNamedTy arg1 arg2 arg3 + +
+ Signature: ILBoxity -> ILTypeRef -> ILGenericParameterDef list -> ILType
+
+
+ + + + + +
+ + + mkILFormalTypars arg1 + +
+ Signature: ILType list -> ILGenericParameterDefs
+
+
+ + + + + +
+ + + mkILGenericClass (...) + +
+ Signature: (string * ILTypeDefAccess * ILGenericParameterDefs * ILType * ILType list * ILMethodDefs * ILFieldDefs * ILTypeDefs * ILPropertyDefs * ILEventDefs * ILAttributes * ILTypeInit) -> ILTypeDef
+
+
+ + + + +

Make a type definition.

+ + +
+ + + mkILGenericNonVirtualMethod (...) + +
+ Signature: (string * ILMemberAccess * ILGenericParameterDefs * ILParameter list * ILReturn * MethodBody) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILGenericVirtualMethod (...) + +
+ Signature: (string * ILMemberAccess * ILGenericParameterDefs * ILParameter list * ILReturn * MethodBody) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILGlobals arg1 + +
+ Signature: ILScopeRef -> ILGlobals
+
+
+ + + + +

Build the table of commonly used references given functions to find types in system assemblies

+ + +
+ + + mkILInstanceField (...) + +
+ Signature: (string * ILType * ILFieldInit option * ILMemberAccess) -> ILFieldDef
+
+
+ + + + +

Make field definitions.

+ + +
+ + + mkILInstanceMethSpecInTy (...) + +
+ Signature: (ILType * string * ILType list * ILType * ILGenericArgsList) -> ILMethodSpec
+
+
+ + + + +

Construct references to instance methods.

+ + +
+ + + mkILLazySecurityDecls arg1 + +
+ Signature: Lazy<ILPermission list> -> ILPermissions
+
+
+ + + + + +
+ + + mkILLiteralField (...) + +
+ Signature: (string * ILType * ILFieldInit * byte [] option * ILMemberAccess) -> ILFieldDef
+
+
+ + + + + +
+ + + mkILLocal arg1 arg2 + +
+ Signature: ILType -> (string * int * int) option -> ILLocal
+
+
+ + + + + +
+ + + mkILMethodBody (...) + +
+ Signature: (initlocals:bool * ILLocals * int * ILCode * ILSourceMarker option) -> ILMethodBody
+
+
+ + + + +

Make method definitions.

+ + +
+ + + mkILMethodImpls arg1 + +
+ Signature: ILMethodImplDef list -> ILMethodImplDefs
+
+
+ + + + + +
+ + + mkILMethodImplsLazy arg1 + +
+ Signature: Lazy<ILMethodImplDef list> -> ILMethodImplDefs
+
+
+ + + + + +
+ + + mkILMethods arg1 + +
+ Signature: ILMethodDef list -> ILMethodDefs
+
+
+ + + + + +
+ + + mkILMethodsComputed arg1 + +
+ Signature: (unit -> ILMethodDef []) -> ILMethodDefs
+
+
+ + + + + +
+ + + mkILMethodsFromArray arg1 + +
+ Signature: ILMethodDef [] -> ILMethodDefs
+
+
+ + + + + +
+ + + mkILMethRef (...) + +
+ Signature: (ILTypeRef * ILCallingConv * string * int * ILType list * ILType) -> ILMethodRef
+
+
+ + + + +

Make method references and specs.

+ + +
+ + + mkILMethSpec (arg1, arg2, arg3, arg4) + +
+ Signature: (ILMethodRef * ILBoxity * ILGenericArgsList * ILGenericArgsList) -> ILMethodSpec
+
+
+ + + + + +
+ + + mkILMethSpecForMethRefInTy (...) + +
+ Signature: (ILMethodRef * ILType * ILGenericArgsList) -> ILMethodSpec
+
+
+ + + + + +
+ + + mkILMethSpecInTy (...) + +
+ Signature: (ILType * ILCallingConv * string * ILType list * ILType * ILGenericArgsList) -> ILMethodSpec
+
+
+ + + + + +
+ + + mkILNamedTy arg1 arg2 arg3 + +
+ Signature: ILBoxity -> ILTypeRef -> ILGenericArgsList -> ILType
+
+
+ + + + + +
+ + + mkILNestedExportedTypes arg1 + +
+ Signature: ILNestedExportedType list -> ILNestedExportedTypes
+
+
+ + + + + +
+ + + mkILNestedExportedTypesLazy arg1 + +
+ Signature: Lazy<ILNestedExportedType list> -> ILNestedExportedTypes
+
+
+ + + + + +
+ + + mkILNestedTyRef (arg1, arg2, arg3) + +
+ Signature: (ILScopeRef * string list * string) -> ILTypeRef
+
+
+ + + + +

Make type refs.

+ + +
+ + + mkILNonGenericBoxedTy arg1 + +
+ Signature: ILTypeRef -> ILType
+
+
+ + + + + +
+ + + mkILNonGenericEmptyCtor arg1 arg2 + +
+ Signature: ILSourceMarker option -> ILType -> ILMethodDef
+
+
+ + + + + +
+ + + mkILNonGenericInstanceMethod (...) + +
+ Signature: (string * ILMemberAccess * ILParameter list * ILReturn * MethodBody) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILNonGenericInstanceMethSpecInTy (...) + +
+ Signature: (ILType * string * ILType list * ILType) -> ILMethodSpec
+
+
+ + + + +

Construct references to instance methods.

+ + +
+ + + mkILNonGenericMethSpecInTy (...) + +
+ Signature: (ILType * ILCallingConv * string * ILType list * ILType) -> ILMethodSpec
+
+
+ + + + +

Construct references to methods on a given type .

+ + +
+ + + mkILNonGenericStaticMethod (...) + +
+ Signature: (string * ILMemberAccess * ILParameter list * ILReturn * MethodBody) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILNonGenericStaticMethSpecInTy (...) + +
+ Signature: (ILType * string * ILType list * ILType) -> ILMethodSpec
+
+
+ + + + +

Construct references to static, non-generic methods.

+ + +
+ + + mkILNonGenericTySpec arg1 + +
+ Signature: ILTypeRef -> ILTypeSpec
+
+
+ + + + +

Make type specs.

+ + +
+ + + mkILNonGenericValueTy arg1 + +
+ Signature: ILTypeRef -> ILType
+
+
+ + + + + +
+ + + mkILNonGenericVirtualMethod (...) + +
+ Signature: (string * ILMemberAccess * ILParameter list * ILReturn * MethodBody) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILParam (arg1, arg2) + +
+ Signature: (string option * ILType) -> ILParameter
+
+
+ + + + +

Derived functions for making return, parameter and local variable +objects for use in method definitions.

+ + +
+ + + mkILParamAnon arg1 + +
+ Signature: ILType -> ILParameter
+
+
+ + + + + +
+ + + mkILParamNamed (arg1, arg2) + +
+ Signature: (string * ILType) -> ILParameter
+
+
+ + + + + +
+ + + mkILProperties arg1 + +
+ Signature: ILPropertyDef list -> ILPropertyDefs
+
+
+ + + + + +
+ + + mkILPropertiesLazy arg1 + +
+ Signature: Lazy<ILPropertyDef list> -> ILPropertyDefs
+
+
+ + + + + +
+ + + mkILResources arg1 + +
+ Signature: ILResource list -> ILResources
+
+
+ + + + + +
+ + + mkILResourcesLazy arg1 + +
+ Signature: Lazy<ILResource list> -> ILResources
+
+
+ + + + + +
+ + + mkILReturn arg1 + +
+ Signature: ILType -> ILReturn
+
+
+ + + + + +
+ + + mkILSecurityDecls arg1 + +
+ Signature: ILPermission list -> ILPermissions
+
+
+ + + + + +
+ + + mkILSimpleClass (...) + +
+ Signature: ILGlobals -> (string * ILTypeDefAccess * ILMethodDefs * ILFieldDefs * ILTypeDefs * ILPropertyDefs * ILEventDefs * ILAttributes * ILTypeInit) -> ILTypeDef
+
+
+ + + + + +
+ + + mkILSimpleModule (...) + +
+ Signature: assemblyName:string -> moduleName:string -> dll:bool -> subsystemVersion:(int * int) -> useHighEntropyVA:bool -> ILTypeDefs -> int32 option -> string option -> int -> ILExportedTypesAndForwarders -> string -> ILModuleDef
+
+
+ + + + +

Making modules.

+ + +
+ + + mkILSimpleStorageCtor (...) + +
+ Signature: (ILSourceMarker option * ILTypeSpec option * ILType * ILParameter list * (string * ILType) list * ILMemberAccess) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILSimpleStorageCtorWithParamNames (...) + +
+ Signature: (ILSourceMarker option * ILTypeSpec option * ILType * ILParameter list * (string * string * ILType) list * ILMemberAccess) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILSimpleTypar arg1 + +
+ Signature: string -> ILGenericParameterDef
+
+
+ + + + + +
+ + + mkILStaticField (...) + +
+ Signature: (string * ILType * ILFieldInit option * byte [] option * ILMemberAccess) -> ILFieldDef
+
+
+ + + + + +
+ + + mkILStaticMethod (...) + +
+ Signature: (ILGenericParameterDefs * string * ILMemberAccess * ILParameter list * ILReturn * MethodBody) -> ILMethodDef
+
+
+ + + + + +
+ + + mkILStaticMethSpecInTy (...) + +
+ Signature: (ILType * string * ILType list * ILType * ILGenericArgsList) -> ILMethodSpec
+
+
+ + + + +

Construct references to static methods.

+ + +
+ + + mkILStorageCtor (...) + +
+ Signature: (ILSourceMarker option * ILInstr list * ILType * (string * ILType) list * ILMemberAccess) -> ILMethodDef
+
+
+ + + + +

Derived functions for making some simple constructors

+ + +
+ + + mkILTy arg1 arg2 + +
+ Signature: ILBoxity -> ILTypeSpec -> ILType
+
+
+ + + + +

Make types.

+ + +
+ + + mkILTypeDefForGlobalFunctions (...) + +
+ Signature: ILGlobals -> (ILMethodDefs * ILFieldDefs) -> ILTypeDef
+
+
+ + + + + +
+ + + mkILTypeDefs arg1 + +
+ Signature: ILTypeDef list -> ILTypeDefs
+
+
+ + + + + +
+ + + mkILTypeDefsComputed arg1 + +
+ Signature: (unit -> (string list * string * ILAttributes * Lazy<ILTypeDef>) array) -> ILTypeDefs
+
+
+ + + + +

Create table of types which is loaded/computed on-demand, and whose individual +elements are also loaded/computed on-demand. Any call to tdefs.AsList will +result in the laziness being forced. Operations can examine the +custom attributes and name of each type in order to decide whether +to proceed with examining the other details of the type.

+

Note that individual type definitions may contain further delays +in their method, field and other tables.

+ + +
+ + + mkILTypeDefsFromArray arg1 + +
+ Signature: ILTypeDef [] -> ILTypeDefs
+
+
+ + + + + +
+ + + mkILTypeForGlobalFunctions arg1 + +
+ Signature: ILScopeRef -> ILType
+
+
+ + + + +

The toplevel "class" for a module or assembly.

+ + +
+ + + mkILTyRef (arg1, arg2) + +
+ Signature: (ILScopeRef * string) -> ILTypeRef
+
+
+ + + + + +
+ + + mkILTyRefInTyRef (arg1, arg2) + +
+ Signature: (ILTypeRef * string) -> ILTypeRef
+
+
+ + + + + +
+ + + mkILTySpec (arg1, arg2) + +
+ Signature: (ILTypeRef * ILGenericArgsList) -> ILTypeSpec
+
+
+ + + + + +
+ + + mkILTyvarTy arg1 + +
+ Signature: uint16 -> ILType
+
+
+ + + + + +
+ + + mkILValueTy arg1 arg2 + +
+ Signature: ILTypeRef -> ILGenericArgsList -> ILType
+
+
+ + + + + +
+ + + mkLdarg arg1 + +
+ Signature: uint16 -> ILInstr
+
+
+ + + + + +
+ + + mkLdarg0 + +
+ Signature: ILInstr
+
+
+ + + + + +
+ + + mkLdcInt32 arg1 + +
+ Signature: int32 -> ILInstr
+
+
+ + + + + +
+ + + mkLdloc arg1 + +
+ Signature: uint16 -> ILInstr
+
+
+ + + + + +
+ + + mkMethBodyAux arg1 + +
+ Signature: MethodBody -> ILLazyMethodBody
+
+
+ + + + + +
+ + + mkMethBodyLazyAux arg1 + +
+ Signature: Lazy<MethodBody> -> ILLazyMethodBody
+
+
+ + + + + +
+ + + mkMethodBody (...) + +
+ Signature: (bool * ILLocals * int * ILCode * ILSourceMarker option) -> MethodBody
+
+
+ + + + + +
+ + + mkNormalCall arg1 + +
+ Signature: ILMethodSpec -> ILInstr
+
+
+ + + + +

Derived functions for making some common patterns of instructions.

+ + +
+ + + mkNormalCallconstraint (arg1, arg2) + +
+ Signature: (ILType * ILMethodSpec) -> ILInstr
+
+
+ + + + + +
+ + + mkNormalCallvirt arg1 + +
+ Signature: ILMethodSpec -> ILInstr
+
+
+ + + + + +
+ + + mkNormalLdfld arg1 + +
+ Signature: ILFieldSpec -> ILInstr
+
+
+ + + + + +
+ + + mkNormalLdflda arg1 + +
+ Signature: ILFieldSpec -> ILInstr
+
+
+ + + + + +
+ + + mkNormalLdobj arg1 + +
+ Signature: ILType -> ILInstr
+
+
+ + + + + +
+ + + mkNormalLdsfld arg1 + +
+ Signature: ILFieldSpec -> ILInstr
+
+
+ + + + + +
+ + + mkNormalNewobj arg1 + +
+ Signature: ILMethodSpec -> ILInstr
+
+
+ + + + + +
+ + + mkNormalStfld arg1 + +
+ Signature: ILFieldSpec -> ILInstr
+
+
+ + + + + +
+ + + mkNormalStobj arg1 + +
+ Signature: ILType -> ILInstr
+
+
+ + + + + +
+ + + mkNormalStsfld arg1 + +
+ Signature: ILFieldSpec -> ILInstr
+
+
+ + + + + +
+ + + mkPermissionSet arg1 (arg2, arg3) + +
+ Signature: ILGlobals -> (ILSecurityAction * (ILTypeRef * (string * ILType * ILAttribElem) list) list) -> ILPermission
+
+
+ + + + + +
+ + + mkRawDataValueTypeDef (...) + +
+ Signature: ILType -> (string * size:int32 * pack:uint16) -> ILTypeDef
+
+
+ + + + +

Make a type definition for a value type used to point to raw data. +These are useful when generating array initialization code +according to the +ldtoken field valuetype ''/'\[struct0x6000127-1' '<PrivateImplementationDetails>'::'\]method0x6000127-1' +call void System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class System.Array,valuetype System.RuntimeFieldHandle) +idiom.

+ + +
+ + + mkRefForILField arg1 (arg2, arg3) arg4 + +
+ Signature: ILScopeRef -> (ILTypeDef list * ILTypeDef) -> ILFieldDef -> ILFieldRef
+
+
+ + + + + +
+ + + mkRefForILMethod arg1 (arg2, arg3) arg4 + +
+ Signature: ILScopeRef -> (ILTypeDef list * ILTypeDef) -> ILMethodDef -> ILMethodRef
+
+
+ + + + + +
+ + + mkRefForNestedILTypeDef (...) + +
+ Signature: ILScopeRef -> (ILTypeDef list * ILTypeDef) -> ILTypeRef
+
+
+ + + + +

Generate references to existing type definitions, method definitions +etc. Useful for generating references, e.g. to a class we're processing +Also used to reference type definitions that we've generated. ILScopeRef +is normally ILScopeRef.Local, unless we've generated the ILTypeDef in +an auxiliary module or are generating multiple assemblies at +once.

+ + +
+ + + mkRefToILAssembly arg1 + +
+ Signature: ILAssemblyManifest -> ILAssemblyRef
+
+
+ + + + + +
+ + + mkRefToILField (arg1, arg2) + +
+ Signature: (ILTypeRef * ILFieldDef) -> ILFieldRef
+
+
+ + + + + +
+ + + mkRefToILMethod (arg1, arg2) + +
+ Signature: (ILTypeRef * ILMethodDef) -> ILMethodRef
+
+
+ + + + + +
+ + + mkRefToILModule arg1 + +
+ Signature: ILModuleDef -> ILModuleRef
+
+
+ + + + + +
+ + + mkSimpleAssRef arg1 + +
+ Signature: string -> ILAssemblyRef
+
+
+ + + + +

Generate simple references to assemblies and modules.

+ + +
+ + + mkSimpleModRef arg1 + +
+ Signature: string -> ILModuleRef
+
+
+ + + + + +
+ + + mkStloc arg1 + +
+ Signature: uint16 -> ILInstr
+
+
+ + + + + +
+ + + nonBranchingInstrsToCode arg1 + +
+ Signature: ILInstr list -> ILCode
+
+
+ + + + +

Make some code that is a straight line sequence of instructions. +The function will add a "return" if the last instruction is not an exiting instruction.

+ + +
+ + + parseILVersion arg1 + +
+ Signature: string -> ILVersionInfo
+
+
+ + + + +

Get a version number from a CLR version string, e.g. 1.0.3705.0

+ + +
+ + + prependInstrsToClassCtor arg1 arg2 arg3 + +
+ Signature: ILInstr list -> ILSourceMarker option -> ILTypeDef -> ILTypeDef
+
+
+ + + + +

Injecting initialization code into a class. +Add some code to the end of the .cctor for a type. Create a .cctor +if one doesn't exist already.

+ + +
+ + + prependInstrsToCode arg1 arg2 + +
+ Signature: ILInstr list -> ILCode -> ILCode
+
+
+ + + + +

Injecting code into existing code blocks. A branch will +be added from the given instructions to the (unique) entry of +the code, and the first instruction will be the new entry +of the method. The instructions should be non-branching.

+ + +
+ + + prependInstrsToMethod arg1 arg2 + +
+ Signature: ILInstr list -> ILMethodDef -> ILMethodDef
+
+
+ + + + + +
+ + + rescopeILFieldRef arg1 arg2 + +
+ Signature: ILScopeRef -> ILFieldRef -> ILFieldRef
+
+
+ + + + +

Rescoping. The first argument tells the function how to reference the original scope from +the new scope.

+ + +
+ + + rescopeILMethodRef arg1 arg2 + +
+ Signature: ILScopeRef -> ILMethodRef -> ILMethodRef
+
+
+ + + + +

Rescoping. The first argument tells the function how to reference the original scope from +the new scope.

+ + +
+ + + rescopeILScopeRef arg1 arg2 + +
+ Signature: ILScopeRef -> ILScopeRef -> ILScopeRef
+
+
+ + + + +

Rescoping. The first argument tells the function how to reference the original scope from +the new scope.

+ + +
+ + + rescopeILType arg1 arg2 + +
+ Signature: ILScopeRef -> ILType -> ILType
+
+
+ + + + +

Rescoping. The first argument tells the function how to reference the original scope from +the new scope.

+ + +
+ + + rescopeILTypeSpec arg1 arg2 + +
+ Signature: ILScopeRef -> ILTypeSpec -> ILTypeSpec
+
+
+ + + + +

Rescoping. The first argument tells the function how to reference the original scope from +the new scope.

+ + +
+ + + resolveILMethodRef arg1 arg2 + +
+ Signature: ILTypeDef -> ILMethodRef -> ILMethodDef
+
+
+ + + + +

Find the method definition corresponding to the given property or +event operation. These are always in the same class as the property +or event. This is useful especially if your code is not using the Ilbind +API to bind references.

+ + +
+ + + resolveILMethodRefWithRescope (...) + +
+ Signature: (ILType -> ILType) -> ILTypeDef -> ILMethodRef -> ILMethodDef
+
+
+ + + + + +
+ + + runningOnMono + +
+ Signature: bool
+
+
+ + + + + +
+ + + sha1HashBytes arg1 + +
+ Signature: byte [] -> byte []
+
+
+ + + + +

Get a public key token from a public key.

+ + +
+ + + splitILTypeName arg1 + +
+ Signature: string -> string list * string
+
+
+ + + + +

The splitILTypeName utility helps you split a string representing +a type name into the leading namespace elements (if any), the +names of any nested types and the type name itself. This function +memoizes and interns the splitting of the namespace portion of +the type name.

+ + +
+ + + splitILTypeNameWithPossibleStaticArguments (...) + +
+ Signature: string -> string [] * string
+
+
+ + + + + +
+ + + splitNamespace arg1 + +
+ Signature: string -> string list
+
+
+ + + + + +
+ + + splitNamespaceToArray arg1 + +
+ Signature: string -> string []
+
+
+ + + + + +
+ + + splitTypeNameRight arg1 + +
+ Signature: string -> string option * string
+
+
+ + + + + splitTypeNameRight is like splitILTypeName except the + namespace is kept as a whole string, rather than split at dots. + +
+ + + typeNameForGlobalFunctions + +
+ Signature: string
+
+
+ + + + + +
+ + + typesOfILParams arg1 + +
+ Signature: ILParameters -> ILType list
+
+
+ + + + + +
+ + + ungenericizeTypeName arg1 + +
+ Signature: string -> string
+
+
+ + + + + +
+ + + unscopeILType arg1 + +
+ Signature: ILType -> ILType
+
+
+ + + + +

Unscoping. Clears every scope information, use for looking up IL method references only.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-anycallerthreadtoken.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-anycallerthreadtoken.html new file mode 100644 index 0000000000..f24b6fbf9d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-anycallerthreadtoken.html @@ -0,0 +1,124 @@ + + + + + AnyCallerThreadToken - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

AnyCallerThreadToken

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

Represents a token that indicates execution on a any of several potential user threads calling the F# compiler services.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> AnyCallerThreadToken
+
+
+ + + + + +

CompiledName: .ctor

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-array.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-array.html new file mode 100644 index 0000000000..5ba22193be --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-array.html @@ -0,0 +1,378 @@ + + + + + Array - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Array

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + areEqual xs ys + +
+ Signature: xs:'T [] -> ys:'T [] -> bool
+ Type parameters: 'T
+
+ + + + +

Optimized arrays equality. ~100x faster than array1 = array2 on strings. +~2x faster for floats +~0.8x slower for ints

+ + +
+ + + endsWith suffix whole + +
+ Signature: suffix:'a [] -> whole:'a [] -> bool
+ Type parameters: 'a
+
+ + + + +

Returns true if one array has trailing elements equal to another's.

+ + +
+ + + existsOne p l + +
+ Signature: p:('a -> bool) -> l:'a [] -> bool
+ Type parameters: 'a
+
+ + + + + +
+ + + findFirstIndexWhereTrue arr p + +
+ Signature: arr:'a [] -> p:('a -> bool) -> int
+ Type parameters: 'a
+
+ + + + + +
+ + + heads array + +
+ Signature: array:'T [] -> 'T [] []
+ Type parameters: 'T
+
+ + + + +

Returns all heads of a given array. +For [|1;2;3|] it returns [|[|1; 2; 3|]; [|1; 2|]; [|1|]|]

+ + +
+ + + isSubArray subArray wholeArray index + +
+ Signature: subArray:'T [] -> wholeArray:'T [] -> index:int -> bool
+ Type parameters: 'T
+
+ + + + +

check if subArray is found in the wholeArray starting +at the provided index

+ + +
+ + + lengthsEqAndForall2 p l1 l2 + +
+ Signature: p:('?18526 -> '?18527 -> bool) -> l1:'?18526 [] -> l2:'?18527 [] -> bool
+ Type parameters: '?18526, '?18527
+
+ + + + + +
+ + + mapAsync mapping array + +
+ Signature: mapping:('T -> Async<'U>) -> array:'T [] -> Async<'U []>
+ Type parameters: 'T, 'U
+
+ + + + +

Async implementation of Array.map.

+ + +
+ + + mapFold f s l + +
+ Signature: f:('?18529 -> '?18530 -> '?18531 * '?18529) -> s:'?18529 -> l:'?18530 [] -> '?18531 [] * '?18529
+ Type parameters: '?18529, '?18530, '?18531
+
+ + + + + +
+ + + mapq f inp + +
+ Signature: f:('?18524 -> '?18524) -> inp:'?18524 [] -> '?18524 []
+ Type parameters: '?18524
+
+ + + + + +
+ + + order eltOrder + +
+ Signature: eltOrder:IComparer<'T> -> IComparer<'T array>
+ Type parameters: 'T
+
+ + + + + +
+ + + replace index value array + +
+ Signature: index:int -> value:'a -> array:'a [] -> 'a []
+ Type parameters: 'a
+
+ + + + +

Returns a new array with an element replaced with a given value.

+ + +
+ + + revInPlace array + +
+ Signature: array:'T [] -> unit
+ Type parameters: 'T
+
+ + + + +

pass an array byref to reverse it in place

+ + +
+ + + startsWith prefix whole + +
+ Signature: prefix:'a [] -> whole:'a [] -> bool
+ Type parameters: 'a
+
+ + + + +

Returns true if one array has another as its subset from index 0.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellable-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellable-1.html new file mode 100644 index 0000000000..bf36bfbd2b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellable-1.html @@ -0,0 +1,125 @@ + + + + + Cancellable<'TResult> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Cancellable<'TResult>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

Represents a cancellable computation with explicit representation of a cancelled result.

+

A cancellable computation is passed may be cancelled via a CancellationToken, which is propagated implicitly.
+If cancellation occurs, it is propagated as data rather than by raising an OperationCanceledException.

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + Cancellable(...) + +
+ Signature: CancellationToken -> ValueOrCancelled<'TResult>
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellablebuilder.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellablebuilder.html new file mode 100644 index 0000000000..9519db180d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellablebuilder.html @@ -0,0 +1,292 @@ + + + + + CancellableBuilder - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CancellableBuilder

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> CancellableBuilder
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Bind(e, k) + +
+ Signature: (e:Cancellable<'a> * k:('a -> Cancellable<'b>)) -> Cancellable<'b>
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + Combine(e1, e2) + +
+ Signature: (e1:Cancellable<unit> * e2:Cancellable<'a>) -> Cancellable<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + Delay(f) + +
+ Signature: (f:(unit -> Cancellable<'a>)) -> Cancellable<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + Return(v) + +
+ Signature: v:'a -> Cancellable<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + ReturnFrom(v) + +
+ Signature: v:'a -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + TryFinally(e, compensation) + +
+ Signature: (e:Cancellable<'?18399> * compensation:(unit -> unit)) -> Cancellable<'?18399>
+ Type parameters: '?18399
+
+ + + + + +
+ + + TryWith(e, handler) + +
+ Signature: (e:Cancellable<'a> * handler:(exn -> Cancellable<'a>)) -> Cancellable<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + Using(resource, e) + +
+ Signature: (resource:'a * e:('a -> Cancellable<'b>)) -> Cancellable<'b>
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + Zero() + +
+ Signature: unit -> Cancellable<unit>
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellablemodule.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellablemodule.html new file mode 100644 index 0000000000..bc2908f642 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-cancellablemodule.html @@ -0,0 +1,347 @@ + + + + + Cancellable - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Cancellable

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + bind f comp1 + +
+ Signature: f:('?18788 -> Cancellable<'?18789>) -> comp1:Cancellable<'?18788> -> Cancellable<'?18789>
+ Type parameters: '?18788, '?18789
+
+ + + + +

Bind the result of a cancellable computation

+ + +
+ + + canceled () + +
+ Signature: unit -> Cancellable<'a>
+ Type parameters: 'a
+
+ + + + +

Represents a canceled computation

+ + +
+ + + delay f + +
+ Signature: f:(unit -> Cancellable<'T>) -> Cancellable<'T>
+ Type parameters: 'T
+
+ + + + +

Delay a cancellable computation

+ + +
+ + + each f seq + +
+ Signature: f:('a -> Cancellable<'b>) -> seq:seq<'a> -> Cancellable<'b list>
+ Type parameters: 'a, 'b
+
+ + + + +

Iterate a cancellable computation over a collection

+ + +
+ + + fold f acc seq + +
+ Signature: f:('a -> 'b -> Cancellable<'a>) -> acc:'a -> seq:seq<'b> -> Cancellable<'a>
+ Type parameters: 'a, 'b
+
+ + + + +

Fold a cancellable computation along a sequence of inputs

+ + +
+ + + map f oper + +
+ Signature: f:('?18791 -> '?18792) -> oper:Cancellable<'?18791> -> Cancellable<'?18792>
+ Type parameters: '?18791, '?18792
+
+ + + + +

Map the result of a cancellable computation

+ + +
+ + + ret x + +
+ Signature: x:'?18794 -> Cancellable<'?18794>
+ Type parameters: '?18794
+
+ + + + +

Return a simple value as the result of a cancellable computation

+ + +
+ + + run ct arg2 + +
+ Signature: ct:CancellationToken -> Cancellable<'a> -> ValueOrCancelled<'a>
+ Type parameters: 'a
+
+ + + + +

Run a cancellable computation using the given cancellation token

+ + +
+ + + runWithoutCancellation comp + +
+ Signature: comp:Cancellable<'a> -> 'a
+ Type parameters: 'a
+
+ + + + +

Run the computation in a mode where it may not be cancelled. The computation never results in a +ValueOrCancelled.Cancelled.

+ + +
+ + + token () + +
+ Signature: unit -> Cancellable<CancellationToken>
+
+
+ + + + +

Bind the cancellation token associated with the computation

+ + +
+ + + tryFinally e compensation + +
+ Signature: e:Cancellable<'?18811> -> compensation:(unit -> unit) -> Cancellable<'?18811>
+ Type parameters: '?18811
+
+ + + + +

Implement try/finally for a cancellable computation

+ + +
+ + + tryWith e handler + +
+ Signature: e:Cancellable<'?18813> -> handler:(exn -> Cancellable<'?18813>) -> Cancellable<'?18813>
+ Type parameters: '?18813
+
+ + + + +

Implement try/with for a cancellable computation

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-compilationthreadtoken.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-compilationthreadtoken.html new file mode 100644 index 0000000000..3788a5cbd1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-compilationthreadtoken.html @@ -0,0 +1,129 @@ + + + + + CompilationThreadToken - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CompilationThreadToken

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

Represents a token that indicates execution on the compilation thread, i.e. +- we have full access to the (partially mutable) TAST and TcImports data structures +- compiler execution may result in type provider invocations when resolving types and members +- we can access various caches in the SourceCodeServices

+

Like other execution tokens this should be passed via argument passing and not captured/stored beyond +the lifetime of stack-based calls. This is not checked, it is a discipline within the compiler code.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> CompilationThreadToken
+
+
+ + + + + +

CompiledName: .ctor

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-dictionary.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-dictionary.html new file mode 100644 index 0000000000..b13deb767f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-dictionary.html @@ -0,0 +1,124 @@ + + + + + Dictionary - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Dictionary

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + newWithSize size + +
+ Signature: size:int -> Dictionary<'a,'b>
+ Type parameters: 'a, 'b
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventually-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventually-1.html new file mode 100644 index 0000000000..e3e7547102 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventually-1.html @@ -0,0 +1,156 @@ + + + + + Eventually<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Eventually<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

Computations that can cooperatively yield by returning a continuation

+
    +
  • +

    Any yield of a NotYetDone should typically be "abandonable" without adverse consequences. No resource release +will be called when the computation is abandoned.

    +
  • +
  • +

    Computations suspend via a NotYetDone may use local state (mutables), where these are +captured by the NotYetDone closure. Computations do not need to be restartable.

    +
  • +
  • +

    The key thing is that you can take an Eventually value and run it with +Eventually.repeatedlyProgressUntilDoneOrTimeShareOverOrCanceled

    +
  • +
  • Cancellation results in a suspended computation rather than complete abandonment
  • +
+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Done('T) + +
+ Signature: 'T
+
+
+ + + + + +
+ + + NotYetDone(...) + +
+ Signature: CompilationThreadToken -> Eventually<'T>
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventuallybuilder.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventuallybuilder.html new file mode 100644 index 0000000000..1df763c298 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventuallybuilder.html @@ -0,0 +1,274 @@ + + + + + EventuallyBuilder - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

EventuallyBuilder

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> EventuallyBuilder
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Bind(e, k) + +
+ Signature: (e:Eventually<'a> * k:('a -> Eventually<'b>)) -> Eventually<'b>
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + Combine(e1, e2) + +
+ Signature: (e1:Eventually<unit> * e2:Eventually<'a>) -> Eventually<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + Delay(f) + +
+ Signature: (f:(unit -> Eventually<'a>)) -> Eventually<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + Return(v) + +
+ Signature: v:'a -> Eventually<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + ReturnFrom(v) + +
+ Signature: v:'a -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + TryFinally(e, compensation) + +
+ Signature: (e:Eventually<'?18417> * compensation:(unit -> unit)) -> Eventually<'?18417>
+ Type parameters: '?18417
+
+ + + + + +
+ + + TryWith(e, handler) + +
+ Signature: (e:Eventually<'a> * handler:(Exception -> Eventually<'a>)) -> Eventually<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + Zero() + +
+ Signature: unit -> Eventually<unit>
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventuallymodule.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventuallymodule.html new file mode 100644 index 0000000000..6e3953e393 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-eventuallymodule.html @@ -0,0 +1,329 @@ + + + + + Eventually - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Eventually

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + bind k e + +
+ Signature: k:('?18840 -> Eventually<'?18841>) -> e:Eventually<'?18840> -> Eventually<'?18841>
+ Type parameters: '?18840, '?18841
+
+ + + + + +
+ + + box e + +
+ Signature: e:Eventually<'c> -> Eventually<obj>
+ Type parameters: 'c
+
+ + + + + +
+ + + catch e + +
+ Signature: e:Eventually<'?18846> -> Eventually<ResultOrException<'?18846>>
+ Type parameters: '?18846
+
+ + + + + +
+ + + delay f + +
+ Signature: f:(unit -> Eventually<'T>) -> Eventually<'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + fold f acc seq + +
+ Signature: f:('a -> 'b -> Eventually<'a>) -> acc:'a -> seq:seq<'b> -> Eventually<'a>
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + force ctok e + +
+ Signature: ctok:CompilationThreadToken -> e:Eventually<'a> -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + forceAsync runner e + +
+ Signature: runner:((CompilationThreadToken -> Eventually<'T>) -> Async<Eventually<'T>>) -> e:Eventually<'T> -> Async<'T option>
+ Type parameters: 'T
+
+ + + + +

Keep running the asynchronous computation bit by bit. The runner gets called each time the computation is restarted. +Can be cancelled as an Async in the normal way.

+ + +
+ + + forceWhile ctok check e + +
+ Signature: ctok:CompilationThreadToken -> check:(unit -> bool) -> e:Eventually<'?18831> -> '?18831 option
+ Type parameters: '?18831
+
+ + + + + +
+ + + repeatedlyProgressUntilDoneOrTimeShareOverOrCanceled (...) + +
+ Signature: timeShareInMilliseconds:int64 -> ct:CancellationToken -> runner:(CompilationThreadToken -> ('b -> Eventually<'c>) -> Eventually<'c>) -> e:Eventually<'c> -> Eventually<'c>
+ Type parameters: 'b, 'c
+
+ + + + +

Keep running the computation bit by bit until a time limit is reached. +The runner gets called each time the computation is restarted

+

If cancellation happens, the operation is left half-complete, ready to resume.

+ + +
+ + + token + +
+ Signature: Eventually<CompilationThreadToken>
+
+
+ + + + + +
+ + + tryFinally e compensation + +
+ Signature: e:Eventually<'?18850> -> compensation:(unit -> unit) -> Eventually<'?18850>
+ Type parameters: '?18850
+
+ + + + + +
+ + + tryWith e handler + +
+ Signature: e:Eventually<'?18852> -> handler:(Exception -> Eventually<'?18852>) -> Eventually<'?18852>
+ Type parameters: '?18852
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-executiontoken.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-executiontoken.html new file mode 100644 index 0000000000..6b76dd0347 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-executiontoken.html @@ -0,0 +1,97 @@ + + + + + ExecutionToken - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ExecutionToken

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

Represents a permission active at this point in execution

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-inlinedelayinit-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-inlinedelayinit-1.html new file mode 100644 index 0000000000..d0321ab5e6 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-inlinedelayinit-1.html @@ -0,0 +1,197 @@ + + + + + InlineDelayInit<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

InlineDelayInit<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

An efficient lazy for inline storage in a class type. Results in fewer thunks.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + func + +
+ Signature: Func<'T>
+ Modifiers: mutable
+
+
+ + + + + +
+ + + store + +
+ Signature: 'T
+ Modifiers: mutable
+
+
+ + + + + +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(f) + +
+ Signature: (f:(unit -> 'T)) -> InlineDelayInit<'T>
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Value + +
+ Signature: 'T
+
+
+ + + + + +

CompiledName: get_Value

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-layeredmap-2.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-layeredmap-2.html new file mode 100644 index 0000000000..eb7700e1a4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-layeredmap-2.html @@ -0,0 +1,148 @@ + + + + + LayeredMap<'Key, 'Value> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LayeredMap<'Key, 'Value>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Count + +
+ Signature: int
+
+
+ +

CompiledName: get_Count

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [key] + +
+ Signature: key:'Key -> 'Value
+
+
+ +

CompiledName: get_Item

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-layeredmultimap-2.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-layeredmultimap-2.html new file mode 100644 index 0000000000..97fa2d51fa --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-layeredmultimap-2.html @@ -0,0 +1,269 @@ + + + + + LayeredMultiMap<'Key, 'Value> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LayeredMultiMap<'Key, 'Value>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

Immutable map collection, with explicit flattening to a backing dictionary

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(contents) + +
+ Signature: (contents:LayeredMap<'Key,'Value list>) -> LayeredMultiMap<'Key,'Value>
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Add(k, v) + +
+ Signature: (k:'Key * v:'Value) -> LayeredMultiMap<'Key,'Value>
+
+
+ + + + + +
+ + + AddAndMarkAsCollapsible(kvs) + +
+ Signature: (kvs:KeyValuePair<'Key,'Value> []) -> LayeredMultiMap<'Key,'Value>
+
+
+ + + + + +
+ + + [k] + +
+ Signature: k:'Key -> 'Value list
+
+
+ + + + + +

CompiledName: get_Item

+
+ + + MarkAsCollapsible() + +
+ Signature: unit -> LayeredMultiMap<'Key,'Value>
+
+
+ + + + + +
+ + + TryFind(k) + +
+ Signature: k:'Key -> 'Value list option
+
+
+ + + + + +
+ + + Values + +
+ Signature: 'Value list
+
+
+ + + + + +

CompiledName: get_Values

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: LayeredMultiMap<'Key,'Value>
+
+
+ + + + + +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazy.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazy.html new file mode 100644 index 0000000000..f7c12c95d1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazy.html @@ -0,0 +1,124 @@ + + + + + Lazy - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Lazy

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + force x + +
+ Signature: x:Lazy<'T> -> 'T
+ Type parameters: 'T
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazywithcontext-2.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazywithcontext-2.html new file mode 100644 index 0000000000..c388ee8951 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazywithcontext-2.html @@ -0,0 +1,295 @@ + + + + + LazyWithContext<'T, 'ctxt> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LazyWithContext<'T, 'ctxt>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

Just like "Lazy" but EVERY forcer must provide an instance of "ctxt", e.g. to help track errors +on forcing back to at least one sensible user location

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + findOriginalException + +
+ Signature: exn -> exn
+
+
+ + + + +

A helper to ensure we rethrow the "original" exception

+ + +
+ + + funcOrException + +
+ Signature: obj
+ Modifiers: mutable
+
+
+ + + + +

This field holds either the function to run or a LazyWithContextFailure object recording the exception raised +from running the function. It is null if the thunk has been evaluated successfully.

+ + +
+ + + value + +
+ Signature: 'T
+ Modifiers: mutable
+
+
+ + + + +

This field holds the result of a successful computation. It's initial value is Unchecked.defaultof

+ + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Force(ctxt) + +
+ Signature: ctxt:'ctxt -> 'T
+
+
+ + + + + +
+ + + IsDelayed + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsDelayed

+
+ + + IsForced + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsForced

+
+ + + UnsynchronizedForce(ctxt) + +
+ Signature: ctxt:'ctxt -> 'T
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Create(f, findOriginalException) + +
+ Signature: (f:('ctxt -> 'T) * findOriginalException:(exn -> exn)) -> LazyWithContext<'T,'ctxt>
+
+
+ + + + + +
+ + + NotLazy(x) + +
+ Signature: x:'T -> LazyWithContext<'T,'ctxt>
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazywithcontextfailure.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazywithcontextfailure.html new file mode 100644 index 0000000000..1776a94ffb --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lazywithcontextfailure.html @@ -0,0 +1,176 @@ + + + + + LazyWithContextFailure - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LazyWithContextFailure

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(exn) + +
+ Signature: exn:exn -> LazyWithContextFailure
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Exception + +
+ Signature: exn
+
+
+ + + + + +

CompiledName: get_Exception

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Undefined + +
+ Signature: LazyWithContextFailure
+
+
+ + + + + +

CompiledName: get_Undefined

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-list-frontandback.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-list-frontandback.html new file mode 100644 index 0000000000..bff27d7b8a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-list-frontandback.html @@ -0,0 +1,125 @@ + + + + + FrontAndBack - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FrontAndBack

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: List +

+
+
+ + + +

Active patterns

+ + + + + + + + + + +
Active patternDescription
+ + + ( |NonEmpty|Empty| ) l + +
+ Signature: l:'?18687 list -> Choice<('?18687 list * '?18687),unit>
+ Type parameters: '?18687
+
+ + + + + +

CompiledName: |NonEmpty|Empty|

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-list.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-list.html new file mode 100644 index 0000000000..7f020271c8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-list.html @@ -0,0 +1,879 @@ + + + + + List - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

List

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
ModuleDescription
+ FrontAndBack +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + assoc x l + +
+ Signature: x:'d -> l:('d * 'e) list -> 'e
+ Type parameters: 'd, 'e
+
+ + + + + +
+ + + checkq l1 l2 + +
+ Signature: l1:'?18598 list -> l2:'?18598 list -> bool
+ Type parameters: '?18598
+
+ + + + + +
+ + + chop n l + +
+ Signature: n:int -> l:'a list -> 'a list * 'a list
+ Type parameters: 'a
+
+ + + + + +
+ + + collect2 f xs ys + +
+ Signature: f:('?18658 -> '?18659 -> '?18660 list) -> xs:'?18658 list -> ys:'?18659 list -> '?18660 list
+ Type parameters: '?18658, '?18659, '?18660
+
+ + + + + +
+ + + collectFold f s l + +
+ Signature: f:('a -> 'b -> 'c list * 'a) -> s:'a -> l:'b list -> 'c list * 'a
+ Type parameters: 'a, 'b, 'c
+
+ + + + + +
+ + + collectSquared f xss + +
+ Signature: f:('a2 -> 'a3 list) -> xss:'a2 list list -> 'a3 list
+ Type parameters: 'a2, 'a3
+
+ + + + + +
+ + + count pred xs + +
+ Signature: pred:('b -> bool) -> xs:'b list -> int
+ Type parameters: 'b
+
+ + + + + +
+ + + drop n l + +
+ Signature: n:int -> l:'a list -> 'a list
+ Type parameters: 'a
+
+ + + + + +
+ + + existsi f xs + +
+ Signature: f:(int -> 'a2 -> bool) -> xs:'a2 list -> bool
+ Type parameters: 'a2
+
+ + + + + +
+ + + existsSquared f xss + +
+ Signature: f:('a -> bool) -> xss:'a list list -> bool
+ Type parameters: 'a
+
+ + + + + +
+ + + findi n f l + +
+ Signature: n:int -> f:('?18586 -> bool) -> l:'?18586 list -> ('?18586 * int) option
+ Type parameters: '?18586
+
+ + + + + +
+ + + forallSquared f xss + +
+ Signature: f:('?18676 -> bool) -> xss:'?18676 list list -> bool
+ Type parameters: '?18676
+
+ + + + + +
+ + + frontAndBack l + +
+ Signature: l:'a list -> 'a list * 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + headAndTail l + +
+ Signature: l:'a list -> 'a * 'a list
+ Type parameters: 'a
+
+ + + + + +
+ + + indexNotFound () + +
+ Signature: unit -> '?18627
+ Type parameters: '?18627
+
+ + + + + +
+ + + item n xs + +
+ Signature: n:int -> xs:'a list -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + iter3 f l1 l2 l3 + +
+ Signature: f:('?18618 -> '?18619 -> '?18620 -> unit) -> l1:'?18618 list -> l2:'?18619 list -> l3:'?18620 list -> unit
+ Type parameters: '?18618, '?18619, '?18620
+
+ + + + + +
+ + + iterSquared f xss + +
+ Signature: f:('a -> unit) -> xss:'a list list -> unit
+ Type parameters: 'a
+
+ + + + + +
+ + + lengthsEqAndForall2 p l1 l2 + +
+ Signature: p:('a -> 'b -> bool) -> l1:'a list -> l2:'b list -> bool
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + mapFold f s l + +
+ Signature: f:('a -> 'b -> 'c * 'a) -> s:'a -> l:'b list -> 'c list * 'a
+ Type parameters: 'a, 'b, 'c
+
+ + + + + +
+ + + mapFoldBack f l s + +
+ Signature: f:('a -> 'b -> 'c * 'b) -> l:'a list -> s:'b -> 'c list * 'b
+ Type parameters: 'a, 'b, 'c
+
+ + + + + +
+ + + mapFoldSquared f z xss + +
+ Signature: f:('a2 -> 'a3 -> 'a4 * 'a2) -> z:'a2 -> xss:'a3 list list -> 'a4 list list * 'a2
+ Type parameters: 'a2, 'a3, 'a4
+
+ + + + + +
+ + + mapHeadTail fhead ftail _arg1 + +
+ Signature: fhead:('a -> 'b) -> ftail:('a -> 'b) -> _arg1:'a list -> 'b list
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + mapiFoldSquared f z xss + +
+ Signature: f:('a2 -> int * int * 'a3 -> 'a4 * 'a2) -> z:'a2 -> xss:'a3 list list -> 'a4 list list * 'a2
+ Type parameters: 'a2, 'a3, 'a4
+
+ + + + + +
+ + + mapiSquared f xss + +
+ Signature: f:(int -> int -> 'a -> 'b) -> xss:'a list list -> 'b list list
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + mapNth n f xs + +
+ Signature: n:int -> f:('a -> 'a) -> xs:'a list -> 'a list
+ Type parameters: 'a
+
+ + + + + +
+ + + mapq f inp + +
+ Signature: f:('T -> 'T) -> inp:'T list -> 'T list
+ Type parameters: 'T
+
+ + + + + +
+ + + mapSquared f xss + +
+ Signature: f:('a -> 'b) -> xss:'a list list -> 'b list list
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + memAssoc x l + +
+ Signature: x:'d -> l:('d * 'e) list -> bool
+ Type parameters: 'd, 'e
+
+ + + + + +
+ + + memq x l + +
+ Signature: x:'c -> l:'c list -> bool
+ Type parameters: 'c
+
+ + + + + +
+ + + order eltOrder + +
+ Signature: eltOrder:IComparer<'T> -> IComparer<'T list>
+ Type parameters: 'T
+
+ + + + + +
+ + + range n m + +
+ Signature: n:int -> m:int -> int list
+
+
+ + + + + +
+ + + sortWithOrder c elements + +
+ Signature: c:IComparer<'T> -> elements:'T list -> 'T list
+ Type parameters: 'T
+
+ + + + + +
+ + + splitAfter n l + +
+ Signature: n:int -> l:'a list -> 'a list * 'a list
+ Type parameters: 'a
+
+ + + + + +
+ + + splitChoose select l + +
+ Signature: select:('b -> Choice<'c,'d>) -> l:'b list -> 'c list * 'd list
+ Type parameters: 'b, 'c, 'd
+
+ + + + + +
+ + + take n l + +
+ Signature: n:int -> l:'a list -> 'a list
+ Type parameters: 'a
+
+ + + + + +
+ + + takeUntil p l + +
+ Signature: p:('a -> bool) -> l:'a list -> 'a list * 'a list
+ Type parameters: 'a
+
+ + + + + +
+ + + toArraySquared xss + +
+ Signature: xss:'a2 list list -> 'a2 [] []
+ Type parameters: 'a2
+
+ + + + + +
+ + + tryRemove f inp + +
+ Signature: f:('b -> bool) -> inp:'b list -> ('b * 'b list) option
+ Type parameters: 'b
+
+ + + + + +
+ + + until p l + +
+ Signature: p:('?18647 -> bool) -> l:'?18647 list -> '?18647 list
+ Type parameters: '?18647
+
+ + + + + +
+ + + unzip4 l + +
+ Signature: l:('f * 'g * 'h * 'i) list -> 'f list * 'g list * 'h list * 'i list
+ Type parameters: 'f, 'g, 'h, 'i
+
+ + + + + +
+ + + zip4 l1 l2 l3 l4 + +
+ Signature: l1:'a2 list -> l2:'a3 list -> l3:'a4 list -> l4:'a5 list -> ('a2 * 'a3 * 'a4 * 'a5) list
+ Type parameters: 'a2, 'a3, 'a4, 'a5
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lock-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lock-1.html new file mode 100644 index 0000000000..584e806583 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-lock-1.html @@ -0,0 +1,150 @@ + + + + + Lock<'LockTokenType> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Lock<'LockTokenType>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

Encapsulates a lock associated with a particular token-type representing the acquisition of that lock.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> Lock<'LockTokenType>
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + AcquireLock(f) + +
+ Signature: (f:('LockTokenType -> 'a)) -> 'a
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-locktoken.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-locktoken.html new file mode 100644 index 0000000000..a79d808b8f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-locktoken.html @@ -0,0 +1,98 @@ + + + + + LockToken - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LockToken

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+

A base type for various types of tokens that must be passed when a lock is taken. +Each different static lock should declare a new subtype of this type.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-map.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-map.html new file mode 100644 index 0000000000..50b26f6233 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-map.html @@ -0,0 +1,124 @@ + + + + + Map - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Map

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + tryFindMulti k map + +
+ Signature: k:'a -> map:Map<'a,'b list> -> 'b list
+ Type parameters: 'a, 'b
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-memoizationtable-2.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-memoizationtable-2.html new file mode 100644 index 0000000000..570455e480 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-memoizationtable-2.html @@ -0,0 +1,148 @@ + + + + + MemoizationTable<'T, 'U> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MemoizationTable<'T, 'U>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(compute, keyComparer, canMemoize) + +
+ Signature: (compute:('T -> 'U) * keyComparer:IEqualityComparer<'T> * canMemoize:('T -> bool) option) -> MemoizationTable<'T,'U>
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Apply(x) + +
+ Signature: x:'T -> 'U
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-multimap-2.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-multimap-2.html new file mode 100644 index 0000000000..4a1926d60b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-multimap-2.html @@ -0,0 +1,148 @@ + + + + + MultiMap<'T, 'U> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MultiMap<'T, 'U>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Count + +
+ Signature: int
+
+
+ +

CompiledName: get_Count

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [key] + +
+ Signature: key:'T -> 'U list
+
+
+ +

CompiledName: get_Item

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-multimapmodule.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-multimapmodule.html new file mode 100644 index 0000000000..6ed09f2765 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-multimapmodule.html @@ -0,0 +1,214 @@ + + + + + MultiMap - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MultiMap

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + add v x m + +
+ Signature: v:'b -> x:'c -> m:MultiMap<'b,'c> -> Map<'b,'c list>
+ Type parameters: 'b, 'c
+
+ + + + + +
+ + + empty + +
+ Signature: MultiMap<'b,'c>
+ Type parameters: 'b, 'c
+
+ + + + + +
+ + + existsInRange f m + +
+ Signature: f:('?19006 -> bool) -> m:MultiMap<'?19007,'?19006> -> bool
+ Type parameters: '?19006, '?19007
+
+ + + + + +
+ + + find v m + +
+ Signature: v:'b -> m:MultiMap<'b,'c> -> 'c list
+ Type parameters: 'b, 'c
+
+ + + + + +
+ + + initBy f xs + +
+ Signature: f:('a -> 'b) -> xs:seq<'a> -> MultiMap<'b,'a>
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + range m + +
+ Signature: m:MultiMap<'?19015,'?19016> -> '?19016 list
+ Type parameters: '?19015, '?19016
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemap-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemap-1.html new file mode 100644 index 0000000000..943d4291b5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemap-1.html @@ -0,0 +1,148 @@ + + + + + NameMap<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NameMap<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Count + +
+ Signature: int
+
+
+ +

CompiledName: get_Count

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [key] + +
+ Signature: key:string -> 'T
+
+
+ +

CompiledName: get_Item

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemapmodule.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemapmodule.html new file mode 100644 index 0000000000..5af7f011c0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemapmodule.html @@ -0,0 +1,616 @@ + + + + + NameMap - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NameMap

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + add v x m + +
+ Signature: v:string -> x:'T -> m:NameMap<'T> -> Map<string,'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + empty + +
+ Signature: Map<'b,'c>
+ Type parameters: 'b, 'c
+
+ + + + + +
+ + + exists f m + +
+ Signature: f:('a -> 'b -> bool) -> m:Map<'a,'b> -> bool
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + existsInRange p m + +
+ Signature: p:('?18976 -> bool) -> m:Map<'?18977,'?18976> -> bool
+ Type parameters: '?18976, '?18977
+
+ + + + + +
+ + + filterRange f l + +
+ Signature: f:('T -> bool) -> l:NameMap<'T> -> Map<string,'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + find v m + +
+ Signature: v:string -> m:NameMap<'T> -> 'T
+ Type parameters: 'T
+
+ + + + + +
+ + + foldBack f m z + +
+ Signature: f:(string -> 'T -> '?18912 -> '?18912) -> m:NameMap<'T> -> z:'?18912 -> '?18912
+ Type parameters: 'T, '?18912
+
+ + + + + +
+ + + foldBackRange f l acc + +
+ Signature: f:('T -> 'a -> 'a) -> l:NameMap<'T> -> acc:'a -> 'a
+ Type parameters: 'T, 'a
+
+ + + + + +
+ + + forall f m + +
+ Signature: f:('?18914 -> '?18915 -> bool) -> m:Map<'?18914,'?18915> -> bool
+ Type parameters: '?18914, '?18915
+
+ + + + + +
+ + + isEmpty m + +
+ Signature: m:NameMap<'T> -> bool
+ Type parameters: 'T
+
+ + + + + +
+ + + iter f l + +
+ Signature: f:('T -> unit) -> l:NameMap<'T> -> unit
+ Type parameters: 'T
+
+ + + + + +
+ + + layer m1 m2 + +
+ Signature: m1:NameMap<'T> -> m2:Map<string,'T> -> Map<string,'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + layerAdditive addf m1 m2 + +
+ Signature: addf:('a list -> 'b -> 'a list) -> m1:Map<'c,'b> -> m2:Map<'c,'a list> -> Map<'c,'a list>
+ Type parameters: 'a, 'b, 'c
+
+ + + + +

Not a very useful function - only called in one place - should be changed

+ + +
+ + + map f l + +
+ Signature: f:('T -> 'a) -> l:NameMap<'T> -> Map<string,'a>
+ Type parameters: 'T, 'a
+
+ + + + + +
+ + + mapFilter f l + +
+ Signature: f:('T -> '?18957 option) -> l:NameMap<'T> -> Map<string,'?18957>
+ Type parameters: 'T, '?18957
+
+ + + + + +
+ + + mapFold f s l + +
+ Signature: f:('?18947 -> string -> 'T -> '?18949 * '?18947) -> s:'?18947 -> l:NameMap<'T> -> Map<string,'?18949> * '?18947
+ Type parameters: '?18947, 'T, '?18949
+
+ + + + + +
+ + + mem v m + +
+ Signature: v:string -> m:NameMap<'T> -> bool
+ Type parameters: 'T
+
+ + + + + +
+ + + ofKeyedList f l + +
+ Signature: f:('a -> 'b) -> l:'a list -> Map<'b,'a>
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + ofList l + +
+ Signature: l:(string * 'T) list -> NameMap<'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + ofSeq l + +
+ Signature: l:seq<string * 'T> -> NameMap<'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + partition f l + +
+ Signature: f:('T -> bool) -> l:NameMap<'T> -> Map<string,'T> * Map<string,'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + range m + +
+ Signature: m:Map<'a,'b> -> 'b list
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + suball2 errf p m1 m2 + +
+ Signature: errf:('b -> 'c -> bool) -> p:('d -> 'c -> bool) -> m1:Map<'b,'d> -> m2:Map<'b,'c> -> bool
+ Type parameters: 'b, 'c, 'd
+
+ + + + + +
+ + + subfold2 errf f m1 m2 acc + +
+ Signature: errf:('?18938 -> '?18939 -> '?18940) -> f:('?18938 -> '?18941 -> '?18939 -> '?18940 -> '?18940) -> m1:Map<'?18938,'?18941> -> m2:Map<'?18938,'?18939> -> acc:'?18940 -> '?18940
+ Type parameters: '?18938, '?18939, '?18940, '?18941
+
+ + + + +

For every entry in m2 find an entry in m1 and fold

+ + +
+ + + toList l + +
+ Signature: l:NameMap<'T> -> (string * 'T) list
+ Type parameters: 'T
+
+ + + + + +
+ + + tryFind v m + +
+ Signature: v:string -> m:NameMap<'T> -> 'T option
+ Type parameters: 'T
+
+ + + + + +
+ + + tryFindInRange p m + +
+ Signature: p:('?18979 -> bool) -> m:Map<'?18980,'?18979> -> '?18979 option
+ Type parameters: '?18979, '?18980
+
+ + + + + +
+ + + union unionf ms + +
+ Signature: unionf:(seq<'a> -> 'b) -> ms:seq<NameMap<'a>> -> Map<string,'b>
+ Type parameters: 'a, 'b
+
+ + + + +

Union entries by identical key, using the provided function to union sets of values

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemultimap-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemultimap-1.html new file mode 100644 index 0000000000..9851eb5b65 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemultimap-1.html @@ -0,0 +1,148 @@ + + + + + NameMultiMap<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NameMultiMap<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Count + +
+ Signature: int
+
+
+ +

CompiledName: get_Count

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [key] + +
+ Signature: key:string -> 'T list
+
+
+ +

CompiledName: get_Item

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemultimapmodule.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemultimapmodule.html new file mode 100644 index 0000000000..38dd4898c4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-namemultimapmodule.html @@ -0,0 +1,286 @@ + + + + + NameMultiMap - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NameMultiMap

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + add v x m + +
+ Signature: v:string -> x:'T -> m:NameMultiMap<'T> -> Map<string,'T list>
+ Type parameters: 'T
+
+ + + + + +
+ + + chooseRange f m + +
+ Signature: f:('T -> 'b option) -> m:NameMultiMap<'T> -> 'b list
+ Type parameters: 'T, 'b
+
+ + + + + +
+ + + empty + +
+ Signature: NameMultiMap<'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + existsInRange f m + +
+ Signature: f:('T -> bool) -> m:NameMultiMap<'T> -> bool
+ Type parameters: 'T
+
+ + + + + +
+ + + find v m + +
+ Signature: v:string -> m:NameMultiMap<'T> -> 'T list
+ Type parameters: 'T
+
+ + + + + +
+ + + initBy f xs + +
+ Signature: f:('T -> string) -> xs:seq<'T> -> NameMultiMap<'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + map f m + +
+ Signature: f:('T -> '?18997) -> m:NameMultiMap<'T> -> Map<string,'?18997 list>
+ Type parameters: 'T, '?18997
+
+ + + + + +
+ + + ofList xs + +
+ Signature: xs:(string * 'T) list -> NameMultiMap<'T>
+ Type parameters: 'T
+
+ + + + + +
+ + + range m + +
+ Signature: m:NameMultiMap<'T> -> 'T list
+ Type parameters: 'T
+
+ + + + + +
+ + + rangeReversingEachBucket m + +
+ Signature: m:NameMultiMap<'T> -> 'T list
+ Type parameters: 'T
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-option.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-option.html new file mode 100644 index 0000000000..c26c375ae7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-option.html @@ -0,0 +1,232 @@ + + + + + Option - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Option

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + attempt f + +
+ Signature: f:(unit -> 'T) -> 'T option
+ Type parameters: 'T
+
+ + + + + +
+ + + defaultValue v opt + +
+ Signature: v:'a -> opt:'a option -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + fold f z x + +
+ Signature: f:('a -> 'b -> 'a) -> z:'a -> x:'b option -> 'a
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + mapFold f s opt + +
+ Signature: f:('a -> 'b -> 'c * 'a) -> s:'a -> opt:'b option -> 'c option * 'a
+ Type parameters: 'a, 'b, 'c
+
+ + + + + +
+ + + orElse v opt + +
+ Signature: v:'a option -> opt:'a option -> 'a option
+ Type parameters: 'a
+
+ + + + + +
+ + + orElseWith f opt + +
+ Signature: f:(unit -> 'a option) -> opt:'a option -> 'a option
+ Type parameters: 'a
+
+ + + + + +
+ + + otherwise opt dflt + +
+ Signature: opt:'?18561 option -> dflt:'?18561 -> '?18561
+ Type parameters: '?18561
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-order.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-order.html new file mode 100644 index 0000000000..dd71424457 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-order.html @@ -0,0 +1,160 @@ + + + + + Order - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Order

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + orderBy p + +
+ Signature: p:('T -> 'U) -> IComparer<'T>
+ Type parameters: 'T, 'U
+
+ + + + + +
+ + + orderOn p pxOrder + +
+ Signature: p:('T -> 'U) -> pxOrder:IComparer<'U> -> IComparer<'T>
+ Type parameters: 'T, 'U
+
+ + + + + +
+ + + toFunction pxOrder x y + +
+ Signature: pxOrder:IComparer<'U> -> x:'U -> y:'U -> int
+ Type parameters: 'U
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-resultorexception-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-resultorexception-1.html new file mode 100644 index 0000000000..485bef85ff --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-resultorexception-1.html @@ -0,0 +1,139 @@ + + + + + ResultOrException<'TResult> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ResultOrException<'TResult>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Exception(Exception) + +
+ Signature: Exception
+
+
+ + + + + +
+ + + Result('TResult) + +
+ Signature: 'TResult
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-resultorexceptionmodule.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-resultorexceptionmodule.html new file mode 100644 index 0000000000..784a6f063b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-resultorexceptionmodule.html @@ -0,0 +1,197 @@ + + + + + ResultOrException - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ResultOrException

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( |?> ) res f + +
+ Signature: res:ResultOrException<'a> -> f:('a -> 'b) -> ResultOrException<'b>
+ Type parameters: 'a, 'b
+
+ + + + + +

CompiledName: op_BarQmarkGreater

+
+ + + ForceRaise res + +
+ Signature: res:ResultOrException<'a> -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + otherwise f x + +
+ Signature: f:(unit -> ResultOrException<'a2>) -> x:ResultOrException<'a2> -> ResultOrException<'a2>
+ Type parameters: 'a2
+
+ + + + + +
+ + + raze b + +
+ Signature: b:exn -> ResultOrException<'b>
+ Type parameters: 'b
+
+ + + + + +
+ + + success a + +
+ Signature: a:'b -> ResultOrException<'b>
+ Type parameters: 'b
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim-defaultfilesystem.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim-defaultfilesystem.html new file mode 100644 index 0000000000..415397fc8a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim-defaultfilesystem.html @@ -0,0 +1,122 @@ + + + + + DefaultFileSystem - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

DefaultFileSystem

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Shim +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> DefaultFileSystem
+
+
+ + + + + +

CompiledName: .ctor

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim-ifilesystem.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim-ifilesystem.html new file mode 100644 index 0000000000..6167397c83 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim-ifilesystem.html @@ -0,0 +1,354 @@ + + + + + IFileSystem - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

IFileSystem

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Shim +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AssemblyLoad(assemblyName) + +
+ Signature: assemblyName:AssemblyName -> Assembly
+ Modifiers: abstract
+
+
+ + + + + +
+ + + AssemblyLoadFrom(fileName) + +
+ Signature: fileName:string -> Assembly
+ Modifiers: abstract
+
+
+ + + + + +
+ + + FileDelete(fileName) + +
+ Signature: fileName:string -> unit
+ Modifiers: abstract
+
+
+ + + + + +
+ + + FileStreamCreateShim(fileName) + +
+ Signature: fileName:string -> Stream
+ Modifiers: abstract
+
+
+ + + + + +
+ + + FileStreamReadShim(fileName) + +
+ Signature: fileName:string -> Stream
+ Modifiers: abstract
+
+
+ + + + + +
+ + + FileStreamWriteExistingShim(fileName) + +
+ Signature: fileName:string -> Stream
+ Modifiers: abstract
+
+
+ + + + + +
+ + + GetFullPathShim(fileName) + +
+ Signature: fileName:string -> string
+ Modifiers: abstract
+
+
+ + + + +

Take in a filename with an absolute path, and return the same filename +but canonicalized with respect to extra path separators (e.g. C:\\foo.txt) +and '..' portions

+ + +
+ + + GetLastWriteTimeShim(fileName) + +
+ Signature: fileName:string -> DateTime
+ Modifiers: abstract
+
+
+ + + + + +
+ + + GetTempPathShim() + +
+ Signature: unit -> string
+ Modifiers: abstract
+
+
+ + + + + +
+ + + IsInvalidPathShim(filename) + +
+ Signature: filename:string -> bool
+ Modifiers: abstract
+
+
+ + + + + +
+ + + IsPathRootedShim(path) + +
+ Signature: path:string -> bool
+ Modifiers: abstract
+
+
+ + + + + +
+ + + ReadAllBytesShim(fileName) + +
+ Signature: fileName:string -> byte []
+ Modifiers: abstract
+
+
+ + + + + +
+ + + SafeExists(fileName) + +
+ Signature: fileName:string -> bool
+ Modifiers: abstract
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim.html new file mode 100644 index 0000000000..fafd887bc5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-shim.html @@ -0,0 +1,174 @@ + + + + + Shim - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Shim

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ DefaultFileSystem +
+ IFileSystem +
+ +
+ +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + FileSystem + +
+ Signature: IFileSystem
+
+
+ + + + + +
+

Type extensions

+ + + + + + + + + + +
Type extensionDescription
+ + + GetEncodingShim(n) + +
+ Signature: n:int -> Encoding
+
+
+ + + + + +

CompiledName: Encoding.GetEncodingShim.Static

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-string.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-string.html new file mode 100644 index 0000000000..fd2dbf6085 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-string.html @@ -0,0 +1,589 @@ + + + + + String - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

String

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + capitalize s + +
+ Signature: s:string -> string
+
+
+ + + + + +
+ + + contains s c + +
+ Signature: s:string -> c:char -> bool
+
+
+ + + + + +
+ + + dropPrefix s t + +
+ Signature: s:string -> t:string -> string
+
+
+ + + + + +
+ + + dropSuffix s t + +
+ Signature: s:string -> t:string -> string
+
+
+ + + + + +
+ + + extractTrailingIndex str + +
+ Signature: str:string -> string * int option
+
+
+ + + + + +
+ + + get str i + +
+ Signature: str:string -> i:int -> char
+
+
+ + + + + +
+ + + getLines str + +
+ Signature: str:string -> string []
+
+
+ + + + + +
+ + + hasPrefix s t + +
+ Signature: s:string -> t:string -> bool
+
+
+ + + + + +
+ + + index s c + +
+ Signature: s:string -> c:char -> int
+
+
+ + + + + +
+ + + indexNotFound () + +
+ Signature: unit -> '?18710
+ Type parameters: '?18710
+
+ + + + + +
+ + + isUpper s + +
+ Signature: s:string -> bool
+
+
+ + + + + +
+ + + lowercase s + +
+ Signature: s:string -> string
+
+
+ + + + + +
+ + + lowerCaseFirstChar str + +
+ Signature: str:string -> string
+
+
+ + + + + +
+ + + make n c + +
+ Signature: n:int -> c:char -> string
+
+
+ + + + + +
+ + + order + +
+ Signature: IComparer<string>
+
+
+ + + + + +
+ + + rindex s c + +
+ Signature: s:string -> c:char -> int
+
+
+ + + + + +
+ + + split options separator value + +
+ Signature: options:StringSplitOptions -> separator:string [] -> value:string -> string []
+
+
+ + + + +

Splits a string into substrings based on the strings in the array separators

+ + +
+ + + sub s start len + +
+ Signature: s:string -> start:int -> len:int -> string
+
+
+ + + + + +
+ + + toCharArray str + +
+ Signature: str:string -> char []
+
+
+ + + + + +
+ + + trim value + +
+ Signature: value:string -> string
+
+
+ + + + +

Remove all trailing and leading whitespace from the string +return null if the string is null

+ + +
+ + + tryDropPrefix s t + +
+ Signature: s:string -> t:string -> string option
+
+
+ + + + + +
+ + + tryDropSuffix s t + +
+ Signature: s:string -> t:string -> string option
+
+
+ + + + + +
+ + + uncapitalize s + +
+ Signature: s:string -> string
+
+
+ + + + + +
+ + + uppercase s + +
+ Signature: s:string -> string
+
+
+ + + + + +
+

Active patterns

+ + + + + + + + + + + + + + +
Active patternDescription
+ + + ( |Contains|_| ) pattern value + +
+ Signature: pattern:string -> value:string -> unit option
+
+
+ + + + + +

CompiledName: |Contains|_|

+
+ + + ( |StartsWith|_| ) pattern value + +
+ Signature: pattern:string -> value:string -> unit option
+
+
+ + + + + +

CompiledName: |StartsWith|_|

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-tables.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-tables.html new file mode 100644 index 0000000000..ecbb578085 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-tables.html @@ -0,0 +1,124 @@ + + + + + Tables - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Tables

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + memoize f + +
+ Signature: f:('a -> 'b) -> 'a -> 'b
+ Type parameters: 'a, 'b
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-undefinedexception.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-undefinedexception.html new file mode 100644 index 0000000000..d36264aca8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-undefinedexception.html @@ -0,0 +1,95 @@ + + + + + UndefinedException - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UndefinedException

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-uniquestampgenerator-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-uniquestampgenerator-1.html new file mode 100644 index 0000000000..deb3fff880 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-uniquestampgenerator-1.html @@ -0,0 +1,167 @@ + + + + + UniqueStampGenerator<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UniqueStampGenerator<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> UniqueStampGenerator<'T>
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Encode(str) + +
+ Signature: str:'T -> int
+
+
+ + + + + +
+ + + Table + +
+ Signature: KeyCollection<'T,int>
+
+
+ + + + + +

CompiledName: get_Table

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueoption-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueoption-1.html new file mode 100644 index 0000000000..cf93f64d45 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueoption-1.html @@ -0,0 +1,204 @@ + + + + + ValueOption<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ValueOption<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + VNone + +
+ Signature:
+
+
+ + + + + +
+ + + VSome('T) + +
+ Signature: 'T
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsNone + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsNone

+
+ + + IsSome + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsSome

+
+ + + Value + +
+ Signature: 'T
+
+
+ + + + + +

CompiledName: get_Value

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueoptionmodule.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueoptionmodule.html new file mode 100644 index 0000000000..021d23bc76 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueoptionmodule.html @@ -0,0 +1,142 @@ + + + + + ValueOption - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ValueOption

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + bind f x + +
+ Signature: f:('b -> ValueOption<'c>) -> x:ValueOption<'b> -> ValueOption<'c>
+ Type parameters: 'b, 'c
+
+ + + + + +
+ + + ofOption x + +
+ Signature: x:'b option -> ValueOption<'b>
+ Type parameters: 'b
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueorcancelled-1.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueorcancelled-1.html new file mode 100644 index 0000000000..e719cd8bf2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library-valueorcancelled-1.html @@ -0,0 +1,139 @@ + + + + + ValueOrCancelled<'TResult> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ValueOrCancelled<'TResult>

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+ Parent Module: Library +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Cancelled(OperationCanceledException) + +
+ Signature: OperationCanceledException
+
+
+ + + + + +
+ + + Value('TResult) + +
+ Signature: 'TResult
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library.html b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library.html new file mode 100644 index 0000000000..cdbaf5e5f7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-abstractil-internal-library.html @@ -0,0 +1,885 @@ + + + + + Library - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Library

+

+ Namespace: Microsoft.FSharp.Compiler.AbstractIL.Internal
+

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ AnyCallerThreadToken +

Represents a token that indicates execution on a any of several potential user threads calling the F# compiler services.

+ +
+ Cancellable<'TResult> +

Represents a cancellable computation with explicit representation of a cancelled result.

+

A cancellable computation is passed may be cancelled via a CancellationToken, which is propagated implicitly.
+If cancellation occurs, it is propagated as data rather than by raising an OperationCanceledException.

+ +
+ CancellableBuilder +
+ CompilationThreadToken +

Represents a token that indicates execution on the compilation thread, i.e. +- we have full access to the (partially mutable) TAST and TcImports data structures +- compiler execution may result in type provider invocations when resolving types and members +- we can access various caches in the SourceCodeServices

+

Like other execution tokens this should be passed via argument passing and not captured/stored beyond +the lifetime of stack-based calls. This is not checked, it is a discipline within the compiler code.

+ +
+ Eventually<'T> +

Computations that can cooperatively yield by returning a continuation

+
    +
  • +

    Any yield of a NotYetDone should typically be "abandonable" without adverse consequences. No resource release +will be called when the computation is abandoned.

    +
  • +
  • +

    Computations suspend via a NotYetDone may use local state (mutables), where these are +captured by the NotYetDone closure. Computations do not need to be restartable.

    +
  • +
  • +

    The key thing is that you can take an Eventually value and run it with +Eventually.repeatedlyProgressUntilDoneOrTimeShareOverOrCanceled

    +
  • +
  • Cancellation results in a suspended computation rather than complete abandonment
  • +
+ +
+ EventuallyBuilder +
+ ExecutionToken +

Represents a permission active at this point in execution

+ +
+ InlineDelayInit<'T> +

An efficient lazy for inline storage in a class type. Results in fewer thunks.

+ +
+ LayeredMap<'Key, 'Value> +
+ LayeredMultiMap<'Key, 'Value> +

Immutable map collection, with explicit flattening to a backing dictionary

+ +
+ LazyWithContext<'T, 'ctxt> +

Just like "Lazy" but EVERY forcer must provide an instance of "ctxt", e.g. to help track errors +on forcing back to at least one sensible user location

+ +
+ LazyWithContextFailure +
+ Lock<'LockTokenType> +

Encapsulates a lock associated with a particular token-type representing the acquisition of that lock.

+ +
+ LockToken +

A base type for various types of tokens that must be passed when a lock is taken. +Each different static lock should declare a new subtype of this type.

+ +
+ MemoizationTable<'T, 'U> +
+ MultiMap<'T, 'U> +
+ NameMap<'T> +
+ NameMultiMap<'T> +
+ ResultOrException<'TResult> +
+ UndefinedException +
+ UniqueStampGenerator<'T> +
+ ValueOption<'T> +
+ ValueOrCancelled<'TResult> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleDescription
+ Array +
+ Cancellable +
+ Dictionary +
+ Eventually +
+ Lazy +
+ List +
+ Map +
+ MultiMap +
+ NameMap +
+ NameMultiMap +
+ Option +
+ Order +
+ ResultOrException +
+ Shim +
+ String +
+ Tables +
+ ValueOption +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( === ) x y + +
+ Signature: x:'a -> y:'a -> bool
+ Type parameters: 'a
+
+ + + + + +

CompiledName: op_EqualsEqualsEquals

+
+ + + ( >>>& ) x n + +
+ Signature: x:int32 -> n:int32 -> int32
+
+
+ + + + + +

CompiledName: op_GreaterGreaterGreaterAmp

+
+ + + AssumeAnyCallerThreadWithoutEvidence () + +
+ Signature: unit -> AnyCallerThreadToken
+
+
+ + + + + +
+ + + AssumeCompilationThreadWithoutEvidence (...) + +
+ Signature: unit -> CompilationThreadToken
+
+
+ + + + +

Represents a place in the compiler codebase where we assume we are executing on a compilation thread

+ + +
+ + + AssumeLockWithoutEvidence () + +
+ Signature: unit -> 'LockTokenType
+ Type parameters: 'LockTokenType
+
+ + + + + +
+ + + cancellable + +
+ Signature: CancellableBuilder
+
+
+ + + + + +
+ + + DoesNotRequireCompilerThreadTokenAndCouldPossiblyBeMadeConcurrent (...) + +
+ Signature: _ctok:CompilationThreadToken -> unit
+
+
+ + + + +

Represents a place in the compiler codebase where we are passed a CompilationThreadToken unnecessarily. +This reprents code that may potentially not need to be executed on the compilation thread.

+ + +
+ + + eventually + +
+ Signature: EventuallyBuilder
+
+
+ + + + + +
+ + + foldOn p f z x + +
+ Signature: p:('a -> 'b) -> f:('c -> 'b -> 'd) -> z:'c -> x:'a -> 'd
+ Type parameters: 'a, 'b, 'c, 'd
+
+ + + + + +
+ + + getHole r + +
+ Signature: r:'a option ref -> 'a
+ Type parameters: 'a
+
+ + + + +

Get an initialization hole

+ + +
+ + + isNil l + +
+ Signature: l:'a list -> bool
+ Type parameters: 'a
+
+ + + + + +
+ + + isNonNull x + +
+ Signature: x:'a -> bool
+ Type parameters: 'a
+
+ + + + + +
+ + + nonNull msg x + +
+ Signature: msg:string -> x:'?18296 -> '?18296
+ Type parameters: '?18296
+
+ + + + + +
+ + + notFound () + +
+ Signature: unit -> 'd
+ Type parameters: 'd
+
+ + + + + +
+ + + notlazy v + +
+ Signature: v:'d -> Lazy<'d>
+ Type parameters: 'd
+
+ + + + + +
+ + + reportTime + +
+ Signature: bool -> string -> unit
+
+
+ + + + + +
+ + + RequireCompilationThread _ctok + +
+ Signature: _ctok:CompilationThreadToken -> unit
+
+
+ + + + +

Represents a place where we are stating that execution on the compilation thread is required. The +reason why will be documented in a comment in the code at the callsite.

+ + +
+

Type extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Type extensionDescription
+ + + AddAndMarkAsCollapsible(kvs) + +
+ Signature: (kvs:KeyValuePair<'Key,'Value> []) -> Map<'Key,'Value>
+
+
+ + + + + +

CompiledName: Map`2.AddAndMarkAsCollapsible

+
+ + + Empty + +
+ Signature: Map<'Key,'Value>
+
+
+ + + + + +

CompiledName: Map`2.get_Empty.Static

+
+ + + Empty + +
+ Signature: Map<'Key,'Value>
+
+
+ + + + + +

CompiledName: Map`2.get_Empty.Static

+
+ + + LinearTryModifyThenLaterFlatten(key, f) + +
+ Signature: (key:'Key * f:('Value option -> 'Value)) -> Map<'Key,'Value>
+
+
+ + + + + +

CompiledName: Map`2.LinearTryModifyThenLaterFlatten

+
+ + + MarkAsCollapsible() + +
+ Signature: unit -> Map<'Key,'Value>
+
+
+ + + + + +

CompiledName: Map`2.MarkAsCollapsible

+
+ + + TryGetValue(key, res) + +
+ Signature: (key:'Key * res:byref<'Value>) -> bool
+
+
+ + + + + +

CompiledName: Map`2.TryGetValue

+
+ + + Values + +
+ Signature: 'Value list
+
+
+ + + + + +

CompiledName: Map`2.get_Values

+
+ + + Values + +
+ Signature: 'Value list
+
+
+ + + + + +

CompiledName: Map`2.get_Values

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-blockseparator.html b/docs/reference/microsoft-fsharp-compiler-ast-blockseparator.html new file mode 100644 index 0000000000..1e856e236d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-blockseparator.html @@ -0,0 +1,97 @@ + + + + + BlockSeparator - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

BlockSeparator

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

denotes location of the separator block + optional position of the semicolon (used for tooling support)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-customoperations.html b/docs/reference/microsoft-fsharp-compiler-ast-customoperations.html new file mode 100644 index 0000000000..9ea9e8d322 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-customoperations.html @@ -0,0 +1,124 @@ + + + + + CustomOperations - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CustomOperations

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + Into + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-expratomicflag.html b/docs/reference/microsoft-fsharp-compiler-ast-expratomicflag.html new file mode 100644 index 0000000000..5253e40ada --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-expratomicflag.html @@ -0,0 +1,145 @@ + + + + + ExprAtomicFlag - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ExprAtomicFlag

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Atomic + +
+ Signature: ExprAtomicFlag
+ Modifiers: static
+
+
+ + + + +

Says that the expression is an atomic expression, i.e. is of a form that has no whitespace unless +enclosed in parentheses, e.g. 1, "3", ident, ident.[expr] and (expr). If an atomic expression has +type T, then the largest expression ending at the same range as the atomic expression also has type T.

+ + +
+ + + NonAtomic + +
+ Signature: ExprAtomicFlag
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-fsharplib.html b/docs/reference/microsoft-fsharp-compiler-ast-fsharplib.html new file mode 100644 index 0000000000..c5d95cfe71 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-fsharplib.html @@ -0,0 +1,178 @@ + + + + + FSharpLib - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpLib

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + Core + +
+ Signature: string
+
+
+ + + + + +
+ + + CorePath + +
+ Signature: string list
+
+
+ + + + + +
+ + + Root + +
+ Signature: string
+
+
+ + + + + +
+ + + RootPath + +
+ Signature: string list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-ident.html b/docs/reference/microsoft-fsharp-compiler-ast-ident.html new file mode 100644 index 0000000000..e2694ec39d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-ident.html @@ -0,0 +1,168 @@ + + + + + Ident - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Ident

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(text, range) + +
+ Signature: (text:string * range:range) -> Ident
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + idRange + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_idRange

+
+ + + idText + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_idText

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-lexbuflocalxmldocstore.html b/docs/reference/microsoft-fsharp-compiler-ast-lexbuflocalxmldocstore.html new file mode 100644 index 0000000000..4148f26626 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-lexbuflocalxmldocstore.html @@ -0,0 +1,101 @@ + + + + + LexbufLocalXmlDocStore - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LexbufLocalXmlDocStore

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

XmlDoc F# lexer/parser state, held in the BufferLocalStore for the lexer. +This is the only use of the lexer BufferLocalStore in the codebase.

+ +
+ + + + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-lexcont.html b/docs/reference/microsoft-fsharp-compiler-ast-lexcont.html new file mode 100644 index 0000000000..7e2bb47edd --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-lexcont.html @@ -0,0 +1,122 @@ + + + + + LexCont - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LexCont

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + LexerIfdefStack + +
+ Signature: LexerIfdefStackEntries
+
+
+ + + + + +

CompiledName: get_LexerIfdefStack

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-lexerendlinecontinuation.html b/docs/reference/microsoft-fsharp-compiler-ast-lexerendlinecontinuation.html new file mode 100644 index 0000000000..e0662f736f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-lexerendlinecontinuation.html @@ -0,0 +1,170 @@ + + + + + LexerEndlineContinuation - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LexerEndlineContinuation

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Specifies how the 'endline' function in the lexer should continue after +it reaches end of line or eof. The options are to continue with 'token' function +or to continue with 'skip' function.

+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Skip(LexerIfdefStackEntries,int,range) + +
+ Signature: LexerIfdefStackEntries * int * range
+
+
+ + + + + +
+ + + Token(LexerIfdefStackEntries) + +
+ Signature: LexerIfdefStackEntries
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + LexerIfdefStack + +
+ Signature: LexerIfdefStackEntries
+
+
+ + + + + +

CompiledName: get_LexerIfdefStack

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefexpression.html b/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefexpression.html new file mode 100644 index 0000000000..66158b51f0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefexpression.html @@ -0,0 +1,175 @@ + + + + + LexerIfdefExpression - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LexerIfdefExpression

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + IfdefAnd(...) + +
+ Signature: LexerIfdefExpression * LexerIfdefExpression
+
+
+ + + + + +
+ + + IfdefId(string) + +
+ Signature: string
+
+
+ + + + + +
+ + + IfdefNot(LexerIfdefExpression) + +
+ Signature: LexerIfdefExpression
+
+
+ + + + + +
+ + + IfdefOr(...) + +
+ Signature: LexerIfdefExpression * LexerIfdefExpression
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstack.html b/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstack.html new file mode 100644 index 0000000000..f0edc42354 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstack.html @@ -0,0 +1,118 @@ + + + + + LexerIfdefStack - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LexerIfdefStack

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Value() + +
+ Signature: unit -> unit
+
+
+ +

CompiledName: get_Value

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstackentries.html b/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstackentries.html new file mode 100644 index 0000000000..e1dd966121 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstackentries.html @@ -0,0 +1,201 @@ + + + + + LexerIfdefStackEntries - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LexerIfdefStackEntries

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: LexerIfdefStackEntry * range
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> LexerIfdefStackEntry * range
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: (LexerIfdefStackEntry * range) list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: (LexerIfdefStackEntry * range) list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstackentry.html b/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstackentry.html new file mode 100644 index 0000000000..9eb8215725 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-lexerifdefstackentry.html @@ -0,0 +1,139 @@ + + + + + LexerIfdefStackEntry - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LexerIfdefStackEntry

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + IfDefElse + +
+ Signature:
+
+
+ + + + + +
+ + + IfDefIf + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-lexerwhitespacecontinuation.html b/docs/reference/microsoft-fsharp-compiler-ast-lexerwhitespacecontinuation.html new file mode 100644 index 0000000000..5e3c61b42d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-lexerwhitespacecontinuation.html @@ -0,0 +1,333 @@ + + + + + LexerWhitespaceContinuation - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LexerWhitespaceContinuation

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The parser defines a number of tokens for whitespace and +comments eliminated by the lexer. These carry a specification of +a continuation for the lexer for continued processing after we've dealt with +the whitespace.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Comment(ifdef,int,range) + +
+ Signature: LexerIfdefStackEntries * int * range
+
+
+ + + + + +
+ + + EndLine(LexerEndlineContinuation) + +
+ Signature: LexerEndlineContinuation
+
+
+ + + + + +
+ + + IfDefSkip(ifdef,int,range) + +
+ Signature: LexerIfdefStackEntries * int * range
+
+
+ + + + + +
+ + + SingleLineComment(ifdef,int,range) + +
+ Signature: LexerIfdefStackEntries * int * range
+
+
+ + + + + +
+ + + String(ifdef,range) + +
+ Signature: LexerIfdefStackEntries * range
+
+
+ + + + + +
+ + + StringInComment(ifdef,int,range) + +
+ Signature: LexerIfdefStackEntries * int * range
+
+
+ + + + + +
+ + + Token(ifdef) + +
+ Signature: LexerIfdefStackEntries
+
+
+ + + + + +
+ + + TripleQuoteString(ifdef,range) + +
+ Signature: LexerIfdefStackEntries * range
+
+
+ + + + + +
+ + + TripleQuoteStringInComment(...) + +
+ Signature: LexerIfdefStackEntries * int * range
+
+
+ + + + + +
+ + + VerbatimString(ifdef,range) + +
+ Signature: LexerIfdefStackEntries * range
+
+
+ + + + + +
+ + + VerbatimStringInComment(ifdef,int,range) + +
+ Signature: LexerIfdefStackEntries * int * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + LexerIfdefStack + +
+ Signature: LexerIfdefStackEntries
+
+
+ + + + + +

CompiledName: get_LexerIfdefStack

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-longident.html b/docs/reference/microsoft-fsharp-compiler-ast-longident.html new file mode 100644 index 0000000000..14433aa2c1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-longident.html @@ -0,0 +1,201 @@ + + + + + LongIdent - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LongIdent

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: Ident
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> Ident
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: Ident list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: Ident list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-longidentwithdots.html b/docs/reference/microsoft-fsharp-compiler-ast-longidentwithdots.html new file mode 100644 index 0000000000..e81d8c1afc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-longidentwithdots.html @@ -0,0 +1,212 @@ + + + + + LongIdentWithDots - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LongIdentWithDots

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + LongIdentWithDots(id,dotms) + +
+ Signature: LongIdent * range list
+
+
+ + + + +

LongIdentWithDots(lid, dotms) +Typically dotms.Length = lid.Length-1, but they may be same if (incomplete) code ends in a dot, e.g. "Foo.Bar." +The dots mostly matter for parsing, and are typically ignored by the typechecker, but +if dotms.Length = lid.Length, then the parser must have reported an error, so the typechecker is allowed +more freedom about typechecking these expressions. +LongIdent can be empty list - it is used to denote that name of some AST element is absent (i.e. empty type name in inherit)

+ + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Lid + +
+ Signature: LongIdent
+
+
+ + + + + +

CompiledName: get_Lid

+
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ + + RangeSansAnyExtraDot + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_RangeSansAnyExtraDot

+
+ + + ThereIsAnExtraDotAtTheEnd + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_ThereIsAnExtraDotAtTheEnd

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-memberflags.html b/docs/reference/microsoft-fsharp-compiler-ast-memberflags.html new file mode 100644 index 0000000000..e4a2606bca --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-memberflags.html @@ -0,0 +1,193 @@ + + + + + MemberFlags - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MemberFlags

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + IsDispatchSlot + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsFinal + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsInstance + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsOverrideOrExplicitImpl + +
+ Signature: bool
+
+
+ + + + + +
+ + + MemberKind + +
+ Signature: MemberKind
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-memberkind.html b/docs/reference/microsoft-fsharp-compiler-ast-memberkind.html new file mode 100644 index 0000000000..15fc5aa1e3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-memberkind.html @@ -0,0 +1,215 @@ + + + + + MemberKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MemberKind

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Note the member kind is actually computed partially by a syntax tree transformation in tc.fs

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + ClassConstructor + +
+ Signature:
+
+
+ + + + + +
+ + + Constructor + +
+ Signature:
+
+
+ + + + + +
+ + + Member + +
+ Signature:
+
+
+ + + + + +
+ + + PropertyGet + +
+ Signature:
+
+
+ + + + + +
+ + + PropertyGetSet + +
+ Signature:
+
+
+ + + + +

An artificial member kind used prior to the point where a get/set property is split into two distinct members.

+ + +
+ + + PropertySet + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-nicenamegenerator.html b/docs/reference/microsoft-fsharp-compiler-ast-nicenamegenerator.html new file mode 100644 index 0000000000..7bc8e8b867 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-nicenamegenerator.html @@ -0,0 +1,173 @@ + + + + + NiceNameGenerator - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NiceNameGenerator

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Generates compiler-generated names. Each name generated also includes the StartLine number of the range passed in +at the point of first generation.

+

This type may be accessed concurrently, though in practice it is only used from the compilation thread. +It is made concurrency-safe since a global instance of the type is allocated in tast.fs, and it is good +policy to make all globally-allocated objects concurrency safe in case future versions of the compiler +are used to host multiple concurrent instances of compilation.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> NiceNameGenerator
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + FreshCompilerGeneratedName(name, m) + +
+ Signature: (name:string * m:range) -> string
+
+
+ + + + + +
+ + + Reset() + +
+ Signature: unit -> unit
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedfsiinteraction.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedfsiinteraction.html new file mode 100644 index 0000000000..0aa180e31e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedfsiinteraction.html @@ -0,0 +1,139 @@ + + + + + ParsedFsiInteraction - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedFsiInteraction

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + IDefns(SynModuleDecl list,range) + +
+ Signature: SynModuleDecl list * range
+
+
+ + + + + +
+ + + IHash(ParsedHashDirective,range) + +
+ Signature: ParsedHashDirective * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedhashdirective.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedhashdirective.html new file mode 100644 index 0000000000..1625ac02ae --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedhashdirective.html @@ -0,0 +1,121 @@ + + + + + ParsedHashDirective - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedHashDirective

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + ParsedHashDirective(...) + +
+ Signature: string * string list * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfile.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfile.html new file mode 100644 index 0000000000..b0bb92f0d7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfile.html @@ -0,0 +1,121 @@ + + + + + ParsedImplFile - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedImplFile

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + ParsedImplFile(...) + +
+ Signature: ParsedHashDirective list * ParsedImplFileFragment list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfilefragment.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfilefragment.html new file mode 100644 index 0000000000..2eea46d7e3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfilefragment.html @@ -0,0 +1,157 @@ + + + + + ParsedImplFileFragment - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedImplFileFragment

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AnonModule(SynModuleDecls,range) + +
+ Signature: SynModuleDecls * range
+
+
+ + + + + +
+ + + NamedModule(SynModuleOrNamespace) + +
+ Signature: SynModuleOrNamespace
+
+
+ + + + + +
+ + + NamespaceFragment(...) + +
+ Signature: LongIdent * bool * bool * SynModuleDecls * PreXmlDoc * SynAttributes * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfileinput.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfileinput.html new file mode 100644 index 0000000000..1c4991ffd7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedimplfileinput.html @@ -0,0 +1,121 @@ + + + + + ParsedImplFileInput - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedImplFileInput

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + ParsedImplFileInput(...) + +
+ Signature: string * bool * QualifiedNameOfFile * ScopedPragma list * ParsedHashDirective list * SynModuleOrNamespace list * bool * bool
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedinput.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedinput.html new file mode 100644 index 0000000000..7561c8d277 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedinput.html @@ -0,0 +1,166 @@ + + + + + ParsedInput - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedInput

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + ImplFile(ParsedImplFileInput) + +
+ Signature: ParsedImplFileInput
+
+
+ + + + + +
+ + + SigFile(ParsedSigFileInput) + +
+ Signature: ParsedSigFileInput
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfile.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfile.html new file mode 100644 index 0000000000..52929310f3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfile.html @@ -0,0 +1,121 @@ + + + + + ParsedSigFile - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedSigFile

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + ParsedSigFile(...) + +
+ Signature: ParsedHashDirective list * ParsedSigFileFragment list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfilefragment.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfilefragment.html new file mode 100644 index 0000000000..a99ca08b25 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfilefragment.html @@ -0,0 +1,157 @@ + + + + + ParsedSigFileFragment - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedSigFileFragment

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AnonModule(SynModuleSigDecls,range) + +
+ Signature: SynModuleSigDecls * range
+
+
+ + + + + +
+ + + NamedModule(SynModuleOrNamespaceSig) + +
+ Signature: SynModuleOrNamespaceSig
+
+
+ + + + + +
+ + + NamespaceFragment(...) + +
+ Signature: LongIdent * bool * bool * SynModuleSigDecls * PreXmlDoc * SynAttributes * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfileinput.html b/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfileinput.html new file mode 100644 index 0000000000..16e900963f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parsedsigfileinput.html @@ -0,0 +1,121 @@ + + + + + ParsedSigFileInput - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedSigFileInput

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + ParsedSigFileInput(...) + +
+ Signature: string * QualifiedNameOfFile * ScopedPragma list * ParsedHashDirective list * SynModuleOrNamespaceSig list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-parserdetail.html b/docs/reference/microsoft-fsharp-compiler-ast-parserdetail.html new file mode 100644 index 0000000000..55db6d6650 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-parserdetail.html @@ -0,0 +1,139 @@ + + + + + ParserDetail - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParserDetail

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Ok + +
+ Signature:
+
+
+ + + + + +
+ + + ThereWereSignificantParseErrorsSoDoNotTypecheckThisNode + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-prexmldoc.html b/docs/reference/microsoft-fsharp-compiler-ast-prexmldoc.html new file mode 100644 index 0000000000..813d8031cd --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-prexmldoc.html @@ -0,0 +1,246 @@ + + + + + PreXmlDoc - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PreXmlDoc

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + PreXmlDoc(pos,XmlDocCollector) + +
+ Signature: pos * XmlDocCollector
+
+
+ + + + + +
+ + + PreXmlDocEmpty + +
+ Signature:
+
+
+ + + + + +
+ + + PreXmlMerge(PreXmlDoc,PreXmlDoc) + +
+ Signature: PreXmlDoc * PreXmlDoc
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + ToXmlDoc() + +
+ Signature: unit -> XmlDoc
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + + + + + + + + + +
Static memberDescription
+ + + CreateFromGrabPoint(...) + +
+ Signature: (collector:XmlDocCollector * grabPointPos:pos) -> PreXmlDoc
+
+
+ + + + + +
+ + + Empty + +
+ Signature: PreXmlDoc
+
+
+ + + + + +

CompiledName: get_Empty

+
+ + + Merge(a b) + +
+ Signature: a:PreXmlDoc -> b:PreXmlDoc -> PreXmlDoc
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-qualifiednameoffile.html b/docs/reference/microsoft-fsharp-compiler-ast-qualifiednameoffile.html new file mode 100644 index 0000000000..b7467990af --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-qualifiednameoffile.html @@ -0,0 +1,193 @@ + + + + + QualifiedNameOfFile - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

QualifiedNameOfFile

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

ImplFile(modname,isScript,qualName,hashDirectives,modules,isLastCompiland) +QualifiedNameOfFile acts to fully-qualify module specifications and implementations, +most importantly the ones that simply contribute fragments to a namespace (i.e. the ParsedSigFileFragment.NamespaceFragment case) +There may be multiple such fragments in a single assembly. There may thus also +be multiple matching pairs of these in an assembly, all contributing types to the same +namespace.

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + QualifiedNameOfFile(Ident) + +
+ Signature: Ident
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Id + +
+ Signature: Ident
+
+
+ + + + + +

CompiledName: get_Id

+
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ + + Text + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Text

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-recordfieldname.html b/docs/reference/microsoft-fsharp-compiler-ast-recordfieldname.html new file mode 100644 index 0000000000..3e7a0e4845 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-recordfieldname.html @@ -0,0 +1,97 @@ + + + + + RecordFieldName - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

RecordFieldName

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

stores pair: record field name + (true if given record field name is syntactically correct and can be used in name resolution)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-scopedpragma.html b/docs/reference/microsoft-fsharp-compiler-ast-scopedpragma.html new file mode 100644 index 0000000000..8626e1e599 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-scopedpragma.html @@ -0,0 +1,121 @@ + + + + + ScopedPragma - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ScopedPragma

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + WarningOff(range,int) + +
+ Signature: range * int
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-seqexpronly.html b/docs/reference/microsoft-fsharp-compiler-ast-seqexpronly.html new file mode 100644 index 0000000000..2ee6444a74 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-seqexpronly.html @@ -0,0 +1,125 @@ + + + + + SeqExprOnly - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SeqExprOnly

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Indicates if a for loop is 'for x in e1 -> e2', only valid in sequence expressions

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SeqExprOnly(bool) + +
+ Signature: bool
+
+
+ + + + +

Indicates if a for loop is 'for x in e1 -> e2', only valid in sequence expressions

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforbinding.html b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforbinding.html new file mode 100644 index 0000000000..5b9157288a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforbinding.html @@ -0,0 +1,219 @@ + + + + + SequencePointInfoForBinding - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SequencePointInfoForBinding

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + NoSequencePointAtDoBinding + +
+ Signature:
+
+
+ + + + + +
+ + + NoSequencePointAtInvisibleBinding + +
+ Signature:
+
+
+ + + + + +
+ + + NoSequencePointAtLetBinding + +
+ Signature:
+
+
+ + + + + +
+ + + NoSequencePointAtStickyBinding + +
+ Signature:
+
+
+ + + + + +
+ + + SequencePointAtBinding(range) + +
+ Signature: range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Combine(y) + +
+ Signature: y:SequencePointInfoForBinding -> SequencePointInfoForBinding
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforfinally.html b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforfinally.html new file mode 100644 index 0000000000..0e0979572c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforfinally.html @@ -0,0 +1,139 @@ + + + + + SequencePointInfoForFinally - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SequencePointInfoForFinally

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + NoSequencePointAtFinally + +
+ Signature:
+
+
+ + + + + +
+ + + SequencePointAtFinally(range) + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforforloop.html b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforforloop.html new file mode 100644 index 0000000000..e7505d8700 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforforloop.html @@ -0,0 +1,139 @@ + + + + + SequencePointInfoForForLoop - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SequencePointInfoForForLoop

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + NoSequencePointAtForLoop + +
+ Signature:
+
+
+ + + + + +
+ + + SequencePointAtForLoop(range) + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforseq.html b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforseq.html new file mode 100644 index 0000000000..8aec150a98 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforseq.html @@ -0,0 +1,157 @@ + + + + + SequencePointInfoForSeq - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SequencePointInfoForSeq

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + SequencePointsAtSeq + +
+ Signature:
+
+
+ + + + + +
+ + + SuppressSequencePointOnExprOfSequential + +
+ Signature:
+
+
+ + + + + +
+ + + SuppressSequencePointOnStmtOfSequential + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfofortarget.html b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfofortarget.html new file mode 100644 index 0000000000..235c116868 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfofortarget.html @@ -0,0 +1,139 @@ + + + + + SequencePointInfoForTarget - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SequencePointInfoForTarget

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + SequencePointAtTarget + +
+ Signature:
+
+
+ + + + + +
+ + + SuppressSequencePointAtTarget + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfofortry.html b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfofortry.html new file mode 100644 index 0000000000..cbc46b48e5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfofortry.html @@ -0,0 +1,157 @@ + + + + + SequencePointInfoForTry - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SequencePointInfoForTry

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + NoSequencePointAtTry + +
+ Signature:
+
+
+ + + + + +
+ + + SequencePointAtTry(range) + +
+ Signature: range
+
+
+ + + + + +
+ + + SequencePointInBodyOfTry + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforwhileloop.html b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforwhileloop.html new file mode 100644 index 0000000000..408b7b2734 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforwhileloop.html @@ -0,0 +1,139 @@ + + + + + SequencePointInfoForWhileLoop - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SequencePointInfoForWhileLoop

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + NoSequencePointAtWhileLoop + +
+ Signature:
+
+
+ + + + + +
+ + + SequencePointAtWhileLoop(range) + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforwith.html b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforwith.html new file mode 100644 index 0000000000..1ea798e94c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-sequencepointinfoforwith.html @@ -0,0 +1,139 @@ + + + + + SequencePointInfoForWith - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SequencePointInfoForWith

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + NoSequencePointAtWith + +
+ Signature:
+
+
+ + + + + +
+ + + SequencePointAtWith(range) + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-stablenicenamegenerator.html b/docs/reference/microsoft-fsharp-compiler-ast-stablenicenamegenerator.html new file mode 100644 index 0000000000..b0657f4dea --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-stablenicenamegenerator.html @@ -0,0 +1,172 @@ + + + + + StableNiceNameGenerator - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

StableNiceNameGenerator

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Generates compiler-generated names marked up with a source code location, but if given the same unique value then +return precisely the same name. Each name generated also includes the StartLine number of the range passed in +at the point of first generation.

+

This type may be accessed concurrently, though in practice it is only used from the compilation thread. +It is made concurrency-safe since a global instance of the type is allocated in tast.fs.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> StableNiceNameGenerator
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + GetUniqueCompilerGeneratedName(...) + +
+ Signature: (name:string * m:range * uniq:int64) -> string
+
+
+ + + + + +
+ + + Reset() + +
+ Signature: unit -> unit
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synaccess.html b/docs/reference/microsoft-fsharp-compiler-ast-synaccess.html new file mode 100644 index 0000000000..9776c028e1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synaccess.html @@ -0,0 +1,157 @@ + + + + + SynAccess - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynAccess

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Internal + +
+ Signature:
+
+
+ + + + + +
+ + + Private + +
+ Signature:
+
+
+ + + + + +
+ + + Public + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synarginfo.html b/docs/reference/microsoft-fsharp-compiler-ast-synarginfo.html new file mode 100644 index 0000000000..f3144bd240 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synarginfo.html @@ -0,0 +1,123 @@ + + + + + SynArgInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynArgInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The argument names and other metadata for a parameter for a member or function

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynArgInfo(...) + +
+ Signature: SynAttributes * bool * Ident option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synargnamegenerator.html b/docs/reference/microsoft-fsharp-compiler-ast-synargnamegenerator.html new file mode 100644 index 0000000000..dd54a34fe3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synargnamegenerator.html @@ -0,0 +1,166 @@ + + + + + SynArgNameGenerator - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynArgNameGenerator

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> SynArgNameGenerator
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + New() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ + + Reset() + +
+ Signature: unit -> unit
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synattribute.html b/docs/reference/microsoft-fsharp-compiler-ast-synattribute.html new file mode 100644 index 0000000000..12bb3eef1f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synattribute.html @@ -0,0 +1,197 @@ + + + + + SynAttribute - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynAttribute

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AppliesToGetterAndSetter + +
+ Signature: bool
+
+
+ + + + +

Is this attribute being applied to a property getter or setter?

+ + +
+ + + ArgExpr + +
+ Signature: SynExpr
+
+
+ + + + + +
+ + + Range + +
+ Signature: range
+
+
+ + + + + +
+ + + Target + +
+ Signature: Ident option
+
+
+ + + + +

Target specifier, e.g. "assembly","module",etc.

+ + +
+ + + TypeName + +
+ Signature: LongIdentWithDots
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synattributes.html b/docs/reference/microsoft-fsharp-compiler-ast-synattributes.html new file mode 100644 index 0000000000..5c2dc651e2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synattributes.html @@ -0,0 +1,201 @@ + + + + + SynAttributes - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynAttributes

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: SynAttribute
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> SynAttribute
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: SynAttribute list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: SynAttribute list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synbinding.html b/docs/reference/microsoft-fsharp-compiler-ast-synbinding.html new file mode 100644 index 0000000000..7e1c015e08 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synbinding.html @@ -0,0 +1,186 @@ + + + + + SynBinding - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynBinding

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + Binding(...) + +
+ Signature: SynAccess option * SynBindingKind * bool * bool * SynAttributes * PreXmlDoc * SynValData * SynPat * SynBindingReturnInfo option * SynExpr * range * SequencePointInfoForBinding
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + RangeOfBindingAndRhs + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_RangeOfBindingAndRhs

+
+ + + RangeOfBindingSansRhs + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_RangeOfBindingSansRhs

+
+ + + RangeOfHeadPat + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_RangeOfHeadPat

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synbindingkind.html b/docs/reference/microsoft-fsharp-compiler-ast-synbindingkind.html new file mode 100644 index 0000000000..eb7a6e9513 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synbindingkind.html @@ -0,0 +1,165 @@ + + + + + SynBindingKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynBindingKind

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The kind associated with a binding - "let", "do" or a standalone expression

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + DoBinding + +
+ Signature:
+
+
+ + + + +

A 'do' binding in a module. Must have type 'unit'

+ + +
+ + + NormalBinding + +
+ Signature:
+
+
+ + + + +

A normal 'let' binding in a module

+ + +
+ + + StandaloneExpression + +
+ Signature:
+
+
+ + + + +

A standalone expression in a module

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synbindingreturninfo.html b/docs/reference/microsoft-fsharp-compiler-ast-synbindingreturninfo.html new file mode 100644 index 0000000000..cc8b5cb77c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synbindingreturninfo.html @@ -0,0 +1,121 @@ + + + + + SynBindingReturnInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynBindingReturnInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynBindingReturnInfo(...) + +
+ Signature: SynType * range * SynAttributes
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syncomponentinfo.html b/docs/reference/microsoft-fsharp-compiler-ast-syncomponentinfo.html new file mode 100644 index 0000000000..bc5312d90a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syncomponentinfo.html @@ -0,0 +1,154 @@ + + + + + SynComponentInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynComponentInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The untyped, unchecked syntax tree associated with the name of a type definition or module +in signature or implementation.

+

This includes the name, attributes, type parameters, constraints, documentation and accessibility +for a type definition or module. For modules, entries such as the type parameters are +always empty.

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + ComponentInfo(...) + +
+ Signature: SynAttributes * SynTyparDecl list * SynTypeConstraint list * LongIdent * PreXmlDoc * bool * SynAccess option * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synconst.html b/docs/reference/microsoft-fsharp-compiler-ast-synconst.html new file mode 100644 index 0000000000..f17b6b54ca --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synconst.html @@ -0,0 +1,555 @@ + + + + + SynConst - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynConst

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The unchecked abstract syntax tree of constants in F# types and expressions.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Bool(bool) + +
+ Signature: bool
+
+
+ + + + +

F# syntax: true, false

+ + +
+ + + Byte(byte) + +
+ Signature: byte
+
+
+ + + + +

F# syntax: 13uy, 0x40uy, 0oFFuy, 0b0111101uy

+ + +
+ + + Bytes(bytes,range) + +
+ Signature: byte [] * range
+
+
+ + + + +

F# syntax: verbatim or regular byte string, e.g. "abc"B.

+

Also used internally in the typechecker once an array of unit16 constants +is detected, to allow more efficient processing of large arrays of uint16 constants.

+ + +
+ + + Char(char) + +
+ Signature: char
+
+
+ + + + +

F# syntax: 'a'

+ + +
+ + + Decimal(Decimal) + +
+ Signature: Decimal
+
+
+ + + + +

F# syntax: 23.4M

+ + +
+ + + Double(double) + +
+ Signature: double
+
+
+ + + + +

F# syntax: 1.30, 1.40e10 etc.

+ + +
+ + + Int16(int16) + +
+ Signature: int16
+
+
+ + + + +

F# syntax: 13s, 0x4000s, 0o0777s, 0b0111101s

+ + +
+ + + Int32(int32) + +
+ Signature: int32
+
+
+ + + + +

F# syntax: 13, 0x4000, 0o0777

+ + +
+ + + Int64(int64) + +
+ Signature: int64
+
+
+ + + + +

F# syntax: 13L

+ + +
+ + + IntPtr(int64) + +
+ Signature: int64
+
+
+ + + + +

F# syntax: 13n

+ + +
+ + + Measure(constant,SynMeasure) + +
+ Signature: SynConst * SynMeasure
+
+
+ + + + +

Old comment: "we never iterate, so the const here is not another SynConst.Measure"

+ + +
+ + + SByte(sbyte) + +
+ Signature: sbyte
+
+
+ + + + +

F# syntax: 13y, 0xFFy, 0o077y, 0b0111101y

+ + +
+ + + Single(single) + +
+ Signature: single
+
+
+ + + + +

F# syntax: 1.30f, 1.40e10f etc.

+ + +
+ + + String(text,range) + +
+ Signature: string * range
+
+
+ + + + +

F# syntax: verbatim or regular string, e.g. "abc"

+ + +
+ + + UInt16(uint16) + +
+ Signature: uint16
+
+
+ + + + +

F# syntax: 13us, 0x4000us, 0o0777us, 0b0111101us

+ + +
+ + + UInt16s(uint16 []) + +
+ Signature: uint16 []
+
+
+ + + + +

Used internally in the typechecker once an array of unit16 constants +is detected, to allow more efficient processing of large arrays of uint16 constants.

+ + +
+ + + UInt32(uint32) + +
+ Signature: uint32
+
+
+ + + + +

F# syntax: 13u, 0x4000u, 0o0777u

+ + +
+ + + UInt64(uint64) + +
+ Signature: uint64
+
+
+ + + + +

F# syntax: 13UL

+ + +
+ + + UIntPtr(uint64) + +
+ Signature: uint64
+
+
+ + + + +

F# syntax: 13un

+ + +
+ + + Unit + +
+ Signature:
+
+
+ + + + +

F# syntax: ()

+ + +
+ + + UserNum(value,suffix) + +
+ Signature: string * string
+
+
+ + + + +

UserNum(value, suffix)

+

F# syntax: 1Q, 1Z, 1R, 1N, 1G

+ + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range(dflt) + +
+ Signature: dflt:range -> range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synconstructorargs.html b/docs/reference/microsoft-fsharp-compiler-ast-synconstructorargs.html new file mode 100644 index 0000000000..3e85d8b292 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synconstructorargs.html @@ -0,0 +1,139 @@ + + + + + SynConstructorArgs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynConstructorArgs

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + NamePatPairs(...) + +
+ Signature: (Ident * SynPat) list * range
+
+
+ + + + + +
+ + + Pats(SynPat list) + +
+ Signature: SynPat list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synenumcase.html b/docs/reference/microsoft-fsharp-compiler-ast-synenumcase.html new file mode 100644 index 0000000000..1b32a04b13 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synenumcase.html @@ -0,0 +1,150 @@ + + + + + SynEnumCase - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynEnumCase

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + EnumCase(...) + +
+ Signature: SynAttributes * Ident * SynConst * PreXmlDoc * range
+
+
+ + + + +

The untyped, unchecked syntax tree for one case in an enum definition.

+ + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synenumcases.html b/docs/reference/microsoft-fsharp-compiler-ast-synenumcases.html new file mode 100644 index 0000000000..8619857e42 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synenumcases.html @@ -0,0 +1,201 @@ + + + + + SynEnumCases - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynEnumCases

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: SynEnumCase
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> SynEnumCase
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: SynEnumCase list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: SynEnumCase list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synexceptiondefn.html b/docs/reference/microsoft-fsharp-compiler-ast-synexceptiondefn.html new file mode 100644 index 0000000000..02e18ea267 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synexceptiondefn.html @@ -0,0 +1,150 @@ + + + + + SynExceptionDefn - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynExceptionDefn

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

'exception E = ... with ...'

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynExceptionDefn(...) + +
+ Signature: SynExceptionDefnRepr * SynMemberDefns * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synexceptiondefnrepr.html b/docs/reference/microsoft-fsharp-compiler-ast-synexceptiondefnrepr.html new file mode 100644 index 0000000000..93135c5b97 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synexceptiondefnrepr.html @@ -0,0 +1,150 @@ + + + + + SynExceptionDefnRepr - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynExceptionDefnRepr

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

'exception E = ... '

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynExceptionDefnRepr(...) + +
+ Signature: SynAttributes * SynUnionCase * LongIdent option * PreXmlDoc * SynAccess option * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synexceptionsig.html b/docs/reference/microsoft-fsharp-compiler-ast-synexceptionsig.html new file mode 100644 index 0000000000..b5835f54ec --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synexceptionsig.html @@ -0,0 +1,121 @@ + + + + + SynExceptionSig - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynExceptionSig

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynExceptionSig(...) + +
+ Signature: SynExceptionDefnRepr * SynMemberSigs * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synexpr.html b/docs/reference/microsoft-fsharp-compiler-ast-synexpr.html new file mode 100644 index 0000000000..bca6cbf023 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synexpr.html @@ -0,0 +1,1417 @@ + + + + + SynExpr - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynExpr

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AddressOf(isByref,SynExpr,range,range) + +
+ Signature: bool * SynExpr * range * range
+
+
+ + + + +

F# syntax: &expr, &&expr

+ + +
+ + + App(...) + +
+ Signature: ExprAtomicFlag * bool * SynExpr * SynExpr * range
+
+
+ + + + +

App(exprAtomicFlag, isInfix, funcExpr, argExpr, m) +- exprAtomicFlag: indicates if the application is syntactically atomic, e.g. f.[1] is atomic, but 'f x' is not +- isInfix is true for the first app of an infix operator, e.g. 1+2 becomes App(App(+,1),2), where the inner node is marked isInfix +(or more generally, for higher operator fixities, if App(x,y) is such that y comes before x in the source code, then the node is marked isInfix=true)

+

F# syntax: f x

+ + +
+ + + ArbitraryAfterError(debugStr,range) + +
+ Signature: string * range
+
+
+ + + + +

Inserted for error recovery

+ + +
+ + + ArrayOrList(isList,exprs,range) + +
+ Signature: bool * SynExpr list * range
+
+
+ + + + +

F# syntax: [ e1; ...; en ], [| e1; ...; en |]

+ + +
+ + + ArrayOrListOfSeqExpr(isList,expr,range) + +
+ Signature: bool * SynExpr * range
+
+
+ + + + +

F# syntax: [ expr ], [| expr |]

+ + +
+ + + Assert(expr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

F# syntax: assert expr

+ + +
+ + + CompExpr(...) + +
+ Signature: bool * bool ref * SynExpr * range
+
+
+ + + + +

CompExpr(isArrayOrList, isNotNakedRefCell, expr)

+

F# syntax: { expr }

+ + +
+ + + Const(constant,range) + +
+ Signature: SynConst * range
+
+
+ + + + +

F# syntax: 1, 1.3, () etc.

+ + +
+ + + DiscardAfterMissingQualificationAfterDot(...) + +
+ Signature: SynExpr * range
+
+
+ + + + +

Inserted for error recovery when there is "expr." and missing tokens or error recovery after the dot

+ + +
+ + + Do(expr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

F# syntax: do expr

+ + +
+ + + DoBang(expr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

F# syntax: do! expr +Computation expressions only

+ + +
+ + + DotGet(expr,rangeOfDot,longDotId,range) + +
+ Signature: SynExpr * range * LongIdentWithDots * range
+
+
+ + + + +

DotGet(expr, rangeOfDot, lid, wholeRange)

+

F# syntax: expr.ident.ident

+ + +
+ + + DotIndexedGet(...) + +
+ Signature: SynExpr * SynIndexerArg list * range * range
+
+
+ + + + +

F# syntax: expr.[expr,...,expr]

+ + +
+ + + DotIndexedSet(...) + +
+ Signature: SynExpr * SynIndexerArg list * SynExpr * range * range * range
+
+
+ + + + +

DotIndexedSet (objectExpr, indexExprs, valueExpr, rangeOfLeftOfSet, rangeOfDot, rangeOfWholeExpr)

+

F# syntax: expr.[expr,...,expr] <- expr

+ + +
+ + + DotNamedIndexedPropertySet(...) + +
+ Signature: SynExpr * LongIdentWithDots * SynExpr * SynExpr * range
+
+
+ + + + +

F# syntax: expr.Items(e1) <- e2 , rarely used named-property-setter notation, e.g. (stringExpr).Chars(3) <- 'a'

+ + +
+ + + DotSet(SynExpr,longDotId,SynExpr,range) + +
+ Signature: SynExpr * LongIdentWithDots * SynExpr * range
+
+
+ + + + +

F# syntax: expr.ident...ident <- expr

+ + +
+ + + Downcast(expr,typeName,range) + +
+ Signature: SynExpr * SynType * range
+
+
+ + + + +

F# syntax: expr :?> type

+ + +
+ + + Fixed(expr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

'use x = fixed expr'

+ + +
+ + + For(...) + +
+ Signature: SequencePointInfoForForLoop * Ident * SynExpr * bool * SynExpr * SynExpr * range
+
+
+ + + + +

F# syntax: 'for i = ... to ... do ...'

+ + +
+ + + ForEach(...) + +
+ Signature: SequencePointInfoForForLoop * SeqExprOnly * bool * SynPat * SynExpr * SynExpr * range
+
+
+ + + + +

SynExpr.ForEach (spBind, seqExprOnly, isFromSource, pat, enumExpr, bodyExpr, mWholeExpr).

+

F# syntax: 'for ... in ... do ...'

+ + +
+ + + FromParseError(expr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

Inserted for error recovery

+ + +
+ + + Ident(Ident) + +
+ Signature: Ident
+
+
+ + + + +

F# syntax: ident +Optimized representation, = SynExpr.LongIdent(false,[id],id.idRange)

+ + +
+ + + IfThenElse(...) + +
+ Signature: SynExpr * SynExpr * SynExpr option * SequencePointInfoForBinding * bool * range * range
+
+
+ + + + +

IfThenElse(exprGuard,exprThen,optionalExprElse,spIfToThen,isFromErrorRecovery,mIfToThen,mIfToEndOfLastBranch)

+

F# syntax: if expr then expr +F# syntax: if expr then expr else expr

+ + +
+ + + ImplicitZero(range) + +
+ Signature: range
+
+
+ + + + +

F# syntax: +Computation expressions only, implied by final "do" or "do!"

+ + +
+ + + InferredDowncast(expr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

F# syntax: downcast expr

+ + +
+ + + InferredUpcast(expr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

F# syntax: upcast expr

+ + +
+ + + JoinIn(SynExpr,range,SynExpr,range) + +
+ Signature: SynExpr * range * SynExpr * range
+
+
+ + + + +

F# syntax: ... in ... +Computation expressions only, based on JOIN_IN token from lex filter

+ + +
+ + + Lambda(...) + +
+ Signature: bool * bool * SynSimplePats * SynExpr * range
+
+
+ + + + +

First bool indicates if lambda originates from a method. Patterns here are always "simple" +Second bool indicates if this is a "later" part of an iterated sequence of lambdas

+

F# syntax: fun pat -> expr

+ + +
+ + + Lazy(SynExpr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

F# syntax: lazy expr

+ + +
+ + + LetOrUse(...) + +
+ Signature: bool * bool * SynBinding list * SynExpr * range
+
+
+ + + + +

LetOrUse(isRecursive, isUse, bindings, body, wholeRange)

+

F# syntax: let pat = expr in expr +F# syntax: let f pat1 .. patN = expr in expr +F# syntax: let rec f pat1 .. patN = expr in expr +F# syntax: use pat = expr in expr

+ + +
+ + + LetOrUseBang(...) + +
+ Signature: SequencePointInfoForBinding * bool * bool * SynPat * SynExpr * SynExpr * range
+
+
+ + + + +

SynExpr.LetOrUseBang(spBind, isUse, isFromSource, pat, rhsExpr, bodyExpr, mWholeExpr).

+

F# syntax: let! pat = expr in expr +F# syntax: use! pat = expr in expr +Computation expressions only

+ + +
+ + + LibraryOnlyILAssembly(...) + +
+ Signature: ILInstr array * SynType list * SynExpr list * SynType list * range
+
+
+ + + + +

Only used in FSharp.Core

+ + +
+ + + LibraryOnlyStaticOptimization(...) + +
+ Signature: SynStaticOptimizationConstraint list * SynExpr * SynExpr * range
+
+
+ + + + +

Only used in FSharp.Core

+ + +
+ + + LibraryOnlyUnionCaseFieldGet(...) + +
+ Signature: SynExpr * LongIdent * int * range
+
+
+ + + + +

Only used in FSharp.Core

+ + +
+ + + LibraryOnlyUnionCaseFieldSet(...) + +
+ Signature: SynExpr * LongIdent * int * SynExpr * range
+
+
+ + + + +

Only used in FSharp.Core

+ + +
+ + + LongIdent(...) + +
+ Signature: bool * LongIdentWithDots * SynSimplePatAlternativeIdInfo ref option * range
+
+
+ + + + +

F# syntax: ident.ident...ident +LongIdent(isOptional, longIdent, altNameRefCell, m) +isOptional: true if preceded by a '?' for an optional named parameter +altNameRefCell: Normally 'None' except for some compiler-generated variables in desugaring pattern matching. See SynSimplePat.Id

+ + +
+ + + LongIdentSet(longDotId,expr,range) + +
+ Signature: LongIdentWithDots * SynExpr * range
+
+
+ + + + +

F# syntax: ident.ident...ident <- expr

+ + +
+ + + Match(...) + +
+ Signature: SequencePointInfoForBinding * SynExpr * SynMatchClause list * bool * range
+
+
+ + + + +

F# syntax: match expr with pat1 -> expr | ... | patN -> exprN

+ + +
+ + + MatchLambda(...) + +
+ Signature: bool * range * SynMatchClause list * SequencePointInfoForBinding * range
+
+
+ + + + +

F# syntax: function pat1 -> expr | ... | patN -> exprN

+ + +
+ + + NamedIndexedPropertySet(...) + +
+ Signature: LongIdentWithDots * SynExpr * SynExpr * range
+
+
+ + + + +

F# syntax: Type.Items(e1) <- e2 , rarely used named-property-setter notation, e.g. Foo.Bar.Chars(3) <- 'a'

+ + +
+ + + New(isProtected,typeName,expr,range) + +
+ Signature: bool * SynType * SynExpr * range
+
+
+ + + + +

F# syntax: new C(...) +The flag is true if known to be 'family' ('protected') scope

+ + +
+ + + Null(range) + +
+ Signature: range
+
+
+ + + + +

F# syntax: null

+ + +
+ + + ObjExpr(...) + +
+ Signature: SynType * (SynExpr * Ident option) option * SynBinding list * SynInterfaceImpl list * range * range
+
+
+ + + + +

SynExpr.ObjExpr(objTy,argOpt,binds,extraImpls,mNewExpr,mWholeExpr)

+

F# syntax: { new ... with ... }

+ + +
+ + + Paren(...) + +
+ Signature: SynExpr * range * range option * range
+
+
+ + + + +

F# syntax: (expr)

+

Paren(expr, leftParenRange, rightParenRange, wholeRangeIncludingParentheses)

+

Parenthesized expressions. Kept in AST to distinguish A.M((x,y)) +from A.M(x,y), among other things.

+ + +
+ + + Quote(...) + +
+ Signature: SynExpr * bool * SynExpr * bool * range
+
+
+ + + + +

F# syntax: <@ expr @>, <@@ expr @@>

+

Quote(operator,isRaw,quotedSynExpr,isFromQueryExpression,m)

+ + +
+ + + Record(...) + +
+ Signature: (SynType * SynExpr * range * BlockSeparator option * range) option * (SynExpr * BlockSeparator) option * (RecordFieldName * SynExpr option * BlockSeparator option) list * range
+
+
+ + + + +

F# syntax: { f1=e1; ...; fn=en } +SynExpr.Record((baseType, baseCtorArgs, mBaseCtor, sepAfterBase, mInherits), (copyExpr, sepAfterCopyExpr), (recordFieldName, fieldValue, sepAfterField), mWholeExpr) +inherit includes location of separator (for tooling) +copyOpt contains range of the following WITH part (for tooling) +every field includes range of separator after the field (for tooling)

+ + +
+ + + Sequential(...) + +
+ Signature: SequencePointInfoForSeq * bool * SynExpr * SynExpr * range
+
+
+ + + + +

Seq(seqPoint, isTrueSeq, e1, e2, m) +isTrueSeq: false indicates "let v = a in b; v"

+

F# syntax: expr; expr

+ + +
+ + + StructTuple(exprs,commaRanges,range) + +
+ Signature: SynExpr list * range list * range
+
+
+ + + + +

F# syntax: struct (e1, ..., eN)

+ + +
+ + + TraitCall(...) + +
+ Signature: SynTypar list * SynMemberSig * SynExpr * range
+
+
+ + + + +

F# syntax: ((typar1 or ... or typarN): (member-dig) expr)

+ + +
+ + + TryFinally(...) + +
+ Signature: SynExpr * SynExpr * range * SequencePointInfoForTry * SequencePointInfoForFinally
+
+
+ + + + +

F# syntax: try expr finally expr

+ + +
+ + + TryWith(...) + +
+ Signature: SynExpr * range * SynMatchClause list * range * range * SequencePointInfoForTry * SequencePointInfoForWith
+
+
+ + + + +

F# syntax: try expr with pat -> expr

+ + +
+ + + Tuple(exprs,commaRanges,range) + +
+ Signature: SynExpr list * range list * range
+
+
+ + + + +

F# syntax: e1, ..., eN

+ + +
+ + + TypeApp(...) + +
+ Signature: SynExpr * range * SynType list * range list * range option * range * range
+
+
+ + + + +

TypeApp(expr, mLessThan, types, mCommas, mGreaterThan, mTypeArgs, mWholeExpr) +"mCommas" are the ranges for interstitial commas, these only matter for parsing/design-time tooling, the typechecker may munge/discard them

+

F# syntax: expr

+ + +
+ + + Typed(expr,typeName,range) + +
+ Signature: SynExpr * SynType * range
+
+
+ + + + +

F# syntax: expr : type

+ + +
+ + + TypeTest(expr,typeName,range) + +
+ Signature: SynExpr * SynType * range
+
+
+ + + + +

F# syntax: expr :? type

+ + +
+ + + Upcast(expr,typeName,range) + +
+ Signature: SynExpr * SynType * range
+
+
+ + + + +

F# syntax: expr :> type

+ + +
+ + + While(...) + +
+ Signature: SequencePointInfoForWhileLoop * SynExpr * SynExpr * range
+
+
+ + + + +

F# syntax: 'while ... do ...'

+ + +
+ + + YieldOrReturn(bool * bool,expr,range) + +
+ Signature: bool * bool * SynExpr * range
+
+
+ + + + +

F# syntax: yield expr +F# syntax: return expr +Computation expressions only

+ + +
+ + + YieldOrReturnFrom(...) + +
+ Signature: bool * bool * SynExpr * range
+
+
+ + + + +

F# syntax: yield! expr +F# syntax: return! expr +Computation expressions only

+ + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsArbExprAndThusAlreadyReportedError + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsArbExprAndThusAlreadyReportedError

+
+ + + Range + +
+ Signature: range
+
+
+ + + + +

Get the syntactic range of source code covered by this construct.

+ + +

CompiledName: get_Range

+
+ + + RangeOfFirstPortion + +
+ Signature: range
+
+
+ + + + +

Attempt to get the range of the first token or initial portion only - this is extremely ad-hoc, just a cheap way to improve a certain 'query custom operation' error range

+ + +

CompiledName: get_RangeOfFirstPortion

+
+ + + RangeSansAnyExtraDot + +
+ Signature: range
+
+
+ + + + +

range ignoring any (parse error) extra trailing dots

+ + +

CompiledName: get_RangeSansAnyExtraDot

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synfield.html b/docs/reference/microsoft-fsharp-compiler-ast-synfield.html new file mode 100644 index 0000000000..5f713c084f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synfield.html @@ -0,0 +1,123 @@ + + + + + SynField - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynField

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The untyped, unchecked syntax tree for a field declaration in a record or class

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + Field(...) + +
+ Signature: SynAttributes * bool * Ident option * SynType * bool * PreXmlDoc * SynAccess option * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synfields.html b/docs/reference/microsoft-fsharp-compiler-ast-synfields.html new file mode 100644 index 0000000000..a8a6916220 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synfields.html @@ -0,0 +1,201 @@ + + + + + SynFields - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynFields

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: SynField
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> SynField
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: SynField list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: SynField list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synindexerarg.html b/docs/reference/microsoft-fsharp-compiler-ast-synindexerarg.html new file mode 100644 index 0000000000..43f7a5d1b5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synindexerarg.html @@ -0,0 +1,185 @@ + + + + + SynIndexerArg - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynIndexerArg

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + One(SynExpr) + +
+ Signature: SynExpr
+
+
+ + + + + +
+ + + Two(SynExpr,SynExpr) + +
+ Signature: SynExpr * SynExpr
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Exprs + +
+ Signature: SynExpr list
+
+
+ + + + + +

CompiledName: get_Exprs

+
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syninfo.html b/docs/reference/microsoft-fsharp-compiler-ast-syninfo.html new file mode 100644 index 0000000000..97f1b50b50 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syninfo.html @@ -0,0 +1,570 @@ + + + + + SynInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Operations related to the syntactic analysis of arguments of value, function and member definitions and signatures.

+

Function and member definitions have strongly syntactically constrained arities. We infer +the arity from the syntax.

+

For example, we record the arity for: +StaticProperty --> [1] -- for unit arg +this.InstanceProperty --> [1;1] -- for unit arg +StaticMethod(args) --> map InferSynArgInfoFromSimplePat args +this.InstanceMethod() --> 1 :: map InferSynArgInfoFromSimplePat args +this.InstanceProperty with get(argpat) --> 1 :: [InferSynArgInfoFromSimplePat argpat] +StaticProperty with get(argpat) --> [InferSynArgInfoFromSimplePat argpat] +this.InstanceProperty with get() --> 1 :: [InferSynArgInfoFromSimplePat argpat] +StaticProperty with get() --> [InferSynArgInfoFromSimplePat argpat]

+

this.InstanceProperty with set(argpat)(v) --> 1 :: [InferSynArgInfoFromSimplePat argpat; 1] +StaticProperty with set(argpat)(v) --> [InferSynArgInfoFromSimplePat argpat; 1] +this.InstanceProperty with set(v) --> 1 :: [1] +StaticProperty with set(v) --> [1]

+ +
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AdjustArgsForUnitElimination (...) + +
+ Signature: infosForArgs:SynArgInfo list list -> SynArgInfo list list
+
+
+ + + + +

Make sure only a solitary unit argument has unit elimination

+ + +
+ + + AdjustMemberArgs memFlags infosForArgs + +
+ Signature: memFlags:MemberKind -> infosForArgs:'a list list -> 'a list list
+ Type parameters: 'a
+
+ + + + +

Transform a property declared using '[static] member P = expr' to a method taking a "unit" argument. +This is similar to IncorporateEmptyTupledArgForPropertyGetter, but applies to member definitions +rather than member signatures.

+ + +
+ + + AritiesOfArgs arg1 + +
+ Signature: SynValInfo -> int list
+
+
+ + + + +

Get the argument counts for each curried argument group. Used in some adhoc places in tc.fs.

+ + +
+ + + AttribsOfArgData arg1 + +
+ Signature: SynArgInfo -> SynAttributes
+
+
+ + + + +

Get the argument attributes from the syntactic information for an argument.

+ + +
+ + + emptySynValData + +
+ Signature: SynValData
+
+
+ + + + + +
+ + + HasNoArgs arg1 + +
+ Signature: SynValInfo -> bool
+
+
+ + + + +

Determine if a syntactic information represents a member without arguments (which is implicitly a property getter)

+ + +
+ + + HasOptionalArgs arg1 + +
+ Signature: SynValInfo -> bool
+
+
+ + + + +

Check if there are any optional arguments in the syntactic argument information. Used when adjusting the +types of optional arguments for function and member signatures.

+ + +
+ + + IncorporateEmptyTupledArgForPropertyGetter (...) + +
+ Signature: SynValInfo -> SynValInfo
+
+
+ + + + +

Add a parameter entry to the syntactic value information to represent the '()' argument to a property getter. This is +used for the implicit '()' argument in property getter signature specifications.

+ + +
+ + + IncorporateSelfArg arg1 + +
+ Signature: SynValInfo -> SynValInfo
+
+
+ + + + +

Add a parameter entry to the syntactic value information to represent the 'this' argument. This is +used for the implicit 'this' argument in member signature specifications.

+ + +
+ + + IncorporateSetterArg arg1 + +
+ Signature: SynValInfo -> SynValInfo
+
+
+ + + + +

Add a parameter entry to the syntactic value information to represent the value argument for a property setter. This is +used for the implicit value argument in property setter signature specifications.

+ + +
+ + + InferLambdaArgs origRhsExpr + +
+ Signature: origRhsExpr:SynExpr -> SynArgInfo list list
+
+
+ + + + +

For 'let' definitions, we infer syntactic argument information from the r.h.s. of a definition, if it +is an immediate 'fun ... -> ...' or 'function ...' expression. This is noted in the F# language specification. +This does not apply to member definitions.

+ + +
+ + + InferSynArgInfoFromPat p + +
+ Signature: p:SynPat -> SynArgInfo list
+
+
+ + + + +

Infer the syntactic argument info for one or more arguments a pattern.

+ + +
+ + + InferSynArgInfoFromSimplePat attribs p + +
+ Signature: attribs:SynAttributes -> p:SynSimplePat -> SynArgInfo
+
+
+ + + + +

Infer the syntactic argument info for a single argument from a simple pattern.

+ + +
+ + + InferSynArgInfoFromSimplePats x + +
+ Signature: x:SynSimplePats -> SynArgInfo list
+
+
+ + + + +

Infer the syntactic argument info for one or more arguments one or more simple patterns.

+ + +
+ + + InferSynReturnData retInfo + +
+ Signature: retInfo:SynReturnInfo option -> SynArgInfo
+
+
+ + + + + +
+ + + InferSynValData (...) + +
+ Signature: (memberFlagsOpt:MemberFlags option * pat:SynPat option * retInfo:SynReturnInfo option * origRhsExpr:SynExpr) -> SynValData
+
+
+ + + + +

Infer the syntactic information for a 'let' or 'member' definition, based on the argument pattern, +any declared return information (e.g. .NET attributes on the return element), and the r.h.s. expression +in the case of 'let' definitions.

+ + +
+ + + IsOptionalArg arg1 + +
+ Signature: SynArgInfo -> bool
+
+
+ + + + +

Check if one particular argument is an optional argument. Used when adjusting the +types of optional arguments for function and member signatures.

+ + +
+ + + selfMetadata + +
+ Signature: SynArgInfo list
+
+
+ + + + +

The 'argument' information for the 'this'/'self' parameter in the cases where it is not given explicitly

+ + +
+ + + unitArgData + +
+ Signature: SynArgInfo list
+
+
+ + + + +

The argument information for a '()' argument

+ + +
+ + + unnamedRetVal + +
+ Signature: SynArgInfo
+
+
+ + + + +

The 'argument' information for a return value where no attributes are given for the return value (the normal case)

+ + +
+ + + unnamedTopArg + +
+ Signature: SynArgInfo list
+
+
+ + + + +

The argument information for a curried argument without a name

+ + +
+ + + unnamedTopArg1 + +
+ Signature: SynArgInfo
+
+
+ + + + +

The argument information for an argument without a name

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syninterfaceimpl.html b/docs/reference/microsoft-fsharp-compiler-ast-syninterfaceimpl.html new file mode 100644 index 0000000000..72bdc2c3d3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syninterfaceimpl.html @@ -0,0 +1,121 @@ + + + + + SynInterfaceImpl - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynInterfaceImpl

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + InterfaceImpl(...) + +
+ Signature: SynType * SynBinding list * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmatchclause.html b/docs/reference/microsoft-fsharp-compiler-ast-synmatchclause.html new file mode 100644 index 0000000000..9d7b102774 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmatchclause.html @@ -0,0 +1,167 @@ + + + + + SynMatchClause - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynMatchClause

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + Clause(...) + +
+ Signature: SynPat * SynExpr option * SynExpr * range * SequencePointInfoForTarget
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ + + RangeOfGuardAndRhs + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_RangeOfGuardAndRhs

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmeasure.html b/docs/reference/microsoft-fsharp-compiler-ast-synmeasure.html new file mode 100644 index 0000000000..4e4f027140 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmeasure.html @@ -0,0 +1,250 @@ + + + + + SynMeasure - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynMeasure

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The unchecked abstract syntax tree of F# unit of measure annotations. +This should probably be merged with the representation of SynType.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Anon(range) + +
+ Signature: range
+
+
+ + + + + +
+ + + Divide(SynMeasure,SynMeasure,range) + +
+ Signature: SynMeasure * SynMeasure * range
+
+
+ + + + + +
+ + + Named(longId,range) + +
+ Signature: LongIdent * range
+
+
+ + + + + +
+ + + One + +
+ Signature:
+
+
+ + + + + +
+ + + Power(SynMeasure,SynRationalConst,range) + +
+ Signature: SynMeasure * SynRationalConst * range
+
+
+ + + + + +
+ + + Product(SynMeasure,SynMeasure,range) + +
+ Signature: SynMeasure * SynMeasure * range
+
+
+ + + + + +
+ + + Seq(SynMeasure list,range) + +
+ Signature: SynMeasure list * range
+
+
+ + + + + +
+ + + Var(SynTypar,range) + +
+ Signature: SynTypar * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmemberdefn.html b/docs/reference/microsoft-fsharp-compiler-ast-synmemberdefn.html new file mode 100644 index 0000000000..a4d3aa0d6e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmemberdefn.html @@ -0,0 +1,340 @@ + + + + + SynMemberDefn - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynMemberDefn

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AbstractSlot(...) + +
+ Signature: SynValSig * MemberFlags * range
+
+
+ + + + + +
+ + + AutoProperty(...) + +
+ Signature: SynAttributes * bool * Ident * SynType option * MemberKind * MemberKind -> MemberFlags * PreXmlDoc * SynAccess option * SynExpr * range option * range
+
+
+ + + + +

SynMemberDefn.AutoProperty (attribs,isStatic,id,tyOpt,propKind,memberFlags,xmlDoc,access,synExpr,mGetSet,mWholeAutoProp).

+

F# syntax: 'member val X = expr'

+ + +
+ + + ImplicitCtor(...) + +
+ Signature: SynAccess option * SynAttributes * SynSimplePat list * Ident option * range
+
+
+ + + + +

implicit ctor args as a defn line, 'as' specification

+ + +
+ + + ImplicitInherit(...) + +
+ Signature: SynType * SynExpr * Ident option * range
+
+
+ + + + +

inherit (args...) as base

+ + +
+ + + Inherit(SynType,Ident option,range) + +
+ Signature: SynType * Ident option * range
+
+
+ + + + + +
+ + + Interface(...) + +
+ Signature: SynType * SynMemberDefns option * range
+
+
+ + + + + +
+ + + LetBindings(...) + +
+ Signature: SynBinding list * bool * bool * range
+
+
+ + + + +

LetBindings(bindingList, isStatic, isRecursive, wholeRange)

+

localDefns

+ + +
+ + + Member(memberDefn,range) + +
+ Signature: SynBinding * range
+
+
+ + + + + +
+ + + NestedType(typeDefn,accessibility,range) + +
+ Signature: SynTypeDefn * SynAccess option * range
+
+
+ + + + +

A feature that is not implemented

+ + +
+ + + Open(longId,range) + +
+ Signature: LongIdent * range
+
+
+ + + + + +
+ + + ValField(SynField,range) + +
+ Signature: SynField * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmemberdefns.html b/docs/reference/microsoft-fsharp-compiler-ast-synmemberdefns.html new file mode 100644 index 0000000000..047d7ba16a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmemberdefns.html @@ -0,0 +1,201 @@ + + + + + SynMemberDefns - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynMemberDefns

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: SynMemberDefn
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> SynMemberDefn
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: SynMemberDefn list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: SynMemberDefn list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmembersig.html b/docs/reference/microsoft-fsharp-compiler-ast-synmembersig.html new file mode 100644 index 0000000000..59b3cfd429 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmembersig.html @@ -0,0 +1,196 @@ + + + + + SynMemberSig - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynMemberSig

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The untyped, unchecked syntax tree for a member signature, used in signature files, abstract member declarations +and member constraints.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Inherit(typeName,range) + +
+ Signature: SynType * range
+
+
+ + + + + +
+ + + Interface(typeName,range) + +
+ Signature: SynType * range
+
+
+ + + + + +
+ + + Member(SynValSig,MemberFlags,range) + +
+ Signature: SynValSig * MemberFlags * range
+
+
+ + + + + +
+ + + NestedType(SynTypeDefnSig,range) + +
+ Signature: SynTypeDefnSig * range
+
+
+ + + + + +
+ + + ValField(SynField,range) + +
+ Signature: SynField * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmembersigs.html b/docs/reference/microsoft-fsharp-compiler-ast-synmembersigs.html new file mode 100644 index 0000000000..7992f981c4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmembersigs.html @@ -0,0 +1,201 @@ + + + + + SynMemberSigs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynMemberSigs

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: SynMemberSig
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> SynMemberSig
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: SynMemberSig list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: SynMemberSig list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmoduledecl.html b/docs/reference/microsoft-fsharp-compiler-ast-synmoduledecl.html new file mode 100644 index 0000000000..c399294351 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmoduledecl.html @@ -0,0 +1,310 @@ + + + + + SynModuleDecl - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynModuleDecl

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Attributes(SynAttributes,range) + +
+ Signature: SynAttributes * range
+
+
+ + + + + +
+ + + DoExpr(...) + +
+ Signature: SequencePointInfoForBinding * SynExpr * range
+
+
+ + + + + +
+ + + Exception(SynExceptionDefn,range) + +
+ Signature: SynExceptionDefn * range
+
+
+ + + + + +
+ + + HashDirective(ParsedHashDirective,range) + +
+ Signature: ParsedHashDirective * range
+
+
+ + + + + +
+ + + Let(bool,SynBinding list,range) + +
+ Signature: bool * SynBinding list * range
+
+
+ + + + + +
+ + + ModuleAbbrev(ident,longId,range) + +
+ Signature: Ident * LongIdent * range
+
+
+ + + + + +
+ + + NamespaceFragment(SynModuleOrNamespace) + +
+ Signature: SynModuleOrNamespace
+
+
+ + + + + +
+ + + NestedModule(...) + +
+ Signature: SynComponentInfo * bool * SynModuleDecls * bool * range
+
+
+ + + + + +
+ + + Open(longDotId,range) + +
+ Signature: LongIdentWithDots * range
+
+
+ + + + + +
+ + + Types(SynTypeDefn list,range) + +
+ Signature: SynTypeDefn list * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmoduledecls.html b/docs/reference/microsoft-fsharp-compiler-ast-synmoduledecls.html new file mode 100644 index 0000000000..cb22fac933 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmoduledecls.html @@ -0,0 +1,201 @@ + + + + + SynModuleDecls - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynModuleDecls

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: SynModuleDecl
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> SynModuleDecl
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: SynModuleDecl list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: SynModuleDecl list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmoduleornamespace.html b/docs/reference/microsoft-fsharp-compiler-ast-synmoduleornamespace.html new file mode 100644 index 0000000000..7c38f4bc73 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmoduleornamespace.html @@ -0,0 +1,150 @@ + + + + + SynModuleOrNamespace - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynModuleOrNamespace

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

SynModuleOrNamespace(lid,isRec,isModule,decls,xmlDoc,attribs,SynAccess,m)

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynModuleOrNamespace(...) + +
+ Signature: LongIdent * bool * bool * SynModuleDecls * PreXmlDoc * SynAttributes * SynAccess option * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmoduleornamespacesig.html b/docs/reference/microsoft-fsharp-compiler-ast-synmoduleornamespacesig.html new file mode 100644 index 0000000000..2b684a7d0a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmoduleornamespacesig.html @@ -0,0 +1,121 @@ + + + + + SynModuleOrNamespaceSig - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynModuleOrNamespaceSig

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynModuleOrNamespaceSig(...) + +
+ Signature: LongIdent * bool * bool * SynModuleSigDecls * PreXmlDoc * SynAttributes * SynAccess option * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmodulesigdecl.html b/docs/reference/microsoft-fsharp-compiler-ast-synmodulesigdecl.html new file mode 100644 index 0000000000..40c3f4ac2d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmodulesigdecl.html @@ -0,0 +1,274 @@ + + + + + SynModuleSigDecl - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynModuleSigDecl

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Exception(SynExceptionSig,range) + +
+ Signature: SynExceptionSig * range
+
+
+ + + + + +
+ + + HashDirective(ParsedHashDirective,range) + +
+ Signature: ParsedHashDirective * range
+
+
+ + + + + +
+ + + ModuleAbbrev(ident,longId,range) + +
+ Signature: Ident * LongIdent * range
+
+
+ + + + + +
+ + + NamespaceFragment(...) + +
+ Signature: SynModuleOrNamespaceSig
+
+
+ + + + + +
+ + + NestedModule(...) + +
+ Signature: SynComponentInfo * bool * SynModuleSigDecls * range
+
+
+ + + + + +
+ + + Open(longId,range) + +
+ Signature: LongIdent * range
+
+
+ + + + + +
+ + + Types(SynTypeDefnSig list,range) + +
+ Signature: SynTypeDefnSig list * range
+
+
+ + + + + +
+ + + Val(SynValSig,range) + +
+ Signature: SynValSig * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synmodulesigdecls.html b/docs/reference/microsoft-fsharp-compiler-ast-synmodulesigdecls.html new file mode 100644 index 0000000000..8002b6a859 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synmodulesigdecls.html @@ -0,0 +1,201 @@ + + + + + SynModuleSigDecls - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynModuleSigDecls

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: SynModuleSigDecl
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> SynModuleSigDecl
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: SynModuleSigDecl list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: SynModuleSigDecl list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synpat.html b/docs/reference/microsoft-fsharp-compiler-ast-synpat.html new file mode 100644 index 0000000000..1c74caf38c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synpat.html @@ -0,0 +1,504 @@ + + + + + SynPat - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynPat

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Ands(SynPat list,range) + +
+ Signature: SynPat list * range
+
+
+ + + + + +
+ + + ArrayOrList(bool,SynPat list,range) + +
+ Signature: bool * SynPat list * range
+
+
+ + + + + +
+ + + Attrib(SynPat,SynAttributes,range) + +
+ Signature: SynPat * SynAttributes * range
+
+
+ + + + + +
+ + + Const(SynConst,range) + +
+ Signature: SynConst * range
+
+
+ + + + + +
+ + + DeprecatedCharRange(char,char,range) + +
+ Signature: char * char * range
+
+
+ + + + +

Deprecated character range:ranges

+ + +
+ + + FromParseError(SynPat,range) + +
+ Signature: SynPat * range
+
+
+ + + + +

A pattern arising from a parse error

+ + +
+ + + InstanceMember(...) + +
+ Signature: Ident * Ident * Ident option * SynAccess option * range
+
+
+ + + + +

Used internally in the type checker

+ + +
+ + + IsInst(SynType,range) + +
+ Signature: SynType * range
+
+
+ + + + +

':? type '

+ + +
+ + + LongIdent(...) + +
+ Signature: LongIdentWithDots * Ident option * SynValTyparDecls option * SynConstructorArgs * SynAccess option * range
+
+
+ + + + + +
+ + + Named(...) + +
+ Signature: SynPat * Ident * bool * SynAccess option * range
+
+
+ + + + + +
+ + + Null(range) + +
+ Signature: range
+
+
+ + + + +

'null'

+ + +
+ + + OptionalVal(Ident,range) + +
+ Signature: Ident * range
+
+
+ + + + +

'?id' -- for optional argument names

+ + +
+ + + Or(SynPat,SynPat,range) + +
+ Signature: SynPat * SynPat * range
+
+
+ + + + + +
+ + + Paren(SynPat,range) + +
+ Signature: SynPat * range
+
+
+ + + + + +
+ + + QuoteExpr(SynExpr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

&lt;@ expr @&gt;, used for active pattern arguments

+ + +
+ + + Record(...) + +
+ Signature: ((LongIdent * Ident) * SynPat) list * range
+
+
+ + + + + +
+ + + StructTuple(SynPat list,range) + +
+ Signature: SynPat list * range
+
+
+ + + + + +
+ + + Tuple(SynPat list,range) + +
+ Signature: SynPat list * range
+
+
+ + + + + +
+ + + Typed(SynPat,SynType,range) + +
+ Signature: SynPat * SynType * range
+
+
+ + + + + +
+ + + Wild(range) + +
+ Signature: range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synrationalconst.html b/docs/reference/microsoft-fsharp-compiler-ast-synrationalconst.html new file mode 100644 index 0000000000..a65efe7ba5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synrationalconst.html @@ -0,0 +1,159 @@ + + + + + SynRationalConst - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynRationalConst

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The unchecked abstract syntax tree of F# unit of measure exponents.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Integer(int32) + +
+ Signature: int32
+
+
+ + + + + +
+ + + Negate(SynRationalConst) + +
+ Signature: SynRationalConst
+
+
+ + + + + +
+ + + Rational(int32,int32,range) + +
+ Signature: int32 * int32 * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synreturninfo.html b/docs/reference/microsoft-fsharp-compiler-ast-synreturninfo.html new file mode 100644 index 0000000000..39313b0426 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synreturninfo.html @@ -0,0 +1,126 @@ + + + + + SynReturnInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynReturnInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The syntactic elements associated with the "return" of a function or method. Some of this is +mostly dummy information to make the return element look like an argument, +the important thing is that (a) you can give a return type for the function or method, and +(b) you can associate .NET attributes to return of a function or method and these get stored in .NET metadata.

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynReturnInfo(...) + +
+ Signature: SynType * SynArgInfo * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synsimplepat.html b/docs/reference/microsoft-fsharp-compiler-ast-synsimplepat.html new file mode 100644 index 0000000000..fdc234a2df --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synsimplepat.html @@ -0,0 +1,168 @@ + + + + + SynSimplePat - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynSimplePat

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Attrib(SynSimplePat,SynAttributes,range) + +
+ Signature: SynSimplePat * SynAttributes * range
+
+
+ + + + + +
+ + + Id(...) + +
+ Signature: Ident * SynSimplePatAlternativeIdInfo ref option * bool * bool * bool * range
+
+
+ + + + +

Id (ident, altNameRefCell, isCompilerGenerated, isThisVar, isOptArg, range)

+

Indicates a simple pattern variable.

+

altNameRefCell +Normally 'None' except for some compiler-generated variables in desugaring pattern matching. +Pattern processing sets this reference for hidden variable introduced by desugaring pattern matching in arguments. +The info indicates an alternative (compiler generated) identifier to be used because the name of the identifier is already bound. +See Product Studio FSharp 1.0, bug 6389.

+

isCompilerGenerated : true if a compiler generated name +isThisVar: true if 'this' variable in member +isOptArg: true if a '?' is in front of the name

+ + +
+ + + Typed(SynSimplePat,SynType,range) + +
+ Signature: SynSimplePat * SynType * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synsimplepatalternativeidinfo.html b/docs/reference/microsoft-fsharp-compiler-ast-synsimplepatalternativeidinfo.html new file mode 100644 index 0000000000..46ec41e474 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synsimplepatalternativeidinfo.html @@ -0,0 +1,143 @@ + + + + + SynSimplePatAlternativeIdInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynSimplePatAlternativeIdInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Decided(Ident) + +
+ Signature: Ident
+
+
+ + + + +

We have decided to use an alternative name in tha pattern and related expression

+ + +
+ + + Undecided(Ident) + +
+ Signature: Ident
+
+
+ + + + +

We have not decided to use an alternative name in tha pattern and related expression

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synsimplepats.html b/docs/reference/microsoft-fsharp-compiler-ast-synsimplepats.html new file mode 100644 index 0000000000..7ed67d819b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synsimplepats.html @@ -0,0 +1,144 @@ + + + + + SynSimplePats - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynSimplePats

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Represents a simple set of variable bindings a, (a,b) or (a:Type,b:Type) at a lambda, +function definition or other binding point, after the elimination of pattern matching +from the construct, e.g. after changing a "function pat1 -> rule1 | ..." to a +"fun v -> match v with ..."

+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + SimplePats(SynSimplePat list,range) + +
+ Signature: SynSimplePat list * range
+
+
+ + + + + +
+ + + Typed(SynSimplePats,SynType,range) + +
+ Signature: SynSimplePats * SynType * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synstaticoptimizationconstraint.html b/docs/reference/microsoft-fsharp-compiler-ast-synstaticoptimizationconstraint.html new file mode 100644 index 0000000000..7dca17bd62 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synstaticoptimizationconstraint.html @@ -0,0 +1,139 @@ + + + + + SynStaticOptimizationConstraint - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynStaticOptimizationConstraint

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + WhenTyparIsStruct(SynTypar,range) + +
+ Signature: SynTypar * range
+
+
+ + + + + +
+ + + WhenTyparTyconEqualsTycon(...) + +
+ Signature: SynTypar * SynType * range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntaxerror.html b/docs/reference/microsoft-fsharp-compiler-ast-syntaxerror.html new file mode 100644 index 0000000000..b9250e8350 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntaxerror.html @@ -0,0 +1,144 @@ + + + + + SyntaxError - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SyntaxError

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The error raised by the parseerrorrich function, which is called by the parser engine +when a syntax error occurs. The first object is the ParseErrorContext which contains a dump of +information about the grammar at the point where the error occurred, e.g. what tokens +are valid to shift next at that point in the grammar. This information is processed in CompileOps.fs.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: obj
+
+
+ + + + + +
+ + + range + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypar.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypar.html new file mode 100644 index 0000000000..28c1e908fe --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypar.html @@ -0,0 +1,148 @@ + + + + + SynTypar - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTypar

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + Typar(ident,staticReq,isCompGen) + +
+ Signature: Ident * TyparStaticReq * bool
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypardecl.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypardecl.html new file mode 100644 index 0000000000..b120359c13 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypardecl.html @@ -0,0 +1,123 @@ + + + + + SynTyparDecl - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTyparDecl

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Represents the explicit declaration of a type parameter

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + TyparDecl(attributes,SynTypar) + +
+ Signature: SynAttributes * SynTypar
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntype.html b/docs/reference/microsoft-fsharp-compiler-ast-syntype.html new file mode 100644 index 0000000000..b7da8a3bc6 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntype.html @@ -0,0 +1,460 @@ + + + + + SynType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynType

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The unchecked abstract syntax tree of F# types

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Anon(range) + +
+ Signature: range
+
+
+ + + + +

F# syntax : _

+ + +
+ + + App(...) + +
+ Signature: SynType * range option * SynType list * range list * range option * bool * range
+
+
+ + + + +

App(typeName, LESSm, typeArgs, commasm, GREATERm, isPostfix, m)

+

F# syntax : type or type type or (type,...,type) type +isPostfix: indicates a postfix type application e.g. "int list" or "(int,string) dict" +commasm: ranges for interstitial commas, these only matter for parsing/design-time tooling, the typechecker may munge/discard them

+ + +
+ + + Array(int,elementType,range) + +
+ Signature: int * SynType * range
+
+
+ + + + +

F# syntax : type[]

+ + +
+ + + Fun(argType,returnType,range) + +
+ Signature: SynType * SynType * range
+
+
+ + + + +

F# syntax : type -> type

+ + +
+ + + HashConstraint(SynType,range) + +
+ Signature: SynType * range
+
+
+ + + + +

F# syntax : #type

+ + +
+ + + LongIdent(longDotId) + +
+ Signature: LongIdentWithDots
+
+
+ + + + +

F# syntax : A.B.C

+ + +
+ + + LongIdentApp(...) + +
+ Signature: SynType * LongIdentWithDots * range option * SynType list * range list * range option * range
+
+
+ + + + +

LongIdentApp(typeName, longId, LESSm, tyArgs, commasm, GREATERm, wholem)

+

F# syntax : type.A.B.C +commasm: ranges for interstitial commas, these only matter for parsing/design-time tooling, the typechecker may munge/discard them

+ + +
+ + + MeasureDivide(...) + +
+ Signature: SynType * SynType * range
+
+
+ + + + +

F# syntax : for units of measure e.g. m / s

+ + +
+ + + MeasurePower(...) + +
+ Signature: SynType * SynRationalConst * range
+
+
+ + + + +

F# syntax : for units of measure e.g. m^3, kg^1/2

+ + +
+ + + StaticConstant(constant,range) + +
+ Signature: SynConst * range
+
+
+ + + + +

F# syntax : 1, "abc" etc, used in parameters to type providers +For the dimensionless units i.e. 1 , and static parameters to provided types

+ + +
+ + + StaticConstantExpr(expr,range) + +
+ Signature: SynExpr * range
+
+
+ + + + +

F# syntax : const expr, used in static parameters to type providers

+ + +
+ + + StaticConstantNamed(expr,SynType,range) + +
+ Signature: SynType * SynType * range
+
+
+ + + + +

F# syntax : ident=1 etc., used in static parameters to type providers

+ + +
+ + + StructTuple(typeNames,range) + +
+ Signature: (bool * SynType) list * range
+
+
+ + + + +

F# syntax : struct (type ... type)

+ + +
+ + + Tuple(typeNames,range) + +
+ Signature: (bool * SynType) list * range
+
+
+ + + + +

F# syntax : type ... type

+ + +
+ + + Var(genericName,range) + +
+ Signature: SynTypar * range
+
+
+ + + + +

F# syntax : 'Var

+ + +
+ + + WithGlobalConstraints(...) + +
+ Signature: SynType * SynTypeConstraint list * range
+
+
+ + + + +

F# syntax : typ with constraints

+ + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + +

Get the syntactic range of source code covered by this construct.

+ + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypeconstraint.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypeconstraint.html new file mode 100644 index 0000000000..715b54f5f3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypeconstraint.html @@ -0,0 +1,325 @@ + + + + + SynTypeConstraint - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTypeConstraint

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The unchecked abstract syntax tree of F# type constraints

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + WhereTyparDefaultsToType(...) + +
+ Signature: SynTypar * SynType * range
+
+
+ + + + +

F# syntax is default ^T : type

+ + +
+ + + WhereTyparIsComparable(...) + +
+ Signature: SynTypar * range
+
+
+ + + + +

F# syntax is 'typar : comparison

+ + +
+ + + WhereTyparIsDelegate(...) + +
+ Signature: SynTypar * SynType list * range
+
+
+ + + + +

F# syntax is 'typar : delegate<'Args,unit>

+ + +
+ + + WhereTyparIsEnum(...) + +
+ Signature: SynTypar * SynType list * range
+
+
+ + + + +

F# syntax is 'typar : enum<'UnderlyingType>

+ + +
+ + + WhereTyparIsEquatable(genericName,range) + +
+ Signature: SynTypar * range
+
+
+ + + + +

F# syntax is 'typar : equality

+ + +
+ + + WhereTyparIsReferenceType(...) + +
+ Signature: SynTypar * range
+
+
+ + + + +

F# syntax : is 'typar : not struct

+ + +
+ + + WhereTyparIsUnmanaged(genericName,range) + +
+ Signature: SynTypar * range
+
+
+ + + + +

F# syntax is 'typar : unmanaged

+ + +
+ + + WhereTyparIsValueType(genericName,range) + +
+ Signature: SynTypar * range
+
+
+ + + + +

F# syntax : is 'typar : struct

+ + +
+ + + WhereTyparSubtypeOfType(...) + +
+ Signature: SynTypar * SynType * range
+
+
+ + + + +

F# syntax is 'typar :> type

+ + +
+ + + WhereTyparSupportsMember(...) + +
+ Signature: SynType list * SynMemberSig * range
+
+
+ + + + +

F# syntax is ^T : (static member MemberName : ^T * int -> ^T)

+ + +
+ + + WhereTyparSupportsNull(...) + +
+ Signature: SynTypar * range
+
+
+ + + + +

F# syntax is 'typar : null

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypedefn.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefn.html new file mode 100644 index 0000000000..b1eec8dd30 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefn.html @@ -0,0 +1,148 @@ + + + + + SynTypeDefn - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTypeDefn

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + TypeDefn(...) + +
+ Signature: SynComponentInfo * SynTypeDefnRepr * SynMemberDefns * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnkind.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnkind.html new file mode 100644 index 0000000000..811fcf40e4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnkind.html @@ -0,0 +1,301 @@ + + + + + SynTypeDefnKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTypeDefnKind

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + TyconAbbrev + +
+ Signature:
+
+
+ + + + + +
+ + + TyconAugmentation + +
+ Signature:
+
+
+ + + + + +
+ + + TyconClass + +
+ Signature:
+
+
+ + + + + +
+ + + TyconDelegate(SynType,SynValInfo) + +
+ Signature: SynType * SynValInfo
+
+
+ + + + + +
+ + + TyconHiddenRepr + +
+ Signature:
+
+
+ + + + + +
+ + + TyconILAssemblyCode + +
+ Signature:
+
+
+ + + + + +
+ + + TyconInterface + +
+ Signature:
+
+
+ + + + + +
+ + + TyconRecord + +
+ Signature:
+
+
+ + + + + +
+ + + TyconStruct + +
+ Signature:
+
+
+ + + + + +
+ + + TyconUnion + +
+ Signature:
+
+
+ + + + + +
+ + + TyconUnspecified + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnrepr.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnrepr.html new file mode 100644 index 0000000000..897d15baa5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnrepr.html @@ -0,0 +1,184 @@ + + + + + SynTypeDefnRepr - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTypeDefnRepr

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Exception(SynExceptionDefnRepr) + +
+ Signature: SynExceptionDefnRepr
+
+
+ + + + + +
+ + + ObjectModel(...) + +
+ Signature: SynTypeDefnKind * SynMemberDefns * range
+
+
+ + + + + +
+ + + Simple(SynTypeDefnSimpleRepr,range) + +
+ Signature: SynTypeDefnSimpleRepr * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsig.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsig.html new file mode 100644 index 0000000000..c9e7eb4ba7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsig.html @@ -0,0 +1,125 @@ + + + + + SynTypeDefnSig - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTypeDefnSig

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The untyped, unchecked syntax tree for a type definition in a signature

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + TypeDefnSig(...) + +
+ Signature: SynComponentInfo * SynTypeDefnSigRepr * SynMemberSigs * range
+
+
+ + + + +

The information for a type definition in a signature

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsigrepr.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsigrepr.html new file mode 100644 index 0000000000..27c9e2cab1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsigrepr.html @@ -0,0 +1,192 @@ + + + + + SynTypeDefnSigRepr - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTypeDefnSigRepr

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The untyped, unchecked syntax tree for the right-hand-side of a type definition in a signature. +Note: in practice, using a discriminated union to make a distinction between +"simple" types and "object oriented" types is not particularly useful.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Exception(SynExceptionDefnRepr) + +
+ Signature: SynExceptionDefnRepr
+
+
+ + + + + +
+ + + ObjectModel(...) + +
+ Signature: SynTypeDefnKind * SynMemberSigs * range
+
+
+ + + + +

Indicates the right right-hand-side is a class, struct, interface or other object-model type

+ + +
+ + + Simple(SynTypeDefnSimpleRepr,range) + +
+ Signature: SynTypeDefnSimpleRepr * range
+
+
+ + + + +

Indicates the right right-hand-side is a record, union or other simple type.

+ + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsimplerepr.html b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsimplerepr.html new file mode 100644 index 0000000000..fd8077f53c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-syntypedefnsimplerepr.html @@ -0,0 +1,295 @@ + + + + + SynTypeDefnSimpleRepr - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynTypeDefnSimpleRepr

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The untyped, unchecked syntax tree for the core of a simple type definition, in either signature +or implementation.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Enum(SynEnumCases,range) + +
+ Signature: SynEnumCases * range
+
+
+ + + + +

An enum type definition, type X = A = 1 | B = 2

+ + +
+ + + Exception(SynExceptionDefnRepr) + +
+ Signature: SynExceptionDefnRepr
+
+
+ + + + +

An exception definition , "exception E = ..."

+ + +
+ + + General(...) + +
+ Signature: SynTypeDefnKind * (SynType * range * Ident option) list * (SynValSig * MemberFlags) list * SynField list * bool * bool * SynSimplePat list option * range
+
+
+ + + + +

An object oriented type definition. This is not a parse-tree form, but represents the core +type representation which the type checker splits out from the "ObjectModel" cases of type definitions.

+ + +
+ + + LibraryOnlyILAssembly(ILType,range) + +
+ Signature: ILType * range
+
+
+ + + + +

A type defined by using an IL assembly representation. Only used in FSharp.Core.

+

F# syntax: "type X = (# "..."#)

+ + +
+ + + None(range) + +
+ Signature: range
+
+
+ + + + +

An abstract definition , "type X"

+ + +
+ + + Record(accessibility,recordFields,range) + +
+ Signature: SynAccess option * SynFields * range
+
+
+ + + + +

A record type definition, type X = { A : int; B : int }

+ + +
+ + + TypeAbbrev(ParserDetail,SynType,range) + +
+ Signature: ParserDetail * SynType * range
+
+
+ + + + +

A type abbreviation, "type X = A.B.C"

+ + +
+ + + Union(accessibility,unionCases,range) + +
+ Signature: SynAccess option * SynUnionCases * range
+
+
+ + + + +

A union type definition, type X = A | B

+ + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synunioncase.html b/docs/reference/microsoft-fsharp-compiler-ast-synunioncase.html new file mode 100644 index 0000000000..051d9e73c9 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synunioncase.html @@ -0,0 +1,150 @@ + + + + + SynUnionCase - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynUnionCase

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + UnionCase(...) + +
+ Signature: SynAttributes * Ident * SynUnionCaseType * PreXmlDoc * SynAccess option * range
+
+
+ + + + +

The untyped, unchecked syntax tree for one case in a union definition.

+ + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synunioncases.html b/docs/reference/microsoft-fsharp-compiler-ast-synunioncases.html new file mode 100644 index 0000000000..17bb5fe980 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synunioncases.html @@ -0,0 +1,201 @@ + + + + + SynUnionCases - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynUnionCases

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: SynUnionCase
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> SynUnionCase
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: SynUnionCase list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: SynUnionCase list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synunioncasetype.html b/docs/reference/microsoft-fsharp-compiler-ast-synunioncasetype.html new file mode 100644 index 0000000000..f1fa98d3b3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synunioncasetype.html @@ -0,0 +1,146 @@ + + + + + SynUnionCaseType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynUnionCaseType

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The untyped, unchecked syntax tree for the right-hand-side of union definition, excluding members, +in either a signature or implementation.

+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + UnionCaseFields(cases) + +
+ Signature: SynField list
+
+
+ + + + +

Normal style declaration

+ + +
+ + + UnionCaseFullType(SynType * SynValInfo) + +
+ Signature: SynType * SynValInfo
+
+
+ + + + +

Full type spec given by 'UnionCase : ty1 * tyN -> rty'. Only used in FSharp.Core, otherwise a warning.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synvaldata.html b/docs/reference/microsoft-fsharp-compiler-ast-synvaldata.html new file mode 100644 index 0000000000..663859dc6c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synvaldata.html @@ -0,0 +1,121 @@ + + + + + SynValData - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynValData

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynValData(...) + +
+ Signature: MemberFlags option * SynValInfo * Ident option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synvalinfo.html b/docs/reference/microsoft-fsharp-compiler-ast-synvalinfo.html new file mode 100644 index 0000000000..c68c7e7ee7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synvalinfo.html @@ -0,0 +1,152 @@ + + + + + SynValInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynValInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The argument names and other metadata for a member or function

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynValInfo(...) + +
+ Signature: SynArgInfo list list * SynArgInfo
+
+
+ + + + +

SynValInfo(curriedArgInfos, returnInfo)

+ + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + ArgInfos + +
+ Signature: SynArgInfo list list
+
+
+ + + + + +

CompiledName: get_ArgInfos

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synvalsig.html b/docs/reference/microsoft-fsharp-compiler-ast-synvalsig.html new file mode 100644 index 0000000000..deb32681e0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synvalsig.html @@ -0,0 +1,186 @@ + + + + + SynValSig - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynValSig

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + ValSpfn(...) + +
+ Signature: SynAttributes * Ident * SynValTyparDecls * SynType * SynValInfo * bool * bool * PreXmlDoc * SynAccess option * SynExpr option * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + RangeOfId + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_RangeOfId

+
+ + + SynInfo + +
+ Signature: SynValInfo
+
+
+ + + + + +

CompiledName: get_SynInfo

+
+ + + SynType + +
+ Signature: SynType
+
+
+ + + + + +

CompiledName: get_SynType

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-synvaltypardecls.html b/docs/reference/microsoft-fsharp-compiler-ast-synvaltypardecls.html new file mode 100644 index 0000000000..feff273046 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-synvaltypardecls.html @@ -0,0 +1,123 @@ + + + + + SynValTyparDecls - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SynValTyparDecls

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

The names and other metadata for the type parameters for a member or function

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + SynValTyparDecls(...) + +
+ Signature: SynTyparDecl list * bool * SynTypeConstraint list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-typarstaticreq.html b/docs/reference/microsoft-fsharp-compiler-ast-typarstaticreq.html new file mode 100644 index 0000000000..6179bf7ca9 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-typarstaticreq.html @@ -0,0 +1,139 @@ + + + + + TyparStaticReq - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TyparStaticReq

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + HeadTypeStaticReq + +
+ Signature:
+
+
+ + + + + +
+ + + NoStaticReq + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-xmldoc.html b/docs/reference/microsoft-fsharp-compiler-ast-xmldoc.html new file mode 100644 index 0000000000..80e932888b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-xmldoc.html @@ -0,0 +1,184 @@ + + + + + XmlDoc - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

XmlDoc

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + XmlDoc(string []) + +
+ Signature: string []
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: XmlDoc
+
+
+ + + + + +

CompiledName: get_Empty

+
+ + + Merge(arg1 arg2) + +
+ Signature: XmlDoc -> XmlDoc -> XmlDoc
+
+
+ + + + + +
+ + + Process(arg1) + +
+ Signature: XmlDoc -> XmlDoc
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-xmldoccollector.html b/docs/reference/microsoft-fsharp-compiler-ast-xmldoccollector.html new file mode 100644 index 0000000000..907f424f87 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-xmldoccollector.html @@ -0,0 +1,186 @@ + + + + + XmlDocCollector - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

XmlDocCollector

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+

Used to collect XML documentation during lexing and parsing.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> XmlDocCollector
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AddGrabPoint(pos) + +
+ Signature: pos:pos -> unit
+
+
+ + + + + +
+ + + AddXmlDocLine(line, pos) + +
+ Signature: (line:string * pos:pos) -> unit
+
+
+ + + + + +
+ + + LinesBefore(grabPointPos) + +
+ Signature: grabPointPos:pos -> string []
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast-xmldocstatics.html b/docs/reference/microsoft-fsharp-compiler-ast-xmldocstatics.html new file mode 100644 index 0000000000..616328f1df --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast-xmldocstatics.html @@ -0,0 +1,149 @@ + + + + + XmlDocStatics - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

XmlDocStatics

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Ast +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> XmlDocStatics
+
+
+ + + + + +

CompiledName: .ctor

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: XmlDoc
+
+
+ + + + + +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-ast.html b/docs/reference/microsoft-fsharp-compiler-ast.html new file mode 100644 index 0000000000..97097eef74 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-ast.html @@ -0,0 +1,2302 @@ + + + + + Ast - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Ast

+

+ Namespace: Microsoft.FSharp.Compiler
+

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ BlockSeparator +

denotes location of the separator block + optional position of the semicolon (used for tooling support)

+ +
+ ExprAtomicFlag +
+ Ident +
+ LexCont +
+ LexerEndlineContinuation +

Specifies how the 'endline' function in the lexer should continue after +it reaches end of line or eof. The options are to continue with 'token' function +or to continue with 'skip' function.

+ +
+ LexerIfdefExpression +
+ LexerIfdefStack +
+ LexerIfdefStackEntries +
+ LexerIfdefStackEntry +
+ LexerWhitespaceContinuation +

The parser defines a number of tokens for whitespace and +comments eliminated by the lexer. These carry a specification of +a continuation for the lexer for continued processing after we've dealt with +the whitespace.

+ +
+ LongIdent +
+ LongIdentWithDots +
+ MemberFlags +
+ MemberKind +

Note the member kind is actually computed partially by a syntax tree transformation in tc.fs

+ +
+ NiceNameGenerator +

Generates compiler-generated names. Each name generated also includes the StartLine number of the range passed in +at the point of first generation.

+

This type may be accessed concurrently, though in practice it is only used from the compilation thread. +It is made concurrency-safe since a global instance of the type is allocated in tast.fs, and it is good +policy to make all globally-allocated objects concurrency safe in case future versions of the compiler +are used to host multiple concurrent instances of compilation.

+ +
+ ParsedFsiInteraction +
+ ParsedHashDirective +
+ ParsedImplFile +
+ ParsedImplFileFragment +
+ ParsedImplFileInput +
+ ParsedInput +
+ ParsedSigFile +
+ ParsedSigFileFragment +
+ ParsedSigFileInput +
+ ParserDetail +
+ PreXmlDoc +
+ QualifiedNameOfFile +

ImplFile(modname,isScript,qualName,hashDirectives,modules,isLastCompiland) +QualifiedNameOfFile acts to fully-qualify module specifications and implementations, +most importantly the ones that simply contribute fragments to a namespace (i.e. the ParsedSigFileFragment.NamespaceFragment case) +There may be multiple such fragments in a single assembly. There may thus also +be multiple matching pairs of these in an assembly, all contributing types to the same +namespace.

+ +
+ RecordFieldName +

stores pair: record field name + (true if given record field name is syntactically correct and can be used in name resolution)

+ +
+ ScopedPragma +
+ SeqExprOnly +

Indicates if a for loop is 'for x in e1 -> e2', only valid in sequence expressions

+ +
+ SequencePointInfoForBinding +
+ SequencePointInfoForFinally +
+ SequencePointInfoForForLoop +
+ SequencePointInfoForSeq +
+ SequencePointInfoForTarget +
+ SequencePointInfoForTry +
+ SequencePointInfoForWhileLoop +
+ SequencePointInfoForWith +
+ StableNiceNameGenerator +

Generates compiler-generated names marked up with a source code location, but if given the same unique value then +return precisely the same name. Each name generated also includes the StartLine number of the range passed in +at the point of first generation.

+

This type may be accessed concurrently, though in practice it is only used from the compilation thread. +It is made concurrency-safe since a global instance of the type is allocated in tast.fs.

+ +
+ SynAccess +
+ SynArgInfo +

The argument names and other metadata for a parameter for a member or function

+ +
+ SynArgNameGenerator +
+ SynAttribute +
+ SynAttributes +
+ SynBinding +
+ SynBindingKind +

The kind associated with a binding - "let", "do" or a standalone expression

+ +
+ SynBindingReturnInfo +
+ SynComponentInfo +

The untyped, unchecked syntax tree associated with the name of a type definition or module +in signature or implementation.

+

This includes the name, attributes, type parameters, constraints, documentation and accessibility +for a type definition or module. For modules, entries such as the type parameters are +always empty.

+ +
+ SynConst +

The unchecked abstract syntax tree of constants in F# types and expressions.

+ +
+ SynConstructorArgs +
+ SynEnumCase +
+ SynEnumCases +
+ SynExceptionDefn +

'exception E = ... with ...'

+ +
+ SynExceptionDefnRepr +

'exception E = ... '

+ +
+ SynExceptionSig +
+ SynExpr +
+ SynField +

The untyped, unchecked syntax tree for a field declaration in a record or class

+ +
+ SynFields +
+ SynIndexerArg +
+ SynInterfaceImpl +
+ SynMatchClause +
+ SynMeasure +

The unchecked abstract syntax tree of F# unit of measure annotations. +This should probably be merged with the representation of SynType.

+ +
+ SynMemberDefn +
+ SynMemberDefns +
+ SynMemberSig +

The untyped, unchecked syntax tree for a member signature, used in signature files, abstract member declarations +and member constraints.

+ +
+ SynMemberSigs +
+ SynModuleDecl +
+ SynModuleDecls +
+ SynModuleOrNamespace +

SynModuleOrNamespace(lid,isRec,isModule,decls,xmlDoc,attribs,SynAccess,m)

+ +
+ SynModuleOrNamespaceSig +
+ SynModuleSigDecl +
+ SynModuleSigDecls +
+ SynPat +
+ SynRationalConst +

The unchecked abstract syntax tree of F# unit of measure exponents.

+ +
+ SynReturnInfo +

The syntactic elements associated with the "return" of a function or method. Some of this is +mostly dummy information to make the return element look like an argument, +the important thing is that (a) you can give a return type for the function or method, and +(b) you can associate .NET attributes to return of a function or method and these get stored in .NET metadata.

+ +
+ SynSimplePat +
+ SynSimplePatAlternativeIdInfo +
+ SynSimplePats +

Represents a simple set of variable bindings a, (a,b) or (a:Type,b:Type) at a lambda, +function definition or other binding point, after the elimination of pattern matching +from the construct, e.g. after changing a "function pat1 -> rule1 | ..." to a +"fun v -> match v with ..."

+ +
+ SynStaticOptimizationConstraint +
+ SynTypar +
+ SynTyparDecl +

Represents the explicit declaration of a type parameter

+ +
+ SynType +

The unchecked abstract syntax tree of F# types

+ +
+ SynTypeConstraint +

The unchecked abstract syntax tree of F# type constraints

+ +
+ SynTypeDefn +
+ SynTypeDefnKind +
+ SynTypeDefnRepr +
+ SynTypeDefnSig +

The untyped, unchecked syntax tree for a type definition in a signature

+ +
+ SynTypeDefnSigRepr +

The untyped, unchecked syntax tree for the right-hand-side of a type definition in a signature. +Note: in practice, using a discriminated union to make a distinction between +"simple" types and "object oriented" types is not particularly useful.

+ +
+ SynTypeDefnSimpleRepr +

The untyped, unchecked syntax tree for the core of a simple type definition, in either signature +or implementation.

+ +
+ SynUnionCase +
+ SynUnionCaseType +

The untyped, unchecked syntax tree for the right-hand-side of union definition, excluding members, +in either a signature or implementation.

+ +
+ SynUnionCases +
+ SynValData +
+ SynValInfo +

The argument names and other metadata for a member or function

+ +
+ SynValSig +
+ SynValTyparDecls +

The names and other metadata for the type parameters for a member or function

+ +
+ SyntaxError +

The error raised by the parseerrorrich function, which is called by the parser engine +when a syntax error occurs. The first object is the ParseErrorContext which contains a dump of +information about the grammar at the point where the error occurred, e.g. what tokens +are valid to shift next at that point in the grammar. This information is processed in CompileOps.fs.

+ +
+ TyparStaticReq +
+ XmlDoc +
+ XmlDocCollector +

Used to collect XML documentation during lexing and parsing.

+ +
+ XmlDocStatics +
+ + + + + + + + + + + + + + + + + + + + + + +
ModuleDescription
+ CustomOperations +
+ FSharpLib +
+ LexbufLocalXmlDocStore +

XmlDoc F# lexer/parser state, held in the BufferLocalStore for the lexer. +This is the only use of the lexer BufferLocalStore in the codebase.

+ +
+ SynInfo +

Operations related to the syntactic analysis of arguments of value, function and member definitions and signatures.

+

Function and member definitions have strongly syntactically constrained arities. We infer +the arity from the syntax.

+

For example, we record the arity for: +StaticProperty --> [1] -- for unit arg +this.InstanceProperty --> [1;1] -- for unit arg +StaticMethod(args) --> map InferSynArgInfoFromSimplePat args +this.InstanceMethod() --> 1 :: map InferSynArgInfoFromSimplePat args +this.InstanceProperty with get(argpat) --> 1 :: [InferSynArgInfoFromSimplePat argpat] +StaticProperty with get(argpat) --> [InferSynArgInfoFromSimplePat argpat] +this.InstanceProperty with get() --> 1 :: [InferSynArgInfoFromSimplePat argpat] +StaticProperty with get() --> [InferSynArgInfoFromSimplePat argpat]

+

this.InstanceProperty with set(argpat)(v) --> 1 :: [InferSynArgInfoFromSimplePat argpat; 1] +StaticProperty with set(argpat)(v) --> [InferSynArgInfoFromSimplePat argpat; 1] +this.InstanceProperty with set(v) --> 1 :: [1] +StaticProperty with set(v) --> [1]

+ +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AbstractMemberFlags k + +
+ Signature: k:MemberKind -> MemberFlags
+
+
+ + + + + +
+ + + appFunOpt funOpt x + +
+ Signature: funOpt:('?16469 -> '?16469) option -> x:'?16469 -> '?16469
+ Type parameters: '?16469
+
+ + + + + +
+ + + arbExpr (debugStr, range) + +
+ Signature: (debugStr:string * range:range) -> SynExpr
+
+
+ + + + + +
+ + + arrPathOfLid lid + +
+ Signature: lid:Ident list -> string []
+
+
+ + + + + +
+ + + ClassCtorMemberFlags + +
+ Signature: MemberFlags
+
+
+ + + + + +
+ + + composeFunOpt funOpt1 funOpt2 + +
+ Signature: funOpt1:('?16471 -> '?16471) option -> funOpt2:('?16471 -> '?16471) option -> ('?16471 -> '?16471) option
+ Type parameters: '?16471
+
+ + + + + +
+ + + CtorMemberFlags + +
+ Signature: MemberFlags
+
+
+ + + + + +
+ + + FsiDynamicModulePrefix + +
+ Signature: string
+
+
+ + + + +

The prefix of the names used for the fake namespace path added to all dynamic code entries in FSI.EXE

+ + +
+ + + ident (s, r) + +
+ Signature: (s:string * r:range) -> Ident
+
+
+ + + + + +
+ + + inferredTyparDecls + +
+ Signature: SynValTyparDecls
+
+
+ + + + + +
+ + + IsControlFlowExpression e + +
+ Signature: e:SynExpr -> bool
+
+
+ + + + +

This affects placement of sequence points

+ + +
+ + + LexerIfdefEval lookup _arg1 + +
+ Signature: lookup:(string -> bool) -> _arg1:LexerIfdefExpression -> bool
+
+
+ + + + + +
+ + + mkAnonField ty + +
+ Signature: ty:SynType -> SynField
+
+
+ + + + + +
+ + + mkNamedField (ident, ty) + +
+ Signature: (ident:Ident * ty:SynType) -> SynField
+
+
+ + + + + +
+ + + mkSynApp1 f x1 m + +
+ Signature: f:SynExpr -> x1:SynExpr -> m:range -> SynExpr
+
+
+ + + + + +
+ + + mkSynApp2 f x1 x2 m + +
+ Signature: f:SynExpr -> x1:SynExpr -> x2:SynExpr -> m:range -> SynExpr
+
+
+ + + + + +
+ + + mkSynApp3 f x1 x2 x3 m + +
+ Signature: f:SynExpr -> x1:SynExpr -> x2:SynExpr -> x3:SynExpr -> m:range -> SynExpr
+
+
+ + + + + +
+ + + mkSynApp4 f x1 x2 x3 x4 m + +
+ Signature: f:SynExpr -> x1:SynExpr -> x2:SynExpr -> x3:SynExpr -> x4:SynExpr -> m:range -> SynExpr
+
+
+ + + + + +
+ + + mkSynApp5 f x1 x2 x3 x4 x5 m + +
+ Signature: f:SynExpr -> x1:SynExpr -> x2:SynExpr -> x3:SynExpr -> x4:SynExpr -> x5:SynExpr -> m:range -> SynExpr
+
+
+ + + + + +
+ + + mkSynAssign l r + +
+ Signature: l:SynExpr -> r:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynBifix m oper x1 x2 + +
+ Signature: m:range -> oper:string -> x1:SynExpr -> x2:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynBinding (...) + +
+ Signature: (xmlDoc:PreXmlDoc * headPat:SynPat) -> (vis:SynAccess option * isInline:bool * isMutable:bool * mBind:range * spBind:SequencePointInfoForBinding * retInfo:SynReturnInfo option * origRhsExpr:SynExpr * mRhs:range * staticOptimizations:(SynStaticOptimizationConstraint list * SynExpr) list * attrs:SynAttributes * memberFlagsOpt:MemberFlags option) -> SynBinding
+
+
+ + + + + +
+ + + mkSynBindingRhs (...) + +
+ Signature: staticOptimizations:(SynStaticOptimizationConstraint list * SynExpr) list -> rhsExpr:SynExpr -> mRhs:range -> retInfo:SynReturnInfo option -> SynExpr * SynBindingReturnInfo option
+
+
+ + + + + +
+ + + mkSynCaseName m n + +
+ Signature: m:range -> n:string -> Ident list
+
+
+ + + + + +
+ + + mkSynCompGenSimplePatVar id + +
+ Signature: id:Ident -> SynSimplePat
+
+
+ + + + + +
+ + + mkSynDelay m e + +
+ Signature: m:range -> e:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynDot dotm m l r + +
+ Signature: dotm:range -> m:range -> l:SynExpr -> r:Ident -> SynExpr
+
+
+ + + + + +
+ + + mkSynDotBrackGet m mDot a b + +
+ Signature: m:range -> mDot:range -> a:SynExpr -> b:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynDotBrackSeqSliceGet (...) + +
+ Signature: m:range -> mDot:range -> arr:SynExpr -> argslist:SynIndexerArg list -> SynExpr
+
+
+ + + + + +
+ + + mkSynDotBrackSliceGet (...) + +
+ Signature: m:range -> mDot:range -> arr:SynExpr -> sliceArg:SynIndexerArg -> SynExpr
+
+
+ + + + + +
+ + + mkSynDotMissing dotm m l + +
+ Signature: dotm:range -> m:range -> l:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynDotParenGet lhsm dotm a b + +
+ Signature: lhsm:range -> dotm:range -> a:SynExpr -> b:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynDotParenSet m a b c + +
+ Signature: m:range -> a:SynExpr -> b:SynExpr -> c:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynFunMatchLambdas (...) + +
+ Signature: synArgNameGenerator:SynArgNameGenerator -> isMember:bool -> wholem:range -> ps:SynPat list -> e:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynId m s + +
+ Signature: m:range -> s:string -> Ident
+
+
+ + + + + +
+ + + mkSynIdGet m n + +
+ Signature: m:range -> n:string -> SynExpr
+
+
+ + + + + +
+ + + mkSynIdGetWithAlt m id altInfo + +
+ Signature: m:range -> id:Ident -> altInfo:SynSimplePatAlternativeIdInfo ref option -> SynExpr
+
+
+ + + + + +
+ + + mkSynInfix opm l oper r + +
+ Signature: opm:range -> l:SynExpr -> oper:string -> r:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynLidGet m path n + +
+ Signature: m:range -> path:string list -> n:string -> SynExpr
+
+
+ + + + + +
+ + + mkSynOperator opm oper + +
+ Signature: opm:range -> oper:string -> SynExpr
+
+
+ + + + + +
+ + + mkSynPatMaybeVar lidwd vis m + +
+ Signature: lidwd:LongIdentWithDots -> vis:SynAccess option -> m:range -> SynPat
+
+
+ + + + + +
+ + + mkSynPatVar vis id + +
+ Signature: vis:SynAccess option -> id:Ident -> SynPat
+
+
+ + + + + +
+ + + mkSynPrefix opm m oper x + +
+ Signature: opm:range -> m:range -> oper:string -> x:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynQMarkSet m a b c + +
+ Signature: m:range -> a:SynExpr -> b:SynExpr -> c:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynQuadfix m oper x1 x2 x3 x4 + +
+ Signature: m:range -> oper:string -> x1:SynExpr -> x2:SynExpr -> x3:SynExpr -> x4:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynQuinfix m oper x1 x2 x3 x4 x5 + +
+ Signature: m:range -> oper:string -> x1:SynExpr -> x2:SynExpr -> x3:SynExpr -> x4:SynExpr -> x5:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynSimplePatVar isOpt id + +
+ Signature: isOpt:bool -> id:Ident -> SynSimplePat
+
+
+ + + + + +
+ + + mkSynThisPatVar id + +
+ Signature: id:Ident -> SynPat
+
+
+ + + + + +
+ + + mkSynTrifix m oper x1 x2 x3 + +
+ Signature: m:range -> oper:string -> x1:SynExpr -> x2:SynExpr -> x3:SynExpr -> SynExpr
+
+
+ + + + + +
+ + + mkSynUnit m + +
+ Signature: m:range -> SynExpr
+
+
+ + + + + +
+ + + mkSynUnitPat m + +
+ Signature: m:range -> SynPat
+
+
+ + + + + +
+ + + noInferredTypars + +
+ Signature: SynValTyparDecls
+
+
+ + + + + +
+ + + NonVirtualMemberFlags k + +
+ Signature: k:MemberKind -> MemberFlags
+
+
+ + + + + +
+ + + opNameParenGet + +
+ Signature: string
+
+
+ + + + + +
+ + + opNameQMark + +
+ Signature: string
+
+
+ + + + + +
+ + + OverrideMemberFlags k + +
+ Signature: k:MemberKind -> MemberFlags
+
+
+ + + + + +
+ + + ParseAssemblyCodeInstructions s m + +
+ Signature: s:string -> m:range -> ILInstr array
+
+
+ + + + +

Helper for parsing the inline IL fragments.

+ + +
+ + + ParseAssemblyCodeType s m + +
+ Signature: s:string -> m:range -> ILType
+
+
+ + + + +

Helper for parsing the inline IL fragments.

+ + +
+ + + pathOfLid lid + +
+ Signature: lid:Ident list -> string list
+
+
+ + + + + +
+ + + pathToSynLid m p + +
+ Signature: m:range -> p:string list -> Ident list
+
+
+ + + + + +
+ + + PushCurriedPatternsToExpr (...) + +
+ Signature: synArgNameGenerator:SynArgNameGenerator -> wholem:range -> isMember:bool -> pats:SynPat list -> rhs:SynExpr -> SynSimplePats list * SynExpr
+
+
+ + + + +

"fun (UnionCase x) (UnionCase y) -> body" +==> +"fun tmp1 tmp2 -> +let (UnionCase x) = tmp1 in +let (UnionCase y) = tmp2 in +body"

+ + +
+ + + PushPatternToExpr (...) + +
+ Signature: synArgNameGenerator:SynArgNameGenerator -> isMember:bool -> pat:SynPat -> rhs:SynExpr -> SynSimplePats * SynExpr
+
+
+ + + + + +
+ + + rangeOfLid lid + +
+ Signature: lid:Ident list -> range
+
+
+ + + + + +
+ + + SimplePatOfPat synArgNameGenerator p + +
+ Signature: synArgNameGenerator:SynArgNameGenerator -> p:SynPat -> SynSimplePat * (SynExpr -> SynExpr) option
+
+
+ + + + +

Push non-simple parts of a patten match over onto the r.h.s. of a lambda. +Return a simple pattern and a function to build a match on the r.h.s. if the pattern is complex

+ + +
+ + + SimplePatsOfPat synArgNameGenerator p + +
+ Signature: synArgNameGenerator:SynArgNameGenerator -> p:SynPat -> SynSimplePats * (SynExpr -> SynExpr) option
+
+
+ + + + + +
+ + + StaticMemberFlags k + +
+ Signature: k:MemberKind -> MemberFlags
+
+
+ + + + + +
+ + + synExprContainsError inpExpr + +
+ Signature: inpExpr:SynExpr -> bool
+
+
+ + + + + +
+ + + textOfId id + +
+ Signature: id:Ident -> string
+
+
+ + + + + +
+ + + textOfLid lid + +
+ Signature: lid:Ident list -> string
+
+
+ + + + + +
+ + + textOfPath path + +
+ Signature: path:seq<string> -> string
+
+
+ + + + + +
+

Active patterns

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Active patternDescription
+ + + ( |LongOrSingleIdent|_| ) inp + +
+ Signature: inp:SynExpr -> (bool * LongIdentWithDots * SynSimplePatAlternativeIdInfo ref option * range) option
+
+
+ + + + +

Match a long identifier, including the case for single identifiers which gets a more optimized node in the syntax tree.

+ + +

CompiledName: |LongOrSingleIdent|_|

+
+ + + ( |SingleIdent|_| ) inp + +
+ Signature: inp:SynExpr -> Ident option
+
+
+ + + + + +

CompiledName: |SingleIdent|_|

+
+ + + ( |SynExprErrorSkip| ) p + +
+ Signature: p:SynExpr -> SynExpr
+
+
+ + + + + +

CompiledName: |SynExprErrorSkip|

+
+ + + ( |SynExprParen|_| ) e + +
+ Signature: e:SynExpr -> (SynExpr * range * range option * range) option
+
+
+ + + + + +

CompiledName: |SynExprParen|_|

+
+ + + ( |SynPatErrorSkip| ) p + +
+ Signature: p:SynPat -> SynPat
+
+
+ + + + + +

CompiledName: |SynPatErrorSkip|

+
+ + + ( |SynPatForConstructorDecl|_| ) x + +
+ Signature: x:SynPat -> SynPat option
+
+
+ + + + +

Extract the argument for patterns corresponding to the declaration of 'new ... = ...'

+ + +

CompiledName: |SynPatForConstructorDecl|_|

+
+ + + ( |SynPatForNullaryArgs|_| ) x + +
+ Signature: x:SynPat -> unit option
+
+
+ + + + +

Recognize the '()' in 'new()'

+ + +

CompiledName: |SynPatForNullaryArgs|_|

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-buildphase.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-buildphase.html new file mode 100644 index 0000000000..8a45204fa9 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-buildphase.html @@ -0,0 +1,303 @@ + + + + + BuildPhase - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

BuildPhase

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+

Closed enumeration of build phases.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + CodeGen + +
+ Signature:
+
+
+ + + + + +
+ + + Compile + +
+ Signature:
+
+
+ + + + + +
+ + + DefaultPhase + +
+ Signature:
+
+
+ + + + + +
+ + + IlGen + +
+ Signature:
+
+
+ + + + + +
+ + + IlxGen + +
+ Signature:
+
+
+ + + + + +
+ + + Interactive + +
+ Signature:
+
+
+ + + + + +
+ + + Optimize + +
+ Signature:
+
+
+ + + + + +
+ + + Output + +
+ Signature:
+
+
+ + + + + +
+ + + Parameter + +
+ Signature:
+
+
+ + + + + +
+ + + Parse + +
+ Signature:
+
+
+ + + + + +
+ + + TypeCheck + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-buildphasesubcategory.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-buildphasesubcategory.html new file mode 100644 index 0000000000..019b95e834 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-buildphasesubcategory.html @@ -0,0 +1,324 @@ + + + + + BuildPhaseSubcategory - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

BuildPhaseSubcategory

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+

Literal build phase subcategory strings.

+ +
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + CodeGen + +
+ Signature: string
+
+
+ + + + + +
+ + + Compile + +
+ Signature: string
+
+
+ + + + + +
+ + + DefaultPhase + +
+ Signature: string
+
+
+ + + + + +
+ + + IlGen + +
+ Signature: string
+
+
+ + + + + +
+ + + IlxGen + +
+ Signature: string
+
+
+ + + + + +
+ + + Interactive + +
+ Signature: string
+
+
+ + + + + +
+ + + Internal + +
+ Signature: string
+
+
+ + + + + +
+ + + Optimize + +
+ Signature: string
+
+
+ + + + + +
+ + + Output + +
+ Signature: string
+
+
+ + + + + +
+ + + Parameter + +
+ Signature: string
+
+
+ + + + + +
+ + + Parse + +
+ Signature: string
+
+
+ + + + + +
+ + + TypeCheck + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-capturingerrorlogger.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-capturingerrorlogger.html new file mode 100644 index 0000000000..a373c43d1c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-capturingerrorlogger.html @@ -0,0 +1,167 @@ + + + + + CapturingErrorLogger - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CapturingErrorLogger

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(nm) + +
+ Signature: nm:string -> CapturingErrorLogger
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + CommitDelayedDiagnostics(errorLogger) + +
+ Signature: errorLogger:ErrorLogger -> unit
+
+
+ + + + + +
+ + + Diagnostics + +
+ Signature: (PhasedDiagnostic * bool) list
+
+
+ + + + + +

CompiledName: get_Diagnostics

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-deprecated.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-deprecated.html new file mode 100644 index 0000000000..711cbf4c4b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-deprecated.html @@ -0,0 +1,139 @@ + + + + + Deprecated - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Deprecated

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-error.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-error.html new file mode 100644 index 0000000000..bbf654ecf2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-error.html @@ -0,0 +1,139 @@ + + + + + Error - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Error

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: int * string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-errorlogger.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-errorlogger.html new file mode 100644 index 0000000000..4c6f0311ef --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-errorlogger.html @@ -0,0 +1,187 @@ + + + + + ErrorLogger - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ErrorLogger

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(nameForDebugging) + +
+ Signature: nameForDebugging:string -> ErrorLogger
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + DebugDisplay() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ + + DiagnosticSink(phasedError, isError) + +
+ Signature: (phasedError:PhasedDiagnostic * isError:bool) -> unit
+ Modifiers: abstract
+
+
+ + + + + +
+ + + ErrorCount + +
+ Signature: int
+ Modifiers: abstract
+
+
+ + + + + +

CompiledName: get_ErrorCount

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-errorloggerextensions.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-errorloggerextensions.html new file mode 100644 index 0000000000..4eeca75e6a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-errorloggerextensions.html @@ -0,0 +1,283 @@ + + + + + ErrorLoggerExtensions - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ErrorLoggerExtensions

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + PreserveStackTrace exn + +
+ Signature: exn:'?20248 -> unit
+ Type parameters: '?20248
+
+ + + + + +
+ + + ReraiseIfWatsonable exn + +
+ Signature: exn:exn -> unit
+
+
+ + + + + +
+

Type extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Type extensionDescription
+ + + Error(exn) + +
+ Signature: exn:exn -> 'a
+ Type parameters: 'a
+
+ + + + + +

CompiledName: ErrorLogger.Error

+
+ + + ErrorR(exn) + +
+ Signature: exn:exn -> unit
+
+
+ + + + + +

CompiledName: ErrorLogger.ErrorR

+
+ + + ErrorRecovery(exn m) + +
+ Signature: exn:exn -> m:range -> unit
+
+
+ + + + + +

CompiledName: ErrorLogger.ErrorRecovery

+
+ + + ErrorRecoveryNoRange(exn) + +
+ Signature: exn:exn -> unit
+
+
+ + + + + +

CompiledName: ErrorLogger.ErrorRecoveryNoRange

+
+ + + SimulateError(ph) + +
+ Signature: ph:PhasedDiagnostic -> '?20255
+ Type parameters: '?20255
+
+ + + + + +

CompiledName: ErrorLogger.SimulateError

+
+ + + StopProcessingRecovery(exn m) + +
+ Signature: exn:exn -> m:range -> unit
+
+
+ + + + + +

CompiledName: ErrorLogger.StopProcessingRecovery

+
+ + + Warning(exn) + +
+ Signature: exn:exn -> unit
+
+
+ + + + + +

CompiledName: ErrorLogger.Warning

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-errorstyle.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-errorstyle.html new file mode 100644 index 0000000000..368330ea82 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-errorstyle.html @@ -0,0 +1,195 @@ + + + + + ErrorStyle - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ErrorStyle

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+

Represents the style being used to format errors

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + DefaultErrors + +
+ Signature:
+
+
+ + + + + +
+ + + EmacsErrors + +
+ Signature:
+
+
+ + + + + +
+ + + GccErrors + +
+ Signature:
+
+
+ + + + + +
+ + + TestErrors + +
+ Signature:
+
+
+ + + + + +
+ + + VSErrors + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-errorwithsuggestions.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-errorwithsuggestions.html new file mode 100644 index 0000000000..0a22c7a781 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-errorwithsuggestions.html @@ -0,0 +1,175 @@ + + + + + ErrorWithSuggestions - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ErrorWithSuggestions

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: int * string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: range
+
+
+ + + + + +
+ + + Data2 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data3 + +
+ Signature: Suggestions
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-exiter.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-exiter.html new file mode 100644 index 0000000000..cf95f842f0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-exiter.html @@ -0,0 +1,122 @@ + + + + + Exiter - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Exiter

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Exit(arg1) + +
+ Signature: int -> 'T
+ Modifiers: abstract
+ Type parameters: 'T
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-experimental.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-experimental.html new file mode 100644 index 0000000000..b07747fbf5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-experimental.html @@ -0,0 +1,139 @@ + + + + + Experimental - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Experimental

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-imperativeoperationresult.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-imperativeoperationresult.html new file mode 100644 index 0000000000..6100c33005 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-imperativeoperationresult.html @@ -0,0 +1,95 @@ + + + + + ImperativeOperationResult - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ImperativeOperationResult

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-internalerror.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-internalerror.html new file mode 100644 index 0000000000..eb1c35c842 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-internalerror.html @@ -0,0 +1,139 @@ + + + + + InternalError - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

InternalError

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-libraryuseonly.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-libraryuseonly.html new file mode 100644 index 0000000000..44563157f8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-libraryuseonly.html @@ -0,0 +1,121 @@ + + + + + LibraryUseOnly - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LibraryUseOnly

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-numberederror.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-numberederror.html new file mode 100644 index 0000000000..2cb7a4b052 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-numberederror.html @@ -0,0 +1,139 @@ + + + + + NumberedError - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NumberedError

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: int * string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-operationresult-1.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-operationresult-1.html new file mode 100644 index 0000000000..b7f3d7aec6 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-operationresult-1.html @@ -0,0 +1,139 @@ + + + + + OperationResult<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

OperationResult<'T>

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + ErrorResult(exn list,exn) + +
+ Signature: exn list * exn
+
+
+ + + + + +
+ + + OkResult(exn list,'T) + +
+ Signature: exn list * 'T
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-phaseddiagnostic.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-phaseddiagnostic.html new file mode 100644 index 0000000000..e445f7f534 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-phaseddiagnostic.html @@ -0,0 +1,261 @@ + + + + + PhasedDiagnostic - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PhasedDiagnostic

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Exception + +
+ Signature: exn
+
+
+ + + + + +
+ + + Phase + +
+ Signature: BuildPhase
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + DebugDisplay() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ + + IsPhaseInCompile() + +
+ Signature: unit -> bool
+
+
+ + + + +

Return true if this phase is one that's known to be part of the 'compile'. This is the initial phase of the entire compilation that +the language service knows about.

+ + +
+ + + Subcategory() + +
+ Signature: unit -> string
+
+
+ + + + +

This is the textual subcategory to display in error and warning messages (shows only under --vserrors):

+ + + +
1: 
+
file1.fs(72): subcategory warning FS0072: This is a warning message
+
+ + +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Create(exn, phase) + +
+ Signature: (exn:exn * phase:BuildPhase) -> PhasedDiagnostic
+
+
+ + + + +

Construct a phased error

+ + +
+ + + IsSubcategoryOfCompile(subcategory) + +
+ Signature: subcategory:string -> bool
+
+
+ + + + +

Return true if the textual phase given is from the compile part of the build process. +This set needs to be equal to the set of subcategories that the language service can produce.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-possibleunverifiablecode.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-possibleunverifiablecode.html new file mode 100644 index 0000000000..9230146600 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-possibleunverifiablecode.html @@ -0,0 +1,121 @@ + + + + + PossibleUnverifiableCode - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PossibleUnverifiableCode

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-reportederror.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-reportederror.html new file mode 100644 index 0000000000..050779bf85 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-reportederror.html @@ -0,0 +1,128 @@ + + + + + ReportedError - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ReportedError

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+

Thrown when immediate, local error recovery is not possible. This indicates +we've reported an error but need to make a non-local transfer of control. +Error recovery may catch this and continue (see 'errorRecovery')

+

The exception that caused the report is carried as data because in some +situations (LazyWithContext) we may need to re-report the original error +when a lazy thunk is re-evaluated.

+ +
+

Record Fields

+ + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: exn option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-stopprocessingexn.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-stopprocessingexn.html new file mode 100644 index 0000000000..16bb461edc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-stopprocessingexn.html @@ -0,0 +1,123 @@ + + + + + StopProcessingExn - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

StopProcessingExn

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+

Thrown when we stop processing the F# Interactive entry or #load.

+ +
+

Record Fields

+ + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: exn option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-suggestions.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-suggestions.html new file mode 100644 index 0000000000..c8412dfb9a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-suggestions.html @@ -0,0 +1,95 @@ + + + + + Suggestions - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+ +
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-trackerrorsbuilder.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-trackerrorsbuilder.html new file mode 100644 index 0000000000..796c5656f9 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-trackerrorsbuilder.html @@ -0,0 +1,238 @@ + + + + + TrackErrorsBuilder - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TrackErrorsBuilder

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> TrackErrorsBuilder
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Bind(res, k) + +
+ Signature: (res:OperationResult<'h> * k:('h -> OperationResult<'i>)) -> OperationResult<'i>
+ Type parameters: 'h, 'i
+
+ + + + + +
+ + + For(seq, k) + +
+ Signature: (seq:'?20189 list * k:('?20189 -> OperationResult<unit>)) -> OperationResult<unit>
+ Type parameters: '?20189
+
+ + + + + +
+ + + Return(res) + +
+ Signature: res:'h -> OperationResult<'h>
+ Type parameters: 'h
+
+ + + + + +
+ + + ReturnFrom(res) + +
+ Signature: res:'h -> 'h
+ Type parameters: 'h
+
+ + + + + +
+ + + While(gd, k) + +
+ Signature: (gd:(unit -> bool) * k:(unit -> OperationResult<unit>)) -> OperationResult<unit>
+
+
+ + + + + +
+ + + Zero() + +
+ Signature: unit -> OperationResult<unit>
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedpathreference.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedpathreference.html new file mode 100644 index 0000000000..3cc1db39c0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedpathreference.html @@ -0,0 +1,157 @@ + + + + + UnresolvedPathReference - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UnresolvedPathReference

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data2 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedpathreferencenorange.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedpathreferencenorange.html new file mode 100644 index 0000000000..9e15836b6d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedpathreferencenorange.html @@ -0,0 +1,139 @@ + + + + + UnresolvedPathReferenceNoRange - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UnresolvedPathReferenceNoRange

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedreferenceerror.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedreferenceerror.html new file mode 100644 index 0000000000..40f7823020 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedreferenceerror.html @@ -0,0 +1,139 @@ + + + + + UnresolvedReferenceError - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UnresolvedReferenceError

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedreferencenorange.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedreferencenorange.html new file mode 100644 index 0000000000..5f5895ea90 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-unresolvedreferencenorange.html @@ -0,0 +1,121 @@ + + + + + UnresolvedReferenceNoRange - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UnresolvedReferenceNoRange

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-usercompilermessage.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-usercompilermessage.html new file mode 100644 index 0000000000..0a12e3e384 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-usercompilermessage.html @@ -0,0 +1,157 @@ + + + + + UserCompilerMessage - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UserCompilerMessage

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: int
+
+
+ + + + + +
+ + + Data2 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger-wrappederror.html b/docs/reference/microsoft-fsharp-compiler-errorlogger-wrappederror.html new file mode 100644 index 0000000000..30a055668f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger-wrappederror.html @@ -0,0 +1,141 @@ + + + + + WrappedError - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

WrappedError

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: ErrorLogger +

+
+

Thrown when we want to add some range information to a .NET exception

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: exn
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-errorlogger.html b/docs/reference/microsoft-fsharp-compiler-errorlogger.html new file mode 100644 index 0000000000..4821fc0c7b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-errorlogger.html @@ -0,0 +1,1352 @@ + + + + + ErrorLogger - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ErrorLogger

+

+ Namespace: Microsoft.FSharp.Compiler
+

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ BuildPhase +

Closed enumeration of build phases.

+ +
+ CapturingErrorLogger +
+ Deprecated +
+ Error +
+ ErrorLogger +
+ ErrorStyle +

Represents the style being used to format errors

+ +
+ ErrorWithSuggestions +
+ Exiter +
+ Experimental +
+ ImperativeOperationResult +
+ InternalError +
+ LibraryUseOnly +
+ NumberedError +
+ OperationResult<'T> +
+ PhasedDiagnostic +
+ PossibleUnverifiableCode +
+ ReportedError +

Thrown when immediate, local error recovery is not possible. This indicates +we've reported an error but need to make a non-local transfer of control. +Error recovery may catch this and continue (see 'errorRecovery')

+

The exception that caused the report is carried as data because in some +situations (LazyWithContext) we may need to re-report the original error +when a lazy thunk is re-evaluated.

+ +
+ StopProcessingExn +

Thrown when we stop processing the F# Interactive entry or #load.

+ +
+ Suggestions +
+ TrackErrorsBuilder +
+ UnresolvedPathReference +
+ UnresolvedPathReferenceNoRange +
+ UnresolvedReferenceError +
+ UnresolvedReferenceNoRange +
+ UserCompilerMessage +
+ WrappedError +

Thrown when we want to add some range information to a .NET exception

+ +
+ + + + + + + + + + + + + + +
ModuleDescription
+ BuildPhaseSubcategory +

Literal build phase subcategory strings.

+ +
+ ErrorLoggerExtensions +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( ++ ) res f + +
+ Signature: res:OperationResult<'a> -> f:('a -> OperationResult<'b>) -> OperationResult<'b>
+ Type parameters: 'a, 'b
+
+ + + + +

The bind in the monad. Stop on first error. Accumulate warnings and continue.

+ + +

CompiledName: op_PlusPlus

+
+ + + AssertFalseErrorLogger + +
+ Signature: ErrorLogger
+
+
+ + + + + +
+ + + AtLeastOneD f l + +
+ Signature: f:('h -> OperationResult<bool>) -> l:'h list -> OperationResult<bool>
+ Type parameters: 'h
+
+ + + + + +
+ + + AttachRange m exn + +
+ Signature: m:range -> exn:exn -> exn
+
+
+ + + + + +
+ + + CheckNoErrorsAndGetWarnings res + +
+ Signature: res:OperationResult<'c> -> exn list option
+ Type parameters: 'c
+
+ + + + + +
+ + + CommitOperationResult res + +
+ Signature: res:OperationResult<'a> -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + CompleteD + +
+ Signature: OperationResult<unit>
+
+
+ + + + + +
+ + + conditionallySuppressErrorReporting (...) + +
+ Signature: cond:bool -> f:(unit -> 'a2) -> 'a2
+ Type parameters: 'a2
+
+ + + + + +
+ + + deprecatedOperator m + +
+ Signature: m:range -> unit
+
+
+ + + + + +
+ + + deprecatedWithError s m + +
+ Signature: s:string -> m:range -> unit
+
+
+ + + + + +
+ + + diagnosticSink (phasedError, isError) + +
+ Signature: (phasedError:PhasedDiagnostic * isError:bool) -> unit
+
+
+ + + + + +
+ + + DiscardErrorsLogger + +
+ Signature: ErrorLogger
+
+
+ + + + + +
+ + + error exn + +
+ Signature: exn:exn -> 'a
+ Type parameters: 'a
+
+ + + + +

Raises a special exception and returns 'T - can be caught later at an errorRecovery point.

+ + +
+ + + ErrorD err + +
+ Signature: err:exn -> OperationResult<'a>
+ Type parameters: 'a
+
+ + + + + +
+ + + errorR exn + +
+ Signature: exn:exn -> unit
+
+
+ + + + +

Raises an exception with error recovery and returns unit.

+ + +
+ + + errorRecovery exn m + +
+ Signature: exn:exn -> m:range -> unit
+
+
+ + + + + +
+ + + errorRecoveryNoRange exn + +
+ Signature: exn:exn -> unit
+
+
+ + + + + +
+ + + errorSink pe + +
+ Signature: pe:PhasedDiagnostic -> unit
+
+
+ + + + + +
+ + + findOriginalException err + +
+ Signature: err:exn -> exn
+
+
+ + + + + +
+ + + Iterate2D f xs ys + +
+ Signature: f:('h -> 'i -> OperationResult<unit>) -> xs:'h list -> ys:'i list -> OperationResult<unit>
+ Type parameters: 'h, 'i
+
+ + + + +

Stop on first error. Accumulate warnings and continue.

+ + +
+ + + IterateD f xs + +
+ Signature: f:('a -> OperationResult<unit>) -> xs:'a list -> OperationResult<unit>
+ Type parameters: 'a
+
+ + + + +

Stop on first error. Accumulate warnings and continue.

+ + +
+ + + IterateIdxD f xs + +
+ Signature: f:(int -> 'h -> OperationResult<unit>) -> xs:'h list -> OperationResult<unit>
+ Type parameters: 'h
+
+ + + + +

Stop on first error. Report index

+ + +
+ + + libraryOnlyError m + +
+ Signature: m:range -> unit
+
+
+ + + + + +
+ + + libraryOnlyWarning m + +
+ Signature: m:range -> unit
+
+
+ + + + + +
+ + + MapD f xs + +
+ Signature: f:('?20178 -> OperationResult<'?20179>) -> xs:'?20178 list -> OperationResult<'?20179 list>
+ Type parameters: '?20178, '?20179
+
+ + + + + +
+ + + mlCompatWarning s m + +
+ Signature: s:String -> m:range -> unit
+
+
+ + + + + +
+ + + NewlineifyErrorString message + +
+ Signature: message:string -> string
+
+
+ + + + + +
+ + + NormalizeErrorString text + +
+ Signature: text:string -> string
+
+
+ + + + +

fixes given string by replacing all control chars with spaces. +NOTE: newlines are recognized and replaced with stringThatIsAProxyForANewlineInFlatErrors (ASCII 29, the 'group separator'), +which is decoded by the IDE with 'NewlineifyErrorString' back into newlines, so that multi-line errors can be displayed in QuickInfo

+ + +
+ + + NoSuggestions () + +
+ Signature: unit -> Set<string>
+
+
+ + + + + +
+ + + OptionD f xs + +
+ Signature: f:('b -> OperationResult<unit>) -> xs:'b option -> OperationResult<unit>
+ Type parameters: 'b
+
+ + + + +

Stop on first error. Accumulate warnings and continue.

+ + +
+ + + protectAssemblyExploration dflt f + +
+ Signature: dflt:'a -> f:(unit -> 'a) -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + protectAssemblyExplorationF dflt f + +
+ Signature: dflt:(string * string -> 'b) -> f:(unit -> 'b) -> 'b
+ Type parameters: 'b
+
+ + + + + +
+ + + protectAssemblyExplorationNoReraise (...) + +
+ Signature: dflt1:'a -> dflt2:'a -> f:(unit -> 'a) -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ + + PushErrorLoggerPhaseUntilUnwind (...) + +
+ Signature: errorLoggerTransformer:(ErrorLogger -> 'a) -> IDisposable
+ Type parameters: 'a
+
+ + + + +

NOTE: The change will be undone when the returned "unwind" object disposes

+ + +
+ + + PushThreadBuildPhaseUntilUnwind phase + +
+ Signature: phase:BuildPhase -> IDisposable
+
+
+ + + + +

NOTE: The change will be undone when the returned "unwind" object disposes

+ + +
+ + + QuitProcessExiter + +
+ Signature: Exiter
+
+
+ + + + + +
+ + + RaiseOperationResult res + +
+ Signature: res:OperationResult<unit> -> unit
+
+
+ + + + + +
+ + + RepeatWhileD ndeep body + +
+ Signature: ndeep:int -> body:(int -> OperationResult<bool>) -> OperationResult<unit>
+
+
+ + + + + +
+ + + report f + +
+ Signature: f:(unit -> '?20147) -> '?20147
+ Type parameters: '?20147
+
+ + + + + +
+ + + reportLibraryOnlyFeatures + +
+ Signature: bool
+
+
+ + + + + +
+ + + ReportWarnings warns + +
+ Signature: warns:'b list -> unit
+ Type parameters: 'b
+
+ + + + + +
+ + + ResultD x + +
+ Signature: x:'h -> OperationResult<'h>
+ Type parameters: 'h
+
+ + + + + +
+ + + SetThreadBuildPhaseNoUnwind phase + +
+ Signature: phase:BuildPhase -> unit
+
+
+ + + + + +
+ + + SetThreadErrorLoggerNoUnwind errorLogger + +
+ Signature: errorLogger:ErrorLogger -> unit
+
+
+ + + + + +
+ + + simulateError p + +
+ Signature: p:PhasedDiagnostic -> 'a
+ Type parameters: 'a
+
+ + + + +

Simulates an error. For test purposes only.

+ + +
+ + + StopProcessing + +
+ Signature: exn
+ Type parameters: 'T
+
+ + + + + +
+ + + stopProcessingRecovery exn m + +
+ Signature: exn:exn -> m:range -> unit
+
+
+ + + + + +
+ + + stringThatIsAProxyForANewlineInFlatErrors (...) + +
+ Signature: String
+
+
+ + + + + +
+ + + suppressErrorReporting f + +
+ Signature: f:(unit -> 'a2) -> 'a2
+ Type parameters: 'a2
+
+ + + + + +
+ + + trackErrors + +
+ Signature: TrackErrorsBuilder
+
+
+ + + + + +
+ + + TryD f g + +
+ Signature: f:(unit -> OperationResult<'h>) -> g:(exn -> OperationResult<'h>) -> OperationResult<'h>
+ Type parameters: 'h
+
+ + + + + +
+ + + WarnD err + +
+ Signature: err:exn -> OperationResult<unit>
+
+
+ + + + + +
+ + + warning exn + +
+ Signature: exn:exn -> unit
+
+
+ + + + +

Raises a warning with error recovery and returns unit.

+ + +
+ + + warnSink pe + +
+ Signature: pe:PhasedDiagnostic -> unit
+
+
+ + + + + +
+ + + WhileD gd body + +
+ Signature: gd:(unit -> bool) -> body:(unit -> OperationResult<unit>) -> OperationResult<unit>
+
+
+ + + + + +
+

Active patterns

+ + + + + + + + + + +
Active patternDescription
+ + + ( |StopProcessing|_| ) exn + +
+ Signature: exn:exn -> unit option
+
+
+ + + + + +

CompiledName: |StopProcessing|_|

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-fsharperrorinfo.html b/docs/reference/microsoft-fsharp-compiler-fsharperrorinfo.html new file mode 100644 index 0000000000..2ef4db350e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-fsharperrorinfo.html @@ -0,0 +1,273 @@ + + + + + FSharpErrorInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpErrorInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + EndColumn + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_EndColumn

+
+ + + EndLineAlternate + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_EndLineAlternate

+
+ + + ErrorNumber + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_ErrorNumber

+
+ + + FileName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_FileName

+
+ + + Message + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Message

+
+ + + Severity + +
+ Signature: FSharpErrorSeverity
+
+
+ + + + + +

CompiledName: get_Severity

+
+ + + StartColumn + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_StartColumn

+
+ + + StartLineAlternate + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_StartLineAlternate

+
+ + + Subcategory + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Subcategory

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-fsharperrorseverity.html b/docs/reference/microsoft-fsharp-compiler-fsharperrorseverity.html new file mode 100644 index 0000000000..cc7a322de3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-fsharperrorseverity.html @@ -0,0 +1,138 @@ + + + + + FSharpErrorSeverity - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpErrorSeverity

+

+ Namespace: Microsoft.FSharp.Compiler
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Error + +
+ Signature:
+
+
+ + + + + +
+ + + Warning + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-compilerinputstream.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-compilerinputstream.html new file mode 100644 index 0000000000..fbd1021ee2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-compilerinputstream.html @@ -0,0 +1,152 @@ + + + + + CompilerInputStream - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CompilerInputStream

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Shell +

+
+

Defines a read-only input stream used to feed content to the hosted F# Interactive dynamic compiler.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> CompilerInputStream
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Add(str) + +
+ Signature: str:string -> unit
+
+
+ + + + +

Feeds content into the stream.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-compileroutputstream.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-compileroutputstream.html new file mode 100644 index 0000000000..659e75adad --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-compileroutputstream.html @@ -0,0 +1,150 @@ + + + + + CompilerOutputStream - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CompilerOutputStream

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Shell +

+
+

Defines a write-only stream used to capture output of the hosted F# Interactive dynamic compiler.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> CompilerOutputStream
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Read() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-evaluationeventargs.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-evaluationeventargs.html new file mode 100644 index 0000000000..8e1e6a15aa --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-evaluationeventargs.html @@ -0,0 +1,208 @@ + + + + + EvaluationEventArgs - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

EvaluationEventArgs

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Shell +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + FsiValue + +
+ Signature: FsiValue option
+
+
+ + + + +

The value of the symbol defined, if any

+ + +

CompiledName: get_FsiValue

+
+ + + ImplementationDeclaration + +
+ Signature: FSharpImplementationFileDeclaration
+
+
+ + + + +

The details of the expression defined

+ + +

CompiledName: get_ImplementationDeclaration

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

The display name of the symbol defined

+ + +

CompiledName: get_Name

+
+ + + Symbol + +
+ Signature: FSharpSymbol
+
+
+ + + + +

The symbol defined

+ + +

CompiledName: get_Symbol

+
+ + + SymbolUse + +
+ Signature: FSharpSymbolUse
+
+
+ + + + +

The FSharpSymbolUse for the symbol defined

+ + +

CompiledName: get_SymbolUse

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsievaluationsession.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsievaluationsession.html new file mode 100644 index 0000000000..62da6389a1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsievaluationsession.html @@ -0,0 +1,618 @@ + + + + + FsiEvaluationSession - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FsiEvaluationSession

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Shell +

+
+

Represents an F# Interactive evaluation session.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + CurrentPartialAssemblySignature + +
+ Signature: FSharpAssemblySignature
+
+
+ + + + +

Get a handle to the resolved view of the current signature of the incrementally generated assembly.

+ + +

CompiledName: get_CurrentPartialAssemblySignature

+
+ + + DynamicAssembly + +
+ Signature: Assembly
+
+
+ + + + +

Get a handle to the dynamicly generated assembly

+ + +

CompiledName: get_DynamicAssembly

+
+ + + EvalExpression(code) + +
+ Signature: code:string -> FsiValue option
+
+
+ + + + +

Execute the code as if it had been entered as one or more interactions, with an +implicit termination at the end of the input. Stop on first error, discarding the rest +of the input. Errors are sent to the output writer. Parsing is performed on the current thread, and execution is performed +sycnhronously on the 'main' thread.

+

Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered +by input from 'stdin'.

+ + +
+ + + EvalExpressionNonThrowing(code) + +
+ Signature: code:string -> Choice<FsiValue option,exn> * FSharpErrorInfo []
+
+
+ + + + +

Execute the code as if it had been entered as one or more interactions, with an +implicit termination at the end of the input. Stop on first error, discarding the rest +of the input. Errors and warnings are collected apart from any exception arising from execution +which is returned via a Choice. Parsing is performed on the current thread, and execution is performed +sycnhronously on the 'main' thread.

+

Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered +by input from 'stdin'.

+ + +
+ + + EvalInteraction(code) + +
+ Signature: code:string -> unit
+
+
+ + + + +

Execute the code as if it had been entered as one or more interactions, with an +implicit termination at the end of the input. Stop on first error, discarding the rest +of the input. Errors are sent to the output writer, a 'true' return value indicates there +were no errors overall. Execution is performed on the 'Run()' thread.

+

Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered +by input from 'stdin'.

+ + +
+ + + EvalInteractionNonThrowing(code) + +
+ Signature: code:string -> Choice<unit,exn> * FSharpErrorInfo []
+
+
+ + + + +

Execute the code as if it had been entered as one or more interactions, with an +implicit termination at the end of the input. Stop on first error, discarding the rest +of the input. Errors and warnings are collected apart from any exception arising from execution +which is returned via a Choice. Execution is performed on the 'Run()' thread.

+

Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered +by input from 'stdin'.

+ + +
+ + + EvalScript(filePath) + +
+ Signature: filePath:string -> unit
+
+
+ + + + +

Execute the given script. Stop on first error, discarding the rest +of the script. Errors are sent to the output writer, a 'true' return value indicates there +were no errors overall. Execution is performed on the 'Run()' thread.

+

Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered +by input from 'stdin'.

+ + +
+ + + EvalScriptNonThrowing(filePath) + +
+ Signature: filePath:string -> Choice<unit,exn> * FSharpErrorInfo []
+
+
+ + + + +

Execute the given script. Stop on first error, discarding the rest +of the script. Errors and warnings are collected apart from any exception arising from execution +which is returned via a Choice. Execution is performed on the 'Run()' thread.

+

Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered +by input from 'stdin'.

+ + +
+ + + FormatValue(...) + +
+ Signature: (reflectionValue:obj * reflectionType:Type) -> string
+
+
+ + + + +

Format a value to a string using the current PrintDepth, PrintLength etc settings provided by the active fsi configuration object

+ + +
+ + + GetCompletions(longIdent) + +
+ Signature: longIdent:string -> seq<string>
+
+
+ + + + +

A host calls this to get the completions for a long identifier, e.g. in the console

+

Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered +by input from 'stdin'.

+ + +
+ + + InteractiveChecker + +
+ Signature: FSharpChecker
+
+
+ + + + +

The single, global interactive checker to use in conjunction with other operations +on the FsiEvaluationSession.

+

If you are using an FsiEvaluationSession in this process, you should only use this InteractiveChecker +for additional checking operations.

+ + +

CompiledName: get_InteractiveChecker

+
+ + + Interrupt() + +
+ Signature: unit -> unit
+
+
+ + + + +

A host calls this to request an interrupt on the evaluation thread.

+ + +
+ + + IsGui + +
+ Signature: bool
+
+
+ + + + +

A host calls this to determine if the --gui parameter is active

+ + +

CompiledName: get_IsGui

+
+ + + LCID + +
+ Signature: int option
+
+
+ + + + +

A host calls this to get the active language ID if provided by fsi-server-lcid

+ + +

CompiledName: get_LCID

+
+ + + ParseAndCheckInteraction(code) + +
+ Signature: code:string -> Async<FSharpParseFileResults * FSharpCheckFileResults * FSharpCheckProjectResults>
+
+
+ + + + +

Typecheck the given script fragment in the type checking context implied by the current state +of F# Interactive. The results can be used to access intellisense, perform resolutions, +check brace matching and other information.

+

Operations may be run concurrently with other requests to the InteractiveChecker.

+

Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered +by input from 'stdin'.

+ + +
+ + + PartialAssemblySignatureUpdated + +
+ Signature: IEvent<unit>
+
+
+ + + + +

Raised when an interaction is successfully typechecked and executed, resulting in an update to the +type checking state.

+

This event is triggered after parsing and checking, either via input from 'stdin', or via a call to EvalInteraction.

+ + +

CompiledName: get_PartialAssemblySignatureUpdated

+
+ + + ReportUnhandledException(exn) + +
+ Signature: exn:exn -> unit
+
+
+ + + + +

A host calls this to report an unhandled exception in a standard way, e.g. an exception on the GUI thread gets printed to stderr

+ + +
+ + + Run() + +
+ Signature: unit -> unit
+
+
+ + + + +

Load the dummy interaction, load the initial files, and, +if interacting, start the background thread to read the standard input.

+

Performs these steps: +- Load the dummy interaction, if any +- Set up exception handling, if any +- Load the initial files, if any +- Start the background thread to read the standard input, if any +- Sit in the GUI event loop indefinitely, if needed

+ + +
+

Static members

+ + + + + + + + + + + + + + + + + + + + + + +
Static memberDescription
+ + + Create(...) + +
+ Signature: (fsiConfig:FsiEvaluationSessionHostConfig * argv:string [] * inReader:TextReader * outWriter:TextWriter * errorWriter:TextWriter * collectible:bool option * msbuildEnabled:bool option) -> FsiEvaluationSession
+
+
+ + + + +

Create an FsiEvaluationSession, reading from the given text input, writing to the given text output and error writers.

+Create an FsiEvaluationSession, reading from the given text input, writing to the given text output and error writers +The dynamic configuration of the evaluation session +The commmand line arguments for the evaluation session +Read input from the given reader +Write output to the given writer +Optionally make the dynamic assmbly for the session collectible + + +
+ + + GetDefaultConfiguration() + +
+ Signature: unit -> FsiEvaluationSessionHostConfig
+
+
+ + + + +

Get a configuration that uses a private inbuilt implementation of the 'fsi' object and does not +implicitly reference FSharp.Compiler.Interactive.Settings.dll.

+ + +
+ + + GetDefaultConfiguration(fsiObj) + +
+ Signature: fsiObj:obj -> FsiEvaluationSessionHostConfig
+
+
+ + + + +

Get a configuration that uses the 'fsi' object (normally from FSharp.Compiler.Interactive.Settings.dll, +an object from another DLL with identical characteristics) to provide an implementation of the configuration. +FSharp.Compiler.Interactive.Settings.dll is referenced by default.

+ + +
+ + + GetDefaultConfiguration(...) + +
+ Signature: (fsiObj:obj * useFsiAuxLib:bool) -> FsiEvaluationSessionHostConfig
+
+
+ + + + +

Get a configuration that uses the 'fsi' object (normally from FSharp.Compiler.Interactive.Settings.dll, +an object from another DLL with identical characteristics) to provide an implementation of the configuration. +The flag indicates if FSharp.Compiler.Interactive.Settings.dll is referenced by default.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsievaluationsessionhostconfig.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsievaluationsessionhostconfig.html new file mode 100644 index 0000000000..3a8a09a5c1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsievaluationsessionhostconfig.html @@ -0,0 +1,532 @@ + + + + + FsiEvaluationSessionHostConfig - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FsiEvaluationSessionHostConfig

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Shell +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> FsiEvaluationSessionHostConfig
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AddedPrinters + +
+ Signature: Choice<(Type * (obj -> string)),(Type * (obj -> obj))> list
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_AddedPrinters

+
+ + + EventLoopInvoke(codeToRun) + +
+ Signature: (codeToRun:(unit -> 'T)) -> 'T
+ Modifiers: abstract
+ Type parameters: 'T
+
+ + + + +

Request that the given operation be run synchronously on the event loop.

+ + +
+ + + EventLoopRun() + +
+ Signature: unit -> bool
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host to enter a dispatch loop like Application.Run(). +Only called if --gui option is used (which is the default). +Gets called towards the end of startup and every time a ThreadAbort escaped to the backup driver loop. +Return true if a 'restart' is required, which is a bit meaningless.

+ + +
+ + + EventLoopScheduleRestart() + +
+ Signature: unit -> unit
+ Modifiers: abstract
+
+
+ + + + +

Schedule a restart for the event loop.

+ + +
+ + + FloatingPointFormat + +
+ Signature: string
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_FloatingPointFormat

+
+ + + FormatProvider + +
+ Signature: IFormatProvider
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_FormatProvider

+
+ + + OnEvaluation + +
+ Signature: IEvent<EvaluationEventArgs>
+
+
+ + + + +

Hook for listening for evaluation bindings

+ + +

CompiledName: get_OnEvaluation

+
+ + + OptionalConsoleReadLine + +
+ Signature: (unit -> string) option
+ Modifiers: abstract
+
+
+ + + + +

Indicate a special console "readline" reader for the evaluation session, if any. A "console" gets used if --readline is specified (the default on Windows + .NET); and --fsi-server is not +given (always combine with --readline-), and OptionalConsoleReadLine is given. +When a console is used, special rules apply to "peekahead", which allows early typing on the console. +Peekahead happens if --peekahead- is not specified (the default). +In this case, a prompt is printed early, a background thread is created and +the OptionalConsoleReadLine is used to read the first line. +If a console is not used, then inReader.Peek() is called early instead. +Further lines are read using OptionalConsoleReadLine(). +If not provided, lines are read using inReader.ReadLine().

+ + +

CompiledName: get_OptionalConsoleReadLine

+
+ + + PrintDepth + +
+ Signature: int
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_PrintDepth

+
+ + + PrintLength + +
+ Signature: int
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_PrintLength

+
+ + + PrintSize + +
+ Signature: int
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_PrintSize

+
+ + + PrintWidth + +
+ Signature: int
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_PrintWidth

+
+ + + ReportUserCommandLineArgs(arg1) + +
+ Signature: (string []) -> unit
+ Modifiers: abstract
+
+
+ + + + +

The evaluation session calls this to report the preferred view of the command line arguments after +stripping things like "/use:file.fsx", "-r:Foo.dll" etc.

+ + +
+ + + ShowDeclarationValues + +
+ Signature: bool
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_ShowDeclarationValues

+
+ + + ShowIEnumerable + +
+ Signature: bool
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_ShowIEnumerable

+
+ + + ShowProperties + +
+ Signature: bool
+ Modifiers: abstract
+
+
+ + + + +

Called by the evaluation session to ask the host for parameters to format text for output

+ + +

CompiledName: get_ShowProperties

+
+ + + StartServer(fsiServerName) + +
+ Signature: fsiServerName:string -> unit
+ Modifiers: abstract
+
+
+ + + + +

The evaluation session calls this at an appropriate point in the startup phase if the --fsi-server parameter was given

+ + +
+ + + UseFsiAuxLib + +
+ Signature: bool
+ Modifiers: abstract
+
+
+ + + + +

Implicitly reference FSharp.Compiler.Interactive.Settings.dll

+ + +

CompiledName: get_UseFsiAuxLib

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsivalue.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsivalue.html new file mode 100644 index 0000000000..7db4c73f4c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-fsivalue.html @@ -0,0 +1,168 @@ + + + + + FsiValue - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FsiValue

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Shell +

+
+

Represents an evaluated F# value

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + FSharpType + +
+ Signature: FSharpType
+
+
+ + + + +

The type of the value, from the point of view of the F# type system

+ + +

CompiledName: get_FSharpType

+
+ + + ReflectionType + +
+ Signature: Type
+
+
+ + + + +

The type of the value, from the point of view of the .NET type system

+ + +

CompiledName: get_ReflectionType

+
+ + + ReflectionValue + +
+ Signature: obj
+
+
+ + + + +

The value, as an object

+ + +

CompiledName: get_ReflectionValue

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings-ieventloop.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings-ieventloop.html new file mode 100644 index 0000000000..8e5efc46a5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings-ieventloop.html @@ -0,0 +1,169 @@ + + + + + IEventLoop - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

IEventLoop

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Settings +

+
+

An event loop used by the currently executing F# Interactive session to execute code +in the context of a GUI or another event-based system.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Invoke(arg1) + +
+ Signature: ((unit -> 'T)) -> 'T
+ Modifiers: abstract
+ Type parameters: 'T
+
+ + + + +

Request that the given operation be run synchronously on the event loop.

+ + +
+ + + Run() + +
+ Signature: unit -> bool
+ Modifiers: abstract
+
+
+ + + + +

Run the event loop.

+ + +
+ + + ScheduleRestart() + +
+ Signature: unit -> unit
+ Modifiers: abstract
+
+
+ + + + +

Schedule a restart for the event loop.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings-interactivesettings.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings-interactivesettings.html new file mode 100644 index 0000000000..0f96eb5390 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings-interactivesettings.html @@ -0,0 +1,615 @@ + + + + + InteractiveSettings - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

InteractiveSettings

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Settings +

+
+

Operations supported by the currently executing F# Interactive session.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AddPrinter(arg1) + +
+ Signature: (('T -> string)) -> unit
+ Type parameters: 'T
+
+ + + + +

Register a printer that controls the output of the interactive session.

+ + +
+ + + AddPrintTransformer(arg1) + +
+ Signature: (('T -> obj)) -> unit
+ Type parameters: 'T
+
+ + + + +

Register a print transformer that controls the output of the interactive session.

+ + +
+ + + CommandLineArgs() + +
+ Signature: unit -> string []
+
+
+ + + + +

The command line arguments after ignoring the arguments relevant to the interactive +environment and replacing the first argument with the name of the last script file, +if any. Thus 'fsi.exe test1.fs test2.fs -- hello goodbye' will give arguments +'test2.fs', 'hello', 'goodbye'. This value will normally be different to those +returned by System.Environment.GetCommandLineArgs.

+ + +

CompiledName: set_CommandLineArgs

+
+ + + CommandLineArgs() + +
+ Signature: unit -> unit
+
+
+ + + + +

The command line arguments after ignoring the arguments relevant to the interactive +environment and replacing the first argument with the name of the last script file, +if any. Thus 'fsi.exe test1.fs test2.fs -- hello goodbye' will give arguments +'test2.fs', 'hello', 'goodbye'. This value will normally be different to those +returned by System.Environment.GetCommandLineArgs.

+ + +

CompiledName: get_CommandLineArgs

+
+ + + EventLoop() + +
+ Signature: unit -> IEventLoop
+
+
+ + + + +

Gets or sets a the current event loop being used to process interactions.

+ + +

CompiledName: set_EventLoop

+
+ + + EventLoop() + +
+ Signature: unit -> unit
+
+
+ + + + +

Gets or sets a the current event loop being used to process interactions.

+ + +

CompiledName: get_EventLoop

+
+ + + FloatingPointFormat() + +
+ Signature: unit -> string
+
+
+ + + + +

Get or set the floating point format used in the output of the interactive session.

+ + +

CompiledName: set_FloatingPointFormat

+
+ + + FloatingPointFormat() + +
+ Signature: unit -> unit
+
+
+ + + + +

Get or set the floating point format used in the output of the interactive session.

+ + +

CompiledName: get_FloatingPointFormat

+
+ + + FormatProvider() + +
+ Signature: unit -> IFormatProvider
+
+
+ + + + +

Get or set the format provider used in the output of the interactive session.

+ + +

CompiledName: set_FormatProvider

+
+ + + FormatProvider() + +
+ Signature: unit -> unit
+
+
+ + + + +

Get or set the format provider used in the output of the interactive session.

+ + +

CompiledName: get_FormatProvider

+
+ + + PrintDepth() + +
+ Signature: unit -> int
+
+
+ + + + +

Get or set the print depth of the interactive session.

+ + +

CompiledName: set_PrintDepth

+
+ + + PrintDepth() + +
+ Signature: unit -> unit
+
+
+ + + + +

Get or set the print depth of the interactive session.

+ + +

CompiledName: get_PrintDepth

+
+ + + PrintLength() + +
+ Signature: unit -> int
+
+
+ + + + +

Get or set the total print length of the interactive session.

+ + +

CompiledName: set_PrintLength

+
+ + + PrintLength() + +
+ Signature: unit -> unit
+
+
+ + + + +

Get or set the total print length of the interactive session.

+ + +

CompiledName: get_PrintLength

+
+ + + PrintSize() + +
+ Signature: unit -> int
+
+
+ + + + +

Get or set the total print size of the interactive session.

+ + +

CompiledName: set_PrintSize

+
+ + + PrintSize() + +
+ Signature: unit -> unit
+
+
+ + + + +

Get or set the total print size of the interactive session.

+ + +

CompiledName: get_PrintSize

+
+ + + PrintWidth() + +
+ Signature: unit -> int
+
+
+ + + + +

Get or set the print width of the interactive session.

+ + +

CompiledName: set_PrintWidth

+
+ + + PrintWidth() + +
+ Signature: unit -> unit
+
+
+ + + + +

Get or set the print width of the interactive session.

+ + +

CompiledName: get_PrintWidth

+
+ + + ShowDeclarationValues() + +
+ Signature: unit -> bool
+
+
+ + + + +

When set to 'false', disables the display of declaration values in the output of the interactive session.

+ + +

CompiledName: set_ShowDeclarationValues

+
+ + + ShowDeclarationValues() + +
+ Signature: unit -> unit
+
+
+ + + + +

When set to 'false', disables the display of declaration values in the output of the interactive session.

+ + +

CompiledName: get_ShowDeclarationValues

+
+ + + ShowIEnumerable() + +
+ Signature: unit -> bool
+
+
+ + + + +

When set to 'false', disables the display of sequences in the output of the interactive session.

+ + +

CompiledName: set_ShowIEnumerable

+
+ + + ShowIEnumerable() + +
+ Signature: unit -> unit
+
+
+ + + + +

When set to 'false', disables the display of sequences in the output of the interactive session.

+ + +

CompiledName: get_ShowIEnumerable

+
+ + + ShowProperties() + +
+ Signature: unit -> bool
+
+
+ + + + +

When set to 'false', disables the display of properties of evaluated objects in the output of the interactive session.

+ + +

CompiledName: set_ShowProperties

+
+ + + ShowProperties() + +
+ Signature: unit -> unit
+
+
+ + + + +

When set to 'false', disables the display of properties of evaluated objects in the output of the interactive session.

+ + +

CompiledName: get_ShowProperties

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings.html new file mode 100644 index 0000000000..aeebcca5d7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell-settings.html @@ -0,0 +1,159 @@ + + + + + Settings - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Settings

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+ Parent Module: Shell +

+
+

A default implementation of the 'fsi' object, used by GetDefaultConfiguration()

+ +
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ IEventLoop +

An event loop used by the currently executing F# Interactive session to execute code +in the context of a GUI or another event-based system.

+ +
+ InteractiveSettings +

Operations supported by the currently executing F# Interactive session.

+ +
+ +
+ +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + fsi + +
+ Signature: InteractiveSettings
+
+
+ + + + +

A default implementation of the 'fsi' object, used by GetDefaultConfiguration(). Note this +is a different object to FSharp.Compiler.Interactive.Settings.fsi in FSharp.Compiler.Interactive.Settings.dll, +which can be used as an alternative implementation of the interactiev settings if passed as a parameter +to GetDefaultConfiguration(fsiObj).

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-interactive-shell.html b/docs/reference/microsoft-fsharp-compiler-interactive-shell.html new file mode 100644 index 0000000000..e110b5c44f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-interactive-shell.html @@ -0,0 +1,167 @@ + + + + + Shell - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Shell

+

+ Namespace: Microsoft.FSharp.Compiler.Interactive
+

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ CompilerInputStream +

Defines a read-only input stream used to feed content to the hosted F# Interactive dynamic compiler.

+ +
+ CompilerOutputStream +

Defines a write-only stream used to capture output of the hosted F# Interactive dynamic compiler.

+ +
+ EvaluationEventArgs +
+ FsiEvaluationSession +

Represents an F# Interactive evaluation session.

+ +
+ FsiEvaluationSessionHostConfig +
+ FsiValue +

Represents an evaluated F# value

+ +
+ + + + + + + + + + +
ModuleDescription
+ Settings +

A default implementation of the 'fsi' object, used by GetDefaultConfiguration()

+ +
+ +
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-layout.html b/docs/reference/microsoft-fsharp-compiler-layout-layout.html new file mode 100644 index 0000000000..6381bae29b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-layout.html @@ -0,0 +1,95 @@ + + + + + layout - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+ +
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-layoutrenderer-2.html b/docs/reference/microsoft-fsharp-compiler-layout-layoutrenderer-2.html new file mode 100644 index 0000000000..373124db5b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-layoutrenderer-2.html @@ -0,0 +1,200 @@ + + + + + LayoutRenderer<'a, 'b> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LayoutRenderer<'a, 'b>

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+

render a Layout yielding an 'a using a 'b (hidden state) type

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AddBreak(arg1 arg2) + +
+ Signature: 'b -> int -> 'b
+ Modifiers: abstract
+
+
+ + + + + +
+ + + AddTag(arg1 (arg2, arg3, arg4)) + +
+ Signature: 'b -> (string * (string * string) list * bool) -> 'b
+ Modifiers: abstract
+
+
+ + + + + +
+ + + AddText(arg1 arg2) + +
+ Signature: 'b -> TaggedText -> 'b
+ Modifiers: abstract
+
+
+ + + + + +
+ + + Finish(arg1) + +
+ Signature: 'b -> 'a
+ Modifiers: abstract
+
+
+ + + + + +
+ + + Start() + +
+ Signature: unit -> 'b
+ Modifiers: abstract
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-layouttag.html b/docs/reference/microsoft-fsharp-compiler-layout-layouttag.html new file mode 100644 index 0000000000..42109702eb --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-layouttag.html @@ -0,0 +1,95 @@ + + + + + LayoutTag - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+ +
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-leftl.html b/docs/reference/microsoft-fsharp-compiler-layout-leftl.html new file mode 100644 index 0000000000..ad35a7e941 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-leftl.html @@ -0,0 +1,232 @@ + + + + + LeftL - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LeftL

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + colon + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordTypedefof + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordTypeof + +
+ Signature: Layout
+
+
+ + + + + +
+ + + leftBracketAngle + +
+ Signature: Layout
+
+
+ + + + + +
+ + + leftBracketBar + +
+ Signature: Layout
+
+
+ + + + + +
+ + + leftParen + +
+ Signature: Layout
+
+
+ + + + + +
+ + + questionMark + +
+ Signature: Layout
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-navigabletaggedtext.html b/docs/reference/microsoft-fsharp-compiler-layout-navigabletaggedtext.html new file mode 100644 index 0000000000..562355bb13 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-navigabletaggedtext.html @@ -0,0 +1,149 @@ + + + + + NavigableTaggedText - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NavigableTaggedText

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(arg1, arg2) + +
+ Signature: (TaggedText * range) -> NavigableTaggedText
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-noresult.html b/docs/reference/microsoft-fsharp-compiler-layout-noresult.html new file mode 100644 index 0000000000..fb55a1dfe3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-noresult.html @@ -0,0 +1,121 @@ + + + + + NoResult - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NoResult

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + NoResult + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-nostate.html b/docs/reference/microsoft-fsharp-compiler-layout-nostate.html new file mode 100644 index 0000000000..85ee6e5056 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-nostate.html @@ -0,0 +1,121 @@ + + + + + NoState - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NoState

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + NoState + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-rightl.html b/docs/reference/microsoft-fsharp-compiler-layout-rightl.html new file mode 100644 index 0000000000..e03d259c3a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-rightl.html @@ -0,0 +1,232 @@ + + + + + RightL - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

RightL

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + colon + +
+ Signature: Layout
+
+
+ + + + + +
+ + + comma + +
+ Signature: Layout
+
+
+ + + + + +
+ + + rightAngle + +
+ Signature: Layout
+
+
+ + + + + +
+ + + rightBracket + +
+ Signature: Layout
+
+
+ + + + + +
+ + + rightBracketAngle + +
+ Signature: Layout
+
+
+ + + + + +
+ + + rightBracketBar + +
+ Signature: Layout
+
+
+ + + + + +
+ + + rightParen + +
+ Signature: Layout
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-sepl.html b/docs/reference/microsoft-fsharp-compiler-layout-sepl.html new file mode 100644 index 0000000000..d5ac1b2913 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-sepl.html @@ -0,0 +1,304 @@ + + + + + SepL - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SepL

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + colon + +
+ Signature: Layout
+
+
+ + + + + +
+ + + comma + +
+ Signature: Layout
+
+
+ + + + + +
+ + + dot + +
+ Signature: Layout
+
+
+ + + + + +
+ + + leftAngle + +
+ Signature: Layout
+
+
+ + + + + +
+ + + leftBracket + +
+ Signature: Layout
+
+
+ + + + + +
+ + + leftParen + +
+ Signature: Layout
+
+
+ + + + + +
+ + + lineBreak + +
+ Signature: Layout
+
+
+ + + + + +
+ + + questionMark + +
+ Signature: Layout
+
+
+ + + + + +
+ + + rightParen + +
+ Signature: Layout
+
+
+ + + + + +
+ + + space + +
+ Signature: Layout
+
+
+ + + + + +
+ + + star + +
+ Signature: Layout
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-taggedtext.html b/docs/reference/microsoft-fsharp-compiler-layout-taggedtext.html new file mode 100644 index 0000000000..3c23e1c705 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-taggedtext.html @@ -0,0 +1,143 @@ + + + + + TaggedText - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TaggedText

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Tag + +
+ Signature: LayoutTag
+ Modifiers: abstract
+
+
+ + + + + +

CompiledName: get_Tag

+
+ + + Text + +
+ Signature: string
+ Modifiers: abstract
+
+
+ + + + + +

CompiledName: get_Text

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-taggedtextops-literals.html b/docs/reference/microsoft-fsharp-compiler-layout-taggedtextops-literals.html new file mode 100644 index 0000000000..d5feddce93 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-taggedtextops-literals.html @@ -0,0 +1,466 @@ + + + + + Literals - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Literals

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: TaggedTextOps +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + arrow + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + colon + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + comma + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + dot + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + equals + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + keywordFalse + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + keywordTrue + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + leftAngle + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + leftBrace + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + leftBracket + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + leftParen + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + lineBreak + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + minus + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + questionMark + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + rightAngle + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + rightBrace + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + rightBracket + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + rightParen + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + semicolon + +
+ Signature: TaggedText
+
+
+ + + + + +
+ + + space + +
+ Signature: TaggedText
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-taggedtextops.html b/docs/reference/microsoft-fsharp-compiler-layout-taggedtextops.html new file mode 100644 index 0000000000..cbecf91457 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-taggedtextops.html @@ -0,0 +1,717 @@ + + + + + TaggedTextOps - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TaggedTextOps

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
ModuleDescription
+ Literals +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + tagActivePatternCase + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagActivePatternResult + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagAlias + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagClass + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagDelegate + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagEnum + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagEvent + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagField + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagInterface + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagKeyword + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagLineBreak + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagLocal + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagMember + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagMethod + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagModule + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagModuleBinding + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagNamespace + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagNumericLiteral + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagOperator + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagParameter + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagProperty + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagPunctuation + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagRecord + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagRecordField + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagSpace + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagStringLiteral + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagStruct + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagText + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagTypeParameter + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagUnion + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagUnionCase + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagUnknownEntity + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ + + tagUnknownType + +
+ Signature: string -> TaggedText
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout-wordl.html b/docs/reference/microsoft-fsharp-compiler-layout-wordl.html new file mode 100644 index 0000000000..beb587057c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout-wordl.html @@ -0,0 +1,610 @@ + + + + + WordL - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

WordL

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Layout +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + arrow + +
+ Signature: Layout
+
+
+ + + + + +
+ + + bar + +
+ Signature: Layout
+
+
+ + + + + +
+ + + colon + +
+ Signature: Layout
+
+
+ + + + + +
+ + + equals + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordAbstract + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordDelegate + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordEnd + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordEnum + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordEvent + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordFalse + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordGet + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordInherit + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordInternal + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordMember + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordNested + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordNew + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordOf + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordOverride + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordPrivate + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordSet + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordStatic + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordStruct + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordTrue + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordType + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordVal + +
+ Signature: Layout
+
+
+ + + + + +
+ + + keywordWith + +
+ Signature: Layout
+
+
+ + + + + +
+ + + star + +
+ Signature: Layout
+
+
+ + + + + +
+ + + structUnit + +
+ Signature: Layout
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-layout.html b/docs/reference/microsoft-fsharp-compiler-layout.html new file mode 100644 index 0000000000..8f8d4d61ac --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-layout.html @@ -0,0 +1,840 @@ + + + + + Layout - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Layout

+

+ Namespace: Microsoft.FSharp.Compiler
+

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ LayoutRenderer<'a, 'b> +

render a Layout yielding an 'a using a 'b (hidden state) type

+ +
+ LayoutTag +
+ NavigableTaggedText +
+ NoResult +
+ NoState +
+ TaggedText +
+ layout +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleDescription
+ LeftL +
+ RightL +
+ SepL +
+ TaggedTextOps +
+ WordL +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( -- ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_MinusMinus

+
+ + + ( --- ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_MinusMinusMinus

+
+ + + ( ---- ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_MinusMinusMinusMinus

+
+ + + ( ----- ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_MinusMinusMinusMinusMinus

+
+ + + ( @@ ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_AtAt

+
+ + + ( @@- ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_AtAtMinus

+
+ + + ( @@-- ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_AtAtMinusMinus

+
+ + + ( ^^ ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_HatHat

+
+ + + ( ++ ) arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +

CompiledName: op_PlusPlus

+
+ + + aboveL arg1 arg2 + +
+ Signature: Layout -> Layout -> Layout
+
+
+ + + + + +
+ + + aboveListL arg1 + +
+ Signature: Layout list -> Layout
+
+
+ + + + + +
+ + + bracketL arg1 + +
+ Signature: Layout -> Layout
+
+
+ + + + + +
+ + + bufferL arg1 arg2 + +
+ Signature: StringBuilder -> Layout -> unit
+
+
+ + + + + +
+ + + bufferR arg1 + +
+ Signature: StringBuilder -> LayoutRenderer<NoResult,NoState>
+
+
+ + + + + +
+ + + channelR arg1 + +
+ Signature: TextWriter -> LayoutRenderer<NoResult,NoState>
+
+
+ + + + + +
+ + + commaListL arg1 + +
+ Signature: Layout list -> Layout
+
+
+ + + + + +
+ + + emptyL + +
+ Signature: Layout
+
+
+ + + + + +
+ + + isEmptyL arg1 + +
+ Signature: Layout -> bool
+
+
+ + + + + +
+ + + leftL arg1 + +
+ Signature: TaggedText -> Layout
+
+
+ + + + + +
+ + + listL arg1 arg2 + +
+ Signature: ('a -> Layout) -> 'a list -> Layout
+ Type parameters: 'a
+
+ + + + + +
+ + + mkNav arg1 arg2 + +
+ Signature: range -> TaggedText -> TaggedText
+
+
+ + + + + +
+ + + optionL arg1 arg2 + +
+ Signature: ('a -> Layout) -> 'a option -> Layout
+ Type parameters: 'a
+
+ + + + + +
+ + + outL arg1 arg2 + +
+ Signature: TextWriter -> Layout -> unit
+
+
+ + + + + +
+ + + renderL arg1 arg2 + +
+ Signature: LayoutRenderer<'b,'a> -> Layout -> 'b
+ Type parameters: 'b, 'a
+
+ + + + +

Run a render on a Layout

+ + +
+ + + rightL arg1 + +
+ Signature: TaggedText -> Layout
+
+
+ + + + + +
+ + + semiListL arg1 + +
+ Signature: Layout list -> Layout
+
+
+ + + + + +
+ + + sepL arg1 + +
+ Signature: TaggedText -> Layout
+
+
+ + + + + +
+ + + sepListL arg1 arg2 + +
+ Signature: Layout -> Layout list -> Layout
+
+
+ + + + + +
+ + + showL arg1 + +
+ Signature: Layout -> string
+
+
+ + + + + +
+ + + spaceListL arg1 + +
+ Signature: Layout list -> Layout
+
+
+ + + + + +
+ + + squashTo arg1 arg2 + +
+ Signature: int -> Layout -> Layout
+
+
+ + + + + +
+ + + stringR + +
+ Signature: LayoutRenderer<string,string list>
+
+
+ + + + +

Primitive renders

+ + +
+ + + taggedTextListR collector + +
+ Signature: collector:(TaggedText -> unit) -> LayoutRenderer<NoResult,NoState>
+
+
+ + + + + +
+ + + tupleL arg1 + +
+ Signature: Layout list -> Layout
+
+
+ + + + + +
+ + + wordL arg1 + +
+ Signature: TaggedText -> Layout
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-prettynaming-activepatterninfo.html b/docs/reference/microsoft-fsharp-compiler-prettynaming-activepatterninfo.html new file mode 100644 index 0000000000..9b0dd7f99a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-prettynaming-activepatterninfo.html @@ -0,0 +1,205 @@ + + + + + ActivePatternInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ActivePatternInfo

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: PrettyNaming +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + APInfo(bool,(string * range) list,range) + +
+ Signature: bool * (string * range) list * range
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + ActiveTags + +
+ Signature: string list
+
+
+ + + + + +

CompiledName: get_ActiveTags

+
+ + + ActiveTagsWithRanges + +
+ Signature: (string * range) list
+
+
+ + + + + +

CompiledName: get_ActiveTagsWithRanges

+
+ + + IsTotal + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsTotal

+
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-prettynaming-invalidmangledstaticarg.html b/docs/reference/microsoft-fsharp-compiler-prettynaming-invalidmangledstaticarg.html new file mode 100644 index 0000000000..8731915aed --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-prettynaming-invalidmangledstaticarg.html @@ -0,0 +1,121 @@ + + + + + InvalidMangledStaticArg - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

InvalidMangledStaticArg

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: PrettyNaming +

+
+
+

Record Fields

+ + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-prettynaming-namearitypair.html b/docs/reference/microsoft-fsharp-compiler-prettynaming-namearitypair.html new file mode 100644 index 0000000000..8db833034a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-prettynaming-namearitypair.html @@ -0,0 +1,121 @@ + + + + + NameArityPair - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NameArityPair

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: PrettyNaming +

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + NameArityPair(string,int) + +
+ Signature: string * int
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-prettynaming.html b/docs/reference/microsoft-fsharp-compiler-prettynaming.html new file mode 100644 index 0000000000..dbe2b69b1b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-prettynaming.html @@ -0,0 +1,1001 @@ + + + + + PrettyNaming - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PrettyNaming

+

+ Namespace: Microsoft.FSharp.Compiler
+

+
+

Anything to do with special names of identifiers and other lexical rules

+ +
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ ActivePatternInfo +
+ InvalidMangledStaticArg +
+ NameArityPair +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ActivePatternInfoOfValName nm m + +
+ Signature: nm:string -> m:range -> ActivePatternInfo option
+
+
+ + + + + +
+ + + ChopPropertyName s + +
+ Signature: s:string -> string
+
+
+ + + + +

Try to chop "get" or "set" from a string. +If the string does not start with "get" or "set", this function raises an exception.

+ + +
+ + + CompileOpName + +
+ Signature: string -> string
+
+
+ + + + +

Compiles an operator into a mangled operator name. +For example, "!%" becomes "op_DereferencePercent". +This function accepts both built-in and custom operators.

+ + +
+ + + CompilerGeneratedName nm + +
+ Signature: nm:string -> string
+
+
+ + + + + +
+ + + CompilerGeneratedNameSuffix (...) + +
+ Signature: basicName:string -> suffix:string -> string
+
+
+ + + + + +
+ + + computeMangledNameWithoutDefaultArgValues (...) + +
+ Signature: (nm:string * staticArgs:obj [] * defaultArgValues:(string * string option) []) -> string
+
+
+ + + + + +
+ + + DecodeGenericTypeName n + +
+ Signature: n:string -> NameArityPair
+
+
+ + + + + +
+ + + DecompileOpName + +
+ Signature: string -> string
+
+
+ + + + +

Decompiles a mangled operator name back into an operator. +For example, "op_DereferencePercent" becomes "!%". +This function accepts mangled names for both built-in and custom operators.

+ + +
+ + + DemangleGenericTypeName n + +
+ Signature: n:string -> string
+
+
+ + + + + +
+ + + DemangleOperatorName nm + +
+ Signature: nm:string -> string
+
+
+ + + + + +
+ + + DemangleOperatorNameAsLayout (...) + +
+ Signature: nonOpTagged:(string -> 'a) -> nm:string -> Layout
+ Type parameters: 'a
+
+ + + + + +
+ + + demangleProvidedTypeName typeLogicalName + +
+ Signature: typeLogicalName:string -> string * (string * string) []
+
+
+ + + + + +
+ + + FSharpModuleSuffix + +
+ Signature: string
+
+
+ + + + + +
+ + + GetBasicNameOfPossibleCompilerGeneratedName (...) + +
+ Signature: name:string -> string
+
+
+ + + + + +
+ + + IllegalCharactersInTypeAndNamespaceNames (...) + +
+ Signature: char []
+
+
+ + + + + +
+ + + IsActivePatternName nm + +
+ Signature: nm:string -> bool
+
+
+ + + + +

Determines if the specified name is a valid name for an active pattern.

+ + +
+ + + IsCompilerGeneratedName nm + +
+ Signature: nm:string -> bool
+
+
+ + + + + +
+ + + IsIdentifierFirstCharacter c + +
+ Signature: c:char -> bool
+
+
+ + + + +

The characters that are allowed to be the first character of an identifier.

+ + +
+ + + IsIdentifierPartCharacter c + +
+ Signature: c:char -> bool
+
+
+ + + + +

The characters that are allowed to be in an identifier.

+ + +
+ + + IsInfixOperator + +
+ Signature: string -> bool
+
+
+ + + + + +
+ + + IsLongIdentifierPartCharacter c + +
+ Signature: c:char -> bool
+
+
+ + + + +

Is this character a part of a long identifier?

+ + +
+ + + IsMangledGenericName n + +
+ Signature: n:string -> bool
+
+
+ + + + + +
+ + + IsMangledOpName n + +
+ Signature: n:string -> bool
+
+
+ + + + + +
+ + + IsOperatorName name + +
+ Signature: name:string -> bool
+
+
+ + + + +

Returns true if given string is an operator display name, e.g. ( |>> )

+ + +
+ + + IsOperatorOrBacktickedName name + +
+ Signature: name:string -> bool
+
+
+ + + + +

Returns true if given string is an operator or double backticked name, e.g. ( |>> ) or ( long identifier ). +(where ( long identifier ) is the display name for long identifier).

+ + +
+ + + IsPrefixOperator s + +
+ Signature: s:string -> bool
+
+
+ + + + + +
+ + + IsPunctuation s + +
+ Signature: s:string -> bool
+
+
+ + + + + +
+ + + IsTernaryOperator s + +
+ Signature: s:string -> bool
+
+
+ + + + + +
+ + + IsValidPrefixOperatorDefinitionName s + +
+ Signature: s:string -> bool
+
+
+ + + + + +
+ + + IsValidPrefixOperatorUse s + +
+ Signature: s:string -> bool
+
+
+ + + + + +
+ + + MangledGlobalName + +
+ Signature: string
+
+
+ + + + + +
+ + + mangleProvidedTypeName (...) + +
+ Signature: (typeLogicalName:string * nonDefaultArgs:(string * string) []) -> string
+
+
+ + + + + +
+ + + opNameCons + +
+ Signature: string
+
+
+ + + + + +
+ + + opNameEquals + +
+ Signature: string
+
+
+ + + + + +
+ + + opNameEqualsNullable + +
+ Signature: string
+
+
+ + + + + +
+ + + opNameNil + +
+ Signature: string
+
+
+ + + + + +
+ + + opNameNullableEquals + +
+ Signature: string
+
+
+ + + + + +
+ + + opNameNullableEqualsNullable + +
+ Signature: string
+
+
+ + + + + +
+ + + opNamePrefix + +
+ Signature: string
+
+
+ + + + +

Prefix for compiled (mangled) operator names.

+ + +
+ + + parenGet + +
+ Signature: string
+
+
+ + + + + +
+ + + parenSet + +
+ Signature: string
+
+
+ + + + + +
+ + + qmark + +
+ Signature: string
+
+
+ + + + + +
+ + + qmarkSet + +
+ Signature: string
+
+
+ + + + + +
+ + + SplitNamesForILPath s + +
+ Signature: s:string -> string list
+
+
+ + + + + +
+ + + TryChopPropertyName s + +
+ Signature: s:string -> string option
+
+
+ + + + +

Try to chop "get" or "set" from a string

+ + +
+

Active patterns

+ + + + + + + + + + +
Active patternDescription
+ + + ( |Control|Equality|Relational|Indexer|FixedTypes|Other| ) (...) + +
+ Signature: opName:string -> Choice<unit,unit,unit,unit,unit,unit>
+
+
+ + + + + +

CompiledName: |Control|Equality|Relational|Indexer|FixedTypes|Other|

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-fileindex.html b/docs/reference/microsoft-fsharp-compiler-range-fileindex.html new file mode 100644 index 0000000000..0da5a70be1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-fileindex.html @@ -0,0 +1,95 @@ + + + + + FileIndex - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+ +
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-line.html b/docs/reference/microsoft-fsharp-compiler-range-line.html new file mode 100644 index 0000000000..ee5f95fd24 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-line.html @@ -0,0 +1,146 @@ + + + + + Line - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Line

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Range +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + fromZ arg1 + +
+ Signature: Line0 -> int
+
+
+ + + + +

Convert a line number from zero-based line counting (used by Visual Studio) to one-based line counting (used internally in the F# compiler and in F# error messages)

+ + +
+ + + toZ arg1 + +
+ Signature: int -> Line0
+
+
+ + + + +

Convert a line number from one-based line counting (used internally in the F# compiler and in F# error messages) to zero-based line counting (used by Visual Studio)

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-line0.html b/docs/reference/microsoft-fsharp-compiler-range-line0.html new file mode 100644 index 0000000000..ed65ebb2c8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-line0.html @@ -0,0 +1,97 @@ + + + + + Line0 - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Line0

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Range +

+
+

Represents a line number when using zero-based line counting (used by Visual Studio)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-pos-0.html b/docs/reference/microsoft-fsharp-compiler-range-pos-0.html new file mode 100644 index 0000000000..73fe8e5cbc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-pos-0.html @@ -0,0 +1,146 @@ + + + + + Pos - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Pos

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Range +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + fromZ line column + +
+ Signature: line:Line0 -> column:int -> pos
+
+
+ + + + +

Convert a position from zero-based line counting (used by Visual Studio) to one-based line counting (used internally in the F# compiler and in F# error messages)

+ + +
+ + + toZ arg1 + +
+ Signature: pos -> Pos01
+
+
+ + + + +

Convert a position from one-based line counting (used internally in the F# compiler and in F# error messages) to zero-based line counting (used by Visual Studio)

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-pos.html b/docs/reference/microsoft-fsharp-compiler-range-pos.html new file mode 100644 index 0000000000..cd4bbd4631 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-pos.html @@ -0,0 +1,207 @@ + + + + + pos - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

pos

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Range +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Column + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_Column

+
+ + + Encoding + +
+ Signature: int32
+
+
+ + + + + +

CompiledName: get_Encoding

+
+ + + Line + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_Line

+
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Decode(arg1) + +
+ Signature: int32 -> pos
+
+
+ + + + + +
+ + + EncodingSize + +
+ Signature: int32
+
+
+ + + + +

The maximum number of bits needed to store an encoded position

+ + +

CompiledName: get_EncodingSize

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-pos01.html b/docs/reference/microsoft-fsharp-compiler-range-pos01.html new file mode 100644 index 0000000000..eec1b534ed --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-pos01.html @@ -0,0 +1,97 @@ + + + + + Pos01 - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Pos01

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Range +

+
+

Represents a position using zero-based line counting (used by Visual Studio)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-range-0.html b/docs/reference/microsoft-fsharp-compiler-range-range-0.html new file mode 100644 index 0000000000..5fe8989281 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-range-0.html @@ -0,0 +1,144 @@ + + + + + Range - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Range

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Range +

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + toFileZ arg1 + +
+ Signature: range -> string * Range01
+
+
+ + + + + +
+ + + toZ arg1 + +
+ Signature: range -> Range01
+
+
+ + + + +

Convert a range from one-based line counting (used internally in the F# compiler and in F# error messages) to zero-based line counting (used by Visual Studio)

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-range.html b/docs/reference/microsoft-fsharp-compiler-range-range.html new file mode 100644 index 0000000000..a96c10e3aa --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-range.html @@ -0,0 +1,379 @@ + + + + + range - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

range

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Range +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + End + +
+ Signature: pos
+
+
+ + + + + +

CompiledName: get_End

+
+ + + EndColumn + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_EndColumn

+
+ + + EndLine + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_EndLine

+
+ + + EndRange + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_EndRange

+
+ + + FileIndex + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_FileIndex

+
+ + + FileName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_FileName

+
+ + + IsSynthetic + +
+ Signature: bool
+
+
+ + + + +

Synthetic marks ranges which are produced by intermediate compilation phases. This +bit signifies that the range covers something that should not be visible to language +service operations like dot-completion.

+ + +

CompiledName: get_IsSynthetic

+
+ + + MakeSynthetic() + +
+ Signature: unit -> range
+
+
+ + + + + +
+ + + Start + +
+ Signature: pos
+
+
+ + + + + +

CompiledName: get_Start

+
+ + + StartColumn + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_StartColumn

+
+ + + StartLine + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_StartLine

+
+ + + StartRange + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_StartRange

+
+ + + ToShortString() + +
+ Signature: unit -> string
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Zero + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Zero

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range-range01.html b/docs/reference/microsoft-fsharp-compiler-range-range01.html new file mode 100644 index 0000000000..8b1bd69a86 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range-range01.html @@ -0,0 +1,97 @@ + + + + + Range01 - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Range01

+

+ Namespace: Microsoft.FSharp.Compiler
+ Parent Module: Range +

+
+

Represents a range using zero-based line counting (used by Visual Studio)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-range.html b/docs/reference/microsoft-fsharp-compiler-range.html new file mode 100644 index 0000000000..22aa1318d0 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-range.html @@ -0,0 +1,677 @@ + + + + + Range - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Range

+

+ Namespace: Microsoft.FSharp.Compiler
+

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ FileIndex +
+ Line0 +

Represents a line number when using zero-based line counting (used by Visual Studio)

+ +
+ Pos01 +

Represents a position using zero-based line counting (used by Visual Studio)

+ +
+ Range01 +

Represents a range using zero-based line counting (used by Visual Studio)

+ +
+ pos +
+ range +
+ + + + + + + + + + + + + + + + + + +
ModuleDescription
+ Line +
+ Pos +
+ Range +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + boutputPos arg1 arg2 + +
+ Signature: StringBuilder -> pos -> unit
+
+
+ + + + + +
+ + + boutputRange arg1 arg2 + +
+ Signature: StringBuilder -> range -> unit
+
+
+ + + + + +
+ + + fileIndexOfFile arg1 + +
+ Signature: string -> FileIndex
+
+
+ + + + + +
+ + + fileOfFileIndex arg1 + +
+ Signature: FileIndex -> string
+
+
+ + + + + +
+ + + mkFileIndexRange arg1 arg2 arg3 + +
+ Signature: FileIndex -> pos -> pos -> range
+
+
+ + + + +

This view of range marks uses file indexes explicitly

+ + +
+ + + mkPos line column + +
+ Signature: line:int -> column:int -> pos
+
+
+ + + + +

Create a position for the given line and column

+ + +
+ + + mkRange arg1 arg2 arg3 + +
+ Signature: string -> pos -> pos -> range
+
+
+ + + + +

This view hides the use of file indexes and just uses filenames

+ + +
+ + + outputPos arg1 arg2 + +
+ Signature: TextWriter -> pos -> unit
+
+
+ + + + + +
+ + + outputRange arg1 arg2 + +
+ Signature: TextWriter -> range -> unit
+
+
+ + + + + +
+ + + pos0 + +
+ Signature: pos
+
+
+ + + + + +
+ + + posEq arg1 arg2 + +
+ Signature: pos -> pos -> bool
+
+
+ + + + + +
+ + + posGeq arg1 arg2 + +
+ Signature: pos -> pos -> bool
+
+
+ + + + + +
+ + + posGt arg1 arg2 + +
+ Signature: pos -> pos -> bool
+
+
+ + + + + +
+ + + posLt arg1 arg2 + +
+ Signature: pos -> pos -> bool
+
+
+ + + + + +
+ + + posOrder + +
+ Signature: IComparer<pos>
+
+
+ + + + + +
+ + + range0 + +
+ Signature: range
+
+
+ + + + + +
+ + + rangeBeforePos arg1 arg2 + +
+ Signature: range -> pos -> bool
+
+
+ + + + + +
+ + + rangeCmdArgs + +
+ Signature: range
+
+
+ + + + + +
+ + + rangeContainsPos arg1 arg2 + +
+ Signature: range -> pos -> bool
+
+
+ + + + + +
+ + + rangeContainsRange arg1 arg2 + +
+ Signature: range -> range -> bool
+
+
+ + + + + +
+ + + rangeN arg1 arg2 + +
+ Signature: string -> int -> range
+
+
+ + + + + +
+ + + rangeOrder + +
+ Signature: IComparer<range>
+
+
+ + + + +

not a total order, but enough to sort on ranges

+ + +
+ + + rangeStartup + +
+ Signature: range
+
+
+ + + + + +
+ + + stringOfPos arg1 + +
+ Signature: pos -> string
+
+
+ + + + + +
+ + + stringOfRange arg1 + +
+ Signature: range -> string
+
+
+ + + + + +
+ + + trimRangeToLine arg1 + +
+ Signature: range -> range
+
+
+ + + + + +
+ + + unionRanges arg1 arg2 + +
+ Signature: range -> range -> range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-simplesourcecodeservices-simplesourcecodeservices.html b/docs/reference/microsoft-fsharp-compiler-simplesourcecodeservices-simplesourcecodeservices.html new file mode 100644 index 0000000000..0f47551471 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-simplesourcecodeservices-simplesourcecodeservices.html @@ -0,0 +1,239 @@ + + + + + SimpleSourceCodeServices - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SimpleSourceCodeServices

+

+ Namespace: Microsoft.FSharp.Compiler.SimpleSourceCodeServices
+

+
+

Provides simpler version of services for checking and compiling F# scripts

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(msbuildEnabled) + +
+ Signature: (msbuildEnabled:bool option) -> SimpleSourceCodeServices
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Compile(...) + +
+ Signature: (ast:ParsedInput list * assemblyName:string * outFile:string * dependencies:string list * pdbFile:string option * executable:bool option * noframework:bool option) -> FSharpErrorInfo [] * int
+
+
+ + + + + +
+ + + Compile(argv) + +
+ Signature: (argv:string []) -> FSharpErrorInfo [] * int
+
+
+ + + + + +
+ + + CompileToDynamicAssembly(...) + +
+ Signature: (ast:ParsedInput list * assemblyName:string * dependencies:string list * execute:(TextWriter * TextWriter) option * debug:bool option * noframework:bool option) -> FSharpErrorInfo [] * int * Assembly option
+
+
+ + + + + +
+ + + CompileToDynamicAssembly(...) + +
+ Signature: (otherFlags:string [] * execute:(TextWriter * TextWriter) option) -> FSharpErrorInfo [] * int * Assembly option
+
+
+ + + + + +
+ + + TokenizeFile(source) + +
+ Signature: source:string -> FSharpTokenInfo [] []
+
+
+ + + + + +
+ + + TokenizeLine(line, state) + +
+ Signature: (line:string * state:int64) -> FSharpTokenInfo [] * int64
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblycontentprovider.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblycontentprovider.html new file mode 100644 index 0000000000..5cff758160 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblycontentprovider.html @@ -0,0 +1,147 @@ + + + + + AssemblyContentProvider - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

AssemblyContentProvider

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Provides assembly content.

+ +
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + getAssemblyContent (...) + +
+ Signature: withCache:((IAssemblyContentCache -> AssemblySymbol list) -> AssemblySymbol list) -> contentType:AssemblyContentType -> fileName:string option -> assemblies:FSharpAssembly list -> AssemblySymbol list
+
+
+ + + + +

Returns (possibly cached) assembly content.

+ + +
+ + + getAssemblySignatureContent arg1 arg2 + +
+ Signature: AssemblyContentType -> FSharpAssemblySignature -> AssemblySymbol list
+
+
+ + + + +

Given a FSharpAssemblySignature, returns assembly content.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblycontenttype.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblycontenttype.html new file mode 100644 index 0000000000..0dc0d24e53 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblycontenttype.html @@ -0,0 +1,144 @@ + + + + + AssemblyContentType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

AssemblyContentType

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Assembly content type.

+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Full + +
+ Signature:
+
+
+ + + + +

All assembly content.

+ + +
+ + + Public + +
+ Signature:
+
+
+ + + + +

Public assembly content only.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblypath.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblypath.html new file mode 100644 index 0000000000..9509709ef3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblypath.html @@ -0,0 +1,132 @@ + + + + + AssemblyPath - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

AssemblyPath

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Assembly path.

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Chars(arg1) + +
+ Signature: int -> char
+
+
+ +
+ + + Length + +
+ Signature: int
+
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblysymbol.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblysymbol.html new file mode 100644 index 0000000000..ac18f82c76 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-assemblysymbol.html @@ -0,0 +1,264 @@ + + + + + AssemblySymbol - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

AssemblySymbol

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents type, module, member, function or value in a compiled assembly.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AutoOpenParent + +
+ Signature: Idents option
+
+
+ + + + +

Parent module that has AutoOpen attribute.

+ + +
+ + + CleanedIdents + +
+ Signature: Idents
+
+
+ + + + +

Entity name parts with removed module suffixes (Ns.M1Module.M2Module.M3.entity -> Ns.M1.M2.M3.entity) +and replaced compiled names with display names (FSharpEntity.DisplayName, FSharpValueOrFucntion.DisplayName). +Note: all parts are cleaned, not the last one.

+ + +
+ + + FullName + +
+ Signature: string
+
+
+ + + + +

Full entity name as it's seen in compiled code (raw FSharpEntity.FullName, FSharpValueOrFunction.FullName).

+ + +
+ + + Kind + +
+ Signature: LookupType -> EntityKind
+
+
+ + + + +

Function that returns EntityKind based of given LookupKind.

+ + +
+ + + Namespace + +
+ Signature: Idents option
+
+
+ + + + +

FSharpEntity.Namespace.

+ + +
+ + + NearestRequireQualifiedAccessParent + +
+ Signature: Idents option
+
+
+ + + + +

The most narrative parent module that has RequireQualifiedAccess attribute.

+ + +
+ + + Symbol + +
+ Signature: FSharpSymbol
+
+
+ + + + + +
+ + + TopRequireQualifiedAccessParent + +
+ Signature: Idents option
+
+
+ + + + +

Parent module that has the largest scope and has RequireQualifiedAccess attribute.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-astvisitorbase-1.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-astvisitorbase-1.html new file mode 100644 index 0000000000..c177293517 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-astvisitorbase-1.html @@ -0,0 +1,427 @@ + + + + + AstVisitorBase<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

AstVisitorBase<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+ Parent Module: AstTraversal +

+
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> AstVisitorBase<'T>
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + VisitBinding(arg1, arg2) + +
+ Signature: ((SynBinding -> 'T option) * SynBinding) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitBinding allows overriding binding behavior (note: by default it would defaultTraverse expression)

+ + +
+ + + VisitComponentInfo(arg1) + +
+ Signature: SynComponentInfo -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitComponentInfo allows overriding behavior when visiting type component infos

+ + +
+ + + VisitExpr(arg1, arg2, arg3, arg4) + +
+ Signature: (TraversePath * (SynExpr -> 'T option) * (SynExpr -> 'T option) * SynExpr) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitExpr(path, traverseSynExpr, defaultTraverse, expr) +controls the behavior when a SynExpr is reached; it can just do +defaultTraverse(expr) if you have no special logic for this node, and want the default processing to pick which sub-node to dive deeper into +or can inject non-default behavior, which might incorporate: +traverseSynExpr(subExpr) to recurse deeper on some particular sub-expression based on your own logic +path helps to track AST nodes that were passed during traversal

+ + +
+ + + VisitHashDirective(arg1) + +
+ Signature: range -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitHashDirective allows overriding behavior when visiting hash directives in FSX scripts, like #r, #load and #I.

+ + +
+ + + VisitImplicitInherit(...) + +
+ Signature: ((SynExpr -> 'T option) * SynType * SynExpr * range) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitImplicitInherit(defaultTraverse,ty,expr,m), defaults to just visiting expr

+ + +
+ + + VisitInheritSynMemberDefn(...) + +
+ Signature: (SynComponentInfo * SynTypeDefnKind * SynType * SynMemberDefns * range) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitInheritSynMemberDefn allows overriding inherit behavior (by default do nothing)

+ + +
+ + + VisitInterfaceSynMemberDefnType(arg1) + +
+ Signature: SynType -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitInterfaceSynMemberDefnType allows overriding behavior for visiting interface member in types (by default - do nothing)

+ + +
+ + + VisitLetOrUse(arg1, arg2) + +
+ Signature: (SynBinding list * range) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitLetOrUse allows overriding behavior when visiting module or local let or use bindings

+ + +
+ + + VisitMatchClause(arg1, arg2) + +
+ Signature: ((SynMatchClause -> 'T option) * SynMatchClause) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitMatchClause allows overriding clause behavior (note: by default it would defaultTraverse expression)

+ + +
+ + + VisitModuleDecl(arg1, arg2) + +
+ Signature: ((SynModuleDecl -> 'T option) * SynModuleDecl) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitModuleDecl allows overriding module declaration behavior

+ + +
+ + + VisitModuleOrNamespace(arg1) + +
+ Signature: SynModuleOrNamespace -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitModuleOrNamespace allows overriding behavior when visiting module or namespaces

+ + +
+ + + VisitRecordField(arg1, arg2, arg3) + +
+ Signature: (TraversePath * SynExpr option * LongIdentWithDots option) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitRecordField allows overriding behavior when visiting l.h.s. of constructed record instances

+ + +
+ + + VisitSimplePats(arg1) + +
+ Signature: (SynSimplePat list) -> 'T option
+ Modifiers: abstract
+
+
+ + + + + +
+ + + VisitTypeAbbrev(arg1, arg2) + +
+ Signature: (SynType * range) -> 'T option
+ Modifiers: abstract
+
+
+ + + + +

VisitTypeAbbrev(ty,m), defaults to ignoring this leaf of the AST

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-traversepath.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-traversepath.html new file mode 100644 index 0000000000..fef570df12 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-traversepath.html @@ -0,0 +1,201 @@ + + + + + TraversePath - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TraversePath

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+ Parent Module: AstTraversal +

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: TraverseStep
+
+
+ +

CompiledName: get_Head

+
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +

CompiledName: get_IsEmpty

+
+ + + [index] + +
+ Signature: index:int -> TraverseStep
+
+
+ +

CompiledName: get_Item

+
+ + + Length + +
+ Signature: int
+
+
+ +

CompiledName: get_Length

+
+ + + Tail + +
+ Signature: TraverseStep list
+
+
+ +

CompiledName: get_Tail

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: TraverseStep list
+
+
+ +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-traversestep.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-traversestep.html new file mode 100644 index 0000000000..eab0c982b2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal-traversestep.html @@ -0,0 +1,231 @@ + + + + + TraverseStep - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

TraverseStep

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+ Parent Module: AstTraversal +

+
+

used to track route during traversal AST

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Binding(SynBinding) + +
+ Signature: SynBinding
+
+
+ + + + + +
+ + + Expr(SynExpr) + +
+ Signature: SynExpr
+
+
+ + + + + +
+ + + MatchClause(SynMatchClause) + +
+ Signature: SynMatchClause
+
+
+ + + + + +
+ + + MemberDefn(SynMemberDefn) + +
+ Signature: SynMemberDefn
+
+
+ + + + + +
+ + + Module(SynModuleDecl) + +
+ Signature: SynModuleDecl
+
+
+ + + + + +
+ + + ModuleOrNamespace(SynModuleOrNamespace) + +
+ Signature: SynModuleOrNamespace
+
+
+ + + + + +
+ + + TypeDefn(SynTypeDefn) + +
+ Signature: SynTypeDefn
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal.html new file mode 100644 index 0000000000..4a86d33dfc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-asttraversal.html @@ -0,0 +1,230 @@ + + + + + AstTraversal - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

AstTraversal

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A range of utility functions to assist with traversing an AST

+ +
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ AstVisitorBase<'T> +
+ TraversePath +
+ TraverseStep +

used to track route during traversal AST

+ +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + dive node range project + +
+ Signature: node:'d -> range:'e -> project:('d -> 'f) -> 'e * (unit -> 'f)
+ Type parameters: 'd, 'e, 'f
+
+ + + + + +
+ + + pick (...) + +
+ Signature: pos:pos -> outerRange:range -> _debugObj:obj -> diveResults:(range * (unit -> 'c option)) list -> 'c option
+ Type parameters: 'c
+
+ + + + + +
+ + + rangeContainsPosEdgesExclusive m1 p + +
+ Signature: m1:range -> p:pos -> bool
+
+
+ + + + + +
+ + + rangeContainsPosLeftEdgeInclusive m1 p + +
+ Signature: m1:range -> p:pos -> bool
+
+
+ + + + + +
+ + + Traverse (pos, parseTree, visitor) + +
+ Signature: (pos:pos * parseTree:ParsedInput * visitor:AstVisitorBase<'T>) -> 'T option
+ Type parameters: 'T
+
+ + + + +

traverse an implementation file walking all the way down to SynExpr or TypeAbbrev at a particular location

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-basicpatterns.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-basicpatterns.html new file mode 100644 index 0000000000..7a63cb9100 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-basicpatterns.html @@ -0,0 +1,1013 @@ + + + + + BasicPatterns - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

BasicPatterns

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A collection of active patterns to analyze expressions

+ +
+ + + +

Active patterns

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Active patternDescription
+ + + ( |AddressOf|_| ) arg1 + +
+ Signature: FSharpExpr -> FSharpExpr option
+
+
+ + + + +

Matches expressions which take the address of a location

+ + +

CompiledName: |AddressOf|_|

+
+ + + ( |AddressSet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpExpr) option
+
+
+ + + + +

Matches expressions which set the contents of an address

+ + +

CompiledName: |AddressSet|_|

+
+ + + ( |Application|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpType list * FSharpExpr list) option
+
+
+ + + + +

Matches expressions which are the application of function values

+ + +

CompiledName: |Application|_|

+
+ + + ( |BaseValue|_| ) arg1 + +
+ Signature: FSharpExpr -> FSharpType option
+
+
+ + + + +

Matches expressions which are uses of the 'base' value

+ + +

CompiledName: |BaseValue|_|

+
+ + + ( |Call|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr option * FSharpMemberOrFunctionOrValue * FSharpType list * FSharpType list * FSharpExpr list) option
+
+
+ + + + +

Matches expressions which are calls to members or module-defined functions. When calling curried functions and members the +arguments are collapsed to a single collection of arguments, as done in the compiled version of these.

+ + +

CompiledName: |Call|_|

+
+ + + ( |Coerce|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * FSharpExpr) option
+
+
+ + + + +

Matches expressions which coerce the type of a value

+ + +

CompiledName: |Coerce|_|

+
+ + + ( |Const|_| ) arg1 + +
+ Signature: FSharpExpr -> (obj * FSharpType) option
+
+
+ + + + +

Matches constant expressions, including signed and unsigned integers, strings, characters, booleans, arrays +of bytes and arrays of unit16.

+ + +

CompiledName: |Const|_|

+
+ + + ( |DecisionTree|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * (FSharpMemberOrFunctionOrValue list * FSharpExpr) list) option
+
+
+ + + + +

Matches expressions with a decision expression, each branch of which ends in DecisionTreeSuccess pasing control and values to one of the targets.

+ + +

CompiledName: |DecisionTree|_|

+
+ + + ( |DecisionTreeSuccess|_| ) arg1 + +
+ Signature: FSharpExpr -> (int * FSharpExpr list) option
+
+
+ + + + +

Special expressions at the end of a conditional decision structure in the decision expression node of a DecisionTree . +The given expressions are passed as values to the decision tree target.

+ + +

CompiledName: |DecisionTreeSuccess|_|

+
+ + + ( |DefaultValue|_| ) arg1 + +
+ Signature: FSharpExpr -> FSharpType option
+
+
+ + + + +

Matches default-value expressions, including null expressions

+ + +

CompiledName: |DefaultValue|_|

+
+ + + ( |FastIntegerForLoop|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpExpr * FSharpExpr * bool) option
+
+
+ + + + +

Matches fast-integer loops (up or down)

+ + +

CompiledName: |FastIntegerForLoop|_|

+
+ + + ( |FSharpFieldGet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr option * FSharpType * FSharpField) option
+
+
+ + + + +

Matches expressions which get a field from a record or class

+ + +

CompiledName: |FSharpFieldGet|_|

+
+ + + ( |FSharpFieldSet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr option * FSharpType * FSharpField * FSharpExpr) option
+
+
+ + + + +

Matches expressions which set a field in a record or class

+ + +

CompiledName: |FSharpFieldSet|_|

+
+ + + ( |IfThenElse|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpExpr * FSharpExpr) option
+
+
+ + + + +

Matches expressions which are conditionals

+ + +

CompiledName: |IfThenElse|_|

+
+ + + ( |ILAsm|_| ) arg1 + +
+ Signature: FSharpExpr -> (string * FSharpType list * FSharpExpr list) option
+
+
+ + + + +

Matches expressions which are IL assembly code

+ + +

CompiledName: |ILAsm|_|

+
+ + + ( |ILFieldGet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr option * FSharpType * string) option
+
+
+ + + + +

Matches expressions which fetch a field from a .NET type

+ + +

CompiledName: |ILFieldGet|_|

+
+ + + ( |ILFieldSet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr option * FSharpType * string * FSharpExpr) option
+
+
+ + + + +

Matches expressions which set a field in a .NET type

+ + +

CompiledName: |ILFieldSet|_|

+
+ + + ( |Lambda|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpMemberOrFunctionOrValue * FSharpExpr) option
+
+
+ + + + +

Matches expressions which are lambda abstractions

+ + +

CompiledName: |Lambda|_|

+
+ + + ( |Let|_| ) arg1 + +
+ Signature: FSharpExpr -> ((FSharpMemberOrFunctionOrValue * FSharpExpr) * FSharpExpr) option
+
+
+ + + + +

Matches expressions which are let definitions

+ + +

CompiledName: |Let|_|

+
+ + + ( |LetRec|_| ) arg1 + +
+ Signature: FSharpExpr -> ((FSharpMemberOrFunctionOrValue * FSharpExpr) list * FSharpExpr) option
+
+
+ + + + +

Matches expressions which are let-rec definitions

+ + +

CompiledName: |LetRec|_|

+
+ + + ( |NewArray|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * FSharpExpr list) option
+
+
+ + + + +

Matches array expressions

+ + +

CompiledName: |NewArray|_|

+
+ + + ( |NewDelegate|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * FSharpExpr) option
+
+
+ + + + +

Matches expressions which create an instance of a delegate type

+ + +

CompiledName: |NewDelegate|_|

+
+ + + ( |NewObject|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpMemberOrFunctionOrValue * FSharpType list * FSharpExpr list) option
+
+
+ + + + +

Matches expressions which are calls to object constructors

+ + +

CompiledName: |NewObject|_|

+
+ + + ( |NewRecord|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * FSharpExpr list) option
+
+
+ + + + +

Matches record expressions

+ + +

CompiledName: |NewRecord|_|

+
+ + + ( |NewTuple|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * FSharpExpr list) option
+
+
+ + + + +

Matches tuple expressions

+ + +

CompiledName: |NewTuple|_|

+
+ + + ( |NewUnionCase|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * FSharpUnionCase * FSharpExpr list) option
+
+
+ + + + +

Matches expressions which create an object corresponding to a union case

+ + +

CompiledName: |NewUnionCase|_|

+
+ + + ( |ObjectExpr|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * FSharpExpr * FSharpObjectExprOverride list * (FSharpType * FSharpObjectExprOverride list) list) option
+
+
+ + + + +

Matches object expressions, returning the base type, the base call, the overrides and the interface implementations

+ + +

CompiledName: |ObjectExpr|_|

+
+ + + ( |Quote|_| ) arg1 + +
+ Signature: FSharpExpr -> FSharpExpr option
+
+
+ + + + +

Matches expressions which are quotation literals

+ + +

CompiledName: |Quote|_|

+
+ + + ( |Sequential|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpExpr) option
+
+
+ + + + +

Matches sequential expressions

+ + +

CompiledName: |Sequential|_|

+
+ + + ( |ThisValue|_| ) arg1 + +
+ Signature: FSharpExpr -> FSharpType option
+
+
+ + + + +

Matches expressions which are uses of the 'this' value

+ + +

CompiledName: |ThisValue|_|

+
+ + + ( |TraitCall|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType list * string * MemberFlags * FSharpType list * FSharpType list * FSharpExpr list) option
+
+
+ + + + +

Matches expressions for an unresolved call to a trait

+ + +

CompiledName: |TraitCall|_|

+
+ + + ( |TryFinally|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpExpr) option
+
+
+ + + + +

Matches try/finally expressions

+ + +

CompiledName: |TryFinally|_|

+
+ + + ( |TryWith|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpMemberOrFunctionOrValue * FSharpExpr * FSharpMemberOrFunctionOrValue * FSharpExpr) option
+
+
+ + + + +

Matches try/with expressions

+ + +

CompiledName: |TryWith|_|

+
+ + + ( |TupleGet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * int * FSharpExpr) option
+
+
+ + + + +

Matches expressions which get a value from a tuple

+ + +

CompiledName: |TupleGet|_|

+
+ + + ( |TypeLambda|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpGenericParameter list * FSharpExpr) option
+
+
+ + + + +

Matches expressions which are type abstractions

+ + +

CompiledName: |TypeLambda|_|

+
+ + + ( |TypeTest|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpType * FSharpExpr) option
+
+
+ + + + +

Matches expressions which test the runtime type of a value

+ + +

CompiledName: |TypeTest|_|

+
+ + + ( |UnionCaseGet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpType * FSharpUnionCase * FSharpField) option
+
+
+ + + + +

Matches expressions which get a field from a union case

+ + +

CompiledName: |UnionCaseGet|_|

+
+ + + ( |UnionCaseSet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpType * FSharpUnionCase * FSharpField * FSharpExpr) option
+
+
+ + + + +

Matches expressions which set a field from a union case (only used in FSharp.Core itself)

+ + +

CompiledName: |UnionCaseSet|_|

+
+ + + ( |UnionCaseTag|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpType) option
+
+
+ + + + +

Matches expressions which gets the tag for a union case

+ + +

CompiledName: |UnionCaseTag|_|

+
+ + + ( |UnionCaseTest|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpType * FSharpUnionCase) option
+
+
+ + + + +

Matches expressions which test if an expression corresponds to a particular union case

+ + +

CompiledName: |UnionCaseTest|_|

+
+ + + ( |Value|_| ) arg1 + +
+ Signature: FSharpExpr -> FSharpMemberOrFunctionOrValue option
+
+
+ + + + +

Matches expressions which are uses of values

+ + +

CompiledName: |Value|_|

+
+ + + ( |ValueSet|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpMemberOrFunctionOrValue * FSharpExpr) option
+
+
+ + + + +

Matches expressions which set the contents of a mutable variable

+ + +

CompiledName: |ValueSet|_|

+
+ + + ( |WhileLoop|_| ) arg1 + +
+ Signature: FSharpExpr -> (FSharpExpr * FSharpExpr) option
+
+
+ + + + +

Matches while loops

+ + +

CompiledName: |WhileLoop|_|

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-compilerenvironment.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-compilerenvironment.html new file mode 100644 index 0000000000..caf19220ed --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-compilerenvironment.html @@ -0,0 +1,124 @@ + + + + + CompilerEnvironment - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CompilerEnvironment

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Information about the compilation environment

+ +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + BinFolderOfDefaultFSharpCompiler(arg1) + +
+ Signature: (string option) -> string option
+
+
+ + + + +

The default location of FSharp.Core.dll and fsc.exe based on the version of fsc.exe that is running

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-compilerenvironmentmodule.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-compilerenvironmentmodule.html new file mode 100644 index 0000000000..c7bb684f34 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-compilerenvironmentmodule.html @@ -0,0 +1,168 @@ + + + + + CompilerEnvironment - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CompilerEnvironment

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Information about the compilation environment

+ +
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + DefaultReferencesForOrphanSources (...) + +
+ Signature: assumeDotNetFramework:bool -> string list
+
+
+ + + + +

These are the names of assemblies that should be referenced for .fs or .fsi files that +are not associated with a project.

+ + +
+ + + GetCompilationDefinesForEditing (...) + +
+ Signature: (filename:string * compilerFlags:string list) -> string list
+
+
+ + + + +

Return the compilation defines that should be used when editing the given file.

+ + +
+ + + IsCheckerSupportedSubcategory arg1 + +
+ Signature: string -> bool
+
+
+ + + + +

Return true if this is a subcategory of error or warning message that the language service can emit

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completioncontext.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completioncontext.html new file mode 100644 index 0000000000..9914cb016d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completioncontext.html @@ -0,0 +1,228 @@ + + + + + CompletionContext - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CompletionContext

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AttributeApplication + +
+ Signature:
+
+
+ + + + + +
+ + + Inherit(...) + +
+ Signature: InheritanceContext * CompletionPath
+
+
+ + + + + +
+ + + Invalid + +
+ Signature:
+
+
+ + + + + +
+ + + OpenDeclaration + +
+ Signature:
+
+
+ + + + + +
+ + + ParameterList(pos,HashSet<string>) + +
+ Signature: pos * HashSet<string>
+
+
+ + + + + +
+ + + RangeOperator + +
+ Signature:
+
+
+ + + + + +
+ + + RecordField(RecordContext) + +
+ Signature: RecordContext
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completionitemkind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completionitemkind.html new file mode 100644 index 0000000000..db83e81b59 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completionitemkind.html @@ -0,0 +1,210 @@ + + + + + CompletionItemKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CompletionItemKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Argument + +
+ Signature:
+
+
+ + + + + +
+ + + Event + +
+ Signature:
+
+
+ + + + + +
+ + + Field + +
+ Signature:
+
+
+ + + + + +
+ + + Method(isExtension) + +
+ Signature: bool
+
+
+ + + + + +
+ + + Other + +
+ Signature:
+
+
+ + + + + +
+ + + Property + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completionpath.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completionpath.html new file mode 100644 index 0000000000..a41b9e491b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-completionpath.html @@ -0,0 +1,94 @@ + + + + + CompletionPath - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

CompletionPath

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-debuggerenvironment.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-debuggerenvironment.html new file mode 100644 index 0000000000..b11e1469e4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-debuggerenvironment.html @@ -0,0 +1,128 @@ + + + + + DebuggerEnvironment - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

DebuggerEnvironment

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Information about the debugging environment

+ +
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + GetLanguageID () + +
+ Signature: unit -> Guid
+
+
+ + + + +

Return the language ID, which is the expression evaluator id that the +debugger will use.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entity.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entity.html new file mode 100644 index 0000000000..0b30368baa --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entity.html @@ -0,0 +1,204 @@ + + + + + Entity - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Entity

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Helper data structure representing a symbol, sutable for implementing unresolved identifiers resolution code fixes.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + FullRelativeName + +
+ Signature: StringLongIdent
+
+
+ + + + +

Full name, relative to the current scope.

+ + +
+ + + LastIdent + +
+ Signature: string
+
+
+ + + + +

Last part of the entity's full name.

+ + +
+ + + Name + +
+ Signature: StringLongIdent
+
+
+ + + + +

Full display name (i.e. last ident plus modules with RequireQualifiedAccess attribute prefixed).

+ + +
+ + + Namespace + +
+ Signature: StringLongIdent option
+
+
+ + + + +

Namespace that is needed to open to make the entity resolvable in the current scope.

+ + +
+ + + Qualifier + +
+ Signature: StringLongIdent
+
+
+ + + + +

Ident parts needed to append to the current ident to make it resolvable in current scope.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entitycache.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entitycache.html new file mode 100644 index 0000000000..cf9b923b35 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entitycache.html @@ -0,0 +1,171 @@ + + + + + EntityCache - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

EntityCache

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Thread safe wrapper over IAssemblyContentCache.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> EntityCache
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Clear() + +
+ Signature: unit -> unit
+
+
+ + + + +

Clears the cache.

+ + +
+ + + Locking(arg1) + +
+ Signature: ((IAssemblyContentCache -> 'T)) -> 'T
+ Type parameters: 'T
+
+ + + + +

Performs an operation on the cache in thread safe manner.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entitykind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entitykind.html new file mode 100644 index 0000000000..286d0f3f1d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-entitykind.html @@ -0,0 +1,174 @@ + + + + + EntityKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

EntityKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Attribute + +
+ Signature:
+
+
+ + + + + +
+ + + FunctionOrValue(isActivePattern) + +
+ Signature: bool
+
+
+ + + + + +
+ + + Module(ModuleKind) + +
+ Signature: ModuleKind
+
+
+ + + + + +
+ + + Type + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-envmisc2.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-envmisc2.html new file mode 100644 index 0000000000..f8aded207b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-envmisc2.html @@ -0,0 +1,144 @@ + + + + + EnvMisc2 - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

EnvMisc2

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + dataTipSpinWaitTime + +
+ Signature: int
+
+
+ + + + +

dataTipSpinWaitTime limits how long we block the UI thread while a tooltip pops up next to a selected item in an IntelliSense completion list. +This time appears to be somewhat amortized by the time it takes the VS completion UI to actually bring up the tooltip after selecting an item in the first place.

+ + +
+ + + maxMembers + +
+ Signature: int
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-extensions.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-extensions.html new file mode 100644 index 0000000000..7e1edd3840 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-extensions.html @@ -0,0 +1,357 @@ + + + + + Extensions - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Extensions

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+ + + +

Type extensions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Type extensionDescription
+ + + FullTypeSafe + +
+ Signature: FSharpType option
+
+
+ + + + +

Safe version of FullType.

+ + +

CompiledName: FSharpMemberOrFunctionOrValue.get_FullTypeSafe

+
+ + + FullTypeSafe + +
+ Signature: FSharpType option
+
+
+ + + + +

Safe version of FullType.

+ + +

CompiledName: FSharpMemberOrFunctionOrValue.get_FullTypeSafe

+
+ + + PublicNestedEntities + +
+ Signature: seq<FSharpEntity>
+
+
+ + + + +

Public nested entities (methods, functions, values, nested modules).

+ + +

CompiledName: FSharpEntity.get_PublicNestedEntities

+
+ + + PublicNestedEntities + +
+ Signature: seq<FSharpEntity>
+
+
+ + + + +

Public nested entities (methods, functions, values, nested modules).

+ + +

CompiledName: FSharpEntity.get_PublicNestedEntities

+
+ + + TryGetEntities() + +
+ Signature: unit -> seq<FSharpEntity>
+
+
+ + + + +

Safe version of Entities.

+ + +

CompiledName: FSharpAssemblySignature.TryGetEntities

+
+ + + TryGetFullCompiledName() + +
+ Signature: unit -> string option
+
+
+ + + + +

Safe version of CompiledName.

+ + +

CompiledName: FSharpEntity.TryGetFullCompiledName

+
+ + + TryGetFullCompiledOperatorNameIdents() + +
+ Signature: unit -> Idents option
+
+
+ + + + +

Full operator compiled name.

+ + +

CompiledName: FSharpMemberOrFunctionOrValue.TryGetFullCompiledOperatorNameIdents

+
+ + + TryGetFullDisplayName() + +
+ Signature: unit -> string option
+
+
+ + + + +

Safe version of DisplayName.

+ + +

CompiledName: FSharpEntity.TryGetFullDisplayName

+
+ + + TryGetFullDisplayName() + +
+ Signature: unit -> string option
+
+
+ + + + +

Full name with last part replaced with display name.

+ + +

CompiledName: FSharpMemberOrFunctionOrValue.TryGetFullDisplayName

+
+ + + TryGetFullName() + +
+ Signature: unit -> string option
+
+
+ + + + +

Safe version of FullName.

+ + +

CompiledName: FSharpEntity.TryGetFullName

+
+ + + TryGetMembersFunctionsAndValues + +
+ Signature: IList<FSharpMemberOrFunctionOrValue>
+
+
+ + + + +

Safe version of GetMembersFunctionsAndValues.

+ + +

CompiledName: FSharpEntity.get_TryGetMembersFunctionsAndValues

+
+ + + TryGetMembersFunctionsAndValues + +
+ Signature: IList<FSharpMemberOrFunctionOrValue>
+
+
+ + + + +

Safe version of GetMembersFunctionsAndValues.

+ + +

CompiledName: FSharpEntity.get_TryGetMembersFunctionsAndValues

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpabstractparameter.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpabstractparameter.html new file mode 100644 index 0000000000..0f17909893 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpabstractparameter.html @@ -0,0 +1,230 @@ + + + + + FSharpAbstractParameter - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpAbstractParameter

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a parameter in an abstract method of a class or interface

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

The declared attributes of the parameter

+ + +

CompiledName: get_Attributes

+
+ + + IsInArg + +
+ Signature: bool
+
+
+ + + + +

Indicate this is an in argument

+ + +

CompiledName: get_IsInArg

+
+ + + IsOptionalArg + +
+ Signature: bool
+
+
+ + + + +

Indicate this is an optional argument

+ + +

CompiledName: get_IsOptionalArg

+
+ + + IsOutArg + +
+ Signature: bool
+
+
+ + + + +

Indicate this is an out argument

+ + +

CompiledName: get_IsOutArg

+
+ + + Name + +
+ Signature: string option
+
+
+ + + + +

The optional name of the parameter

+ + +

CompiledName: get_Name

+
+ + + Type + +
+ Signature: FSharpType
+
+
+ + + + +

The declared or inferred type of the parameter

+ + +

CompiledName: get_Type

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpabstractsignature.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpabstractsignature.html new file mode 100644 index 0000000000..b5310a98e8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpabstractsignature.html @@ -0,0 +1,230 @@ + + + + + FSharpAbstractSignature - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpAbstractSignature

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the signature of an abstract slot of a class or interface

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AbstractArguments + +
+ Signature: IList<IList<FSharpAbstractParameter>>
+
+
+ + + + +

Get the arguments of the abstract slot

+ + +

CompiledName: get_AbstractArguments

+
+ + + AbstractReturnType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the return type of the abstract slot

+ + +

CompiledName: get_AbstractReturnType

+
+ + + DeclaringType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the declaring type of the abstract slot

+ + +

CompiledName: get_DeclaringType

+
+ + + DeclaringTypeGenericParameters + +
+ Signature: IList<FSharpGenericParameter>
+
+
+ + + + +

Get the generic arguments of the type defining the abstract slot

+ + +

CompiledName: get_DeclaringTypeGenericParameters

+
+ + + MethodGenericParameters + +
+ Signature: IList<FSharpGenericParameter>
+
+
+ + + + +

Get the generic arguments of the abstract slot

+ + +

CompiledName: get_MethodGenericParameters

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

Get the name of the abstract slot

+ + +

CompiledName: get_Name

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpaccessibility.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpaccessibility.html new file mode 100644 index 0000000000..a440f9e7bc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpaccessibility.html @@ -0,0 +1,167 @@ + + + + + FSharpAccessibility - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpAccessibility

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Indicates the accessibility of a symbol, as seen by the F# language

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsInternal + +
+ Signature: bool
+
+
+ + + + +

Indicates the symbol has internal accessibility

+ + +

CompiledName: get_IsInternal

+
+ + + IsPrivate + +
+ Signature: bool
+
+
+ + + + +

Indicates the symbol has private accessibility

+ + +

CompiledName: get_IsPrivate

+
+ + + IsPublic + +
+ Signature: bool
+
+
+ + + + +

Indicates the symbol has public accessibility

+ + +

CompiledName: get_IsPublic

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpaccessibilityrights.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpaccessibilityrights.html new file mode 100644 index 0000000000..b111d97593 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpaccessibilityrights.html @@ -0,0 +1,96 @@ + + + + + FSharpAccessibilityRights - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpAccessibilityRights

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the rights of a compilation to access symbols

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpactivepatterncase.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpactivepatterncase.html new file mode 100644 index 0000000000..a21a36e0b1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpactivepatterncase.html @@ -0,0 +1,209 @@ + + + + + FSharpActivePatternCase - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpActivePatternCase

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A subtype of FSharpSymbol that represents a single case within an active pattern

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

The location of declaration of the active pattern case

+ + +

CompiledName: get_DeclarationLocation

+
+ + + Group + +
+ Signature: FSharpActivePatternGroup
+
+
+ + + + +

The group of active pattern cases this belongs to

+ + +

CompiledName: get_Group

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

The name of the active pattern case

+ + +

CompiledName: get_Name

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the active pattern case, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ + + XmlDocSig + +
+ Signature: string
+
+
+ + + + +

XML documentation signature for the active pattern case, used for .xml file lookup for compiled code

+ + +

CompiledName: get_XmlDocSig

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpactivepatterngroup.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpactivepatterngroup.html new file mode 100644 index 0000000000..0f57ead437 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpactivepatterngroup.html @@ -0,0 +1,188 @@ + + + + + FSharpActivePatternGroup - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpActivePatternGroup

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents all cases within an active pattern

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + EnclosingEntity + +
+ Signature: FSharpEntity option
+
+
+ + + + +

Try to get the enclosing entity of the active pattern

+ + +

CompiledName: get_EnclosingEntity

+
+ + + IsTotal + +
+ Signature: bool
+
+
+ + + + +

Indicate this is a total active pattern

+ + +

CompiledName: get_IsTotal

+
+ + + Names + +
+ Signature: IList<string>
+
+
+ + + + +

The names of the active pattern cases

+ + +

CompiledName: get_Names

+
+ + + OverallType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the type indicating signature of the active pattern

+ + +

CompiledName: get_OverallType

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassembly.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassembly.html new file mode 100644 index 0000000000..4399619081 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassembly.html @@ -0,0 +1,228 @@ + + + + + FSharpAssembly - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpAssembly

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents an assembly as seen by the F# language

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + CodeLocation + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_CodeLocation

+
+ + + Contents + +
+ Signature: FSharpAssemblySignature
+
+
+ + + + +

The contents of the this assembly

+ + +

CompiledName: get_Contents

+
+ + + FileName + +
+ Signature: string option
+
+
+ + + + +

The file name for the assembly, if any

+ + +

CompiledName: get_FileName

+
+ + + IsProviderGenerated + +
+ Signature: bool
+
+
+ + + + +

Indicates if the assembly was generated by a type provider and is due for static linking

+ + +

CompiledName: get_IsProviderGenerated

+
+ + + QualifiedName + +
+ Signature: string
+
+
+ + + + +

The qualified name of the assembly

+ + +

CompiledName: get_QualifiedName

+
+ + + SimpleName + +
+ Signature: string
+
+
+ + + + +

The simple name for the assembly

+ + +

CompiledName: get_SimpleName

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassemblycontents.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassemblycontents.html new file mode 100644 index 0000000000..f97eaccfd9 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassemblycontents.html @@ -0,0 +1,125 @@ + + + + + FSharpAssemblyContents - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpAssemblyContents

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the definitional contents of an assembly, as seen by the F# language

+ +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + ImplementationFiles + +
+ Signature: FSharpImplementationFileContents list
+
+
+ + + + +

The contents of the implementation files in the assembly

+ + +

CompiledName: get_ImplementationFiles

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassemblysignature.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassemblysignature.html new file mode 100644 index 0000000000..f991cfb0cc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpassemblysignature.html @@ -0,0 +1,147 @@ + + + + + FSharpAssemblySignature - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpAssemblySignature

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents an inferred signature of part of an assembly as seen by the F# language

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Get the declared attributes for the assembly. +Only available when parsing an entire project.

+ + +

CompiledName: get_Attributes

+
+ + + Entities + +
+ Signature: IList<FSharpEntity>
+
+
+ + + + +

The (non-nested) module and type definitions in this signature

+ + +

CompiledName: get_Entities

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpattribute.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpattribute.html new file mode 100644 index 0000000000..95bfc40310 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpattribute.html @@ -0,0 +1,208 @@ + + + + + FSharpAttribute - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpAttribute

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a custom attribute attached to F# source code or a compiler .NET component

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AttributeType + +
+ Signature: FSharpEntity
+
+
+ + + + +

The type of the attribute

+ + +

CompiledName: get_AttributeType

+
+ + + ConstructorArguments + +
+ Signature: IList<FSharpType * obj>
+
+
+ + + + +

The arguments to the constructor for the attribute

+ + +

CompiledName: get_ConstructorArguments

+
+ + + Format(context) + +
+ Signature: context:FSharpDisplayContext -> string
+
+
+ + + + +

Format the attribute using the rules of the given display context

+ + +
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates if the attribute type is in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + NamedArguments + +
+ Signature: IList<FSharpType * string * bool * obj>
+
+
+ + + + +

The named arguments for the attribute

+ + +

CompiledName: get_NamedArguments

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpchecker.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpchecker.html new file mode 100644 index 0000000000..912f120b6c --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpchecker.html @@ -0,0 +1,960 @@ + + + + + FSharpChecker - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpChecker

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Used to parse and check F# source code.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + BeforeBackgroundFileCheck + +
+ Signature: IEvent<string * obj option>
+
+
+ + + + +

Notify the host that the logical type checking context for a file has now been updated internally +and that the file has become eligible to be re-typechecked for errors.

+

The event will be raised on a background thread.

+ + +

CompiledName: get_BeforeBackgroundFileCheck

+
+ + + CheckFileInProject(...) + +
+ Signature: (parsed:FSharpParseFileResults * filename:string * fileversion:int * source:string * options:FSharpProjectOptions * textSnapshotInfo:obj option) -> Async<FSharpCheckFileAnswer>
+
+
+ + + + +

Check a source code file, returning a handle to the results

+

Note: all files except the one being checked are read from the FileSystem API

+

Return FSharpCheckFileAnswer.Aborted if a parse tree was not available.

+ + +
+ + + CheckFileInProjectIfReady(...) + +
+ Signature: (parsed:FSharpParseFileResults * filename:string * fileversion:int * source:string * options:FSharpProjectOptions * textSnapshotInfo:obj option) -> Async<FSharpCheckFileAnswer option>
+
+
+ + + + +

Check a source code file, returning a handle to the results of the parse including +the reconstructed types in the file.All files except the one being checked are read from the FileSystem APINote: returns NoAntecedent if the background builder is not yet done preparing the type check context for the +file (e.g. loading references and parsing/checking files in the project that this file depends upon). +In this case, the caller can either retry, or wait for FileTypeCheckStateIsDirty to be raised for this file.

+ + +
+ + + CheckProjectInBackground(options) + +
+ Signature: options:FSharpProjectOptions -> unit
+
+
+ + + + +

Set the project to be checked in the background. Overrides any previous call to CheckProjectInBackground

+ + +
+ + + ClearLanguageServiceRootCachesAndCollectAndFinalizeAllTransients(...) + +
+ Signature: unit -> unit
+
+
+ + + + +

Flush all caches and garbage collect

+ + +
+ + + Compile(...) + +
+ Signature: (ast:ParsedInput list * assemblyName:string * outFile:string * dependencies:string list * pdbFile:string option * executable:bool option * noframework:bool option) -> Async<FSharpErrorInfo [] * int>
+
+
+ + + + +

TypeCheck and compile provided AST

+ + +
+ + + Compile(argv) + +
+ Signature: (argv:string []) -> Async<FSharpErrorInfo [] * int>
+
+
+ + + + +

Compile using the given flags. Source files names are resolved via the FileSystem API. +The output file must be given by a -o flag. +The first argument is ignored and can just be "fsc.exe".

+ + +
+ + + CompileToDynamicAssembly(...) + +
+ Signature: (ast:ParsedInput list * assemblyName:string * dependencies:string list * execute:(TextWriter * TextWriter) option * debug:bool option * noframework:bool option) -> Async<FSharpErrorInfo [] * int * Assembly option>
+
+
+ + + + +

TypeCheck and compile provided AST

+ + +
+ + + CompileToDynamicAssembly(...) + +
+ Signature: (otherFlags:string [] * execute:(TextWriter * TextWriter) option) -> Async<FSharpErrorInfo [] * int * Assembly option>
+
+
+ + + + +

Compiles to a dynamic assembly using the given flags.

+

The first argument is ignored and can just be "fsc.exe".

+

Any source files names are resolved via the FileSystem API. An output file name must be given by a -o flag, but this will not +be written - instead a dynamic assembly will be created and loaded.

+

If the 'execute' parameter is given the entry points for the code are executed and +the given TextWriters are used for the stdout and stderr streams respectively. In this +case, a global setting is modified during the execution.

+ + +
+ + + CurrentQueueLength + +
+ Signature: int
+
+
+ + + + +

Current queue length of the service, for debug purposes. +In addition, a single async operation or a step of a background build +may be in progress - such an operation is not counted in the queue length.

+ + +

CompiledName: get_CurrentQueueLength

+
+ + + FileChecked + +
+ Signature: IEvent<string * obj option>
+
+
+ + + + +

Raised after a check of a file in the background analysis.

+

The event will be raised on a background thread.

+ + +

CompiledName: get_FileChecked

+
+ + + FileParsed + +
+ Signature: IEvent<string * obj option>
+
+
+ + + + +

Raised after a parse of a file in the background analysis.

+

The event will be raised on a background thread.

+ + +

CompiledName: get_FileParsed

+
+ + + GetBackgroundCheckResultsForFileInProject(...) + +
+ Signature: (filename:string * options:FSharpProjectOptions) -> Async<FSharpParseFileResults * FSharpCheckFileResults>
+
+
+ + + + +

Like ParseFileInProject, but uses the existing results from the background builder.All files are read from the FileSystem API, including the file being checked.

+ + +
+ + + GetBackgroundParseResultsForFileInProject(...) + +
+ Signature: (filename:string * options:FSharpProjectOptions) -> Async<FSharpParseFileResults>
+
+
+ + + + +

Like ParseFileInProject, but uses results from the background builder.All files are read from the FileSystem API, including the file being checked.

+ + +
+ + + GetProjectOptionsFromCommandLineArgs(...) + +
+ Signature: (projectFileName:string * argv:string [] * loadedTimeStamp:DateTime option * extraProjectInfo:obj option) -> FSharpProjectOptions
+
+
+ + + + +

Get the FSharpProjectOptions implied by a set of command line arguments.

+ + +
+ + + GetProjectOptionsFromProjectFile(...) + +
+ Signature: (projectFileName:string * properties:(string * string) list option * loadedTimeStamp:DateTime option) -> FSharpProjectOptions
+
+
+ + + + +

Get the project options implied by a standard F# project file in the xbuild/msbuild format.

+ + +
+ + + GetProjectOptionsFromScript(...) + +
+ Signature: (filename:string * source:string * loadedTimeStamp:DateTime option * otherFlags:string [] option * useFsiAuxLib:bool option * assumeDotNetFramework:bool option * extraProjectInfo:obj option) -> Async<FSharpProjectOptions * FSharpErrorInfo list>
+
+
+ + + + +

For a given script file, get the FSharpProjectOptions implied by the #load closure.All files are read from the FileSystem API, except the file being checked.

+ + +
+ + + ImplicitlyStartBackgroundWork() + +
+ Signature: unit -> bool
+
+
+ + + + +

Get or set a flag which controls if background work is started implicitly.

+

If true, calls to CheckFileInProject implicitly start a background check of that project, replacing +any other background checks in progress. This is useful in IDE applications with spare CPU cycles as +it prepares the project analysis results for use. The default is 'true'.

+ + +

CompiledName: set_ImplicitlyStartBackgroundWork

+
+ + + ImplicitlyStartBackgroundWork() + +
+ Signature: unit -> unit
+
+
+ + + + +

Get or set a flag which controls if background work is started implicitly.

+

If true, calls to CheckFileInProject implicitly start a background check of that project, replacing +any other background checks in progress. This is useful in IDE applications with spare CPU cycles as +it prepares the project analysis results for use. The default is 'true'.

+ + +

CompiledName: get_ImplicitlyStartBackgroundWork

+
+ + + InvalidateAll() + +
+ Signature: unit -> unit
+
+
+ + + + +

This function is called when the entire environment is known to have changed for reasons not encoded in the ProjectOptions of any project/compilation. +For example, the type provider approvals file may have changed.

+ + +
+ + + InvalidateConfiguration(options) + +
+ Signature: options:FSharpProjectOptions -> unit
+
+
+ + + + +

This function is called when the configuration is known to have changed for reasons not encoded in the ProjectOptions. +For example, dependent references may have been deleted or created.

+ + +
+ + + KeepProjectAlive(options) + +
+ Signature: options:FSharpProjectOptions -> Async<IDisposable>
+
+
+ + + + +

Create resources for the project and keep the project alive until the returned object is disposed.

+ + +
+ + + MatchBracesAlternate(...) + +
+ Signature: (filename:string * source:string * options:FSharpProjectOptions) -> Async<(range * range) []>
+
+
+ + + + +

Parse a source code file, returning information about brace matching in the file. +Return an enumeration of the matching parenthetical tokens in the file.

+ + +
+ + + MaxMemory() + +
+ Signature: unit -> int
+
+
+ + + + +

A maximum number of megabytes of allocated memory. If the figure reported by System.GC.GetTotalMemory(false) goes over this limit, the FSharpChecker object will attempt to free memory and reduce cache sizes to a minimum.

+ + +

CompiledName: set_MaxMemory

+
+ + + MaxMemory() + +
+ Signature: unit -> unit
+
+
+ + + + +

A maximum number of megabytes of allocated memory. If the figure reported by System.GC.GetTotalMemory(false) goes over this limit, the FSharpChecker object will attempt to free memory and reduce cache sizes to a minimum.

+ + +

CompiledName: get_MaxMemory

+
+ + + MaxMemoryReached + +
+ Signature: IEvent<unit>
+
+
+ + + + +

Raised after the maxMB memory threshold limit is reached

+ + +

CompiledName: get_MaxMemoryReached

+
+ + + NotifyProjectCleaned(options) + +
+ Signature: options:FSharpProjectOptions -> Async<unit>
+
+
+ + + + +

This function is called when a project has been cleaned/rebuilt, and thus any live type providers should be refreshed.

+ + +
+ + + ParseAndCheckFileInProject(...) + +
+ Signature: (filename:string * fileversion:int * source:string * options:FSharpProjectOptions * textSnapshotInfo:obj option) -> Async<FSharpParseFileResults * FSharpCheckFileAnswer>
+
+
+ + + + +

Parse and check a source code file, returning a handle to the results

+

Note: all files except the one being checked are read from the FileSystem API

+

Return FSharpCheckFileAnswer.Aborted if a parse tree was not available.

+ + +
+ + + ParseAndCheckProject(options) + +
+ Signature: options:FSharpProjectOptions -> Async<FSharpCheckProjectResults>
+
+
+ + + + +

Parse and typecheck all files in a project.All files are read from the FileSystem API

+ + +
+ + + ParseFileInProject(...) + +
+ Signature: (filename:string * source:string * options:FSharpProjectOptions) -> Async<FSharpParseFileResults>
+
+
+ + + + +

Parse a source code file, returning a handle that can be used for obtaining navigation bar information +To get the full information, call 'CheckFileInProject' method on the resultAll files except the one being checked are read from the FileSystem API

+ + +
+ + + PauseBeforeBackgroundWork() + +
+ Signature: unit -> int
+
+
+ + + + +

Get or set the pause time in milliseconds before background work is started.

+ + +

CompiledName: set_PauseBeforeBackgroundWork

+
+ + + PauseBeforeBackgroundWork() + +
+ Signature: unit -> unit
+
+
+ + + + +

Get or set the pause time in milliseconds before background work is started.

+ + +

CompiledName: get_PauseBeforeBackgroundWork

+
+ + + ProjectChecked + +
+ Signature: IEvent<string * obj option>
+
+
+ + + + +

Notify the host that a project has been fully checked in the background (using file contents provided by the file system API)

+

The event may be raised on a background thread.

+ + +

CompiledName: get_ProjectChecked

+
+ + + TokenizeFile(source) + +
+ Signature: source:string -> FSharpTokenInfo [] []
+
+
+ + + + +

Tokenize an entire file, line by line

+ + +
+ + + TokenizeLine(line, state) + +
+ Signature: (line:string * state:int64) -> FSharpTokenInfo [] * int64
+
+
+ + + + +

Tokenize a single line, returning token information and a tokenization state represented by an integer

+ + +
+ + + TryGetRecentCheckResultsForFile(...) + +
+ Signature: (filename:string * options:FSharpProjectOptions * source:string option) -> (FSharpParseFileResults * FSharpCheckFileResults * int) option
+
+
+ + + + +

Try to get type check results for a file. This looks up the results of recent type checks of the +same file, regardless of contents. The version tag specified in the original check of the file is returned. +If the source of the file has changed the results returned by this function may be out of date, though may +still be usable for generating intellisense menus and information.

+ + +
+

Static members

+ + + + + + + + + + + + + + + + + + + + + + +
Static memberDescription
+ + + Create(...) + +
+ Signature: (projectCacheSize:int option * keepAssemblyContents:bool option * keepAllBackgroundResolutions:bool option * msbuildEnabled:bool option) -> FSharpChecker
+
+
+ + + + +

Create an instance of an FSharpChecker.

+ + +
+ + + GlobalForegroundParseCountStatistic + +
+ Signature: int
+
+
+ + + + +

Report a statistic for testability

+ + +

CompiledName: get_GlobalForegroundParseCountStatistic

+
+ + + GlobalForegroundTypeCheckCountStatistic + +
+ Signature: int
+
+
+ + + + +

Report a statistic for testability

+ + +

CompiledName: get_GlobalForegroundTypeCheckCountStatistic

+
+ + + Instance + +
+ Signature: FSharpChecker
+
+
+ + + + + +

CompiledName: get_Instance

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckfileanswer.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckfileanswer.html new file mode 100644 index 0000000000..6c897a58d8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckfileanswer.html @@ -0,0 +1,140 @@ + + + + + FSharpCheckFileAnswer - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpCheckFileAnswer

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

The result of calling TypeCheckResult including the possibility of abort and background compiler not caught up.

+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Aborted + +
+ Signature:
+
+
+ + + + + +
+ + + Succeeded(FSharpCheckFileResults) + +
+ Signature: FSharpCheckFileResults
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckfileresults.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckfileresults.html new file mode 100644 index 0000000000..50fd39249a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckfileresults.html @@ -0,0 +1,492 @@ + + + + + FSharpCheckFileResults - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpCheckFileResults

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A handle to the results of CheckFileInProject.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + DependencyFiles + +
+ Signature: string list
+
+
+ + + + +

Indicates the set of files which must be watched to accurately track changes that affect these results, +Clients interested in reacting to updates to these files should watch these files and take actions as described +in the documentation for compiler service.

+ + +

CompiledName: get_DependencyFiles

+
+ + + Errors + +
+ Signature: FSharpErrorInfo []
+
+
+ + + + +

The errors returned by parsing a source file.

+ + +

CompiledName: get_Errors

+
+ + + GetAllUsesOfAllSymbolsInFile() + +
+ Signature: unit -> Async<FSharpSymbolUse []>
+
+
+ + + + +

Get all textual usages of all symbols throughout the file

+ + +
+ + + GetDeclarationListInfo(...) + +
+ Signature: (ParsedFileResultsOpt:FSharpParseFileResults option * line:int * colAtEndOfPartialName:int * lineText:string * qualifyingNames:string list * partialName:string * getAllSymbols:(unit -> AssemblySymbol list) * hasTextChangedSinceLastTypecheck:(obj * range -> bool) option) -> Async<FSharpDeclarationListInfo>
+
+
+ + + + +

Get the items for a declaration list

+ + +
+ + + GetDeclarationListSymbols(...) + +
+ Signature: (ParsedFileResultsOpt:FSharpParseFileResults option * line:int * colAtEndOfPartialName:int * lineText:string * qualifyingNames:string list * partialName:string * hasTextChangedSinceLastTypecheck:(obj * range -> bool) option) -> Async<FSharpSymbolUse list list>
+
+
+ + + + +

Get the items for a declaration list in FSharpSymbol format

+ + +
+ + + GetDeclarationLocationAlternate(...) + +
+ Signature: (line:int * colAtEndOfNames:int * lineText:string * names:string list * preferFlag:bool option) -> Async<FSharpFindDeclResult>
+
+
+ + + + +

Resolve the names at the given location to the declaration location of the corresponding construct.

+ + +
+ + + GetF1KeywordAlternate(...) + +
+ Signature: (line:int * colAtEndOfNames:int * lineText:string * names:string list) -> Async<string option>
+
+
+ + + + +

Compute the Visual Studio F1-help key identifier for the given location, based on name resolution results

+ + +
+ + + GetFormatSpecifierLocations() + +
+ Signature: unit -> range []
+
+
+ + + + +

Get the locations of format specifiers

+ + +
+ + + GetFormatSpecifierLocationsAndArity() + +
+ Signature: unit -> (range * int) []
+
+
+ + + + +

Get the locations of and number of arguments associated with format specifiers

+ + +
+ + + GetMethodsAlternate(...) + +
+ Signature: (line:int * colAtEndOfNames:int * lineText:string * names:string list option) -> Async<FSharpMethodGroup>
+
+
+ + + + +

Compute a set of method overloads to show in a dialog relevant to the given code location.

+ + +
+ + + GetMethodsAsSymbols(...) + +
+ Signature: (line:int * colAtEndOfNames:int * lineText:string * names:string list) -> Async<FSharpSymbolUse list option>
+
+
+ + + + +

Compute a set of method overloads to show in a dialog relevant to the given code location. The resulting method overloads are returned as symbols.

+ + +
+ + + GetSemanticClassification(arg1) + +
+ Signature: (range option) -> (range * SemanticClassificationType) []
+
+
+ + + + +

Get any extra colorization info that is available after the typecheck

+ + +
+ + + GetStructuredToolTipTextAlternate(...) + +
+ Signature: (line:int * colAtEndOfNames:int * lineText:string * names:string list * tokenTag:int) -> Async<FSharpStructuredToolTipText>
+
+
+ + + + +

Compute a formatted tooltip for the given location

+ + +
+ + + GetSymbolUseAtLocation(...) + +
+ Signature: (line:int * colAtEndOfNames:int * lineText:string * names:string list) -> Async<FSharpSymbolUse option>
+
+
+ + + + +

Resolve the names at the given location to a use of symbol.

+ + +
+ + + GetToolTipTextAlternate(...) + +
+ Signature: (line:int * colAtEndOfNames:int * lineText:string * names:string list * tokenTag:int) -> Async<FSharpToolTipText>
+
+
+ + + + +

Compute a formatted tooltip for the given location

+ + +
+ + + GetUsesOfSymbolInFile(symbol) + +
+ Signature: symbol:FSharpSymbol -> Async<FSharpSymbolUse []>
+
+
+ + + + +

Get the textual usages that resolved to the given symbol throughout the file

+ + +
+ + + HasFullTypeCheckInfo + +
+ Signature: bool
+
+
+ + + + +

Indicates whether type checking successfully occurred with some results returned. If false, indicates that +an unrecoverable error in earlier checking/parsing/resolution steps.

+ + +

CompiledName: get_HasFullTypeCheckInfo

+
+ + + PartialAssemblySignature + +
+ Signature: FSharpAssemblySignature
+
+
+ + + + +

Get a view of the contents of the assembly up to and including the file just checked

+ + +

CompiledName: get_PartialAssemblySignature

+
+ + + ProjectContext + +
+ Signature: FSharpProjectContext
+
+
+ + + + +

Get the resolution of the ProjectOptions

+ + +

CompiledName: get_ProjectContext

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckprojectresults.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckprojectresults.html new file mode 100644 index 0000000000..9086960216 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpcheckprojectresults.html @@ -0,0 +1,272 @@ + + + + + FSharpCheckProjectResults - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpCheckProjectResults

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A handle to the results of CheckFileInProject.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AssemblyContents + +
+ Signature: FSharpAssemblyContents
+
+
+ + + + +

Get a view of the overall contents of the assembly. Only valid to use if HasCriticalErrors is false.

+ + +

CompiledName: get_AssemblyContents

+
+ + + AssemblySignature + +
+ Signature: FSharpAssemblySignature
+
+
+ + + + +

Get a view of the overall signature of the assembly. Only valid to use if HasCriticalErrors is false.

+ + +

CompiledName: get_AssemblySignature

+
+ + + DependencyFiles + +
+ Signature: string list
+
+
+ + + + +

Indicates the set of files which must be watched to accurately track changes that affect these results, +Clients interested in reacting to updates to these files should watch these files and take actions as described +in the documentation for compiler service.

+ + +

CompiledName: get_DependencyFiles

+
+ + + Errors + +
+ Signature: FSharpErrorInfo []
+
+
+ + + + +

The errors returned by processing the project

+ + +

CompiledName: get_Errors

+
+ + + GetAllUsesOfAllSymbols() + +
+ Signature: unit -> Async<FSharpSymbolUse []>
+
+
+ + + + +

Get all textual usages of all symbols throughout the project

+ + +
+ + + GetUsesOfSymbol(symbol) + +
+ Signature: symbol:FSharpSymbol -> Async<FSharpSymbolUse []>
+
+
+ + + + +

Get the textual usages that resolved to the given symbol throughout the project

+ + +
+ + + HasCriticalErrors + +
+ Signature: bool
+
+
+ + + + +

Indicates if critical errors existed in the project options

+ + +

CompiledName: get_HasCriticalErrors

+
+ + + ProjectContext + +
+ Signature: FSharpProjectContext
+
+
+ + + + +

Get the resolution of the ProjectOptions

+ + +

CompiledName: get_ProjectContext

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdeclarationlistinfo.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdeclarationlistinfo.html new file mode 100644 index 0000000000..3741636d63 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdeclarationlistinfo.html @@ -0,0 +1,189 @@ + + + + + FSharpDeclarationListInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpDeclarationListInfo

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a set of declarations in F# source code, with information attached ready for display by an editor. +Returned by GetDeclarations.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsError + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsError

+
+ + + IsForType + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsForType

+
+ + + Items + +
+ Signature: FSharpDeclarationListItem []
+
+
+ + + + + +

CompiledName: get_Items

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: FSharpDeclarationListInfo
+
+
+ + + + + +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdeclarationlistitem.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdeclarationlistitem.html new file mode 100644 index 0000000000..dfcaeb1484 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdeclarationlistitem.html @@ -0,0 +1,381 @@ + + + + + FSharpDeclarationListItem - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpDeclarationListItem

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a declaration in F# source code, with information attached ready for display by an editor. +Returned by GetDeclarations.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Accessibility + +
+ Signature: FSharpAccessibility option
+
+
+ + + + + +

CompiledName: get_Accessibility

+
+ + + DescriptionText + +
+ Signature: FSharpToolTipText
+
+
+ + + + + +

CompiledName: get_DescriptionText

+
+ + + DescriptionTextAsync + +
+ Signature: Async<FSharpToolTipText>
+
+
+ + + + + +

CompiledName: get_DescriptionTextAsync

+
+ + + FullName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_FullName

+
+ + + Glyph + +
+ Signature: FSharpGlyph
+
+
+ + + + + +

CompiledName: get_Glyph

+
+ + + IsOwnMember + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsOwnMember

+
+ + + IsResolved + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsResolved

+
+ + + Kind + +
+ Signature: CompletionItemKind
+
+
+ + + + + +

CompiledName: get_Kind

+
+ + + MinorPriority + +
+ Signature: int
+
+
+ + + + + +

CompiledName: get_MinorPriority

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

Get the display name for the declaration.

+ + +

CompiledName: get_Name

+
+ + + NameInCode + +
+ Signature: string
+
+
+ + + + +

Get the name for the declaration as it's presented in source code.

+ + +

CompiledName: get_NameInCode

+
+ + + NamespaceToOpen + +
+ Signature: string option
+
+
+ + + + + +

CompiledName: get_NamespaceToOpen

+
+ + + StructuredDescriptionText + +
+ Signature: FSharpStructuredToolTipText
+
+
+ + + + +

Get the description text for the declaration. Computing this property may require using compiler +resources and may trigger execution of a type provider method to retrieve documentation.

+

May return "Loading..." if timeout occurs

+ + +

CompiledName: get_StructuredDescriptionText

+
+ + + StructuredDescriptionTextAsync + +
+ Signature: Async<FSharpStructuredToolTipText>
+
+
+ + + + +

Get the description text, asynchronously. Never returns "Loading...".

+ + +

CompiledName: get_StructuredDescriptionTextAsync

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdelegatesignature.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdelegatesignature.html new file mode 100644 index 0000000000..c7f78734da --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdelegatesignature.html @@ -0,0 +1,146 @@ + + + + + FSharpDelegateSignature - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpDelegateSignature

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a delegate signature in an F# symbol

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + DelegateArguments + +
+ Signature: IList<string option * FSharpType>
+
+
+ + + + +

Get the argument types of the delegate signature

+ + +

CompiledName: get_DelegateArguments

+
+ + + DelegateReturnType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the return type of the delegate signature

+ + +

CompiledName: get_DelegateReturnType

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdisplaycontext.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdisplaycontext.html new file mode 100644 index 0000000000..cec003c268 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpdisplaycontext.html @@ -0,0 +1,126 @@ + + + + + FSharpDisplayContext - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpDisplayContext

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the information needed to format types and other information in a style +suitable for use in F# source text at a particular source location.

+

Acquired via GetDisplayEnvAtLocationAlternate and similar methods. May be passed +to the Format method on FSharpType and other methods.

+ +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: FSharpDisplayContext
+
+
+ + + + + +

CompiledName: get_Empty

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpenclosingentitykind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpenclosingentitykind.html new file mode 100644 index 0000000000..6739535629 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpenclosingentitykind.html @@ -0,0 +1,246 @@ + + + + + FSharpEnclosingEntityKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpEnclosingEntityKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Class + +
+ Signature:
+
+
+ + + + + +
+ + + DU + +
+ Signature:
+
+
+ + + + + +
+ + + Enum + +
+ Signature:
+
+
+ + + + + +
+ + + Exception + +
+ Signature:
+
+
+ + + + + +
+ + + Interface + +
+ Signature:
+
+
+ + + + + +
+ + + Module + +
+ Signature:
+
+
+ + + + + +
+ + + Namespace + +
+ Signature:
+
+
+ + + + + +
+ + + Record + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpentity.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpentity.html new file mode 100644 index 0000000000..32974fab37 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpentity.html @@ -0,0 +1,1239 @@ + + + + + FSharpEntity - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpEntity

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A subtype of FSharpSymbol that represents a type definition or module as seen by the F# language

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AbbreviatedType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the type abbreviated by an F# type abbreviation

+ + +

CompiledName: get_AbbreviatedType

+
+ + + Accessibility + +
+ Signature: FSharpAccessibility
+
+
+ + + + +

Get the declared accessibility of the type

+ + +

CompiledName: get_Accessibility

+
+ + + AccessPath + +
+ Signature: string
+
+
+ + + + +

Get the path used to address the entity (e.g. "Namespace.Module1.NestedModule2"). Gives +"global" for items not in a namespace.

+ + +

CompiledName: get_AccessPath

+
+ + + AllCompilationPaths + +
+ Signature: string list
+
+
+ + + + +

Get all compilation paths, taking Module suffixes into account.

+ + +

CompiledName: get_AllCompilationPaths

+
+ + + AllInterfaces + +
+ Signature: IList<FSharpType>
+
+
+ + + + +

Get all the interface implementations, by walking the type hierarchy

+ + +

CompiledName: get_AllInterfaces

+
+ + + ArrayRank + +
+ Signature: int
+
+
+ + + + +

Get the rank of an array type

+ + +

CompiledName: get_ArrayRank

+
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Get the declared attributes for the type

+ + +

CompiledName: get_Attributes

+
+ + + BaseType + +
+ Signature: FSharpType option
+
+
+ + + + +

Get the base type, if any

+ + +

CompiledName: get_BaseType

+
+ + + CompiledName + +
+ Signature: string
+
+
+ + + + +

Get the compiled name of the type or module, possibly with `n mangling. This is identical to LogicalName +unless the CompiledName attribute is used.

+ + +

CompiledName: get_CompiledName

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the declaration location for the type constructor

+ + +

CompiledName: get_DeclarationLocation

+
+ + + DeclaredInterfaces + +
+ Signature: IList<FSharpType>
+
+
+ + + + +

Get the declared interface implementations

+ + +

CompiledName: get_DeclaredInterfaces

+
+ + + DisplayName + +
+ Signature: string
+
+
+ + + + +

Get the name of the type or module as displayed in F# code

+ + +

CompiledName: get_DisplayName

+
+ + + FSharpDelegateSignature + +
+ Signature: FSharpDelegateSignature
+
+
+ + + + +

Indicates if the type is a delegate with the given Invoke signature

+ + +

CompiledName: get_FSharpDelegateSignature

+
+ + + FSharpFields + +
+ Signature: IList<FSharpField>
+
+
+ + + + +

Get the fields of a record, class, struct or enum from the perspective of the F# language. +This includes static fields, the 'val' bindings in classes and structs, and the value definitions in enums. +For classes, the list may include compiler generated fields implied by the use of primary constructors.

+ + +

CompiledName: get_FSharpFields

+
+ + + FullName + +
+ Signature: string
+
+
+ + + + +

Get the full name of the type or module

+ + +

CompiledName: get_FullName

+
+ + + GenericParameters + +
+ Signature: IList<FSharpGenericParameter>
+
+
+ + + + +

Get the generic parameters, possibly including unit-of-measure parameters

+ + +

CompiledName: get_GenericParameters

+
+ + + HasAssemblyCodeRepresentation + +
+ Signature: bool
+
+
+ + + + +

Indicates if the type is implemented through a mapping to IL assembly code. This is only +true for types in FSharp.Core.dll

+ + +

CompiledName: get_HasAssemblyCodeRepresentation

+
+ + + HasFSharpModuleSuffix + +
+ Signature: bool
+
+
+ + + + +

Indicates that a module is compiled to a class with the given mangled name. The mangling is reversed during lookup

+ + +

CompiledName: get_HasFSharpModuleSuffix

+
+ + + IsArrayType + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is an array type

+ + +

CompiledName: get_IsArrayType

+
+ + + IsAttributeType + +
+ Signature: bool
+
+
+ + + + +

Check if the entity inherits from System.Attribute in its type hierarchy

+ + +

CompiledName: get_IsAttributeType

+
+ + + IsByRef + +
+ Signature: bool
+
+
+ + + + +

Indicates if is the 'byref<_>' type definition used for byref types in F#-compiled assemblies

+ + +

CompiledName: get_IsByRef

+
+ + + IsClass + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a class type definition

+ + +

CompiledName: get_IsClass

+
+ + + IsDelegate + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a delegate type definition

+ + +

CompiledName: get_IsDelegate

+
+ + + IsEnum + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is an enum type definition

+ + +

CompiledName: get_IsEnum

+
+ + + IsFSharp + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a reference to something in an F#-compiled assembly

+ + +

CompiledName: get_IsFSharp

+
+ + + IsFSharpAbbreviation + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a measure, type or exception abbreviation

+ + +

CompiledName: get_IsFSharpAbbreviation

+
+ + + IsFSharpExceptionDeclaration + +
+ Signature: bool
+
+
+ + + + +

Indicates an F# exception declaration

+ + +

CompiledName: get_IsFSharpExceptionDeclaration

+
+ + + IsFSharpModule + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is an F# module definition

+ + +

CompiledName: get_IsFSharpModule

+
+ + + IsFSharpRecord + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is record type

+ + +

CompiledName: get_IsFSharpRecord

+
+ + + IsFSharpUnion + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is union type

+ + +

CompiledName: get_IsFSharpUnion

+
+ + + IsInterface + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is an interface type definition

+ + +

CompiledName: get_IsInterface

+
+ + + IsMeasure + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a measure definition

+ + +

CompiledName: get_IsMeasure

+
+ + + IsNamespace + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a part of a namespace path

+ + +

CompiledName: get_IsNamespace

+
+ + + IsOpaque + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a type definition for a reference type where the implementation details are hidden by a signature

+ + +

CompiledName: get_IsOpaque

+
+ + + IsProvided + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a provided type

+ + +

CompiledName: get_IsProvided

+
+ + + IsProvidedAndErased + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is an erased provided type

+ + +

CompiledName: get_IsProvidedAndErased

+
+ + + IsProvidedAndGenerated + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a generated provided type

+ + +

CompiledName: get_IsProvidedAndGenerated

+
+ + + IsStaticInstantiation + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a 'fake' symbol related to a static instantiation of a type provider

+ + +

CompiledName: get_IsStaticInstantiation

+
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + IsValueType + +
+ Signature: bool
+
+
+ + + + +

Indicates if the entity is a struct or enum

+ + +

CompiledName: get_IsValueType

+
+ + + LogicalName + +
+ Signature: string
+
+
+ + + + +

Get the name of the type or module, possibly with `n mangling

+ + +

CompiledName: get_LogicalName

+
+ + + MembersFunctionsAndValues + +
+ Signature: IList<FSharpMemberOrFunctionOrValue>
+
+
+ + + + +

Get the properties, events and methods of a type definitions, or the functions and values of a module

+ + +

CompiledName: get_MembersFunctionsAndValues

+
+ + + MembersOrValues + +
+ Signature: IList<FSharpMemberOrFunctionOrValue>
+
+
+ + + + + +

CompiledName: get_MembersOrValues

+
+ + + Namespace + +
+ Signature: string option
+
+
+ + + + +

Get the namespace containing the type or module, if any. Use 'None' for item not in a namespace.

+ + +

CompiledName: get_Namespace

+
+ + + NestedEntities + +
+ Signature: IList<FSharpEntity>
+
+
+ + + + +

Get the modules and types defined in a module, or the nested types of a type

+ + +

CompiledName: get_NestedEntities

+
+ + + QualifiedName + +
+ Signature: string
+
+
+ + + + +

Get the fully qualified name of the type or module

+ + +

CompiledName: get_QualifiedName

+
+ + + RecordFields + +
+ Signature: IList<FSharpField>
+
+
+ + + + + +

CompiledName: get_RecordFields

+
+ + + RepresentationAccessibility + +
+ Signature: FSharpAccessibility
+
+
+ + + + +

Get the declared accessibility of the representation, not taking signatures into account

+ + +

CompiledName: get_RepresentationAccessibility

+
+ + + StaticParameters + +
+ Signature: IList<FSharpStaticParameter>
+
+
+ + + + +

Get the static parameters for a provided type

+ + +

CompiledName: get_StaticParameters

+
+ + + TryFullName + +
+ Signature: string option
+
+
+ + + + +

Get the full name of the type or module if it is available

+ + +

CompiledName: get_TryFullName

+
+ + + UnionCases + +
+ Signature: IList<FSharpUnionCase>
+
+
+ + + + +

Get the cases of a union type

+ + +

CompiledName: get_UnionCases

+
+ + + UsesPrefixDisplay + +
+ Signature: bool
+
+
+ + + + +

Indicates if the type prefers the "tycon" syntax for display etc.

+ + +

CompiledName: get_UsesPrefixDisplay

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the entity, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ + + XmlDocSig + +
+ Signature: string
+
+
+ + + + +

Get the XML documentation signature for the entity, used for .xml file lookup for compiled code

+ + +

CompiledName: get_XmlDocSig

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpexpr.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpexpr.html new file mode 100644 index 0000000000..d5f364699a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpexpr.html @@ -0,0 +1,170 @@ + + + + + FSharpExpr - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpExpr

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a checked and reduced expression, as seen by the F# language. The active patterns +in 'FSharp.Compiler.SourceCodeServices' can be used to analyze information about the expression.

+

Pattern matching is reduced to decision trees and conditional tests. Some other +constructs may be represented in reduced form.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + ImmediateSubExpressions + +
+ Signature: FSharpExpr list
+
+
+ + + + +

The immediate sub-expressions of the expression.

+ + +

CompiledName: get_ImmediateSubExpressions

+
+ + + Range + +
+ Signature: range
+
+
+ + + + +

The range of the expression

+ + +

CompiledName: get_Range

+
+ + + Type + +
+ Signature: FSharpType
+
+
+ + + + +

The type of the expression

+ + +

CompiledName: get_Type

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfield.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfield.html new file mode 100644 index 0000000000..d7afbe262f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfield.html @@ -0,0 +1,461 @@ + + + + + FSharpField - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpField

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A subtype of FSharpSymbol that represents a record or union case field as seen by the F# language

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Accessibility + +
+ Signature: FSharpAccessibility
+
+
+ + + + +

Indicates if the declared visibility of the field, not taking signatures into account

+ + +

CompiledName: get_Accessibility

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the declaration location of the field

+ + +

CompiledName: get_DeclarationLocation

+
+ + + DeclaringEntity + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the declaring entity of this field

+ + +

CompiledName: get_DeclaringEntity

+
+ + + FieldAttributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Get the attributes attached to generated field

+ + +

CompiledName: get_FieldAttributes

+
+ + + FieldType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the type of the field, w.r.t. the generic parameters of the enclosing type constructor

+ + +

CompiledName: get_FieldType

+
+ + + IsCompilerGenerated + +
+ Signature: bool
+
+
+ + + + +

Indicates a compiler generated field, not visible to Intellisense or name resolution

+ + +

CompiledName: get_IsCompilerGenerated

+
+ + + IsDefaultValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if the field declared is declared 'DefaultValue'

+ + +

CompiledName: get_IsDefaultValue

+
+ + + IsLiteral + +
+ Signature: bool
+
+
+ + + + +

Indicates if the field has a literal value

+ + +

CompiledName: get_IsLiteral

+
+ + + IsMutable + +
+ Signature: bool
+
+
+ + + + +

Indicates if the field is declared 'static'

+ + +

CompiledName: get_IsMutable

+
+ + + IsStatic + +
+ Signature: bool
+
+
+ + + + +

Indicates a static field

+ + +

CompiledName: get_IsStatic

+
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates if the record field is for a type in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + IsVolatile + +
+ Signature: bool
+
+
+ + + + +

Indicates if the field is declared volatile

+ + +

CompiledName: get_IsVolatile

+
+ + + LiteralValue + +
+ Signature: obj option
+
+
+ + + + +

Get the default initialization info, for static literals

+ + +

CompiledName: get_LiteralValue

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

Get the name of the field

+ + +

CompiledName: get_Name

+
+ + + PropertyAttributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Get the attributes attached to generated property

+ + +

CompiledName: get_PropertyAttributes

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the field, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ + + XmlDocSig + +
+ Signature: string
+
+
+ + + + +

Get the XML documentation signature for .xml file lookup for the field, used for .xml file lookup for compiled code

+ + +

CompiledName: get_XmlDocSig

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfinddeclfailurereason.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfinddeclfailurereason.html new file mode 100644 index 0000000000..08260cf43b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfinddeclfailurereason.html @@ -0,0 +1,184 @@ + + + + + FSharpFindDeclFailureReason - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpFindDeclFailureReason

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the reason why the GetDeclarationLocation operation failed.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + NoSourceCode + +
+ Signature:
+
+
+ + + + +

Source code file is not available

+ + +
+ + + ProvidedMember(string) + +
+ Signature: string
+
+
+ + + + +

Trying to find declaration of ProvidedMember without TypeProviderDefinitionLocationAttribute

+ + +
+ + + ProvidedType(string) + +
+ Signature: string
+
+
+ + + + +

Trying to find declaration of ProvidedType without TypeProviderDefinitionLocationAttribute

+ + +
+ + + Unknown + +
+ Signature:
+
+
+ + + + +

Generic reason: no particular information about error

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfinddeclresult.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfinddeclresult.html new file mode 100644 index 0000000000..5edfff3518 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpfinddeclresult.html @@ -0,0 +1,144 @@ + + + + + FSharpFindDeclResult - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpFindDeclResult

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the result of the GetDeclarationLocation operation.

+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + DeclFound(range) + +
+ Signature: range
+
+
+ + + + +

Indicates a declaration location was found

+ + +
+ + + DeclNotFound(...) + +
+ Signature: FSharpFindDeclFailureReason
+
+
+ + + + +

Indicates a declaration location was not found, with an additional reason

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameter.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameter.html new file mode 100644 index 0000000000..5c39796432 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameter.html @@ -0,0 +1,272 @@ + + + + + FSharpGenericParameter - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpGenericParameter

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A subtype of FSharpSymbol that represents a generic parameter for an FSharpSymbol

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Get the declared attributes of the type parameter.

+ + +

CompiledName: get_Attributes

+
+ + + Constraints + +
+ Signature: IList<FSharpGenericParameterConstraint>
+
+
+ + + + +

Get the declared or inferred constraints for the type parameter

+ + +

CompiledName: get_Constraints

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the range of the generic parameter

+ + +

CompiledName: get_DeclarationLocation

+
+ + + IsCompilerGenerated + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a compiler generated type parameter

+ + +

CompiledName: get_IsCompilerGenerated

+
+ + + IsMeasure + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a measure variable

+ + +

CompiledName: get_IsMeasure

+
+ + + IsSolveAtCompileTime + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a statically resolved type variable

+ + +

CompiledName: get_IsSolveAtCompileTime

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

Get the name of the generic parameter

+ + +

CompiledName: get_Name

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the type parameter, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterconstraint.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterconstraint.html new file mode 100644 index 0000000000..c576ff953a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterconstraint.html @@ -0,0 +1,503 @@ + + + + + FSharpGenericParameterConstraint - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpGenericParameterConstraint

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a constraint on a generic type parameter

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + CoercesToTarget + +
+ Signature: FSharpType
+
+
+ + + + +

Gets further information about a coerces-to constraint

+ + +

CompiledName: get_CoercesToTarget

+
+ + + DefaultsToConstraintData + +
+ Signature: FSharpGenericParameterDefaultsToConstraint
+
+
+ + + + +

Gets further information about a defaults-to constraint

+ + +

CompiledName: get_DefaultsToConstraintData

+
+ + + DelegateConstraintData + +
+ Signature: FSharpGenericParameterDelegateConstraint
+
+
+ + + + +

Gets further information about a delegate constraint

+ + +

CompiledName: get_DelegateConstraintData

+
+ + + EnumConstraintTarget + +
+ Signature: FSharpType
+
+
+ + + + +

Gets further information about an enumeration constraint

+ + +

CompiledName: get_EnumConstraintTarget

+
+ + + IsCoercesToConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type is a subtype of the given type

+ + +

CompiledName: get_IsCoercesToConstraint

+
+ + + IsComparisonConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type supports F# generic comparison

+ + +

CompiledName: get_IsComparisonConstraint

+
+ + + IsDefaultsToConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a default value for an inference type variable should it be neither generalized nor solved

+ + +

CompiledName: get_IsDefaultsToConstraint

+
+ + + IsDelegateConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type is a delegate from the given tuple of args to the given return type

+ + +

CompiledName: get_IsDelegateConstraint

+
+ + + IsEnumConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type is an enum with the given underlying

+ + +

CompiledName: get_IsEnumConstraint

+
+ + + IsEqualityConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type supports F# generic equality

+ + +

CompiledName: get_IsEqualityConstraint

+
+ + + IsMemberConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type has a member with the given signature

+ + +

CompiledName: get_IsMemberConstraint

+
+ + + IsNonNullableValueTypeConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type is a non-Nullable value type

+ + +

CompiledName: get_IsNonNullableValueTypeConstraint

+
+ + + IsReferenceTypeConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type is a reference type

+ + +

CompiledName: get_IsReferenceTypeConstraint

+
+ + + IsRequiresDefaultConstructorConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type has a parameterless constructor

+ + +

CompiledName: get_IsRequiresDefaultConstructorConstraint

+
+ + + IsSimpleChoiceConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that is a type is a simple choice between one of the given ground types. Used by printf format strings.

+ + +

CompiledName: get_IsSimpleChoiceConstraint

+
+ + + IsSupportsNullConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type has a 'null' value

+ + +

CompiledName: get_IsSupportsNullConstraint

+
+ + + IsUnmanagedConstraint + +
+ Signature: bool
+
+
+ + + + +

Indicates a constraint that a type is an unmanaged type

+ + +

CompiledName: get_IsUnmanagedConstraint

+
+ + + MemberConstraintData + +
+ Signature: FSharpGenericParameterMemberConstraint
+
+
+ + + + +

Gets further information about a member constraint

+ + +

CompiledName: get_MemberConstraintData

+
+ + + SimpleChoices + +
+ Signature: IList<FSharpType>
+
+
+ + + + +

Gets further information about a choice constraint

+ + +

CompiledName: get_SimpleChoices

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterdefaultstoconstraint.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterdefaultstoconstraint.html new file mode 100644 index 0000000000..498bc4448d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterdefaultstoconstraint.html @@ -0,0 +1,146 @@ + + + + + FSharpGenericParameterDefaultsToConstraint - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpGenericParameterDefaultsToConstraint

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents further information about a 'defaults to' constraint on a generic type parameter

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + DefaultsToPriority + +
+ Signature: int
+
+
+ + + + +

Get the priority off the 'defaults to' constraint

+ + +

CompiledName: get_DefaultsToPriority

+
+ + + DefaultsToTarget + +
+ Signature: FSharpType
+
+
+ + + + +

Get the default type associated with the 'defaults to' constraint

+ + +

CompiledName: get_DefaultsToTarget

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterdelegateconstraint.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterdelegateconstraint.html new file mode 100644 index 0000000000..900c42af25 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparameterdelegateconstraint.html @@ -0,0 +1,146 @@ + + + + + FSharpGenericParameterDelegateConstraint - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpGenericParameterDelegateConstraint

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents further information about a delegate constraint on a generic type parameter

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + DelegateReturnType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the return type required by the constraint

+ + +

CompiledName: get_DelegateReturnType

+
+ + + DelegateTupledArgumentType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the tupled argument type required by the constraint

+ + +

CompiledName: get_DelegateTupledArgumentType

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparametermemberconstraint.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparametermemberconstraint.html new file mode 100644 index 0000000000..f8fb2d721a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpgenericparametermemberconstraint.html @@ -0,0 +1,209 @@ + + + + + FSharpGenericParameterMemberConstraint - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpGenericParameterMemberConstraint

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents further information about a member constraint on a generic type parameter

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + MemberArgumentTypes + +
+ Signature: IList<FSharpType>
+
+
+ + + + +

Get the argument types of the method required by the constraint

+ + +

CompiledName: get_MemberArgumentTypes

+
+ + + MemberIsStatic + +
+ Signature: bool
+
+
+ + + + +

Indicates if the the method required by the constraint must be static

+ + +

CompiledName: get_MemberIsStatic

+
+ + + MemberName + +
+ Signature: string
+
+
+ + + + +

Get the name of the method required by the constraint

+ + +

CompiledName: get_MemberName

+
+ + + MemberReturnType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the return type of the method required by the constraint

+ + +

CompiledName: get_MemberReturnType

+
+ + + MemberSources + +
+ Signature: IList<FSharpType>
+
+
+ + + + +

Get the types that may be used to satisfy the constraint

+ + +

CompiledName: get_MemberSources

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpglyph.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpglyph.html new file mode 100644 index 0000000000..0a4d0d9910 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpglyph.html @@ -0,0 +1,480 @@ + + + + + FSharpGlyph - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpGlyph

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Class + +
+ Signature:
+
+
+ + + + + +
+ + + Constant + +
+ Signature:
+
+
+ + + + + +
+ + + Delegate + +
+ Signature:
+
+
+ + + + + +
+ + + Enum + +
+ Signature:
+
+
+ + + + + +
+ + + EnumMember + +
+ Signature:
+
+
+ + + + + +
+ + + Error + +
+ Signature:
+
+
+ + + + + +
+ + + Event + +
+ Signature:
+
+
+ + + + + +
+ + + Exception + +
+ Signature:
+
+
+ + + + + +
+ + + ExtensionMethod + +
+ Signature:
+
+
+ + + + + +
+ + + Field + +
+ Signature:
+
+
+ + + + + +
+ + + Interface + +
+ Signature:
+
+
+ + + + + +
+ + + Method + +
+ Signature:
+
+
+ + + + + +
+ + + Module + +
+ Signature:
+
+
+ + + + + +
+ + + NameSpace + +
+ Signature:
+
+
+ + + + + +
+ + + OverridenMethod + +
+ Signature:
+
+
+ + + + + +
+ + + Property + +
+ Signature:
+
+
+ + + + + +
+ + + Struct + +
+ Signature:
+
+
+ + + + + +
+ + + Type + +
+ Signature:
+
+
+ + + + + +
+ + + Typedef + +
+ Signature:
+
+
+ + + + + +
+ + + Union + +
+ Signature:
+
+
+ + + + + +
+ + + Variable + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpimplementationfilecontents.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpimplementationfilecontents.html new file mode 100644 index 0000000000..0e9d52f205 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpimplementationfilecontents.html @@ -0,0 +1,209 @@ + + + + + FSharpImplementationFileContents - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpImplementationFileContents

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the definitional contents of a single file or fragment in an assembly, as seen by the F# language

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Declarations + +
+ Signature: FSharpImplementationFileDeclaration list
+
+
+ + + + +

Get the declarations that make up this implementation file

+ + +

CompiledName: get_Declarations

+
+ + + FileName + +
+ Signature: string
+
+
+ + + + +

Get the system path of the implementation file

+ + +

CompiledName: get_FileName

+
+ + + HasExplicitEntryPoint + +
+ Signature: bool
+
+
+ + + + +

Indicates if the implementation file has an explicit entry point

+ + +

CompiledName: get_HasExplicitEntryPoint

+
+ + + IsScript + +
+ Signature: bool
+
+
+ + + + +

Indicates if the implementation file is a script

+ + +

CompiledName: get_IsScript

+
+ + + QualifiedName + +
+ Signature: string
+
+
+ + + + +

The qualified name acts to fully-qualify module specifications and implementations

+ + +

CompiledName: get_QualifiedName

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpimplementationfiledeclaration.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpimplementationfiledeclaration.html new file mode 100644 index 0000000000..61fa936397 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpimplementationfiledeclaration.html @@ -0,0 +1,164 @@ + + + + + FSharpImplementationFileDeclaration - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpImplementationFileDeclaration

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a declaration in an implementation file, as seen by the F# language

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Entity(...) + +
+ Signature: FSharpEntity * FSharpImplementationFileDeclaration list
+
+
+ + + + +

Represents the declaration of a type

+ + +
+ + + InitAction(FSharpExpr) + +
+ Signature: FSharpExpr
+
+
+ + + + +

Represents the declaration of a static initialization action

+ + +
+ + + MemberOrFunctionOrValue(...) + +
+ Signature: FSharpMemberOrFunctionOrValue * FSharpMemberOrFunctionOrValue list list * FSharpExpr
+
+
+ + + + +

Represents the declaration of a member, function or value, including the parameters and body of the member

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpinlineannotation.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpinlineannotation.html new file mode 100644 index 0000000000..042080bf59 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpinlineannotation.html @@ -0,0 +1,182 @@ + + + + + FSharpInlineAnnotation - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpInlineAnnotation

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AlwaysInline + +
+ Signature:
+
+
+ + + + +

Indictes the value is inlined but compiled code for the function still exists, e.g. to satisfy interfaces on objects, but that it is also always inlined

+ + +
+ + + NeverInline + +
+ Signature:
+
+
+ + + + +

Indictes the value is never inlined

+ + +
+ + + OptionalInline + +
+ Signature:
+
+
+ + + + +

Indictes the value is optionally inlined

+ + +
+ + + PseudoValue + +
+ Signature:
+
+
+ + + + +

Indictes the value is inlined and compiled code for the function does not exist

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharplinetokenizer.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharplinetokenizer.html new file mode 100644 index 0000000000..54560eb6db --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharplinetokenizer.html @@ -0,0 +1,173 @@ + + + + + FSharpLineTokenizer - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpLineTokenizer

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Object to tokenize a line of F# source code, starting with the given lexState. The lexState should be 0 for +the first line of text. Returns an array of ranges of the text and two enumerations categorizing the +tokens and characters covered by that range, i.e. FSharpTokenColorKind and FSharpTokenCharKind. The enumerations +are somewhat adhoc but useful enough to give good colorization options to the user in an IDE.

+

A new lexState is also returned. An IDE-plugin should in general cache the lexState +values for each line of the edited code.

+ +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + ScanToken(lexState) + +
+ Signature: lexState:FSharpTokenizerLexState -> FSharpTokenInfo option * FSharpTokenizerLexState
+
+
+ + + + +

Scan one token from the line

+ + +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + ColorStateOfLexState(arg1) + +
+ Signature: FSharpTokenizerLexState -> FSharpTokenizerColorState
+
+
+ + + + + +
+ + + LexStateOfColorState(arg1) + +
+ Signature: FSharpTokenizerColorState -> FSharpTokenizerLexState
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberfunctionorvalue.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberfunctionorvalue.html new file mode 100644 index 0000000000..4b29f6d8e8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberfunctionorvalue.html @@ -0,0 +1,1240 @@ + + + + + FSharpMemberFunctionOrValue - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpMemberFunctionOrValue

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Renamed to FSharpMemberOrFunctionOrValue

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Accessibility + +
+ Signature: FSharpAccessibility
+
+
+ + + + +

Get the accessibility information for the member, function or value

+ + +

CompiledName: get_Accessibility

+
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Custom attributes attached to the value. These contain references to other values (i.e. constructors in types). Mutable to fixup
+these value references after copying a collection of values.

+ + +

CompiledName: get_Attributes

+
+ + + CompiledName + +
+ Signature: string
+
+
+ + + + +

Get the member name in compiled code

+ + +

CompiledName: get_CompiledName

+
+ + + CurriedParameterGroups + +
+ Signature: IList<IList<FSharpParameter>>
+
+
+ + + + + +

CompiledName: get_CurriedParameterGroups

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the declaration location of the member, function or value

+ + +

CompiledName: get_DeclarationLocation

+
+ + + DisplayName + +
+ Signature: string
+
+
+ + + + +

Get the name as presented in F# error messages and documentation

+ + +

CompiledName: get_DisplayName

+
+ + + EnclosingEntity + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the enclosing entity for the definition

+ + +

CompiledName: get_EnclosingEntity

+
+ + + EventAddMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated add method of an event

+ + +

CompiledName: get_EventAddMethod

+
+ + + EventDelegateType + +
+ Signature: FSharpType
+
+
+ + + + +

Get an associated delegate type of an event

+ + +

CompiledName: get_EventDelegateType

+
+ + + EventForFSharpProperty + +
+ Signature: FSharpMemberOrFunctionOrValue option
+
+
+ + + + +

Gets the event symbol implied by the use of a property, +for the case where the property is actually an F#-declared CLIEvent.

+

Uses of F#-declared events are considered to be properties as far as the language specification +and this API are concerned.

+ + +

CompiledName: get_EventForFSharpProperty

+
+ + + EventIsStandard + +
+ Signature: bool
+
+
+ + + + +

Indicate if an event can be considered to be a property for the F# type system of type IEvent or IDelegateEvent. +In this case ReturnParameter will have a type corresponding to the property type. For +non-standard events, ReturnParameter will have a type corresponding to the delegate type.

+ + +

CompiledName: get_EventIsStandard

+
+ + + EventRemoveMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated remove method of an event

+ + +

CompiledName: get_EventRemoveMethod

+
+ + + FullType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the full type of the member, function or value when used as a first class value

+ + +

CompiledName: get_FullType

+
+ + + GenericParameters + +
+ Signature: IList<FSharpGenericParameter>
+
+
+ + + + +

Get the typars of the member, function or value

+ + +

CompiledName: get_GenericParameters

+
+ + + GetterMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated getter method of the property

+ + +

CompiledName: get_GetterMethod

+
+ + + HasGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property and there exists an associated getter method

+ + +

CompiledName: get_HasGetterMethod

+
+ + + HasSetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property and there exists an associated setter method

+ + +

CompiledName: get_HasSetterMethod

+
+ + + ImplementedAbstractSignatures + +
+ Signature: IList<FSharpAbstractSignature>
+
+
+ + + + +

Gets the list of the abstract slot signatures implemented by the member

+ + +

CompiledName: get_ImplementedAbstractSignatures

+
+ + + InlineAnnotation + +
+ Signature: FSharpInlineAnnotation
+
+
+ + + + +

Get a result indicating if this is a must-inline value

+ + +

CompiledName: get_InlineAnnotation

+
+ + + IsActivePattern + +
+ Signature: bool
+
+
+ + + + +

Indicates if this value or member is an F# active pattern

+ + +

CompiledName: get_IsActivePattern

+
+ + + IsBaseValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is "base" in "base.M(...)"

+ + +

CompiledName: get_IsBaseValue

+
+ + + IsCompilerGenerated + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a compiler generated value

+ + +

CompiledName: get_IsCompilerGenerated

+
+ + + IsConstructor + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a constructor.

+ + +

CompiledName: get_IsConstructor

+
+ + + IsConstructorThisValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is the "x" in "type C() as x = ..."

+ + +

CompiledName: get_IsConstructorThisValue

+
+ + + IsDispatchSlot + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an abstract member?

+ + +

CompiledName: get_IsDispatchSlot

+
+ + + IsEvent + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an event member

+ + +

CompiledName: get_IsEvent

+
+ + + IsEventAddMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an add method for an event

+ + +

CompiledName: get_IsEventAddMethod

+
+ + + IsEventRemoveMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a remove method for an event

+ + +

CompiledName: get_IsEventRemoveMethod

+
+ + + IsExplicitInterfaceImplementation + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an explicit implementation of an interface member

+ + +

CompiledName: get_IsExplicitInterfaceImplementation

+
+ + + IsExtensionMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an extension member?

+ + +

CompiledName: get_IsExtensionMember

+
+ + + IsGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a getter method for a property, or a use of a property in getter mode

+ + +

CompiledName: get_IsGetterMethod

+
+ + + IsImplicitConstructor + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an implicit constructor?

+ + +

CompiledName: get_IsImplicitConstructor

+
+ + + IsInstanceMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an instance member, when seen from F#?

+ + +

CompiledName: get_IsInstanceMember

+
+ + + IsInstanceMemberInCompiledCode + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an instance member in compiled code.

+

Explanatory note: some members such as IsNone and IsSome on types with UseNullAsTrueValue appear +as instance members in F# code but are compiled as static members.

+ + +

CompiledName: get_IsInstanceMemberInCompiledCode

+
+ + + IsMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a member, including extension members?

+ + +

CompiledName: get_IsMember

+
+ + + IsMemberThisValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is the "x" in "member x.M = ..."

+ + +

CompiledName: get_IsMemberThisValue

+
+ + + IsModuleValueOrMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a module or member value

+ + +

CompiledName: get_IsModuleValueOrMember

+
+ + + IsMutable + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a mutable value

+ + +

CompiledName: get_IsMutable

+
+ + + IsOverrideOrExplicitInterfaceImplementation(...) + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an 'override', 'default' or an explicit implementation of an interface member

+ + +

CompiledName: get_IsOverrideOrExplicitInterfaceImplementation

+
+ + + IsOverrideOrExplicitMember + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsOverrideOrExplicitMember

+
+ + + IsProperty + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property member

+ + +

CompiledName: get_IsProperty

+
+ + + IsPropertyGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a getter method for a property, or a use of a property in getter mode

+ + +

CompiledName: get_IsPropertyGetterMethod

+
+ + + IsPropertySetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a setter method for a property, or a use of a property in setter mode

+ + +

CompiledName: get_IsPropertySetterMethod

+
+ + + IsSetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a setter method for a property, or a use of a property in setter mode

+ + +

CompiledName: get_IsSetterMethod

+
+ + + IsTypeFunction + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an F# type function

+ + +

CompiledName: get_IsTypeFunction

+
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates if the member, function or value is in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + IsValCompiledAsMethod + +
+ Signature: bool
+
+
+ + + + +

Indicated if this is a value compiled to a method

+ + +

CompiledName: get_IsValCompiledAsMethod

+
+ + + LiteralValue + +
+ Signature: obj option
+
+
+ + + + +

Indicates if this is a [] value, and if so what value? (may be null)

+ + +

CompiledName: get_LiteralValue

+
+ + + LogicalEnclosingEntity + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the logical enclosing entity, which for an extension member is type being extended

+ + +

CompiledName: get_LogicalEnclosingEntity

+
+ + + LogicalName + +
+ Signature: string
+
+
+ + + + +

Get the logical name of the member

+ + +

CompiledName: get_LogicalName

+
+ + + ReturnParameter + +
+ Signature: FSharpParameter
+
+
+ + + + + +

CompiledName: get_ReturnParameter

+
+ + + SetterMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated setter method of the property

+ + +

CompiledName: get_SetterMethod

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the value, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ + + XmlDocSig + +
+ Signature: string
+
+
+ + + + +

XML documentation signature for the value, used for .xml file lookup for compiled code

+ + +

CompiledName: get_XmlDocSig

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberorfunctionorvalue.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberorfunctionorvalue.html new file mode 100644 index 0000000000..7bac37cb05 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberorfunctionorvalue.html @@ -0,0 +1,1261 @@ + + + + + FSharpMemberOrFunctionOrValue - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpMemberOrFunctionOrValue

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A subtype of F# symbol that represents an F# method, property, event, function or value, including extension members.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Accessibility + +
+ Signature: FSharpAccessibility
+
+
+ + + + +

Get the accessibility information for the member, function or value

+ + +

CompiledName: get_Accessibility

+
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Custom attributes attached to the value. These contain references to other values (i.e. constructors in types). Mutable to fixup
+these value references after copying a collection of values.

+ + +

CompiledName: get_Attributes

+
+ + + CompiledName + +
+ Signature: string
+
+
+ + + + +

Get the member name in compiled code

+ + +

CompiledName: get_CompiledName

+
+ + + CurriedParameterGroups + +
+ Signature: IList<IList<FSharpParameter>>
+
+
+ + + + + +

CompiledName: get_CurriedParameterGroups

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the declaration location of the member, function or value

+ + +

CompiledName: get_DeclarationLocation

+
+ + + DisplayName + +
+ Signature: string
+
+
+ + + + +

Get the name as presented in F# error messages and documentation

+ + +

CompiledName: get_DisplayName

+
+ + + EnclosingEntity + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the enclosing entity for the definition

+ + +

CompiledName: get_EnclosingEntity

+
+ + + EventAddMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated add method of an event

+ + +

CompiledName: get_EventAddMethod

+
+ + + EventDelegateType + +
+ Signature: FSharpType
+
+
+ + + + +

Get an associated delegate type of an event

+ + +

CompiledName: get_EventDelegateType

+
+ + + EventForFSharpProperty + +
+ Signature: FSharpMemberOrFunctionOrValue option
+
+
+ + + + +

Gets the event symbol implied by the use of a property, +for the case where the property is actually an F#-declared CLIEvent.

+

Uses of F#-declared events are considered to be properties as far as the language specification +and this API are concerned.

+ + +

CompiledName: get_EventForFSharpProperty

+
+ + + EventIsStandard + +
+ Signature: bool
+
+
+ + + + +

Indicate if an event can be considered to be a property for the F# type system of type IEvent or IDelegateEvent. +In this case ReturnParameter will have a type corresponding to the property type. For +non-standard events, ReturnParameter will have a type corresponding to the delegate type.

+ + +

CompiledName: get_EventIsStandard

+
+ + + EventRemoveMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated remove method of an event

+ + +

CompiledName: get_EventRemoveMethod

+
+ + + FullType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the full type of the member, function or value when used as a first class value

+ + +

CompiledName: get_FullType

+
+ + + GenericParameters + +
+ Signature: IList<FSharpGenericParameter>
+
+
+ + + + +

Get the typars of the member, function or value

+ + +

CompiledName: get_GenericParameters

+
+ + + GetterMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated getter method of the property

+ + +

CompiledName: get_GetterMethod

+
+ + + HasGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property and there exists an associated getter method

+ + +

CompiledName: get_HasGetterMethod

+
+ + + HasSetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property and there exists an associated setter method

+ + +

CompiledName: get_HasSetterMethod

+
+ + + ImplementedAbstractSignatures + +
+ Signature: IList<FSharpAbstractSignature>
+
+
+ + + + +

Gets the list of the abstract slot signatures implemented by the member

+ + +

CompiledName: get_ImplementedAbstractSignatures

+
+ + + InlineAnnotation + +
+ Signature: FSharpInlineAnnotation
+
+
+ + + + +

Get a result indicating if this is a must-inline value

+ + +

CompiledName: get_InlineAnnotation

+
+ + + IsActivePattern + +
+ Signature: bool
+
+
+ + + + +

Indicates if this value or member is an F# active pattern

+ + +

CompiledName: get_IsActivePattern

+
+ + + IsBaseValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is "base" in "base.M(...)"

+ + +

CompiledName: get_IsBaseValue

+
+ + + IsCompilerGenerated + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a compiler generated value

+ + +

CompiledName: get_IsCompilerGenerated

+
+ + + IsConstructor + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a constructor.

+ + +

CompiledName: get_IsConstructor

+
+ + + IsConstructorThisValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is the "x" in "type C() as x = ..."

+ + +

CompiledName: get_IsConstructorThisValue

+
+ + + IsDispatchSlot + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an abstract member?

+ + +

CompiledName: get_IsDispatchSlot

+
+ + + IsEvent + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an event member

+ + +

CompiledName: get_IsEvent

+
+ + + IsEventAddMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an add method for an event

+ + +

CompiledName: get_IsEventAddMethod

+
+ + + IsEventRemoveMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a remove method for an event

+ + +

CompiledName: get_IsEventRemoveMethod

+
+ + + IsExplicitInterfaceImplementation + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an explicit implementation of an interface member

+ + +

CompiledName: get_IsExplicitInterfaceImplementation

+
+ + + IsExtensionMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an extension member?

+ + +

CompiledName: get_IsExtensionMember

+
+ + + IsGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a getter method for a property, or a use of a property in getter mode

+ + +

CompiledName: get_IsGetterMethod

+
+ + + IsImplicitConstructor + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an implicit constructor?

+ + +

CompiledName: get_IsImplicitConstructor

+
+ + + IsInstanceMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an instance member, when seen from F#?

+ + +

CompiledName: get_IsInstanceMember

+
+ + + IsInstanceMemberInCompiledCode + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an instance member in compiled code.

+

Explanatory note: some members such as IsNone and IsSome on types with UseNullAsTrueValue appear +as instance members in F# code but are compiled as static members.

+ + +

CompiledName: get_IsInstanceMemberInCompiledCode

+
+ + + IsMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a member, including extension members?

+ + +

CompiledName: get_IsMember

+
+ + + IsMemberThisValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is the "x" in "member x.M = ..."

+ + +

CompiledName: get_IsMemberThisValue

+
+ + + IsModuleValueOrMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a module or member value

+ + +

CompiledName: get_IsModuleValueOrMember

+
+ + + IsMutable + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a mutable value

+ + +

CompiledName: get_IsMutable

+
+ + + IsOverrideOrExplicitInterfaceImplementation(...) + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an 'override', 'default' or an explicit implementation of an interface member

+ + +

CompiledName: get_IsOverrideOrExplicitInterfaceImplementation

+
+ + + IsOverrideOrExplicitMember + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsOverrideOrExplicitMember

+
+ + + IsProperty + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property member

+ + +

CompiledName: get_IsProperty

+
+ + + IsPropertyGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a getter method for a property, or a use of a property in getter mode

+ + +

CompiledName: get_IsPropertyGetterMethod

+
+ + + IsPropertySetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a setter method for a property, or a use of a property in setter mode

+ + +

CompiledName: get_IsPropertySetterMethod

+
+ + + IsSetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a setter method for a property, or a use of a property in setter mode

+ + +

CompiledName: get_IsSetterMethod

+
+ + + IsTypeFunction + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an F# type function

+ + +

CompiledName: get_IsTypeFunction

+
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates if the member, function or value is in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + IsValCompiledAsMethod + +
+ Signature: bool
+
+
+ + + + +

Indicated if this is a value compiled to a method

+ + +

CompiledName: get_IsValCompiledAsMethod

+
+ + + LiteralValue + +
+ Signature: obj option
+
+
+ + + + +

Indicates if this is a [] value, and if so what value? (may be null)

+ + +

CompiledName: get_LiteralValue

+
+ + + LogicalEnclosingEntity + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the logical enclosing entity, which for an extension member is type being extended

+ + +

CompiledName: get_LogicalEnclosingEntity

+
+ + + LogicalName + +
+ Signature: string
+
+
+ + + + +

Get the logical name of the member

+ + +

CompiledName: get_LogicalName

+
+ + + Overloads(arg1) + +
+ Signature: bool -> IList<FSharpMemberOrFunctionOrValue> option
+
+
+ + + + +

Gets the overloads for the current method +matchParameterNumber indicates whether to filter the overloads to match the number of parameters in the current symbol

+ + +
+ + + ReturnParameter + +
+ Signature: FSharpParameter
+
+
+ + + + + +

CompiledName: get_ReturnParameter

+
+ + + SetterMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated setter method of the property

+ + +

CompiledName: get_SetterMethod

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the value, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ + + XmlDocSig + +
+ Signature: string
+
+
+ + + + +

XML documentation signature for the value, used for .xml file lookup for compiled code

+ + +

CompiledName: get_XmlDocSig

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberorval.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberorval.html new file mode 100644 index 0000000000..91fa94aafc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmemberorval.html @@ -0,0 +1,1240 @@ + + + + + FSharpMemberOrVal - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpMemberOrVal

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Renamed to FSharpMemberOrFunctionOrValue

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Accessibility + +
+ Signature: FSharpAccessibility
+
+
+ + + + +

Get the accessibility information for the member, function or value

+ + +

CompiledName: get_Accessibility

+
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Custom attributes attached to the value. These contain references to other values (i.e. constructors in types). Mutable to fixup
+these value references after copying a collection of values.

+ + +

CompiledName: get_Attributes

+
+ + + CompiledName + +
+ Signature: string
+
+
+ + + + +

Get the member name in compiled code

+ + +

CompiledName: get_CompiledName

+
+ + + CurriedParameterGroups + +
+ Signature: IList<IList<FSharpParameter>>
+
+
+ + + + + +

CompiledName: get_CurriedParameterGroups

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the declaration location of the member, function or value

+ + +

CompiledName: get_DeclarationLocation

+
+ + + DisplayName + +
+ Signature: string
+
+
+ + + + +

Get the name as presented in F# error messages and documentation

+ + +

CompiledName: get_DisplayName

+
+ + + EnclosingEntity + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the enclosing entity for the definition

+ + +

CompiledName: get_EnclosingEntity

+
+ + + EventAddMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated add method of an event

+ + +

CompiledName: get_EventAddMethod

+
+ + + EventDelegateType + +
+ Signature: FSharpType
+
+
+ + + + +

Get an associated delegate type of an event

+ + +

CompiledName: get_EventDelegateType

+
+ + + EventForFSharpProperty + +
+ Signature: FSharpMemberOrFunctionOrValue option
+
+
+ + + + +

Gets the event symbol implied by the use of a property, +for the case where the property is actually an F#-declared CLIEvent.

+

Uses of F#-declared events are considered to be properties as far as the language specification +and this API are concerned.

+ + +

CompiledName: get_EventForFSharpProperty

+
+ + + EventIsStandard + +
+ Signature: bool
+
+
+ + + + +

Indicate if an event can be considered to be a property for the F# type system of type IEvent or IDelegateEvent. +In this case ReturnParameter will have a type corresponding to the property type. For +non-standard events, ReturnParameter will have a type corresponding to the delegate type.

+ + +

CompiledName: get_EventIsStandard

+
+ + + EventRemoveMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated remove method of an event

+ + +

CompiledName: get_EventRemoveMethod

+
+ + + FullType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the full type of the member, function or value when used as a first class value

+ + +

CompiledName: get_FullType

+
+ + + GenericParameters + +
+ Signature: IList<FSharpGenericParameter>
+
+
+ + + + +

Get the typars of the member, function or value

+ + +

CompiledName: get_GenericParameters

+
+ + + GetterMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated getter method of the property

+ + +

CompiledName: get_GetterMethod

+
+ + + HasGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property and there exists an associated getter method

+ + +

CompiledName: get_HasGetterMethod

+
+ + + HasSetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property and there exists an associated setter method

+ + +

CompiledName: get_HasSetterMethod

+
+ + + ImplementedAbstractSignatures + +
+ Signature: IList<FSharpAbstractSignature>
+
+
+ + + + +

Gets the list of the abstract slot signatures implemented by the member

+ + +

CompiledName: get_ImplementedAbstractSignatures

+
+ + + InlineAnnotation + +
+ Signature: FSharpInlineAnnotation
+
+
+ + + + +

Get a result indicating if this is a must-inline value

+ + +

CompiledName: get_InlineAnnotation

+
+ + + IsActivePattern + +
+ Signature: bool
+
+
+ + + + +

Indicates if this value or member is an F# active pattern

+ + +

CompiledName: get_IsActivePattern

+
+ + + IsBaseValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is "base" in "base.M(...)"

+ + +

CompiledName: get_IsBaseValue

+
+ + + IsCompilerGenerated + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a compiler generated value

+ + +

CompiledName: get_IsCompilerGenerated

+
+ + + IsConstructor + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a constructor.

+ + +

CompiledName: get_IsConstructor

+
+ + + IsConstructorThisValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is the "x" in "type C() as x = ..."

+ + +

CompiledName: get_IsConstructorThisValue

+
+ + + IsDispatchSlot + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an abstract member?

+ + +

CompiledName: get_IsDispatchSlot

+
+ + + IsEvent + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an event member

+ + +

CompiledName: get_IsEvent

+
+ + + IsEventAddMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an add method for an event

+ + +

CompiledName: get_IsEventAddMethod

+
+ + + IsEventRemoveMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a remove method for an event

+ + +

CompiledName: get_IsEventRemoveMethod

+
+ + + IsExplicitInterfaceImplementation + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an explicit implementation of an interface member

+ + +

CompiledName: get_IsExplicitInterfaceImplementation

+
+ + + IsExtensionMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an extension member?

+ + +

CompiledName: get_IsExtensionMember

+
+ + + IsGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a getter method for a property, or a use of a property in getter mode

+ + +

CompiledName: get_IsGetterMethod

+
+ + + IsImplicitConstructor + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an implicit constructor?

+ + +

CompiledName: get_IsImplicitConstructor

+
+ + + IsInstanceMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an instance member, when seen from F#?

+ + +

CompiledName: get_IsInstanceMember

+
+ + + IsInstanceMemberInCompiledCode + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an instance member in compiled code.

+

Explanatory note: some members such as IsNone and IsSome on types with UseNullAsTrueValue appear +as instance members in F# code but are compiled as static members.

+ + +

CompiledName: get_IsInstanceMemberInCompiledCode

+
+ + + IsMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a member, including extension members?

+ + +

CompiledName: get_IsMember

+
+ + + IsMemberThisValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is the "x" in "member x.M = ..."

+ + +

CompiledName: get_IsMemberThisValue

+
+ + + IsModuleValueOrMember + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a module or member value

+ + +

CompiledName: get_IsModuleValueOrMember

+
+ + + IsMutable + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a mutable value

+ + +

CompiledName: get_IsMutable

+
+ + + IsOverrideOrExplicitInterfaceImplementation(...) + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an 'override', 'default' or an explicit implementation of an interface member

+ + +

CompiledName: get_IsOverrideOrExplicitInterfaceImplementation

+
+ + + IsOverrideOrExplicitMember + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsOverrideOrExplicitMember

+
+ + + IsProperty + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a property member

+ + +

CompiledName: get_IsProperty

+
+ + + IsPropertyGetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a getter method for a property, or a use of a property in getter mode

+ + +

CompiledName: get_IsPropertyGetterMethod

+
+ + + IsPropertySetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a setter method for a property, or a use of a property in setter mode

+ + +

CompiledName: get_IsPropertySetterMethod

+
+ + + IsSetterMethod + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is a setter method for a property, or a use of a property in setter mode

+ + +

CompiledName: get_IsSetterMethod

+
+ + + IsTypeFunction + +
+ Signature: bool
+
+
+ + + + +

Indicates if this is an F# type function

+ + +

CompiledName: get_IsTypeFunction

+
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates if the member, function or value is in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + IsValCompiledAsMethod + +
+ Signature: bool
+
+
+ + + + +

Indicated if this is a value compiled to a method

+ + +

CompiledName: get_IsValCompiledAsMethod

+
+ + + LiteralValue + +
+ Signature: obj option
+
+
+ + + + +

Indicates if this is a [] value, and if so what value? (may be null)

+ + +

CompiledName: get_LiteralValue

+
+ + + LogicalEnclosingEntity + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the logical enclosing entity, which for an extension member is type being extended

+ + +

CompiledName: get_LogicalEnclosingEntity

+
+ + + LogicalName + +
+ Signature: string
+
+
+ + + + +

Get the logical name of the member

+ + +

CompiledName: get_LogicalName

+
+ + + ReturnParameter + +
+ Signature: FSharpParameter
+
+
+ + + + + +

CompiledName: get_ReturnParameter

+
+ + + SetterMethod + +
+ Signature: FSharpMemberOrFunctionOrValue
+
+
+ + + + +

Get an associated setter method of the property

+ + +

CompiledName: get_SetterMethod

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the value, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ + + XmlDocSig + +
+ Signature: string
+
+
+ + + + +

XML documentation signature for the value, used for .xml file lookup for compiled code

+ + +

CompiledName: get_XmlDocSig

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroup.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroup.html new file mode 100644 index 0000000000..906e2ea8aa --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroup.html @@ -0,0 +1,146 @@ + + + + + FSharpMethodGroup - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpMethodGroup

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a group of methods (or other items) returned by GetMethods.

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + MethodName + +
+ Signature: string
+
+
+ + + + +

The shared name of the methods (or other items) in the group

+ + +

CompiledName: get_MethodName

+
+ + + Methods + +
+ Signature: FSharpMethodGroupItem []
+
+
+ + + + +

The methods (or other items) in the group

+ + +

CompiledName: get_Methods

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroupitem.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroupitem.html new file mode 100644 index 0000000000..5b0535fc13 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroupitem.html @@ -0,0 +1,294 @@ + + + + + FSharpMethodGroupItem - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpMethodGroupItem

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents one method (or other item) in a method group. The item may represent either a method or +a single, non-overloaded item such as union case or a named function value.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Description + +
+ Signature: FSharpToolTipText
+
+
+ + + + +

The formatted description text for the method (or other item)

+ + +

CompiledName: get_Description

+
+ + + HasParamArrayArg + +
+ Signature: bool
+
+
+ + + + +

Does the method support a params list arg?

+ + +

CompiledName: get_HasParamArrayArg

+
+ + + HasParameters + +
+ Signature: bool
+
+
+ + + + +

Does the method support an arguments list? This is always true except for static type instantiations like TP<42,"foo">.

+ + +

CompiledName: get_HasParameters

+
+ + + Parameters + +
+ Signature: FSharpMethodGroupItemParameter []
+
+
+ + + + +

The parameters of the method in the overload set

+ + +

CompiledName: get_Parameters

+
+ + + StaticParameters + +
+ Signature: FSharpMethodGroupItemParameter []
+
+
+ + + + +

Does the type name or method support a static arguments list, like TP<42,"foo"> or conn.CreateCommand<42, "foo">(arg1, arg2)?

+ + +

CompiledName: get_StaticParameters

+
+ + + StructuredDescription + +
+ Signature: FSharpStructuredToolTipText
+
+
+ + + + +

The structured description representation for the method (or other item)

+ + +

CompiledName: get_StructuredDescription

+
+ + + StructuredTypeText + +
+ Signature: Layout
+
+
+ + + + +

The The structured description representation for the method (or other item)

+ + +

CompiledName: get_StructuredTypeText

+
+ + + TypeText + +
+ Signature: string
+
+
+ + + + +

The formatted type text for the method (or other item)

+ + +

CompiledName: get_TypeText

+
+ + + XmlDoc + +
+ Signature: FSharpXmlDoc
+
+
+ + + + +

The documentation for the item

+ + +

CompiledName: get_XmlDoc

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroupitemparameter.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroupitemparameter.html new file mode 100644 index 0000000000..d17cae17e6 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpmethodgroupitemparameter.html @@ -0,0 +1,232 @@ + + + + + FSharpMethodGroupItemParameter - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpMethodGroupItemParameter

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents one parameter for one method (or other item) in a group.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + CanonicalTypeTextForSorting + +
+ Signature: string
+
+
+ + + + +

A key that can be used for sorting the parameters, used to help sort overloads.

+ + +

CompiledName: get_CanonicalTypeTextForSorting

+
+ + + Description + +
+ Signature: string
+
+
+ + + + +

The descriptive help text to display for the parameter.

+ + +

CompiledName: get_Description

+
+ + + Display + +
+ Signature: string
+
+
+ + + + +

The text to display for the parameter including its name, its type and visual indicators of other +information such as whether it is optional.

+ + +

CompiledName: get_Display

+
+ + + IsOptional + +
+ Signature: bool
+
+
+ + + + +

Is the parameter optional

+ + +

CompiledName: get_IsOptional

+
+ + + ParameterName + +
+ Signature: string
+
+
+ + + + +

The name of the parameter.

+ + +

CompiledName: get_ParameterName

+
+ + + StructuredDisplay + +
+ Signature: Layout
+
+
+ + + + +

The structured representation for the parameter including its name, its type and visual indicators of other +information such as whether it is optional.

+ + +

CompiledName: get_StructuredDisplay

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationdeclarationitem.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationdeclarationitem.html new file mode 100644 index 0000000000..0a0b81a0e3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationdeclarationitem.html @@ -0,0 +1,294 @@ + + + + + FSharpNavigationDeclarationItem - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpNavigationDeclarationItem

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents an item to be displayed in the navigation bar

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Access + +
+ Signature: SynAccess option
+
+
+ + + + + +

CompiledName: get_Access

+
+ + + BodyRange + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_BodyRange

+
+ + + EnclosingEntityKind + +
+ Signature: FSharpEnclosingEntityKind
+
+
+ + + + + +

CompiledName: get_EnclosingEntityKind

+
+ + + Glyph + +
+ Signature: FSharpGlyph
+
+
+ + + + + +

CompiledName: get_Glyph

+
+ + + IsAbstract + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsAbstract

+
+ + + IsSingleTopLevel + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsSingleTopLevel

+
+ + + Kind + +
+ Signature: FSharpNavigationDeclarationItemKind
+
+
+ + + + + +

CompiledName: get_Kind

+
+ + + Name + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_Name

+
+ + + Range + +
+ Signature: range
+
+
+ + + + + +

CompiledName: get_Range

+
+ + + UniqueName + +
+ Signature: string
+
+
+ + + + + +

CompiledName: get_UniqueName

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationdeclarationitemkind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationdeclarationitemkind.html new file mode 100644 index 0000000000..61ce5cc751 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationdeclarationitemkind.html @@ -0,0 +1,266 @@ + + + + + FSharpNavigationDeclarationItemKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpNavigationDeclarationItemKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Indicates a kind of item to show in an F# navigation bar

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + ExnDecl + +
+ Signature:
+
+
+ + + + + +
+ + + FieldDecl + +
+ Signature:
+
+
+ + + + + +
+ + + MethodDecl + +
+ Signature:
+
+
+ + + + + +
+ + + ModuleDecl + +
+ Signature:
+
+
+ + + + + +
+ + + ModuleFileDecl + +
+ Signature:
+
+
+ + + + + +
+ + + NamespaceDecl + +
+ Signature:
+
+
+ + + + + +
+ + + OtherDecl + +
+ Signature:
+
+
+ + + + + +
+ + + PropertyDecl + +
+ Signature:
+
+
+ + + + + +
+ + + TypeDecl + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationitems.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationitems.html new file mode 100644 index 0000000000..8c0706c034 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationitems.html @@ -0,0 +1,125 @@ + + + + + FSharpNavigationItems - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpNavigationItems

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents result of 'GetNavigationItems' operation - this contains +all the members and currently selected indices. First level correspond to +types & modules and second level are methods etc.

+ +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Declarations + +
+ Signature: FSharpNavigationTopLevelDeclaration []
+
+
+ + + + + +

CompiledName: get_Declarations

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationtopleveldeclaration.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationtopleveldeclaration.html new file mode 100644 index 0000000000..0004b61b70 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnavigationtopleveldeclaration.html @@ -0,0 +1,141 @@ + + + + + FSharpNavigationTopLevelDeclaration - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpNavigationTopLevelDeclaration

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents top-level declarations (that should be in the type drop-down) +with nested declarations (that can be shown in the member drop-down)

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Declaration + +
+ Signature: FSharpNavigationDeclarationItem
+
+
+ + + + + +
+ + + Nested + +
+ Signature: FSharpNavigationDeclarationItem []
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnoteworthyparaminfolocations.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnoteworthyparaminfolocations.html new file mode 100644 index 0000000000..0af5390d4f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpnoteworthyparaminfolocations.html @@ -0,0 +1,267 @@ + + + + + FSharpNoteworthyParamInfoLocations - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpNoteworthyParamInfoLocations

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + IsThereACloseParen + +
+ Signature: bool
+
+
+ + + + +

false if either this is a call without parens "f x" or the parser recovered as in "f(x,y"

+ + +

CompiledName: get_IsThereACloseParen

+
+ + + LongId + +
+ Signature: string list
+
+
+ + + + + +

CompiledName: get_LongId

+
+ + + LongIdEndLocation + +
+ Signature: pos
+
+
+ + + + + +

CompiledName: get_LongIdEndLocation

+
+ + + LongIdStartLocation + +
+ Signature: pos
+
+
+ + + + + +

CompiledName: get_LongIdStartLocation

+
+ + + NamedParamNames + +
+ Signature: string option []
+
+
+ + + + +

empty or a name if an actual named parameter; f(0,a=4,?b=None) would be [|None; Some "a"; Some "b"|]

+ + +

CompiledName: get_NamedParamNames

+
+ + + OpenParenLocation + +
+ Signature: pos
+
+
+ + + + + +

CompiledName: get_OpenParenLocation

+
+ + + TupleEndLocations + +
+ Signature: pos []
+
+
+ + + + +

locations of commas and close parenthesis (or, last char of last arg, if no final close parenthesis)

+ + +

CompiledName: get_TupleEndLocations

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Find(arg1, arg2) + +
+ Signature: (pos * ParsedInput) -> FSharpNoteworthyParamInfoLocations option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpobjectexproverride.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpobjectexproverride.html new file mode 100644 index 0000000000..01aa0dae75 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpobjectexproverride.html @@ -0,0 +1,188 @@ + + + + + FSharpObjectExprOverride - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpObjectExprOverride

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a checked method in an object expression, as seen by the F# language.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Body + +
+ Signature: FSharpExpr
+
+
+ + + + +

The expression that forms the body of the method

+ + +

CompiledName: get_Body

+
+ + + CurriedParameterGroups + +
+ Signature: FSharpMemberOrFunctionOrValue list list
+
+
+ + + + +

The parameters of the method

+ + +

CompiledName: get_CurriedParameterGroups

+
+ + + GenericParameters + +
+ Signature: FSharpGenericParameter list
+
+
+ + + + +

The generic parameters of the method

+ + +

CompiledName: get_GenericParameters

+
+ + + Signature + +
+ Signature: FSharpAbstractSignature
+
+
+ + + + +

The signature of the implemented abstract slot

+ + +

CompiledName: get_Signature

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpparameter.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpparameter.html new file mode 100644 index 0000000000..0353e420dd --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpparameter.html @@ -0,0 +1,251 @@ + + + + + FSharpParameter - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpParameter

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A subtype of FSharpSymbol that represents a parameter

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

The declared attributes of the parameter

+ + +

CompiledName: get_Attributes

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

The declaration location of the parameter

+ + +

CompiledName: get_DeclarationLocation

+
+ + + IsOptionalArg + +
+ Signature: bool
+
+
+ + + + +

Indicate this is an optional argument

+ + +

CompiledName: get_IsOptionalArg

+
+ + + IsOutArg + +
+ Signature: bool
+
+
+ + + + +

Indicate this is an out argument

+ + +

CompiledName: get_IsOutArg

+
+ + + IsParamArrayArg + +
+ Signature: bool
+
+
+ + + + +

Indicate this is a param array argument

+ + +

CompiledName: get_IsParamArrayArg

+
+ + + Name + +
+ Signature: string option
+
+
+ + + + +

The optional name of the parameter

+ + +

CompiledName: get_Name

+
+ + + Type + +
+ Signature: FSharpType
+
+
+ + + + +

The declared or inferred type of the parameter

+ + +

CompiledName: get_Type

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpparsefileresults.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpparsefileresults.html new file mode 100644 index 0000000000..5068cd388e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpparsefileresults.html @@ -0,0 +1,248 @@ + + + + + FSharpParseFileResults - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpParseFileResults

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the results of parsing an F# file

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Errors + +
+ Signature: FSharpErrorInfo []
+
+
+ + + + +

Get the errors and warnings for the parse

+ + +

CompiledName: get_Errors

+
+ + + FileName + +
+ Signature: string
+
+
+ + + + +

Name of the file for which this information were created

+ + +

CompiledName: get_FileName

+
+ + + FindNoteworthyParamInfoLocations(pos) + +
+ Signature: pos:pos -> FSharpNoteworthyParamInfoLocations option
+
+
+ + + + +

Notable parse info for ParameterInfo at a given location

+ + +
+ + + GetNavigationItems() + +
+ Signature: unit -> FSharpNavigationItems
+
+
+ + + + +

Get declared items and the selected item at the specified location

+ + +
+ + + ParseHadErrors + +
+ Signature: bool
+
+
+ + + + +

Indicates if any errors occurred during the parse

+ + +

CompiledName: get_ParseHadErrors

+
+ + + ParseTree + +
+ Signature: ParsedInput option
+
+
+ + + + +

The syntax tree resulting from the parse

+ + +

CompiledName: get_ParseTree

+
+ + + ValidateBreakpointLocation(pos) + +
+ Signature: pos:pos -> range option
+
+
+ + + + +

Return the inner-most range associated with a possible breakpoint location

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpprojectcontext.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpprojectcontext.html new file mode 100644 index 0000000000..cc0cb2e571 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpprojectcontext.html @@ -0,0 +1,145 @@ + + + + + FSharpProjectContext - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpProjectContext

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the checking context implied by the ProjectOptions

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + AccessibilityRights + +
+ Signature: FSharpAccessibilityRights
+
+
+ + + + +

Get the accessibility rights for this project context w.r.t. InternalsVisibleTo attributes granting access to other assemblies

+ + +

CompiledName: get_AccessibilityRights

+
+ + + GetReferencedAssemblies() + +
+ Signature: unit -> FSharpAssembly list
+
+
+ + + + +

Get the resolution and full contents of the assemblies referenced by the project options

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpprojectoptions.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpprojectoptions.html new file mode 100644 index 0000000000..47596e6b82 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpprojectoptions.html @@ -0,0 +1,307 @@ + + + + + FSharpProjectOptions - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpProjectOptions

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A set of information describing a project or script build configuration.

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ExtraProjectInfo + +
+ Signature: obj option
+
+
+ + + + +

Extra information passed back on event trigger

+ + +
+ + + IsIncompleteTypeCheckEnvironment + +
+ Signature: bool
+
+
+ + + + +

When true, the typechecking environment is known a priori to be incomplete, for +example when a .fs file is opened outside of a project. In this case, the number of error +messages reported is reduced.

+ + +
+ + + LoadTime + +
+ Signature: DateTime
+
+
+ + + + +

Timestamp of project/script load, used to differentiate between different instances of a project load. +This ensures that a complete reload of the project or script type checking +context occurs on project or script unload/reload.

+ + +
+ + + OriginalLoadReferences + +
+ Signature: (range * string) list
+
+
+ + + + +

Unused in this API and should be '[]' when used as user-specified input

+ + +
+ + + OtherOptions + +
+ Signature: string []
+
+
+ + + + +

Additional command line argument options for the project. These can include additional files and references.

+ + +
+ + + ProjectFileName + +
+ Signature: string
+
+
+ + + + + +
+ + + ProjectFileNames + +
+ Signature: string []
+
+
+ + + + +

The files in the project

+ + +
+ + + ReferencedProjects + +
+ Signature: (string * FSharpProjectOptions) []
+
+
+ + + + +

The command line arguments for the other projects referenced by this project, indexed by the +exact text used in the "-r:" reference in FSharpProjectOptions.

+ + +
+ + + UnresolvedReferences + +
+ Signature: UnresolvedReferencesSet option
+
+
+ + + + +

Unused in this API and should be 'None' when used as user-specified input

+ + +
+ + + UseScriptResolutionRules + +
+ Signature: bool
+
+
+ + + + +

When true, use the reference resolution rules for scripts rather than the rules for compiler.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharprecordfield.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharprecordfield.html new file mode 100644 index 0000000000..98bf50c38a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharprecordfield.html @@ -0,0 +1,461 @@ + + + + + FSharpRecordField - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpRecordField

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Renamed to FSharpField

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Accessibility + +
+ Signature: FSharpAccessibility
+
+
+ + + + +

Indicates if the declared visibility of the field, not taking signatures into account

+ + +

CompiledName: get_Accessibility

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the declaration location of the field

+ + +

CompiledName: get_DeclarationLocation

+
+ + + DeclaringEntity + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the declaring entity of this field

+ + +

CompiledName: get_DeclaringEntity

+
+ + + FieldAttributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Get the attributes attached to generated field

+ + +

CompiledName: get_FieldAttributes

+
+ + + FieldType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the type of the field, w.r.t. the generic parameters of the enclosing type constructor

+ + +

CompiledName: get_FieldType

+
+ + + IsCompilerGenerated + +
+ Signature: bool
+
+
+ + + + +

Indicates a compiler generated field, not visible to Intellisense or name resolution

+ + +

CompiledName: get_IsCompilerGenerated

+
+ + + IsDefaultValue + +
+ Signature: bool
+
+
+ + + + +

Indicates if the field declared is declared 'DefaultValue'

+ + +

CompiledName: get_IsDefaultValue

+
+ + + IsLiteral + +
+ Signature: bool
+
+
+ + + + +

Indicates if the field has a literal value

+ + +

CompiledName: get_IsLiteral

+
+ + + IsMutable + +
+ Signature: bool
+
+
+ + + + +

Indicates if the field is declared 'static'

+ + +

CompiledName: get_IsMutable

+
+ + + IsStatic + +
+ Signature: bool
+
+
+ + + + +

Indicates a static field

+ + +

CompiledName: get_IsStatic

+
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates if the record field is for a type in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + IsVolatile + +
+ Signature: bool
+
+
+ + + + +

Indicates if the field is declared volatile

+ + +

CompiledName: get_IsVolatile

+
+ + + LiteralValue + +
+ Signature: obj option
+
+
+ + + + +

Get the default initialization info, for static literals

+ + +

CompiledName: get_LiteralValue

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

Get the name of the field

+ + +

CompiledName: get_Name

+
+ + + PropertyAttributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Get the attributes attached to generated property

+ + +

CompiledName: get_PropertyAttributes

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the field, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ + + XmlDocSig + +
+ Signature: string
+
+
+ + + + +

Get the XML documentation signature for .xml file lookup for the field, used for .xml file lookup for compiled code

+ + +

CompiledName: get_XmlDocSig

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsourcetokenizer.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsourcetokenizer.html new file mode 100644 index 0000000000..4a7d28df2d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsourcetokenizer.html @@ -0,0 +1,167 @@ + + + + + FSharpSourceTokenizer - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpSourceTokenizer

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Tokenizer for a source file. Holds some expensive-to-compute resources at the scope of the file.

+ +
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(conditionalDefines, fileName) + +
+ Signature: (conditionalDefines:string list * fileName:string option) -> FSharpSourceTokenizer
+
+
+ + + + + +

CompiledName: .ctor

+
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + CreateBufferTokenizer(bufferFiller) + +
+ Signature: (bufferFiller:(char [] * int * int -> int)) -> FSharpLineTokenizer
+
+
+ + + + + +
+ + + CreateLineTokenizer(lineText) + +
+ Signature: lineText:string -> FSharpLineTokenizer
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstaticparameter.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstaticparameter.html new file mode 100644 index 0000000000..f5aa611ea4 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstaticparameter.html @@ -0,0 +1,228 @@ + + + + + FSharpStaticParameter - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpStaticParameter

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A subtype of FSharpSymbol that represents a static parameter to an F# type provider

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the declaration location of the static parameter

+ + +

CompiledName: get_DeclarationLocation

+
+ + + DefaultValue + +
+ Signature: obj
+
+
+ + + + +

Get the default value for the static parameter

+ + +

CompiledName: get_DefaultValue

+
+ + + HasDefaultValue + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_HasDefaultValue

+
+ + + IsOptional + +
+ Signature: bool
+
+
+ + + + +

Indicates if the static parameter is optional

+ + +

CompiledName: get_IsOptional

+
+ + + Kind + +
+ Signature: FSharpType
+
+
+ + + + +

Get the kind of the static parameter

+ + +

CompiledName: get_Kind

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

Get the name of the static parameter

+ + +

CompiledName: get_Name

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstructuredtooltipelement.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstructuredtooltipelement.html new file mode 100644 index 0000000000..b849cbb7b1 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstructuredtooltipelement.html @@ -0,0 +1,96 @@ + + + + + FSharpStructuredToolTipElement - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpStructuredToolTipElement

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A single data tip display element with where text is expressed as

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstructuredtooltiptext.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstructuredtooltiptext.html new file mode 100644 index 0000000000..b05c3ad5cf --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpstructuredtooltiptext.html @@ -0,0 +1,94 @@ + + + + + FSharpStructuredToolTipText - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpStructuredToolTipText

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsymbol.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsymbol.html new file mode 100644 index 0000000000..20c0c0559a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsymbol.html @@ -0,0 +1,324 @@ + + + + + FSharpSymbol - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpSymbol

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents a symbol in checked F# source code or a compiled .NET component.

+

The subtype of the symbol may reveal further information and can be one of FSharpEntity, FSharpUnionCase +FSharpField, FSharpGenericParameter, FSharpStaticParameter, FSharpMemberOrFunctionOrValue, FSharpParameter, +or FSharpActivePatternCase.

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Assembly + +
+ Signature: FSharpAssembly
+
+
+ + + + +

Get the assembly declaring this symbol

+ + +

CompiledName: get_Assembly

+
+ + + DeclarationLocation + +
+ Signature: range option
+
+
+ + + + +

Get the declaration location for the symbol

+ + +

CompiledName: get_DeclarationLocation

+
+ + + DisplayName + +
+ Signature: string
+
+
+ + + + +

Gets the short display name for the symbol

+ + +

CompiledName: get_DisplayName

+
+ + + FullName + +
+ Signature: string
+
+
+ + + + +

Get a textual representation of the full name of the symbol. The text returned for some symbols +may not be a valid identifier path in F# code, but rather a human-readable representation of the symbol.

+ + +

CompiledName: get_FullName

+
+ + + ImplementationLocation + +
+ Signature: range option
+
+
+ + + + +

Get the implementation location for the symbol if it was declared in a signature that has an implementation

+ + +

CompiledName: get_ImplementationLocation

+
+ + + IsAccessible(arg1) + +
+ Signature: FSharpAccessibilityRights -> bool
+
+
+ + + + +

Computes if the symbol is accessible for the given accessibility rights

+ + +
+ + + IsEffectivelySameAs(other) + +
+ Signature: other:FSharpSymbol -> bool
+
+
+ + + + +

Return true if two symbols are effectively the same when referred to in F# source code text.
+This sees through signatures (a symbol in a signature will be considered effectively the same as +the matching symbol in an implementation). In addition, other equivalances are applied +when the same F# source text implies the same declaration name - for example, constructors +are considered to be effectively the same symbol as the corresponding type definition.

+

This is the relation used by GetUsesOfSymbol and GetUsesOfSymbolInFile.

+ + +
+ + + IsExplicitlySuppressed + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsExplicitlySuppressed

+
+ + + SignatureLocation + +
+ Signature: range option
+
+
+ + + + +

Get the signature location for the symbol if it was declared in an implementation

+ + +

CompiledName: get_SignatureLocation

+
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + GetAccessibility(arg1) + +
+ Signature: FSharpSymbol -> FSharpAccessibility option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsymboluse.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsymboluse.html new file mode 100644 index 0000000000..5bedac3723 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpsymboluse.html @@ -0,0 +1,315 @@ + + + + + FSharpSymbolUse - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpSymbolUse

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents the use of an F# symbol from F# source code

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + DisplayContext + +
+ Signature: FSharpDisplayContext
+
+
+ + + + +

The display context active at the point where the symbol is used. Can be passed to FSharpType.Format +and other methods to format items in a way that is suitable for a specific source code location.

+ + +

CompiledName: get_DisplayContext

+
+ + + FileName + +
+ Signature: string
+
+
+ + + + +

The file name the reference occurs in

+ + +

CompiledName: get_FileName

+
+ + + IsFromAttribute + +
+ Signature: bool
+
+
+ + + + +

Indicates if the reference is in an attribute

+ + +

CompiledName: get_IsFromAttribute

+
+ + + IsFromComputationExpression + +
+ Signature: bool
+
+
+ + + + +

Indicates if the reference is either a builder or a custom operation in a computation expression

+ + +

CompiledName: get_IsFromComputationExpression

+
+ + + IsFromDefinition + +
+ Signature: bool
+
+
+ + + + +

Indicates if the reference is a definition for the symbol, either in a signature or implementation

+ + +

CompiledName: get_IsFromDefinition

+
+ + + IsFromDispatchSlotImplementation + +
+ Signature: bool
+
+
+ + + + +

Indicates if the reference is via the member being implemented in a class or object expression

+ + +

CompiledName: get_IsFromDispatchSlotImplementation

+
+ + + IsFromPattern + +
+ Signature: bool
+
+
+ + + + +

Indicates if the reference is in a pattern

+ + +

CompiledName: get_IsFromPattern

+
+ + + IsFromType + +
+ Signature: bool
+
+
+ + + + +

Indicates if the reference is in a syntactic type

+ + +

CompiledName: get_IsFromType

+
+ + + RangeAlternate + +
+ Signature: range
+
+
+ + + + +

The range of text representing the reference to the symbol

+ + +

CompiledName: get_RangeAlternate

+
+ + + Symbol + +
+ Signature: FSharpSymbol
+
+
+ + + + +

The symbol referenced

+ + +

CompiledName: get_Symbol

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokencharkind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokencharkind.html new file mode 100644 index 0000000000..048adeeba7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokencharkind.html @@ -0,0 +1,313 @@ + + + + + FSharpTokenCharKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpTokenCharKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Gives an indication of the class to assign to the characters of the token an IDE

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Comment + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Default + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Delimiter + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Identifier + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Keyword + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + LineComment + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Literal + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Operator + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + String + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Text + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ + + WhiteSpace + +
+ Signature: FSharpTokenCharKind
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokencolorkind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokencolorkind.html new file mode 100644 index 0000000000..fe25a339d8 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokencolorkind.html @@ -0,0 +1,332 @@ + + + + + FSharpTokenColorKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpTokenColorKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Gives an indicattion of the color class to assign to the token an IDE

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Comment + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Default + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Identifier + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + InactiveCode + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Keyword + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Number + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Operator + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + PreprocessorKeyword + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Punctuation + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + String + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + Text + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ + + UpperIdentifier + +
+ Signature: FSharpTokenColorKind
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokeninfo.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokeninfo.html new file mode 100644 index 0000000000..45be1fe74e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokeninfo.html @@ -0,0 +1,262 @@ + + + + + FSharpTokenInfo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpTokenInfo

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Information about a particular token from the tokenizer

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CharClass + +
+ Signature: FSharpTokenCharKind
+
+
+ + + + +

Gives an indication of the class to assign to the token an IDE

+ + +
+ + + ColorClass + +
+ Signature: FSharpTokenColorKind
+
+
+ + + + + +
+ + + FSharpTokenTriggerClass + +
+ Signature: FSharpTokenTriggerClass
+
+
+ + + + +

Actions taken when the token is typed

+ + +
+ + + FullMatchedLength + +
+ Signature: int
+
+
+ + + + +

The full length consumed by this match, including delayed tokens (which can be ignored in naive lexers)

+ + +
+ + + LeftColumn + +
+ Signature: int
+
+
+ + + + +

Left column of the token.

+ + +
+ + + RightColumn + +
+ Signature: int
+
+
+ + + + +

Right column of the token.

+ + +
+ + + Tag + +
+ Signature: int
+
+
+ + + + +

The tag is an integer identifier for the token

+ + +
+ + + TokenName + +
+ Signature: string
+
+
+ + + + +

Provides additional information about the token

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokenizercolorstate.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokenizercolorstate.html new file mode 100644 index 0000000000..8f6046c20f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokenizercolorstate.html @@ -0,0 +1,351 @@ + + + + + FSharpTokenizerColorState - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpTokenizerColorState

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents stable information for the state of the laxing engine at the end of a line

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Comment + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + EndLineThenSkip + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + EndLineThenToken + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + IfDefSkip + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + InitialState + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + SingleLineComment + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + String + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + StringInComment + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + Token + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + TripleQuoteString + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + TripleQuoteStringInComment + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + VerbatimString + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ + + VerbatimStringInComment + +
+ Signature: FSharpTokenizerColorState
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokenizerlexstate.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokenizerlexstate.html new file mode 100644 index 0000000000..eca14408c3 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokenizerlexstate.html @@ -0,0 +1,96 @@ + + + + + FSharpTokenizerLexState - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpTokenizerLexState

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Represents encoded information for the end-of-line continuation of lexing

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokentag.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokentag.html new file mode 100644 index 0000000000..8540c0de52 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokentag.html @@ -0,0 +1,1007 @@ + + + + + FSharpTokenTag - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpTokenTag

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Some of the values in the field FSharpTokenInfo.Tag

+ +
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AMP_AMP + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a @@

+ + +
+ + + BAR + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a _

+ + +
+ + + BAR_BAR + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ||

+ + +
+ + + BAR_RBRACK + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a |]

+ + +
+ + + COLON + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a :

+ + +
+ + + COLON_COLON + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ::

+ + +
+ + + COLON_EQUALS + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a :=

+ + +
+ + + COLON_GREATER + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a :>

+ + +
+ + + COLON_QMARK + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a :?

+ + +
+ + + COLON_QMARK_GREATER + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a :?>

+ + +
+ + + COMMA + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ,

+ + +
+ + + DOT + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a .

+ + +
+ + + DOT_DOT + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ..

+ + +
+ + + EQUALS + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a =

+ + +
+ + + GREATER + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a >

+ + +
+ + + GREATER_RBRACK + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a >]

+ + +
+ + + IDENT + +
+ Signature: int
+
+
+ + + + +

Indicates the token is an identifier (synonym for FSharpTokenTag.Identifier)

+ + +
+ + + Identifier + +
+ Signature: int
+
+
+ + + + +

Indicates the token is an identifier

+ + +
+ + + INFIX_AT_HAT_OP + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ^

+ + +
+ + + INFIX_BAR_OP + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a |

+ + +
+ + + INFIX_COMPARE_OP + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a |

+ + +
+ + + INFIX_STAR_DIV_MOD_OP + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a %

+ + +
+ + + INT32_DOT_DOT + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ..

+ + +
+ + + LARROW + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a <-

+ + +
+ + + LBRACE + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a {

+ + +
+ + + LBRACK + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a [

+ + +
+ + + LBRACK_BAR + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a [|

+ + +
+ + + LBRACK_LESS + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a [<

+ + +
+ + + LESS + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a <

+ + +
+ + + LPAREN + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a (

+ + +
+ + + MINUS + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a -

+ + +
+ + + PERCENT_OP + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a %

+ + +
+ + + PLUS_MINUS_OP + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a + or -

+ + +
+ + + PREFIX_OP + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ~

+ + +
+ + + QMARK + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ?

+ + +
+ + + QUOTE + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a "

+ + +
+ + + RARROW + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ->

+ + +
+ + + RBRACE + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a }

+ + +
+ + + RBRACK + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ]

+ + +
+ + + RPAREN + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a )

+ + +
+ + + SEMICOLON + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ;

+ + +
+ + + STAR + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a *

+ + +
+ + + String + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a string

+ + +
+ + + STRING + +
+ Signature: int
+
+
+ + + + +

Indicates the token is an string (synonym for FSharpTokenTag.String)

+ + +
+ + + UNDERSCORE + +
+ Signature: int
+
+
+ + + + +

Indicates the token is a ..

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokentriggerclass.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokentriggerclass.html new file mode 100644 index 0000000000..269e393ea2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptokentriggerclass.html @@ -0,0 +1,256 @@ + + + + + FSharpTokenTriggerClass - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpTokenTriggerClass

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Gives an indication of what should happen when the token is typed in an IDE

+ +
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ChoiceSelect + +
+ Signature: FSharpTokenTriggerClass
+ Modifiers: static
+
+
+ + + + + +
+ + + MatchBraces + +
+ Signature: FSharpTokenTriggerClass
+ Modifiers: static
+
+
+ + + + + +
+ + + MemberSelect + +
+ Signature: FSharpTokenTriggerClass
+ Modifiers: static
+
+
+ + + + + +
+ + + MethodTip + +
+ Signature: FSharpTokenTriggerClass
+ Modifiers: static
+
+
+ + + + + +
+ + + None + +
+ Signature: FSharpTokenTriggerClass
+ Modifiers: static
+
+
+ + + + + +
+ + + ParamEnd + +
+ Signature: FSharpTokenTriggerClass
+ Modifiers: static
+
+
+ + + + + +
+ + + ParamNext + +
+ Signature: FSharpTokenTriggerClass
+ Modifiers: static
+
+
+ + + + + +
+ + + ParamStart + +
+ Signature: FSharpTokenTriggerClass
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltipelement-1.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltipelement-1.html new file mode 100644 index 0000000000..78f56a9ecc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltipelement-1.html @@ -0,0 +1,202 @@ + + + + + FSharpToolTipElement<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpToolTipElement<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A single tool tip display element

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + CompositionError(string) + +
+ Signature: string
+
+
+ + + + +

An error occurred formatting this element

+ + +
+ + + Group(('T * FSharpXmlDoc) list) + +
+ Signature: ('T * FSharpXmlDoc) list
+
+
+ + + + +

For example, a method overload group.

+ + +
+ + + None + +
+ Signature:
+
+
+ + + + + +
+ + + Single('T,FSharpXmlDoc) + +
+ Signature: 'T * FSharpXmlDoc
+
+
+ + + + +

A single type, method, etc with comment.

+ + +
+ + + SingleParameter('T,FSharpXmlDoc,string) + +
+ Signature: 'T * FSharpXmlDoc * string
+
+
+ + + + +

A single parameter, with the parameter name.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltipelement.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltipelement.html new file mode 100644 index 0000000000..4b646cbe87 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltipelement.html @@ -0,0 +1,96 @@ + + + + + FSharpToolTipElement - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpToolTipElement

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A single data tip display element with where text is expressed as string

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltiptext-1.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltiptext-1.html new file mode 100644 index 0000000000..ff895cf793 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltiptext-1.html @@ -0,0 +1,124 @@ + + + + + FSharpToolTipText<'T> - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpToolTipText<'T>

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Information for building a tool tip box.

+ +
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + FSharpToolTipText(...) + +
+ Signature: FSharpToolTipElement<'T> list
+
+
+ + + + +

A list of data tip elements to display.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltiptext.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltiptext.html new file mode 100644 index 0000000000..6dea571fea --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptooltiptext.html @@ -0,0 +1,94 @@ + + + + + FSharpToolTipText - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpToolTipText

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptype.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptype.html new file mode 100644 index 0000000000..dc0c7d3aa6 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharptype.html @@ -0,0 +1,589 @@ + + + + + FSharpType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpType

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AbbreviatedType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the type for which this is an abbreviation

+ + +

CompiledName: get_AbbreviatedType

+
+ + + AllInterfaces + +
+ Signature: IList<FSharpType>
+
+
+ + + + +

Get all the interface implementations, by walking the type hierarchy, taking into account the instantiation of this type +if it is an instantiation of a generic type.

+ + +

CompiledName: get_AllInterfaces

+
+ + + BaseType + +
+ Signature: FSharpType option
+
+
+ + + + +

Get the base type, if any, taking into account the instantiation of this type +if it is an instantiation of a generic type.

+ + +

CompiledName: get_BaseType

+
+ + + Format(context) + +
+ Signature: context:FSharpDisplayContext -> string
+
+
+ + + + +

Format the type using the rules of the given display context

+ + +
+ + + GenericArguments + +
+ Signature: IList<FSharpType>
+
+
+ + + + +

Get the generic arguments for a tuple type, a function type or a type constructed using a named entity

+ + +

CompiledName: get_GenericArguments

+
+ + + GenericParameter + +
+ Signature: FSharpGenericParameter
+
+
+ + + + +

Get the generic parameter data for a generic parameter type

+ + +

CompiledName: get_GenericParameter

+
+ + + HasTypeDefinition + +
+ Signature: bool
+
+
+ + + + +

Indicates if the type is constructed using a named entity, including array and byref types

+ + +

CompiledName: get_HasTypeDefinition

+
+ + + Instantiate(arg1) + +
+ Signature: ((FSharpGenericParameter * FSharpType) list) -> FSharpType
+
+
+ + + + +

Instantiate generic type parameters in a type

+ + +
+ + + IsAbbreviation + +
+ Signature: bool
+
+
+ + + + +

Indicates this is an abbreviation for another type

+ + +

CompiledName: get_IsAbbreviation

+
+ + + IsFunctionType + +
+ Signature: bool
+
+
+ + + + +

Indicates if the type is a function type. The GenericArguments property returns the domain and range of the function type.

+ + +

CompiledName: get_IsFunctionType

+
+ + + IsGenericParameter + +
+ Signature: bool
+
+
+ + + + +

Indicates if the type is a variable type, whether declared, generalized or an inference type parameter

+ + +

CompiledName: get_IsGenericParameter

+
+ + + IsNamedType + +
+ Signature: bool
+
+
+ + + + + +

CompiledName: get_IsNamedType

+
+ + + IsStructTupleType + +
+ Signature: bool
+
+
+ + + + +

Indicates if the type is a struct tuple type. The GenericArguments property returns the elements of the tuple type.

+ + +

CompiledName: get_IsStructTupleType

+
+ + + IsTupleType + +
+ Signature: bool
+
+
+ + + + +

Indicates if the type is a tuple type (reference or struct). The GenericArguments property returns the elements of the tuple type.

+ + +

CompiledName: get_IsTupleType

+
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates this is a named type in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + NamedEntity + +
+ Signature: FSharpEntity
+
+
+ + + + + +

CompiledName: get_NamedEntity

+
+ + + TypeDefinition + +
+ Signature: FSharpEntity
+
+
+ + + + +

Get the type definition for a type

+ + +

CompiledName: get_TypeDefinition

+
+

Static members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Static memberDescription
+ + + Prettify(parameters, returnParameter) + +
+ Signature: (parameters:IList<IList<FSharpParameter>> * returnParameter:FSharpParameter) -> IList<IList<FSharpParameter>> * FSharpParameter
+
+
+ + + + +

Adjust the types in a group of curried parameters and return type by removing any occurrences of type inference variables, replacing them +systematically with lower-case type inference variables such as 'a.

+ + +
+ + + Prettify(parameters) + +
+ Signature: parameters:IList<IList<FSharpParameter>> -> IList<IList<FSharpParameter>>
+
+
+ + + + +

Adjust the types in a group of curried parameters by removing any occurrences of type inference variables, replacing them +systematically with lower-case type inference variables such as 'a.

+ + +
+ + + Prettify(parameters) + +
+ Signature: parameters:IList<FSharpParameter> -> IList<FSharpParameter>
+
+
+ + + + +

Adjust the types in a group of parameters by removing any occurrences of type inference variables, replacing them +systematically with lower-case type inference variables such as 'a.

+ + +
+ + + Prettify(parameter) + +
+ Signature: parameter:FSharpParameter -> FSharpParameter
+
+
+ + + + +

Adjust the type in a single parameter by removing any occurrences of type inference variables, replacing them +systematically with lower-case type inference variables such as 'a.

+ + +
+ + + Prettify(types) + +
+ Signature: types:IList<FSharpType> -> IList<FSharpType>
+
+
+ + + + +

Adjust a group of types by removing any occurrences of type inference variables, replacing them +systematically with lower-case type inference variables such as 'a.

+ + +
+ + + Prettify(typ) + +
+ Signature: typ:FSharpType -> FSharpType
+
+
+ + + + +

Adjust the type by removing any occurrences of type inference variables, replacing them +systematically with lower-case type inference variables such as 'a.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpunioncase.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpunioncase.html new file mode 100644 index 0000000000..3ca0cf5b56 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpunioncase.html @@ -0,0 +1,314 @@ + + + + + FSharpUnionCase - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpUnionCase

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A subtype of FSharpSymbol that represents a union case as seen by the F# language

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Accessibility + +
+ Signature: FSharpAccessibility
+
+
+ + + + +

Indicates if the declared visibility of the union constructor, not taking signatures into account

+ + +

CompiledName: get_Accessibility

+
+ + + Attributes + +
+ Signature: IList<FSharpAttribute>
+
+
+ + + + +

Get the attributes for the case, attached to the generated static method to make instances of the case

+ + +

CompiledName: get_Attributes

+
+ + + CompiledName + +
+ Signature: string
+
+
+ + + + +

Get the name of the case in generated IL code

+ + +

CompiledName: get_CompiledName

+
+ + + DeclarationLocation + +
+ Signature: range
+
+
+ + + + +

Get the range of the name of the case

+ + +

CompiledName: get_DeclarationLocation

+
+ + + IsUnresolved + +
+ Signature: bool
+
+
+ + + + +

Indicates if the union case is for a type in an unresolved assembly

+ + +

CompiledName: get_IsUnresolved

+
+ + + Name + +
+ Signature: string
+
+
+ + + + +

Get the name of the union case

+ + +

CompiledName: get_Name

+
+ + + ReturnType + +
+ Signature: FSharpType
+
+
+ + + + +

Get the type constructed by the case. Normally exactly the type of the enclosing type, sometimes an abbreviation of it

+ + +

CompiledName: get_ReturnType

+
+ + + UnionCaseFields + +
+ Signature: IList<FSharpField>
+
+
+ + + + +

Get the data carried by the case.

+ + +

CompiledName: get_UnionCaseFields

+
+ + + XmlDoc + +
+ Signature: IList<string>
+
+
+ + + + +

Get the in-memory XML documentation for the union case, used when code is checked in-memory

+ + +

CompiledName: get_XmlDoc

+
+ + + XmlDocSig + +
+ Signature: string
+
+
+ + + + +

Get the XML documentation signature for .xml file lookup for the union case, used for .xml file lookup for compiled code

+ + +

CompiledName: get_XmlDocSig

+
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpxmldoc.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpxmldoc.html new file mode 100644 index 0000000000..529b82866b --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-fsharpxmldoc.html @@ -0,0 +1,164 @@ + + + + + FSharpXmlDoc - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

FSharpXmlDoc

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Describe a comment as either a block of text or a file+signature reference into an intellidoc file.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + None + +
+ Signature:
+
+
+ + + + +

No documentation is available

+ + +
+ + + Text(string) + +
+ Signature: string
+
+
+ + + + +

The text for documentation

+ + +
+ + + XmlDocFileSignature(string,string) + +
+ Signature: string * string
+
+
+ + + + +

Indicates that the text for the documentation can be found in a .xml documentation file, using the given signature key

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-iassemblycontentcache.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-iassemblycontentcache.html new file mode 100644 index 0000000000..7c7f108e9d --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-iassemblycontentcache.html @@ -0,0 +1,146 @@ + + + + + IAssemblyContentCache - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

IAssemblyContentCache

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Assembly content cache.

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Set(arg1 arg2) + +
+ Signature: AssemblyPath -> AssemblyContentCacheEntry -> unit
+ Modifiers: abstract
+
+
+ + + + +

Store an assembly content.

+ + +
+ + + TryGet(arg1) + +
+ Signature: AssemblyPath -> AssemblyContentCacheEntry option
+ Modifiers: abstract
+
+
+ + + + +

Try get an assembly cached content.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-idents.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-idents.html new file mode 100644 index 0000000000..dd961f8d83 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-idents.html @@ -0,0 +1,96 @@ + + + + + Idents - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Idents

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

An array of ShortIdent.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-inheritancecontext.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-inheritancecontext.html new file mode 100644 index 0000000000..6af9c63c47 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-inheritancecontext.html @@ -0,0 +1,156 @@ + + + + + InheritanceContext - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

InheritanceContext

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Class + +
+ Signature:
+
+
+ + + + + +
+ + + Interface + +
+ Signature:
+
+
+ + + + + +
+ + + Unknown + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-insertcontext.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-insertcontext.html new file mode 100644 index 0000000000..a07f141e28 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-insertcontext.html @@ -0,0 +1,144 @@ + + + + + InsertContext - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

InsertContext

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Insert open namespace context.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Pos + +
+ Signature: pos
+
+
+ + + + +

Current position (F# compiler line number).

+ + +
+ + + ScopeKind + +
+ Signature: ScopeKind
+
+
+ + + + +

Current scope kind.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-keywords.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-keywords.html new file mode 100644 index 0000000000..1ab7bbb8e5 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-keywords.html @@ -0,0 +1,165 @@ + + + + + Keywords - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Keywords

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + KeywordsWithDescription + +
+ Signature: (string * string) list
+
+
+ + + + +

Keywords paired with their descriptions. Used in completion and quick info.

+ + +
+ + + NormalizeIdentifierBackticks arg1 + +
+ Signature: string -> string
+
+
+ + + + +

Remove backticks if present.

+ + +
+ + + QuoteIdentifierIfNeeded arg1 + +
+ Signature: string -> string
+
+
+ + + + +

Add backticks if the identifier is a keyword.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-layout.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-layout.html new file mode 100644 index 0000000000..f39afc2e8e --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-layout.html @@ -0,0 +1,94 @@ + + + + + Layout - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+ +
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-lookuptype.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-lookuptype.html new file mode 100644 index 0000000000..f762b088fe --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-lookuptype.html @@ -0,0 +1,140 @@ + + + + + LookupType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

LookupType

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Entity lookup type.

+ +
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + Fuzzy + +
+ Signature:
+
+
+ + + + + +
+ + + Precise + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-maybeunresolvedident.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-maybeunresolvedident.html new file mode 100644 index 0000000000..d5ec386691 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-maybeunresolvedident.html @@ -0,0 +1,140 @@ + + + + + MaybeUnresolvedIdent - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MaybeUnresolvedIdent

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

ShortIdent with a flag indicating if it's resolved in some scope.

+ +
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Ident + +
+ Signature: ShortIdent
+
+
+ + + + + +
+ + + Resolved + +
+ Signature: bool
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-maybeunresolvedidents.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-maybeunresolvedidents.html new file mode 100644 index 0000000000..3c2dd83192 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-maybeunresolvedidents.html @@ -0,0 +1,96 @@ + + + + + MaybeUnresolvedIdents - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

MaybeUnresolvedIdents

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Array of MaybeUnresolvedIdent.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-modulekind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-modulekind.html new file mode 100644 index 0000000000..af30dffb7f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-modulekind.html @@ -0,0 +1,138 @@ + + + + + ModuleKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ModuleKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + HasModuleSuffix + +
+ Signature: bool
+
+
+ + + + + +
+ + + IsAutoOpen + +
+ Signature: bool
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-container.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-container.html new file mode 100644 index 0000000000..ffa9b11290 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-container.html @@ -0,0 +1,139 @@ + + + + + Container - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

Container

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+ Parent Module: NavigateTo +

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Type + +
+ Signature: ContainerType
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-containertype.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-containertype.html new file mode 100644 index 0000000000..f22b66b8f2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-containertype.html @@ -0,0 +1,193 @@ + + + + + ContainerType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ContainerType

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+ Parent Module: NavigateTo +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Exception + +
+ Signature:
+
+
+ + + + + +
+ + + File + +
+ Signature:
+
+
+ + + + + +
+ + + Module + +
+ Signature:
+
+
+ + + + + +
+ + + Namespace + +
+ Signature:
+
+
+ + + + + +
+ + + Type + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-navigableitem.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-navigableitem.html new file mode 100644 index 0000000000..73ab8c51cc --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-navigableitem.html @@ -0,0 +1,193 @@ + + + + + NavigableItem - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NavigableItem

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+ Parent Module: NavigateTo +

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Container + +
+ Signature: Container
+
+
+ + + + + +
+ + + IsSignature + +
+ Signature: bool
+
+
+ + + + + +
+ + + Kind + +
+ Signature: NavigableItemKind
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Range + +
+ Signature: range
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-navigableitemkind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-navigableitemkind.html new file mode 100644 index 0000000000..ad40fbf8b6 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto-navigableitemkind.html @@ -0,0 +1,301 @@ + + + + + NavigableItemKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NavigableItemKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+ Parent Module: NavigateTo +

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Constructor + +
+ Signature:
+
+
+ + + + + +
+ + + EnumCase + +
+ Signature:
+
+
+ + + + + +
+ + + Exception + +
+ Signature:
+
+
+ + + + + +
+ + + Field + +
+ Signature:
+
+
+ + + + + +
+ + + Member + +
+ Signature:
+
+
+ + + + + +
+ + + Module + +
+ Signature:
+
+
+ + + + + +
+ + + ModuleAbbreviation + +
+ Signature:
+
+
+ + + + + +
+ + + ModuleValue + +
+ Signature:
+
+
+ + + + + +
+ + + Property + +
+ Signature:
+
+
+ + + + + +
+ + + Type + +
+ Signature:
+
+
+ + + + + +
+ + + UnionCase + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto.html new file mode 100644 index 0000000000..656d0d8390 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-navigateto.html @@ -0,0 +1,158 @@ + + + + + NavigateTo - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

NavigateTo

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ Container +
+ ContainerType +
+ NavigableItem +
+ NavigableItemKind +
+ +
+ +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + getNavigableItems arg1 + +
+ Signature: ParsedInput -> NavigableItem []
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-parsedinput.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-parsedinput.html new file mode 100644 index 0000000000..13f26eac8a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-parsedinput.html @@ -0,0 +1,187 @@ + + + + + ParsedInput - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ParsedInput

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Parse AST helpers.

+ +
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + adjustInsertionPoint getLineStr ctx + +
+ Signature: getLineStr:(int -> string) -> ctx:InsertContext -> pos
+
+
+ + + + +

Corrects insertion line number based on kind of scope and text surrounding the insertion point.

+ + +
+ + + getLongIdentAt ast pos + +
+ Signature: ast:ParsedInput -> pos:pos -> LongIdent option
+
+
+ + + + +

Returns lond identifier at position.

+ + +
+ + + tryFindInsertionContext (...) + +
+ Signature: currentLine:int -> ast:ParsedInput -> MaybeUnresolvedIdents -> insertionPoint:OpenStatementInsertionPoint -> Idents option * Idents option * Idents option * Idents -> (Entity * InsertContext) []
+
+
+ + + + +

Returns InsertContext based on current position and symbol idents.

+ + +
+ + + tryFindNearestPointToInsertOpenDeclaration (...) + +
+ Signature: currentLine:int -> ast:ParsedInput -> entity:Idents -> insertionPoint:OpenStatementInsertionPoint -> InsertContext option
+
+
+ + + + +

Returns InsertContext based on current position and symbol idents.

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-position.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-position.html new file mode 100644 index 0000000000..04d1e1a37a --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-position.html @@ -0,0 +1,94 @@ + + + + + Position - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+ +
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-prettynaming.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-prettynaming.html new file mode 100644 index 0000000000..bce24ab534 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-prettynaming.html @@ -0,0 +1,237 @@ + + + + + PrettyNaming - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

PrettyNaming

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

A set of helpers related to naming of identifiers

+ +
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + FormatAndOtherOverloadsString arg1 + +
+ Signature: int -> string
+
+
+ + + + + +
+ + + GetLongNameFromString arg1 + +
+ Signature: string -> string list
+
+
+ + + + + +
+ + + IsIdentifierPartCharacter arg1 + +
+ Signature: char -> bool
+
+
+ + + + + +
+ + + IsLongIdentifierPartCharacter arg1 + +
+ Signature: char -> bool
+
+
+ + + + + +
+ + + IsOperatorName arg1 + +
+ Signature: string -> bool
+
+
+ + + + + +
+ + + KeywordNames + +
+ Signature: string list
+
+
+ + + + +

All the keywords in the F# language

+ + +
+ + + QuoteIdentifierIfNeeded arg1 + +
+ Signature: string -> string
+
+
+ + + + +

A utility to help determine if an identifier needs to be quoted

+ + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-range.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-range.html new file mode 100644 index 0000000000..8e8d384fa7 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-range.html @@ -0,0 +1,94 @@ + + + + + Range - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+ +
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-recordcontext.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-recordcontext.html new file mode 100644 index 0000000000..3850d7fd0f --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-recordcontext.html @@ -0,0 +1,156 @@ + + + + + RecordContext - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

RecordContext

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Constructor(string) + +
+ Signature: string
+
+
+ + + + + +
+ + + CopyOnUpdate(range,CompletionPath) + +
+ Signature: range * CompletionPath
+
+
+ + + + + +
+ + + New(CompletionPath) + +
+ Signature: CompletionPath
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-scopekind.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-scopekind.html new file mode 100644 index 0000000000..c67d79cc59 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-scopekind.html @@ -0,0 +1,194 @@ + + + + + ScopeKind - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ScopeKind

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Kind of lexical scope.

+ +
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + HashDirective + +
+ Signature:
+
+
+ + + + + +
+ + + Namespace + +
+ Signature:
+
+
+ + + + + +
+ + + NestedModule + +
+ Signature:
+
+
+ + + + + +
+ + + OpenDeclaration + +
+ Signature:
+
+
+ + + + + +
+ + + TopModule + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-semanticclassificationtype.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-semanticclassificationtype.html new file mode 100644 index 0000000000..8469296686 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-semanticclassificationtype.html @@ -0,0 +1,372 @@ + + + + + SemanticClassificationType - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

SemanticClassificationType

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + ComputationExpression + +
+ Signature:
+
+
+ + + + + +
+ + + Disposable + +
+ Signature:
+
+
+ + + + + +
+ + + Enumeration + +
+ Signature:
+
+
+ + + + + +
+ + + Function + +
+ Signature:
+
+
+ + + + + +
+ + + Interface + +
+ Signature:
+
+
+ + + + + +
+ + + IntrinsicFunction + +
+ Signature:
+
+
+ + + + + +
+ + + Module + +
+ Signature:
+
+
+ + + + + +
+ + + MutableVar + +
+ Signature:
+
+
+ + + + + +
+ + + Operator + +
+ Signature:
+
+
+ + + + + +
+ + + Printf + +
+ Signature:
+
+
+ + + + + +
+ + + Property + +
+ Signature:
+
+
+ + + + + +
+ + + ReferenceType + +
+ Signature:
+
+
+ + + + + +
+ + + TypeArgument + +
+ Signature:
+
+
+ + + + + +
+ + + UnionCase + +
+ Signature:
+
+
+ + + + + +
+ + + ValueType + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-shortident.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-shortident.html new file mode 100644 index 0000000000..00d3983650 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-shortident.html @@ -0,0 +1,132 @@ + + + + + ShortIdent - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

ShortIdent

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Short identifier, i.e. an identifier that contains no dots.

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Chars(arg1) + +
+ Signature: int -> char
+
+
+ +
+ + + Length + +
+ Signature: int
+
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-stringlongident.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-stringlongident.html new file mode 100644 index 0000000000..3e408a7d57 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-stringlongident.html @@ -0,0 +1,132 @@ + + + + + StringLongIdent - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

StringLongIdent

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Lond identifier (i.e. it may contain dots).

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Chars(arg1) + +
+ Signature: int -> char
+
+
+ +
+ + + Length + +
+ Signature: int
+
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-unresolvedreferencesset.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-unresolvedreferencesset.html new file mode 100644 index 0000000000..c12f4dbe71 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-unresolvedreferencesset.html @@ -0,0 +1,96 @@ + + + + + UnresolvedReferencesSet - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UnresolvedReferencesSet

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+

Unused in this API

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-unresolvedsymbol.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-unresolvedsymbol.html new file mode 100644 index 0000000000..24ad821eb2 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-unresolvedsymbol.html @@ -0,0 +1,138 @@ + + + + + UnresolvedSymbol - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UnresolvedSymbol

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + DisplayName + +
+ Signature: string
+
+
+ + + + + +
+ + + Namespace + +
+ Signature: string []
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-untypedparseimpl.html b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-untypedparseimpl.html new file mode 100644 index 0000000000..ed0617c689 --- /dev/null +++ b/docs/reference/microsoft-fsharp-compiler-sourcecodeservices-untypedparseimpl.html @@ -0,0 +1,213 @@ + + + + + UntypedParseImpl - F# Compiler Services + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ + + + +

UntypedParseImpl

+

+ Namespace: Microsoft.FSharp.Compiler.SourceCodeServices
+

+
+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + GetEntityKind (arg1, arg2) + +
+ Signature: (pos * ParsedInput) -> EntityKind option
+
+
+ + + + + +
+ + + GetFullNameOfSmallestModuleOrNamespaceAtPoint (...) + +
+ Signature: (ParsedInput * pos) -> string []
+
+
+ + + + + +
+ + + GetRangeOfExprLeftOfDot (arg1, arg2) + +
+ Signature: (pos * ParsedInput option) -> range option
+
+
+ + + + + +
+ + + TryFindExpressionASTLeftOfDotLeftOfCursor (...) + +
+ Signature: (pos * ParsedInput option) -> (pos * bool) option
+
+
+ + + + + +
+ + + TryFindExpressionIslandInPosition (...) + +
+ Signature: (pos * ParsedInput option) -> string option
+
+
+ + + + + +
+ + + TryGetCompletionContext (...) + +
+ Signature: (pos * FSharpParseFileResults option * lineStr:string) -> CompletionContext option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/symbols.html b/docs/symbols.html new file mode 100644 index 0000000000..a752c7004f --- /dev/null +++ b/docs/symbols.html @@ -0,0 +1,417 @@ + + + + + Compiler Services: Working with symbols + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Working with symbols

+

This tutorial demonstrates how to work with symbols provided by the F# compiler. See also project wide analysis +for information on symbol references.

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published.

+
+

As usual we start by referencing FSharp.Compiler.Service.dll, opening the relevant namespace and creating an instance +of FSharpChecker:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
// Reference F# compiler API
+#r "FSharp.Compiler.Service.dll"
+
+open System
+open System.IO
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+// Create an interactive checker instance 
+let checker = FSharpChecker.Create()
+
+

We now perform type checking on the specified input:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+
let parseAndTypeCheckSingleFile (file, input) = 
+    // Get context representing a stand-alone (script) file
+    let projOptions = 
+        checker.GetProjectOptionsFromScript(file, input)
+        |> Async.RunSynchronously
+
+    let parseFileResults, checkFileResults = 
+        checker.ParseAndCheckFileInProject(file, 0, input, projOptions) 
+        |> Async.RunSynchronously
+
+    // Wait until type checking succeeds (or 100 attempts)
+    match checkFileResults with
+    | FSharpCheckFileAnswer.Succeeded(res) -> parseFileResults, res
+    | res -> failwithf "Parsing did not finish... (%A)" res
+
+let file = "/home/user/Test.fsx"
+
+

Getting resolved signature information about the file

+

After type checking a file, you can access the inferred signature of a project up to and including the +checking of the given file through the PartialAssemblySignature property of the TypeCheckResults.

+

The full signature information is available for modules, types, attributes, members, values, functions, +union cases, record types, units of measure and other F# language constructs.

+

The typed expression trees are also available, see typed tree tutorial.

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+
let input2 = 
+      """
+[<System.CLSCompliant(true)>]
+let foo(x, y) = 
+    let msg = String.Concat("Hello"," ","world")
+    if true then 
+        printfn "x = %d, y = %d" x y 
+        printfn "%s" msg
+
+type C() = 
+    member x.P = 1
+      """
+let parseFileResults, checkFileResults = 
+    parseAndTypeCheckSingleFile(file, input2)
+
+

Now get the partial assembly signature for the code:

+ + + +
1: 
+2: 
+3: 
+4: 
+
let partialAssemblySignature = checkFileResults.PartialAssemblySignature
+    
+partialAssemblySignature.Entities.Count = 1  // one entity
+    
+
+

Now get the entity that corresponds to the module containing the code:

+ + + +
1: 
+2: 
+3: 
+
let moduleEntity = partialAssemblySignature.Entities.[0]
+
+moduleEntity.DisplayName = "Test"
+
+

Now get the entity that corresponds to the type definition in the code:

+ + + +
1: 
+
let classEntity = moduleEntity.NestedEntities.[0]
+
+

Now get the value that corresponds to the function defined in the code:

+ + + +
1: 
+
let fnVal = moduleEntity.MembersFunctionsAndValues.[0]
+
+

Now look around at the properties describing the function value. All fo the following evaluate to true:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+
fnVal.Attributes.Count = 1
+fnVal.CurriedParameterGroups.Count // 1
+fnVal.CurriedParameterGroups.[0].Count // 2
+fnVal.CurriedParameterGroups.[0].[0].Name // "x"
+fnVal.CurriedParameterGroups.[0].[1].Name // "y"
+fnVal.DeclarationLocation.StartLine // 3
+fnVal.DisplayName // "foo"
+fnVal.EnclosingEntity.DisplayName // "Test"
+fnVal.EnclosingEntity.DeclarationLocation.StartLine // 1
+fnVal.GenericParameters.Count // 0
+fnVal.InlineAnnotation // FSharpInlineAnnotation.OptionalInline
+fnVal.IsActivePattern // false
+fnVal.IsCompilerGenerated // false
+fnVal.IsDispatchSlot // false
+fnVal.IsExtensionMember // false
+fnVal.IsPropertyGetterMethod // false
+fnVal.IsImplicitConstructor // false
+fnVal.IsInstanceMember // false
+fnVal.IsMember // false
+fnVal.IsModuleValueOrMember // true
+fnVal.IsMutable // false
+fnVal.IsPropertySetterMethod // false
+fnVal.IsTypeFunction // false
+
+

Now look at the type of the function if used as a first class value. (Aside: the CurriedParameterGroups property contains +more information like the names of the arguments.)

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
fnVal.FullType // int * int -> unit
+fnVal.FullType.IsFunctionType // int * int -> unit
+fnVal.FullType.GenericArguments.[0] // int * int 
+fnVal.FullType.GenericArguments.[0].IsTupleType // int * int 
+let argTy1 = fnVal.FullType.GenericArguments.[0].GenericArguments.[0]
+
+argTy1.TypeDefinition.DisplayName // int
+
+

OK, so we got an object representation of the type int * int -> unit, and we have seen the first 'int'. We can find out more about the +type 'int' as follows, determining that it is a named type, which is an F# type abbreviation, type int = int32:

+ + + +
1: 
+2: 
+
argTy1.HasTypeDefinition
+argTy1.TypeDefinition.IsFSharpAbbreviation // "int"
+
+

We can now look at the right-hand-side of the type abbreviation, which is the type int32:

+ + + +
1: 
+2: 
+3: 
+
let argTy1b = argTy1.TypeDefinition.AbbreviatedType
+argTy1b.TypeDefinition.Namespace // Some "Microsoft.FSharp.Core" 
+argTy1b.TypeDefinition.CompiledName // "int32" 
+
+

Again we can now look through the type abbreviation type int32 = System.Int32 to get the +full information about the type:

+ + + +
1: 
+2: 
+3: 
+
let argTy1c = argTy1b.TypeDefinition.AbbreviatedType
+argTy1c.TypeDefinition.Namespace // Some "SystemCore" 
+argTy1c.TypeDefinition.CompiledName // "Int32" 
+
+

The type checking results for a file also contain information extracted from the project (or script) options +used in the compilation, called the ProjectContext:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
let projectContext = checkFileResults.ProjectContext
+    
+for ass in projectContext.GetReferencedAssemblies() do
+    match ass.FileName with 
+    | None -> printfn "compilation referenced an assembly without a file" 
+    | Some s -> printfn "compilation references assembly '%s'" s
+    
+
+

Notes:

+
    +
  • If incomplete code is present, some or all of the attirbutes may not be quite as expected.
  • +
  • +If some assembly references are missing (which is actually very, very common), then 'IsUnresolved' may +be true on values, members and/or entites related to external assemblies. You should be sure to make your +code robust against IsUnresolved exceptions. +
  • +
+

Getting symbolic information about whole projects

+

To check whole projects, create a checker, then call parseAndCheckScript. In this case, we just check +the project for a single script. By specifying a different "projOptions" you can create +a specification of a larger project.

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+
let parseAndCheckScript (file, input) = 
+    let projOptions = 
+        checker.GetProjectOptionsFromScript(file, input)
+        |> Async.RunSynchronously
+
+    checker.ParseAndCheckProject(projOptions) |> Async.RunSynchronously
+
+

Now do it for a particular input:

+ + + +
1: 
+2: 
+3: 
+4: 
+
let tmpFile = Path.ChangeExtension(System.IO.Path.GetTempFileName() , "fs")
+File.WriteAllText(tmpFile, input2)
+
+let projectResults = parseAndCheckScript(tmpFile, input2)
+
+

Now look at the results:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+
let assemblySig = projectResults.AssemblySignature
+    
+assemblySig.Entities.Count = 1  // one entity
+assemblySig.Entities.[0].Namespace  // one entity
+assemblySig.Entities.[0].DisplayName // "Tmp28D0"
+assemblySig.Entities.[0].MembersFunctionsAndValues.Count // 1 
+assemblySig.Entities.[0].MembersFunctionsAndValues.[0].DisplayName // "foo" 
+    
+
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/tokenizer.html b/docs/tokenizer.html new file mode 100644 index 0000000000..a5f062f58a --- /dev/null +++ b/docs/tokenizer.html @@ -0,0 +1,257 @@ + + + + + Compiler Services: Using the F# tokenizer + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Using the F# tokenizer

+

This tutorial demonstrates how to call the F# language tokenizer. Given F# +source code, the tokenizer generates a list of source code lines that contain +information about tokens on each line. For each token, you can get the type +of the token, exact location as well as color kind of the token (keyword, +identifier, number, operator, etc.).

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published

+
+

Creating the tokenizer

+

To use the tokenizer, reference FSharp.Compiler.Service.dll and open the +SourceCodeServices namespace:

+ + + +
1: 
+2: 
+
#r "FSharp.Compiler.Service.dll"
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+

Now you can create an instance of FSharpSourceTokenizer. The class takes two +arguments - the first is the list of defined symbols and the second is the +file name of the source code. The defined symbols are required because the +tokenizer handles #if directives. The file name is required only to specify +locations of the source code (and it does not have to exist):

+ + + +
1: 
+
let sourceTok = FSharpSourceTokenizer([], Some "C:\\test.fsx")
+
+

Using the sourceTok object, we can now (repeatedly) tokenize lines of +F# source code.

+

Tokenizing F# code

+

The tokenizer operates on individual lines rather than on the entire source +file. After getting a token, the tokenizer also returns new state (as int64 value). +This can be used to tokenize F# code more efficiently. When source code changes, +you do not need to re-tokenize the entire file - only the parts that have changed.

+

Tokenizing single line

+

To tokenize a single line, we create a FSharpLineTokenizer by calling CreateLineTokenizer +on the FSharpSourceTokenizer object that we created earlier:

+ + + +
1: 
+
let tokenizer = sourceTok.CreateLineTokenizer("let answer=42")
+
+

Now, we can write a simple recursive function that calls ScanToken on the tokenizer +until it returns None (indicating the end of line). When the function suceeds, it +returns FSharpTokenInfo object with all the interesting details:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
/// Tokenize a single line of F# code
+let rec tokenizeLine (tokenizer:FSharpLineTokenizer) state =
+  match tokenizer.ScanToken(state) with
+  | Some tok, state ->
+      // Print token name
+      printf "%s " tok.TokenName
+      // Tokenize the rest, in the new state
+      tokenizeLine tokenizer state
+  | None, state -> state
+
+

The function returns the new state, which is needed if you need to tokenize multiple lines +and an earlier line ends with a multi-line comment. As an initial state, we can use 0L:

+ + + +
1: 
+
tokenizeLine tokenizer 0L
+
+

The result is a sequence of tokens with names LET, WHITESPACE, IDENT, EQUALS and INT32. +There is a number of interesting properties on FSharpTokenInfo including:

+
    +
  • +CharClass and ColorClass return information about the token category that +can be used for colorizing F# code. +
  • +
  • LeftColumn and RightColumn return the location of the token inside the line.
  • +
  • TokenName is the name of the token (as defined in the F# lexer)
  • +
+

Note that the tokenizer is stateful - if you want to tokenize single line multiple times, +you need to call CreateLineTokenizer again.

+

Tokenizing sample code

+

To run the tokenizer on a longer sample code or an entire file, you need to read the +sample input as a collection of string values:

+ + + +
1: 
+2: 
+3: 
+4: 
+
let lines = """
+  // Hello world
+  let hello() =
+     printfn "Hello world!" """.Split('\r','\n')
+
+

To tokenize multi-line input, we again need a recursive function that keeps the current +state. The following function takes the lines as a list of strings (together with line number +and the current state). We create a new tokenizer for each line and call tokenizeLine +using the state from the end of the previous line:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
/// Print token names for multiple lines of code
+let rec tokenizeLines state count lines = 
+  match lines with
+  | line::lines ->
+      // Create tokenizer & tokenize single line
+      printfn "\nLine %d" count
+      let tokenizer = sourceTok.CreateLineTokenizer(line)
+      let state = tokenizeLine tokenizer state
+      // Tokenize the rest using new state
+      tokenizeLines state (count+1) lines
+  | [] -> ()
+
+

The function simply calls tokenizeLine (defined earlier) to print the names of all +the tokens on each line. We can call it on the previous input with 0L as the initial +state and 1 as the number of the first line:

+ + + +
1: 
+2: 
+3: 
+
lines
+|> List.ofSeq
+|> tokenizeLines 0L 1
+
+

Ignoring some unimportant details (like whitespace at the beginning of each line and +the first line which is just whitespace), the code generates the following output:

+ +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+
Line 1
+  LINE_COMMENT LINE_COMMENT (...) LINE_COMMENT 
+Line 2
+  LET WHITESPACE IDENT LPAREN RPAREN WHITESPACE EQUALS 
+Line 3
+  IDENT WHITESPACE STRING_TEXT (...) STRING_TEXT STRING 
+
+

It is worth noting that the tokenizer yields multiple LINE_COMMENT tokens and multiple +STRING_TEXT tokens for each single comment or string (roughly, one for each word), so +if you want to get the entire text of a comment/string, you need to concatenate the +tokens.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/typedtree.html b/docs/typedtree.html new file mode 100644 index 0000000000..86bf97394c --- /dev/null +++ b/docs/typedtree.html @@ -0,0 +1,537 @@ + + + + + Compiler Services: Processing typed expression tree + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Processing typed expression tree

+

This tutorial demonstrates how to get the checked, typed expressions tree (TAST) +for F# code and how to walk over the tree.

+

This can be used for creating tools such as source code analyzers and refactoring tools. +You can also combine the information with the API available +from symbols.

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published

+
+

Getting checked expressions

+

To access the type-checked, resolved expressions, you need to create an instance of InteractiveChecker.

+

To use the interactive checker, reference FSharp.Compiler.Service.dll and open the +SourceCodeServices namespace:

+ + + +
1: 
+2: 
+3: 
+4: 
+
#r "FSharp.Compiler.Service.dll"
+open System
+open System.IO
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+

Checking code

+

We first parse and check some code as in the symbols tutorial. +One difference is that we set keepAssemblyContents to true.

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+
// Create an interactive checker instance 
+let checker = FSharpChecker.Create(keepAssemblyContents=true)
+
+let parseAndCheckSingleFile (input) = 
+    let file = Path.ChangeExtension(System.IO.Path.GetTempFileName(), "fsx")  
+    File.WriteAllText(file, input)
+    // Get context representing a stand-alone (script) file
+    let projOptions = 
+        checker.GetProjectOptionsFromScript(file, input)
+        |> Async.RunSynchronously
+
+    checker.ParseAndCheckProject(projOptions) 
+    |> Async.RunSynchronously
+
+

Getting the expressions

+

After type checking a file, you can access the declarations and contents of the assembly, including expressions:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+
let input2 = 
+      """
+module MyLibrary 
+
+open System
+
+let foo(x, y) = 
+    let msg = String.Concat("Hello", " ", "world")
+    if msg.Length > 10 then 
+        10 
+    else 
+        20
+
+type MyClass() = 
+    member x.MyMethod() = 1
+      """
+let checkProjectResults = 
+    parseAndCheckSingleFile(input2)
+
+checkProjectResults.Errors // should be empty
+
+

Checked assemblies are made up of a series of checked implementation files. The "file" granularity +matters in F# because initialization actions are triggered at the granularity of files. +In this case there is only one implementation file in the project:

+ + + +
1: 
+
let checkedFile = checkProjectResults.AssemblyContents.ImplementationFiles.[0]
+
+

Checked assemblies are made up of a series of checked implementation files. The "file" granularity +matters in F# because initialization actions are triggered at the granularity of files. +In this case there is only one implementation file in the project:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+
let rec printDecl prefix d = 
+    match d with 
+    | FSharpImplementationFileDeclaration.Entity (e, subDecls) -> 
+        printfn "%sEntity %s was declared and contains %d sub-declarations" prefix e.CompiledName subDecls.Length
+        for subDecl in subDecls do 
+            printDecl (prefix+"    ") subDecl
+    | FSharpImplementationFileDeclaration.MemberOrFunctionOrValue(v, vs, e) -> 
+        printfn "%sMember or value %s was declared" prefix  v.CompiledName
+    | FSharpImplementationFileDeclaration.InitAction(e) -> 
+        printfn "%sA top-level expression was declared" prefix 
+
+
+for d in checkedFile.Declarations do 
+   printDecl "" d
+
+// Entity MyLibrary was declared and contains 4 sub-declarations
+//     Member or value foo was declared
+//     Entity MyClass was declared and contains 0 sub-declarations
+//     Member or value .ctor was declared
+//     Member or value MyMethod was declared
+
+

As can be seen, the only declaration in the implementation file is that of the module MyLibrary, which +contains fours sub-declarations.

+
+

As an aside, one peculiarity here is that the member declarations (e.g. the "MyMethod" member) are returned as part of the containing module entity, not as part of their class. +Note that the class constructor is returned as a separate declaration. The class type definition has been "split" into a constructor and the other declarations.

+
+ + + +
1: 
+2: 
+3: 
+4: 
+
let myLibraryEntity, myLibraryDecls =    
+   match checkedFile.Declarations.[0] with 
+   | FSharpImplementationFileDeclaration.Entity (e, subDecls) -> (e, subDecls)
+   | _ -> failwith "unexpected"
+
+

What about the expressions, for example the body of function "foo"? Let's find it:

+ + + +
1: 
+2: 
+3: 
+4: 
+
let (fooSymbol, fooArgs, fooExpression) = 
+    match myLibraryDecls.[0] with 
+    | FSharpImplementationFileDeclaration.MemberOrFunctionOrValue(v, vs, e) -> (v, vs, e)
+    | _ -> failwith "unexpected"
+
+

Here 'fooSymbol' is a symbol associated with the declaration of 'foo', +'fooArgs' represents the formal arguments to the 'foo' function, and 'fooExpression' +is an expression for the implementation of the 'foo' function.

+

Once you have an expression, you can work with it much like an F# quotation. For example, +you can find its declaration range and its type:

+ + + +
1: 
+2: 
+
fooExpression.Type  // shows that the return type of the body expression is 'int'
+fooExpression.Range  // shows the declaration range of the expression implementing 'foo'
+
+

Walking over expressions

+

Expressions are analyzed using active patterns, much like F# quotations. +Here is a generic expression visitor:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+33: 
+34: 
+35: 
+36: 
+37: 
+38: 
+39: 
+40: 
+41: 
+42: 
+43: 
+44: 
+45: 
+46: 
+47: 
+48: 
+49: 
+50: 
+51: 
+52: 
+53: 
+54: 
+55: 
+56: 
+57: 
+58: 
+59: 
+60: 
+61: 
+62: 
+63: 
+64: 
+65: 
+66: 
+67: 
+68: 
+69: 
+70: 
+71: 
+72: 
+73: 
+74: 
+75: 
+76: 
+77: 
+78: 
+79: 
+80: 
+81: 
+82: 
+83: 
+84: 
+85: 
+86: 
+87: 
+88: 
+89: 
+90: 
+91: 
+92: 
+93: 
+94: 
+95: 
+96: 
+
let rec visitExpr f (e:FSharpExpr) = 
+    f e
+    match e with 
+    | BasicPatterns.AddressOf(lvalueExpr) -> 
+        visitExpr f lvalueExpr
+    | BasicPatterns.AddressSet(lvalueExpr, rvalueExpr) -> 
+        visitExpr f lvalueExpr; visitExpr f rvalueExpr
+    | BasicPatterns.Application(funcExpr, typeArgs, argExprs) -> 
+        visitExpr f funcExpr; visitExprs f argExprs
+    | BasicPatterns.Call(objExprOpt, memberOrFunc, typeArgs1, typeArgs2, argExprs) -> 
+        visitObjArg f objExprOpt; visitExprs f argExprs
+    | BasicPatterns.Coerce(targetType, inpExpr) -> 
+        visitExpr f inpExpr
+    | BasicPatterns.FastIntegerForLoop(startExpr, limitExpr, consumeExpr, isUp) -> 
+        visitExpr f startExpr; visitExpr f limitExpr; visitExpr f consumeExpr
+    | BasicPatterns.ILAsm(asmCode, typeArgs, argExprs) -> 
+        visitExprs f argExprs
+    | BasicPatterns.ILFieldGet (objExprOpt, fieldType, fieldName) -> 
+        visitObjArg f objExprOpt
+    | BasicPatterns.ILFieldSet (objExprOpt, fieldType, fieldName, valueExpr) -> 
+        visitObjArg f objExprOpt
+    | BasicPatterns.IfThenElse (guardExpr, thenExpr, elseExpr) -> 
+        visitExpr f guardExpr; visitExpr f thenExpr; visitExpr f elseExpr
+    | BasicPatterns.Lambda(lambdaVar, bodyExpr) -> 
+        visitExpr f bodyExpr
+    | BasicPatterns.Let((bindingVar, bindingExpr), bodyExpr) -> 
+        visitExpr f bindingExpr; visitExpr f bodyExpr
+    | BasicPatterns.LetRec(recursiveBindings, bodyExpr) -> 
+        List.iter (snd >> visitExpr f) recursiveBindings; visitExpr f bodyExpr
+    | BasicPatterns.NewArray(arrayType, argExprs) -> 
+        visitExprs f argExprs
+    | BasicPatterns.NewDelegate(delegateType, delegateBodyExpr) -> 
+        visitExpr f delegateBodyExpr
+    | BasicPatterns.NewObject(objType, typeArgs, argExprs) -> 
+        visitExprs f argExprs
+    | BasicPatterns.NewRecord(recordType, argExprs) ->  
+        visitExprs f argExprs
+    | BasicPatterns.NewTuple(tupleType, argExprs) -> 
+        visitExprs f argExprs
+    | BasicPatterns.NewUnionCase(unionType, unionCase, argExprs) -> 
+        visitExprs f argExprs
+    | BasicPatterns.Quote(quotedExpr) -> 
+        visitExpr f quotedExpr
+    | BasicPatterns.FSharpFieldGet(objExprOpt, recordOrClassType, fieldInfo) -> 
+        visitObjArg f objExprOpt
+    | BasicPatterns.FSharpFieldSet(objExprOpt, recordOrClassType, fieldInfo, argExpr) -> 
+        visitObjArg f objExprOpt; visitExpr f argExpr
+    | BasicPatterns.Sequential(firstExpr, secondExpr) -> 
+        visitExpr f firstExpr; visitExpr f secondExpr
+    | BasicPatterns.TryFinally(bodyExpr, finalizeExpr) -> 
+        visitExpr f bodyExpr; visitExpr f finalizeExpr
+    | BasicPatterns.TryWith(bodyExpr, _, _, catchVar, catchExpr) -> 
+        visitExpr f bodyExpr; visitExpr f catchExpr
+    | BasicPatterns.TupleGet(tupleType, tupleElemIndex, tupleExpr) -> 
+        visitExpr f tupleExpr
+    | BasicPatterns.DecisionTree(decisionExpr, decisionTargets) -> 
+        visitExpr f decisionExpr; List.iter (snd >> visitExpr f) decisionTargets
+    | BasicPatterns.DecisionTreeSuccess (decisionTargetIdx, decisionTargetExprs) -> 
+        visitExprs f decisionTargetExprs
+    | BasicPatterns.TypeLambda(genericParam, bodyExpr) -> 
+        visitExpr f bodyExpr
+    | BasicPatterns.TypeTest(ty, inpExpr) -> 
+        visitExpr f inpExpr
+    | BasicPatterns.UnionCaseSet(unionExpr, unionType, unionCase, unionCaseField, valueExpr) -> 
+        visitExpr f unionExpr; visitExpr f valueExpr
+    | BasicPatterns.UnionCaseGet(unionExpr, unionType, unionCase, unionCaseField) -> 
+        visitExpr f unionExpr
+    | BasicPatterns.UnionCaseTest(unionExpr, unionType, unionCase) -> 
+        visitExpr f unionExpr
+    | BasicPatterns.UnionCaseTag(unionExpr, unionType) -> 
+        visitExpr f unionExpr
+    | BasicPatterns.ObjectExpr(objType, baseCallExpr, overrides, interfaceImplementations) -> 
+        visitExpr f baseCallExpr
+        List.iter (visitObjMember f) overrides
+        List.iter (snd >> List.iter (visitObjMember f)) interfaceImplementations
+    | BasicPatterns.TraitCall(sourceTypes, traitName, typeArgs, typeInstantiation, argTypes, argExprs) -> 
+        visitExprs f argExprs
+    | BasicPatterns.ValueSet(valToSet, valueExpr) -> 
+        visitExpr f valueExpr
+    | BasicPatterns.WhileLoop(guardExpr, bodyExpr) -> 
+        visitExpr f guardExpr; visitExpr f bodyExpr
+    | BasicPatterns.BaseValue baseType -> ()
+    | BasicPatterns.DefaultValue defaultType -> ()
+    | BasicPatterns.ThisValue thisType -> ()
+    | BasicPatterns.Const(constValueObj, constType) -> ()
+    | BasicPatterns.Value(valueToGet) -> ()
+    | _ -> failwith (sprintf "unrecognized %+A" e)
+
+and visitExprs f exprs = 
+    List.iter (visitExpr f) exprs
+
+and visitObjArg f objOpt = 
+    Option.iter (visitExpr f) objOpt
+
+and visitObjMember f memb = 
+    visitExpr f memb.Body
+
+

Let's use this expresssion walker:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+
fooExpression |> visitExpr (fun e -> printfn "Visiting %A" e)
+
+// Prints:
+//
+// Visiting Let...
+// Visiting Call...
+// Visiting Const ("Hello", ...)
+// Visiting Const (" ", ...)
+// Visiting Const ("world", ...)
+// Visiting IfThenElse...
+// Visiting Call...
+// Visiting Call...
+// Visiting Value ...
+// Visiting Const ...
+// Visiting Const ...
+// Visiting Const ...
+
+

Note that

+
    +
  • The visitExpr function is recursive (for nested expressions).
  • +
  • Pattern matching is removed from the tree, into a form called 'decision trees'.
  • +
+

Summary

+

In this tutorial, we looked at basic of working with checked declarations and expressions.

+

In practice, it is also useful to combine the information here +with some information you can obtain from the symbols +tutorial.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/untypedtree.html b/docs/untypedtree.html new file mode 100644 index 0000000000..f1afa6c355 --- /dev/null +++ b/docs/untypedtree.html @@ -0,0 +1,414 @@ + + + + + Compiler Services: Processing untyped syntax tree + + + + + + + + + + + + + + + + + +
+
+ +

F# Compiler Services

+
+
+
+
+ +

Compiler Services: Processing untyped syntax tree

+

This tutorial demonstrates how to get the untyped abstract syntax tree (AST) +for F# code and how to walk over the tree. This can be used for creating tools +such as code formatter, basic refactoring or code navigation tools. The untyped +syntax tree contains information about the code structure, but does not contain +types and there are some ambiguities that are resolved only later by the type +checker. You can also combine the untyped AST information with the API available +from editor services.

+
+

NOTE: The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published

+
+

Getting the untyped AST

+

To access the untyped AST, you need to create an instance of FSharpChecker. +This type represents a context for type checking and parsing and corresponds either +to a stand-alone F# script file (e.g. opened in Visual Studio) or to a loaded project +file with multiple files. Once you have an instance of FSharpChecker, you can +use it to perform "untyped parse" which is the first step of type-checking. The +second phase is "typed parse" and is used by editor services.

+

To use the interactive checker, reference FSharp.Compiler.Service.dll and open the +SourceCodeServices namespace:

+ + + +
1: 
+2: 
+3: 
+
#r "FSharp.Compiler.Service.dll"
+open System
+open Microsoft.FSharp.Compiler.SourceCodeServices
+
+

Performing untyped parse

+

The untyped parse operation is very fast (compared to type checking, which can +take notable amount of time) and so we can perform it synchronously. First, we +need to create FSharpChecker - the constructor takes an argument that +can be used to notify the checker about file changes (which we ignore).

+ + + +
1: 
+2: 
+
// Create an interactive checker instance 
+let checker = FSharpChecker.Create()
+
+

To get the AST, we define a function that takes file name and the source code +(the file is only used for location information and does not have to exist). +We first need to get "interactive checker options" which represents the context. +For simple tasks, you can use GetProjectOptionsFromScriptRoot which infers +the context for a script file. Then we use the ParseFileInProject method and +return the ParseTree property:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+
/// Get untyped tree for a specified input
+let getUntypedTree (file, input) = 
+  // Get compiler options for the 'project' implied by a single script file
+  let projOptions = 
+      checker.GetProjectOptionsFromScript(file, input)
+      |> Async.RunSynchronously
+
+  // Run the first phase (untyped parsing) of the compiler
+  let parseFileResults = 
+      checker.ParseFileInProject(file, input, projOptions) 
+      |> Async.RunSynchronously
+
+  match parseFileResults.ParseTree with
+  | Some tree -> tree
+  | None -> failwith "Something went wrong during parsing!"
+
+

Walking over the AST

+

The abstract syntax tree is defined as a number of discriminated unions that represent +different syntactical elements (such as expressions, patterns, declarations etc.). The best +way to understand the AST is to look at the definitions in ast.fs in the source +code.

+

The relevant parts are in the following namespace:

+ + + +
1: 
+
open Microsoft.FSharp.Compiler.Ast
+
+

When processing the AST, you will typically write a number of mutually recursive functions +that pattern match on the different syntactical elements. There is a number of elements +that need to be supported - the top-level element is module or namespace declaration, +containing declarations inside a module (let bindings, types etc.). A let declaration inside +a module then contains expression, which can contain patterns.

+

Walking over patterns and expressions

+

We start by looking at functions that walk over expressions and patterns - as we walk, +we print information about the visited elements. For patterns, the input is of type +SynPat and has a number of cases including Wild (for _ pattern), Named (for +<pat> as name) and LongIdent (for a Foo.Bar name). Note that the parsed pattern +is occasionally more complex than what is in the source code (in particular, Named is +used more often):

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+
/// Walk over a pattern - this is for example used in 
+/// let <pat> = <expr> or in the 'match' expression
+let rec visitPattern = function
+  | SynPat.Wild(_) -> 
+      printfn "  .. underscore pattern"
+  | SynPat.Named(pat, name, _, _, _) ->
+      visitPattern pat
+      printfn "  .. named as '%s'" name.idText
+  | SynPat.LongIdent(LongIdentWithDots(ident, _), _, _, _, _, _) ->
+      let names = String.concat "." [ for i in ident -> i.idText ]
+      printfn "  .. identifier: %s" names
+  | pat -> printfn "  .. other pattern: %A" pat
+
+

The function is recursive (for nested patterns such as (foo, _) as bar), but it does not +call any of the functions defined later (because patterns cannot contain other syntactical +elements).

+

The next function iterates over expressions - this is where most of the work would be and +there are around 20 cases to cover (type SynExpr. and you'll get completion with other +options). In the following, we only show how to handle if .. then .. and let .. = ...:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+
/// Walk over an expression - if expression contains two or three 
+/// sub-expressions (two if the 'else' branch is missing), let expression
+/// contains pattern and two sub-expressions
+let rec visitExpression = function
+  | SynExpr.IfThenElse(cond, trueBranch, falseBranchOpt, _, _, _, _) ->
+      // Visit all sub-expressions
+      printfn "Conditional:"
+      visitExpression cond
+      visitExpression trueBranch
+      falseBranchOpt |> Option.iter visitExpression 
+
+  | SynExpr.LetOrUse(_, _, bindings, body, _) ->
+      // Visit bindings (there may be multiple 
+      // for 'let .. = .. and .. = .. in ...'
+      printfn "LetOrUse with the following bindings:"
+      for binding in bindings do
+        let (Binding(access, kind, inlin, mutabl, attrs, xmlDoc, 
+                     data, pat, retInfo, init, m, sp)) = binding
+        visitPattern pat 
+        visitExpression init
+      // Visit the body expression
+      printfn "And the following body:"
+      visitExpression body
+  | expr -> printfn " - not supported expression: %A" expr
+
+

The visitExpression function will be called from a function that visits all top-level +declarations inside a module. In this tutorial, we ignore types and members, but that would +be another source of calls to visitExpression.

+

Walking over declarations

+

As mentioned earlier, the AST of a file contains a number of module or namespace declarations +(top-level node) that contain declarations inside a module (let bindings or types) or inisde +a namespace (just types). The following functions walks over declarations - we ignore types, +nested modules and all other elements and look only at top-level let bindings (values and +functions):

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+
/// Walk over a list of declarations in a module. This is anything
+/// that you can write as a top-level inside module (let bindings,
+/// nested modules, type declarations etc.)
+let visitDeclarations decls = 
+  for declaration in decls do
+    match declaration with
+    | SynModuleDecl.Let(isRec, bindings, range) ->
+        // Let binding as a declaration is similar to let binding
+        // as an expression (in visitExpression), but has no body
+        for binding in bindings do
+          let (Binding(access, kind, inlin, mutabl, attrs, xmlDoc, 
+                       data, pat, retInfo, body, m, sp)) = binding
+          visitPattern pat 
+          visitExpression body         
+    | _ -> printfn " - not supported declaration: %A" declaration
+
+

The visitDeclarations function will be called from a function that walks over a +sequence of module or namespace declarations. This corresponds, for example, to a file +with multiple namespace Foo declarations:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+8: 
+9: 
+
/// Walk over all module or namespace declarations 
+/// (basically 'module Foo =' or 'namespace Foo.Bar')
+/// Note that there is one implicitly, even if the file
+/// does not explicitly define it..
+let visitModulesAndNamespaces modulesOrNss =
+  for moduleOrNs in modulesOrNss do
+    let (SynModuleOrNamespace(lid, isRec, isMod, decls, xml, attrs, _, m)) = moduleOrNs
+    printfn "Namespace or module: %A" lid
+    visitDeclarations decls
+
+

Now that we have functions that walk over the elements of the AST (starting from declaration, +down to expressions and patterns), we can get AST of a sample input and run the above function.

+

Putting things together

+

As already discussed, the getUntypedTree function uses FSharpChecker to run the first +phase (parsing) on the AST and get back the tree. The function requires F# source code together +with location of the file. The location does not have to exist (it is used only for location +information) and it can be in both Unix and Windows formats:

+ + + +
 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+
// Sample input for the compiler service
+let input = """
+  let foo() = 
+    let msg = "Hello world"
+    if true then 
+      printfn "%s" msg """
+// File name in Unix format
+let file = "/home/user/Test.fsx"
+
+// Get the AST of sample F# code
+let tree = getUntypedTree(file, input) 
+
+

When you run the code in F# interactive, you can enter tree;; in the interactive console and +see pretty printed representation of the data structure - the tree contains a lot of information, +so this is not particularly readable, but it gives you good idea about how the tree looks.

+

The returned tree value is again a discriminated union that can be two different cases - one case +is ParsedInput.SigFile which represents F# signature file (*.fsi) and the other one is +ParsedInput.ImplFile representing regular source code (*.fsx or *.fs). The implementation +file contains a sequence of modules or namespaces that we can pass to the function implemented +in the previous step:

+ + + +
1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
// Extract implementation file details
+match tree with
+| ParsedInput.ImplFile(implFile) ->
+    // Extract declarations and walk over them
+    let (ParsedImplFileInput(fn, script, name, _, _, modules, _)) = implFile
+    visitModulesAndNamespaces modules
+| _ -> failwith "F# Interface file (*.fsi) not supported."
+
+

Summary

+

In this tutorial, we looked at basic of working with the untyped abstract syntax tree. This is a +comprehensive topic, so it is not possible to explain everything in a single article. The +Fantomas project is a good example of tool based on the untyped +AST that can help you understand more. In practice, it is also useful to combine the information here +with some information you can obtain from the editor services discussed in the next +tutorial.

+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/docs/content/caches.fsx b/docsrc/content/caches.fsx similarity index 100% rename from docs/content/caches.fsx rename to docsrc/content/caches.fsx diff --git a/docs/content/compiler.fsx b/docsrc/content/compiler.fsx similarity index 100% rename from docs/content/compiler.fsx rename to docsrc/content/compiler.fsx diff --git a/docs/content/corelib.fsx b/docsrc/content/corelib.fsx similarity index 100% rename from docs/content/corelib.fsx rename to docsrc/content/corelib.fsx diff --git a/docs/content/devnotes.md b/docsrc/content/devnotes.md similarity index 100% rename from docs/content/devnotes.md rename to docsrc/content/devnotes.md diff --git a/docs/content/editor.fsx b/docsrc/content/editor.fsx similarity index 100% rename from docs/content/editor.fsx rename to docsrc/content/editor.fsx diff --git a/docs/content/filesystem.fsx b/docsrc/content/filesystem.fsx similarity index 100% rename from docs/content/filesystem.fsx rename to docsrc/content/filesystem.fsx diff --git a/docs/content/fsharp-readme.md b/docsrc/content/fsharp-readme.md similarity index 100% rename from docs/content/fsharp-readme.md rename to docsrc/content/fsharp-readme.md diff --git a/docs/content/index.md b/docsrc/content/index.md similarity index 100% rename from docs/content/index.md rename to docsrc/content/index.md diff --git a/docs/content/interactive.fsx b/docsrc/content/interactive.fsx similarity index 100% rename from docs/content/interactive.fsx rename to docsrc/content/interactive.fsx diff --git a/docs/content/ja/compiler.fsx b/docsrc/content/ja/compiler.fsx similarity index 100% rename from docs/content/ja/compiler.fsx rename to docsrc/content/ja/compiler.fsx diff --git a/docs/content/ja/corelib.fsx b/docsrc/content/ja/corelib.fsx similarity index 100% rename from docs/content/ja/corelib.fsx rename to docsrc/content/ja/corelib.fsx diff --git a/docs/content/ja/devnotes.md b/docsrc/content/ja/devnotes.md similarity index 100% rename from docs/content/ja/devnotes.md rename to docsrc/content/ja/devnotes.md diff --git a/docs/content/ja/editor.fsx b/docsrc/content/ja/editor.fsx similarity index 100% rename from docs/content/ja/editor.fsx rename to docsrc/content/ja/editor.fsx diff --git a/docs/content/ja/filesystem.fsx b/docsrc/content/ja/filesystem.fsx similarity index 100% rename from docs/content/ja/filesystem.fsx rename to docsrc/content/ja/filesystem.fsx diff --git a/docs/content/ja/fsharp-readme.md b/docsrc/content/ja/fsharp-readme.md similarity index 100% rename from docs/content/ja/fsharp-readme.md rename to docsrc/content/ja/fsharp-readme.md diff --git a/docs/content/ja/index.md b/docsrc/content/ja/index.md similarity index 100% rename from docs/content/ja/index.md rename to docsrc/content/ja/index.md diff --git a/docs/content/ja/interactive.fsx b/docsrc/content/ja/interactive.fsx similarity index 100% rename from docs/content/ja/interactive.fsx rename to docsrc/content/ja/interactive.fsx diff --git a/docs/content/ja/project.fsx b/docsrc/content/ja/project.fsx similarity index 100% rename from docs/content/ja/project.fsx rename to docsrc/content/ja/project.fsx diff --git a/docs/content/ja/symbols.fsx b/docsrc/content/ja/symbols.fsx similarity index 100% rename from docs/content/ja/symbols.fsx rename to docsrc/content/ja/symbols.fsx diff --git a/docs/content/ja/tokenizer.fsx b/docsrc/content/ja/tokenizer.fsx similarity index 100% rename from docs/content/ja/tokenizer.fsx rename to docsrc/content/ja/tokenizer.fsx diff --git a/docs/content/ja/untypedtree.fsx b/docsrc/content/ja/untypedtree.fsx similarity index 100% rename from docs/content/ja/untypedtree.fsx rename to docsrc/content/ja/untypedtree.fsx diff --git a/docs/content/project.fsx b/docsrc/content/project.fsx similarity index 100% rename from docs/content/project.fsx rename to docsrc/content/project.fsx diff --git a/docs/content/queue.fsx b/docsrc/content/queue.fsx similarity index 100% rename from docs/content/queue.fsx rename to docsrc/content/queue.fsx diff --git a/docs/content/react.fsx b/docsrc/content/react.fsx similarity index 100% rename from docs/content/react.fsx rename to docsrc/content/react.fsx diff --git a/docs/content/symbols.fsx b/docsrc/content/symbols.fsx similarity index 100% rename from docs/content/symbols.fsx rename to docsrc/content/symbols.fsx diff --git a/docs/content/tokenizer.fsx b/docsrc/content/tokenizer.fsx similarity index 100% rename from docs/content/tokenizer.fsx rename to docsrc/content/tokenizer.fsx diff --git a/docs/content/typedtree.fsx b/docsrc/content/typedtree.fsx similarity index 100% rename from docs/content/typedtree.fsx rename to docsrc/content/typedtree.fsx diff --git a/docs/content/untypedtree.fsx b/docsrc/content/untypedtree.fsx similarity index 100% rename from docs/content/untypedtree.fsx rename to docsrc/content/untypedtree.fsx diff --git a/docsrc/files/content/fcs.css b/docsrc/files/content/fcs.css new file mode 100644 index 0000000000..3efde86fc5 --- /dev/null +++ b/docsrc/files/content/fcs.css @@ -0,0 +1,34 @@ +/* Animated gifs on the homepage */ +#anim-holder { + overflow:hidden; + position:relative; + border-radius:5px; +} + +#wbtn, #jbtn, #cbtn { + cursor:pointer; + border-style:none; + color:#f0f8ff; + border-radius:5px; + background:#415d60; + opacity:0.7; + width:90px; + height:23px; + font-size:80%; + text-align:center; + padding-top:2px; + position:absolute; + top:10px; +} + +#anim-holder a img { + min-width:800px; +} + +.nav-list > li > a.nflag { + float:right; + padding:0px; +} +.nav-list > li > a.nflag2 { + margin-right:18px; +} \ No newline at end of file diff --git a/docsrc/files/content/style.ja.css b/docsrc/files/content/style.ja.css new file mode 100644 index 0000000000..e00bcfe02d --- /dev/null +++ b/docsrc/files/content/style.ja.css @@ -0,0 +1,190 @@ +@import url(http://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans+Mono|Gudea); + +* { font-family: 'MS Meiryo', Gudea; } + +/*-------------------------------------------------------------------------- + Formatting for F# code snippets +/*--------------------------------------------------------------------------*/ + +/* identifier */ +span.i { color:#d1d1d1; } +/* string */ +span.s { color:#d4b43c; } +/* keywords */ +span.k { color:#4e98dc; } +/* comment */ +span.c { color:#96C71D; } +/* operators */ +span.o { color:#af75c1; } +/* numbers */ +span.n { color:#96C71D; } +/* line number */ +span.l { color:#80b0b0; } + +/* inactive code */ +span.inactive { color:#808080; } +/* preprocessor */ +span.prep { color:#af75c1; } +/* fsi output */ +span.fsi { color:#808080; } + +/* omitted */ +span.omitted { + background:#3c4e52; + border-radius:5px; + color:#808080; + padding:0px 0px 1px 0px; +} +/* tool tip */ +div.tip { + background:#475b5f; + border-radius:4px; + font:11pt 'Droid Sans', arial, sans-serif, 'MS Meiryo'; + padding:6px 8px 6px 8px; + display:none; + color:#d1d1d1; +} +table.pre pre { + padding:0px; + margin:0px; + border:none; +} +table.pre, pre.fssnip, pre { + line-height:13pt; + border:1px solid #d8d8d8; + border-collapse:separate; + white-space:pre; + font: 9pt 'Droid Sans Mono',consolas,monospace,'MS Meiryo'; + width:90%; + margin:10px 20px 20px 20px; + background-color:#212d30; + padding:10px; + border-radius:5px; + color:#d1d1d1; +} +table.pre pre { + padding:0px; + margin:0px; + border-radius:0px; + width: 100%; +} +table.pre td { + padding:0px; + white-space:normal; + margin:0px; +} +table.pre td.lines { + width:30px; +} + +/*-------------------------------------------------------------------------- + Formatting for page & standard document content +/*--------------------------------------------------------------------------*/ + +body { + font-family: Gudea, serif, 'MS Meiryo'; + padding-top: 0px; + padding-bottom: 40px; +} + +pre { + word-wrap: inherit; +} + +/* Format the heading - nicer spacing etc. */ +.masthead { + overflow: hidden; +} +.masthead ul, .masthead li { + margin-bottom:0px; +} +.masthead .nav li { + margin-top: 15px; + font-size:110%; +} +.masthead h3 { + margin-bottom:5px; + font-size:170%; +} +hr { + margin:0px 0px 20px 0px; +} + +/* Make table headings and td.title bold */ +td.title, thead { + font-weight:bold; +} + +/* Format the right-side menu */ +#menu { + margin-top:50px; + font-size:11pt; + padding-left:20px; +} + +#menu .nav-header { + font-size:12pt; + color:#606060; + margin-top:20px; +} + +#menu li { + line-height:25px; +} + +/* Change font sizes for headings etc. */ +#main h1 { font-size: 26pt; margin:10px 0px 15px 0px; } +#main h2 { font-size: 20pt; margin:20px 0px 0px 0px; } +#main h3 { font-size: 14pt; margin:15px 0px 0px 0px; } +#main p { font-size: 12pt; margin:5px 0px 15px 0px; } +#main ul { font-size: 12pt; margin-top:10px; } +#main li { font-size: 12pt; margin: 5px 0px 5px 0px; } + +/*-------------------------------------------------------------------------- + Formatting for API reference +/*--------------------------------------------------------------------------*/ + +.type-list .type-name, .module-list .module-name { + width:25%; + font-weight:bold; +} +.member-list .member-name { + width:35%; +} +#main .xmldoc h2 { + font-size:14pt; + margin:10px 0px 0px 0px; +} +#main .xmldoc h3 { + font-size:12pt; + margin:10px 0px 0px 0px; +} +/*-------------------------------------------------------------------------- + Additional formatting for the homepage +/*--------------------------------------------------------------------------*/ + +#nuget { + margin-top:20px; + font-size: 11pt; + padding:20px; +} + +#nuget pre { + font-size:11pt; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; + background: #404040; + border-style:none; + color: #e0e0e0; + margin-top:15px; +} + +/* Hide snippets on the home page snippet & nicely format table */ +#hp-snippet td.lines { + display: none; +} +#hp-snippet .table { + width:80%; + margin-left:30px; +} diff --git a/docsrc/files/images/en.png b/docsrc/files/images/en.png new file mode 100644 index 0000000000000000000000000000000000000000..a6568bf9680d6e0fa2f0f637949357718c0f7c59 GIT binary patch literal 842 zcmV-Q1GW5#P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A0008HNklC<1oes#{+BxIPu zqn(O`Ql4MFa#Tn6sJ71Aqetbe3z22{bkmBP7GCY_K4E9~Y||!&D?NQDt!S_U<8YNo(Y@{221k7{ZG(fgxEWi0dIQrd16+ZL=p7Z`LkGxPh4mp^~~X3%o0 z*t~GvxuBrS>FM8}J^T6lciYqr{Ca7)4C2;GDX5!&wX638(E9c3f!1HR_P{Enk%3Dq zm0K&dpl;rkuAbx8HqX|r13B&5ee-~NG=roq3p8EJw=7t9E-?6VTH3c~&wjyd<j?AB`6$hY@UI`;nIyqR>9D402#D# z*XfNrp=k5&GhaS_da-Tmt9|=`O8@`=|MlKIxIrJUT?6_B=zXC0@85s6?>`6ExM|lJ zhMRSDH*0Hgp=*VO5QBgrh$e-MZq?T@9M#f>D5V4))6u1pLE1VDH_A$Hl;T9dWCBro zIUx~E3I&ywG3+^VY4>3e+H?5Q-XoX4egE2Nk^xn^OxI&w_v7h1MljS7j6SBd$E1n z30u2sEp3%8i+FT^Suc%2#j#}Df%71ToH%jX)%9vwSt@`m3?6mxR09}b> U7pLs?uK)l507*qoM6N<$g4Q{j`v3p{ literal 0 HcmV?d00001 diff --git a/docsrc/files/images/ja.png b/docsrc/files/images/ja.png new file mode 100644 index 0000000000000000000000000000000000000000..14639e2db0f81e802d3bcb90dc9574fe1bc34f92 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^5anMprBNVYeY$Kep*R+Vo@qXKw@TIiJqTph(ejM zo~fRpq5EeibD*kyo-U3d7XEuD7;?232)HhOpsRD_l-v8=p;p?CF5do1-@3{#+|=h& zJejv>LaMyH(#anl`!Z%d6Xj81;$~$&Y47^l>-3@feD7Qyd!%|g&C%qNV!QYMfOeCr z=ZzxOzLl?kTsfk>O6zcu>iL%z6%L1WZ<$3eG&*my_@UUsgxB>`GapIvZs%AK>)p6S z^Q|?1Mulr_{kGN7i#lG-^7q}NbYa_+)SQE{GGYblOcflrT=nnAEvZnbI_B>h literal 0 HcmV?d00001 diff --git a/docsrc/files/images/logo.png b/docsrc/files/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7b823ec9ab200214508c5d5c5c80c1d4440738 GIT binary patch literal 4357 zcmd^C_ct4k7uC|*Gj^@SD5V2Y+MD$Ve0l6%`c~9UcAglq) z=cCc+&!0aR6ciK|78Vs16&Dwml$4Z~mX?*3VKA8T^74v`ipt8$FJHb?RaI42SJ%|k z)YjJ4)z#J4*EcjYG&VLiH8p+x`n9>axuvD0wYBxzw{LB2ZSC#t9UUFtzkkPKv7Mcr zU0q$>-Q7JsJvbb$x3{;iukXi?AN~FP0|NttgM&juLqC81{PpYC@bK`+$jI;Czeh($ z$HvC~{P{CJK0YxqF*!LoH8nLoJ&niXXJ%$*XJ_Z;<_HAB{QUgF!ouR>;?mL*kw{!# zUS3&QSzTRSTU%RSU*Fi+*xcOw`}gnG*4Fm+_Rh}E?(Xj1-roNH{=vb)zkmM@4-b!y zj*gFyPfkuwPfyRz&d$%zFD@=FFE6jIuCBM@|2!mrWPiFI0i~Oou_p-$UFUzefpaaf zzBbvtUKn}3cD3>HvGjOH;$~^@;`PAgofjYY!J`L~AD2_LuP@Kxr7}d%*Zgnxi3#8( zXUK1$0yc*2X*qujoFMm^)K>ysB9jx@9EA>RlnKd0=TYQ9SQ%XD7zG5@&QmiB+6BxE zeTXGnL;J^<5=w@G`mQ71f%@Fe&rkZag7%Vf*`xby`hSF7Y1yiCIyEe0uDR-t_=ANP z+A_(5i$w)1#ydevn6CAUN6sJLr^YJ!j7ryhihSXlzf zaQ|i=XV%iM$6DzFnpM9sL*HmhKLM!Ma&huNlc-t2!v|{o0B-t*m$wT{$js=AQ1xN) zZ+K$eV)^VX&_tc4hgpIMq6S#*L756Q5~Y8$bBZTFL5`}ki*sI&n_ju=hmb!{3B~WO zgN~|7av`jQ_%n*q?a*kW--u2)Lp7Q*j$8x_7Qau?M}#n1rl+xJ68G~^M*WE2@O#%j z@X^2qgv~OYofolmXc1}DjhKTAS}`VdYQI7_cF)(%?A+~Os+Lk16K}@mB6Vb9m82LS zup&na{EuIU3f55Hi?uvBPnbghtr+8EpsOI7I6A=ceyflkBQoL%##|GS5m_kft04?x z-6w#7FW7n5pdX8N(ilKu^h!8-E;@i|S0azBP#Q(&V!Kd)TUs87hQ0>K5tl=$t4bZP zno%N}9;s>&L@a$htk$Gmr=eGG?YkLnO=V0}efpg2CN*)V(E_aT7*UI`@O?Byr}p(- zi>ua$qg#pxO@uOwIw-n}IFFy&a~k1Ip%8DRt&B!?BDQuN$OS$(`G4obMnlyYV=5^- z;nh{%ayLUMa^zHK!B2&D{U&O7LllxzkrjGijfI1%ckdw=Ft9?RFBrPY18*03SU^}s ztmAxJZjN**NuNyHh=yc*w!5WPIIVrb-u61)hD0xk5TYi>UBJEi?beu~crEh?O^6Ma z!4J({H3zh24Tqi9@s(v-LfWWyqa z(Cvfonbu<;nNgOWPDs};cU}omxhOKO8H9Dc;fiSfd@uzxj!SIGQJ9lB=GS=y&_&!8 z^JgfFT_94At#EUtlHLf;y<91zbx@3S3-{T`TW6>D1e!%l1Dt!1XwLjNnui!9S8VQ&2r!ap$fq@CbJFzC_*yJh*tmm?to@c20M3!>_bPYU}<`xIQ)rzk;K?%5eKmf^0Wi?w`- zF}Jr~RuU7vj7y{c%p4dmcU%PZl{!o7rr7jR#W%pzhPC7?8 z)V8zg9^-Ypv8Yp%r11!a>H^G~k=7FyaQ!oa0dtuDO86)BYpj@9Q2ec;pW>-SHCkat z{D$+-Z*OPFSSCfP?Xg`Ns2;c=`jvsbJ zUZSYJ)3~Pzu6O66kG4bjh?{C8%Y!NLuLv(9nV7s$@$GK_IbTR+*v@_=Zk?M-9>0H)$hf!J-o=%uo z^>WnxK-xMZrM7f!S6Xe%f^X8#K+)Q)=+JNvx;^_Yxz9#(Z8&v5KH@uGrPopTuygeC zM{qDevMR|$vV5#)$x+3*jL*sN@uaqF;072ciF^AHcsJZYSa;+<0ssf4}B9IT*yNN*UNC` z^Evk{1iC<`q8|2`M>}uC7Hh`}z22qoV-nA~yd`2KOfrhZ_R%a>Y&7#2+j#G!25i z=)QejCX-*&gJyDA$>uq;kxh4`yt-JNTUoJH@z<;<#FVo~G-~fiM{R^U{$qPTHx4mJ zU^@ZP!{euH$oJaM#^I~J;I7*CPYfK=c@(ryg?$=ecX{k`x9=A(iTcy_QBm&>&@G^k zX_>z-ixLZB_HVxXD`Tc5J_)yBZm@o6t9+@C7c}(lZ!U2poY+W=CjH}KV!5r%eJVqC z%TAlt7$&nN`KPumX$jPHYlOMy#UR&)JcJS|&y?$NC}=}29!#>=RifOJ=!!3M`jj$+FO}jY!}d7}5W7)v!!P@P z1_N>A=WedR5z1k^h%82lZAC@)IrS#7

`_JCL4E_K8DP`f!J&tudMLi;0D zfai6RrtbI#V-N$WIc>qO9a+3sB`HQhh3a8-f#|5I(F`!mZ=4Sm+gPkSTBRGNLhcIK zMYMxK58tBl>_U6qd#9zd_NF^{6^DM9wMr_Q#k*?FvWK%U62oeS_Onid<-?6-(PJSf~!VJ9TvCa zPrLj_$woXGCb}PfO2)G>(AHBue5$jlXYNlyR8B)5nr5icHoHghnZ=thZwwo$^X@OC7#Aqo_&KWb$(uS zCF227)bbzFSR+Em;(Oo+&zdPYDL(K&)(o?jxrJ-myPN0BvRCY|rJEfLnE%p4)*M~n zo>f>WW3w)@^2NSsDzZM+WFnpX{yp|$yqvS?nDI-V)NJuXa-C4F%`APIIk$@0VHJD( z->O*HZZe@kVI`!8gy7e#Be^v{b(GP1pZLs%%dFvkH;#dM4n8;#H(n1*8);s`f$k!q zHN!FPOnwdRL4t*oE0y+MuSvy7kxq?_=MXv|*&Z$c*B`$v7_gWg)FXXjevqeH9KRQT zljQ_wr}YY^WHysf)PMuXJ4A3>b#c+3+2@EbJ>Qd5-^5ZFc*+X1kYD1^()8?0_z2Dd zWcNnVK?|fV_EC3?tPfT!PEdBG-!CCouVb21(Dpy={g${Ks^bqQQwrH5PkCACr9x&vYre|d6G z^KCsjYci1=MW@eB@Cp}@kb#kmo>=MaVyU34PA^6i7pE_theJ%uoa#TkmY0^#GA?cNU4r?4Xd~JP4Ue@O%0WN#+QuSP$N+<3zylYfs=ZBZvv_1-nBB; z*N$4&0dxnu{i<`OdP~dETVITo1mx)yW*AR_;@Q2$_xE!Zteyh@7Jt0^Q&|onkXQ~W z`4$Cy9p=%et5g}EyMM&W8pc%X3p;)OG=qT{t$ihIf6r>W=k7gM4JtdqS5M@1IHb04 z6R*{KSQtoHbBorbtfeIY2M5|&uJQ!9H_ePz@= u;>9(>=#Ys?Nv~N+cPOZ9%hyE=9tH=}fa>E=2Y~-R)|W3dl`9o3!u|)^{t?{( literal 0 HcmV?d00001 diff --git a/docs/tools/generate.fsx b/docsrc/tools/generate.fsx similarity index 87% rename from docs/tools/generate.fsx rename to docsrc/tools/generate.fsx index a702cdd0e0..f6aece3d80 100644 --- a/docs/tools/generate.fsx +++ b/docsrc/tools/generate.fsx @@ -1,6 +1,6 @@ // -------------------------------------------------------------------------------------- -// Builds the documentation from `.fsx` and `.md` files in the 'docs/content' directory -// (the generated documentation is stored in the 'docs/output' directory) +// Builds the documentation from `.fsx` and `.md` files in the 'docsrc/content' directory +// (the generated documentation is stored in the 'docs' directory) // -------------------------------------------------------------------------------------- // Binaries that have XML documentation (in a corresponding generated XML file) @@ -29,18 +29,12 @@ open Fake.FileHelper open FSharp.Literate open FSharp.MetadataFormat -// When called from 'build.fsx', use the public project URL as -// otherwise, use the current 'output' directory. -#if RELEASE -let root = website -#else -let root = "file://" + (__SOURCE_DIRECTORY__ @@ "../output") -#endif +let root = "." // Paths with template/source/output locations let bin = __SOURCE_DIRECTORY__ @@ "../../bin/v4.5" let content = __SOURCE_DIRECTORY__ @@ "../content" -let output = __SOURCE_DIRECTORY__ @@ "../output" +let output = __SOURCE_DIRECTORY__ @@ "../../docs" let files = __SOURCE_DIRECTORY__ @@ "../files" let templates = __SOURCE_DIRECTORY__ @@ "templates" let formatting = __SOURCE_DIRECTORY__ @@ "../../packages/FSharp.Formatting/" @@ -68,7 +62,7 @@ let buildReference () = sourceRepo = "https://github.com/fsharp/FSharp.Compiler.Service/tree/master/src", sourceFolder = @"..\..\src" ) -// Build documentation from `fsx` and `md` files in `docs/content` +// Build documentation from `fsx` and `md` files in `docsrc/content` let buildDocumentation () = let subdirs = Directory.EnumerateDirectories(content, "*", SearchOption.AllDirectories) for dir in Seq.append [content] subdirs do diff --git a/docs/tools/generate.ja.fsx b/docsrc/tools/generate.ja.fsx similarity index 92% rename from docs/tools/generate.ja.fsx rename to docsrc/tools/generate.ja.fsx index 8080d18139..28c18f6cbc 100644 --- a/docs/tools/generate.ja.fsx +++ b/docsrc/tools/generate.ja.fsx @@ -1,6 +1,6 @@ // -------------------------------------------------------------------------------------- -// Builds the documentation from `.fsx` and `.md` files in the 'docs/content' directory -// (the generated documentation is stored in the 'docs/output' directory) +// Builds the documentation from `.fsx` and `.md` files in the 'docsrc/content' directory +// (the generated documentation is stored in the 'docs' directory) // -------------------------------------------------------------------------------------- // Binaries that have XML documentation (in a corresponding generated XML file) @@ -49,8 +49,8 @@ let root = "file://" + (__SOURCE_DIRECTORY__ @@ "../output/ja") // Paths with template/source/output locations let bin = __SOURCE_DIRECTORY__ @@ "../../bin/v4.5" let content = __SOURCE_DIRECTORY__ @@ "../content/ja" -let output = __SOURCE_DIRECTORY__ @@ "../output" -let outputJa = __SOURCE_DIRECTORY__ @@ "../output/ja" +let output = __SOURCE_DIRECTORY__ @@ "../../docs" +let outputJa = __SOURCE_DIRECTORY__ @@ "../../docs/ja" let files = __SOURCE_DIRECTORY__ @@ "../files" let templates = __SOURCE_DIRECTORY__ @@ "templates/ja" let reference = __SOURCE_DIRECTORY__ @@ "reference" @@ -71,7 +71,7 @@ let copyFiles () = CopyRecursive (formatting @@ "styles") (output @@ "content") true |> Log "Copying styles and scripts: " -// Build documentation from `fsx` and `md` files in `docs/content` +// Build documentation from `fsx` and `md` files in `docsrc/content` let buildDocumentation () = let subdirs = Directory.EnumerateDirectories(content, "*", SearchOption.AllDirectories) |> Seq.filter (fun x -> x.Contains "ja") diff --git a/docs/tools/templates/ja/template.cshtml b/docsrc/tools/templates/ja/template.cshtml similarity index 100% rename from docs/tools/templates/ja/template.cshtml rename to docsrc/tools/templates/ja/template.cshtml diff --git a/docs/tools/templates/template.cshtml b/docsrc/tools/templates/template.cshtml similarity index 100% rename from docs/tools/templates/template.cshtml rename to docsrc/tools/templates/template.cshtml