diff options
76 files changed, 1114 insertions, 183 deletions
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 1ecc5a4..42f8195 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -135,6 +135,8 @@ If you would prefer to use different terms, please use the section below instead | [@adnelson](https://github.com/adnelson) | Allen Nelson | [MIT license](http://opensource.org/licenses/MIT) | | [@dyerw](https://github.com/dyerw) | Liam Dyer | [MIT license](http://opensource.org/licenses/MIT) | | [@marcosh](https://github.com/marcosh) | Marco Perone | [MIT license](http://opensource.org/licenses/MIT) | +| [@matthew-hilty](https://github.com/matthew-hilty) | Matthew Hilty | [MIT license](http://opensource.org/licenses/MIT) | +| [@woody88](https://github.com/woody88) | Woodson Delhia | [MIT license](http://opensource.org/licenses/MIT) | ### Contributors using Modified Terms @@ -17,6 +17,7 @@ PureScript uses the following Haskell library packages. Their license files foll Cabal Glob SHA + StateVar aeson aeson-better-errors aeson-pretty @@ -33,6 +34,7 @@ PureScript uses the following Haskell library packages. Their license files foll base-orphans base64-bytestring basement + bifunctors binary blaze-builder blaze-html @@ -48,10 +50,12 @@ PureScript uses the following Haskell library packages. Their license files foll cheapskate clock colour + comonad conduit conduit-extra constraints containers + contravariant cookie cryptonite css-text @@ -63,6 +67,7 @@ PureScript uses the following Haskell library packages. Their license files foll data-ordlist deepseq directory + distributive dlist easy-file edit-distance @@ -121,6 +126,8 @@ PureScript uses the following Haskell library packages. Their license files foll resourcet safe scientific + semialign + semigroupoids semigroups shelly simple-sendfile @@ -139,6 +146,7 @@ PureScript uses the following Haskell library packages. Their license files foll terminfo text th-abstraction + these time time-locale-compat transformers @@ -265,6 +273,38 @@ SHA LICENSE file: ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +StateVar LICENSE file: + + Copyright (c) 2014-2015, Edward Kmett + Copyright (c) 2009-2018, Sven Panne + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the author nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + aeson LICENSE file: Copyright (c) 2011, MailRank, Inc. @@ -842,6 +882,35 @@ basement LICENSE file: OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +bifunctors LICENSE file: + + Copyright 2008-2016 Edward Kmett + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + binary LICENSE file: Copyright (c) Lennart Kolmodin @@ -1317,6 +1386,36 @@ colour LICENSE file: OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +comonad LICENSE file: + + Copyright 2008-2014 Edward Kmett + Copyright 2004-2008 Dave Menendez + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + conduit LICENSE file: Copyright (c) 2012 Michael Snoyman, http://www.yesodweb.com/ @@ -1426,6 +1525,39 @@ containers LICENSE file: OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +contravariant LICENSE file: + + Copyright 2007-2015 Edward Kmett + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the author nor the names of his contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + cookie LICENSE file: Copyright (c) 2010 Michael Snoyman, http://www.yesodweb.com/ @@ -1769,6 +1901,35 @@ directory LICENSE file: ----------------------------------------------------------------------------- +distributive LICENSE file: + + Copyright 2011-2016 Edward Kmett + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + dlist LICENSE file: Copyright (c) 2006-2009 Don Stewart, 2013-2016 Sean Leather @@ -3695,6 +3856,68 @@ scientific LICENSE file: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +semialign LICENSE file: + + Copyright (c) 2012, C. McCann, 2015-2019 Oleg Grenrus + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of C. McCann nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +semigroupoids LICENSE file: + + Copyright 2011-2015 Edward Kmett + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + semigroups LICENSE file: Copyright 2011-2015 Edward Kmett @@ -4290,6 +4513,39 @@ th-abstraction LICENSE file: TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +these LICENSE file: + + Copyright (c) 2012, C. McCann, 2015-2019 Oleg Grenrus + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of C. McCann nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + time LICENSE file: TimeLib is Copyright (c) Ashley Yakeley, 2004-2014. All rights reserved. diff --git a/purescript.cabal b/purescript.cabal index 15d1c1e..fba9991 100644 --- a/purescript.cabal +++ b/purescript.cabal @@ -1,6 +1,6 @@ cabal-version: 1.12 name: purescript -version: 0.13.3 +version: 0.13.4 license: BSD3 license-file: LICENSE copyright: (c) 2013-17 Phil Freeman, (c) 2014-19 Gary Burgess, (c) other contributors (see CONTRIBUTORS.md) @@ -23,6 +23,8 @@ extra-source-files: bundle/build.sh bundle/README tests/purs/bundle/3551/ModuleWithDeadCode.js + tests/purs/bundle/3727.js + tests/purs/bundle/ObjectShorthand.js tests/purs/failing/MissingFFIImplementations.js tests/purs/passing/2172.js tests/purs/passing/EffFn.js @@ -33,6 +35,8 @@ extra-source-files: tests/purs/warning/UnusedFFIImplementations.js tests/purs/bundle/3551.purs tests/purs/bundle/3551/ModuleWithDeadCode.purs + tests/purs/bundle/3727.purs + tests/purs/bundle/ObjectShorthand.purs tests/purs/bundle/PSasConstructor.purs tests/purs/docs/bower_components/purescript-newtype/src/Data/Newtype.purs tests/purs/docs/bower_components/purescript-prelude/src/Prelude.purs @@ -400,6 +404,7 @@ extra-source-files: tests/purs/passing/3410.purs tests/purs/passing/3481.purs tests/purs/passing/3549.purs + tests/purs/passing/3558-UpToDateDictsForHigherOrderFns.purs tests/purs/passing/3595.purs tests/purs/passing/652.purs tests/purs/passing/810.purs @@ -710,6 +715,9 @@ extra-source-files: tests/purs/warning/ImplicitImport.purs tests/purs/warning/ImplicitQualifiedImport.purs tests/purs/warning/ImplicitQualifiedImportReExport.purs + tests/purs/warning/Kind-UnusedExplicitImport-1.purs + tests/purs/warning/Kind-UnusedExplicitImport-2.purs + tests/purs/warning/Kind-UnusedImport.purs tests/purs/warning/MissingTypeDeclaration.purs tests/purs/warning/NewtypeInstance.purs tests/purs/warning/NewtypeInstance2.purs @@ -737,6 +745,7 @@ extra-source-files: tests/purs/docs/bower.json tests/purs/docs/output/Ado/docs.json tests/purs/docs/output/Ado/externs.json + tests/purs/docs/output/cache-db.json tests/purs/docs/output/ChildDeclOrder/docs.json tests/purs/docs/output/ChildDeclOrder/externs.json tests/purs/docs/output/Clash/docs.json @@ -1090,6 +1099,7 @@ library Language.PureScript.Make Language.PureScript.Make.Actions Language.PureScript.Make.BuildPlan + Language.PureScript.Make.Cache Language.PureScript.Make.Monad Language.PureScript.ModuleDependencies Language.PureScript.Names @@ -1145,11 +1155,11 @@ library Paths_purescript default-language: Haskell2010 default-extensions: ConstraintKinds DataKinds DeriveFunctor - DeriveFoldable DeriveTraversable DeriveGeneric EmptyDataDecls - FlexibleContexts KindSignatures LambdaCase MultiParamTypeClasses - NoImplicitPrelude PatternGuards PatternSynonyms RankNTypes - RecordWildCards OverloadedStrings ScopedTypeVariables TupleSections - ViewPatterns + DeriveFoldable DeriveTraversable DeriveGeneric DerivingStrategies + EmptyDataDecls FlexibleContexts KindSignatures LambdaCase + MultiParamTypeClasses NoImplicitPrelude PatternGuards + PatternSynonyms RankNTypes RecordWildCards OverloadedStrings + ScopedTypeVariables TupleSections ViewPatterns ghc-options: -Wall -O2 build-depends: Cabal >=2.2 && <2.5, @@ -1168,6 +1178,7 @@ library cheapskate ==0.1.*, clock <0.8, containers <0.7, + cryptonite ==0.25.*, data-ordlist >=0.4.7.0 && <0.5, deepseq <1.5, directory >=1.2.3 && <1.4, @@ -1177,9 +1188,10 @@ library filepath <1.5, fsnotify >=0.2.1 && <0.4, haskeline >=0.7.0.0 && <0.8, - language-javascript >=0.6.0.13 && <0.7, + language-javascript >=0.7.0.0 && <0.8, lifted-async >=0.10.0.3 && <0.10.1, lifted-base ==0.2.3.*, + memory ==0.14.*, microlens-platform >=0.3.9.0 && <0.4, monad-control >=1.0.0.0 && <1.1, monad-logger ==0.3.*, @@ -1192,6 +1204,7 @@ library regex-tdfa <1.3, safe >=0.3.9 && <0.4, scientific >=0.3.4.9 && <0.4, + semialign >=1 && <1.1, semigroups >=0.16.2 && <0.19, sourcemap >=0.1.6 && <0.2, split <0.3, @@ -1199,6 +1212,7 @@ library stringsearch <0.4, syb <0.8, text <1.3, + these >=1 && <1.1, time <1.9, transformers >=0.3.0 && <0.6, transformers-base >=0.4.0 && <0.5, @@ -1244,6 +1258,7 @@ executable purs cheapskate ==0.1.*, clock <0.8, containers <0.7, + cryptonite ==0.25.*, data-ordlist >=0.4.7.0 && <0.5, deepseq <1.5, directory >=1.2.3 && <1.4, @@ -1254,9 +1269,10 @@ executable purs fsnotify >=0.2.1 && <0.4, haskeline >=0.7.0.0 && <0.8, http-types <0.13, - language-javascript >=0.6.0.13 && <0.7, + language-javascript >=0.7.0.0 && <0.8, lifted-async >=0.10.0.3 && <0.10.1, lifted-base ==0.2.3.*, + memory ==0.14.*, microlens-platform >=0.3.9.0 && <0.4, monad-control >=1.0.0.0 && <1.1, monad-logger ==0.3.*, @@ -1272,6 +1288,7 @@ executable purs regex-tdfa <1.3, safe >=0.3.9 && <0.4, scientific >=0.3.4.9 && <0.4, + semialign >=1 && <1.1, semigroups >=0.16.2 && <0.19, sourcemap >=0.1.6 && <0.2, split <0.3, @@ -1279,6 +1296,7 @@ executable purs stringsearch <0.4, syb <0.8, text <1.3, + these >=1 && <1.1, time <1.9, transformers >=0.3.0 && <0.6, transformers-base >=0.4.0 && <0.5, @@ -1321,6 +1339,7 @@ test-suite tests TestDocs TestHierarchy TestIde + TestMake TestPrimDocs TestPsci TestPsci.CommandTest @@ -1331,7 +1350,7 @@ test-suite tests TestUtils Paths_purescript default-language: Haskell2010 - default-extensions: NoImplicitPrelude + default-extensions: NoImplicitPrelude LambdaCase OverloadedStrings ghc-options: -Wall build-depends: Cabal >=2.2 && <2.5, @@ -1351,6 +1370,7 @@ test-suite tests cheapskate ==0.1.*, clock <0.8, containers <0.7, + cryptonite ==0.25.*, data-ordlist >=0.4.7.0 && <0.5, deepseq <1.5, directory >=1.2.3 && <1.4, @@ -1362,9 +1382,10 @@ test-suite tests haskeline >=0.7.0.0 && <0.8, hspec <2.7, hspec-discover <2.7, - language-javascript >=0.6.0.13 && <0.7, + language-javascript >=0.7.0.0 && <0.8, lifted-async >=0.10.0.3 && <0.10.1, lifted-base ==0.2.3.*, + memory ==0.14.*, microlens-platform >=0.3.9.0 && <0.4, monad-control >=1.0.0.0 && <1.1, monad-logger ==0.3.*, @@ -1378,6 +1399,7 @@ test-suite tests regex-tdfa <1.3, safe >=0.3.9 && <0.4, scientific >=0.3.4.9 && <0.4, + semialign >=1 && <1.1, semigroups >=0.16.2 && <0.19, sourcemap >=0.1.6 && <0.2, split <0.3, @@ -1389,6 +1411,7 @@ test-suite tests tasty-hspec <1.2, tasty-quickcheck <0.11, text <1.3, + these >=1 && <1.1, time <1.9, transformers >=0.3.0 && <0.6, transformers-base >=0.4.0 && <0.5, diff --git a/src/Language/PureScript/AST/Declarations.hs b/src/Language/PureScript/AST/Declarations.hs index 93f8d87..557cb51 100644 --- a/src/Language/PureScript/AST/Declarations.hs +++ b/src/Language/PureScript/AST/Declarations.hs @@ -75,9 +75,7 @@ data SimpleErrorMessage | MissingFFIImplementations ModuleName [Ident] | UnusedFFIImplementations ModuleName [Ident] | InvalidFFIIdentifier ModuleName Text - | CannotGetFileInfo FilePath - | CannotReadFile FilePath - | CannotWriteFile FilePath + | FileIOError Text IOError -- ^ A description of what we were trying to do, and the error which occurred | InfiniteType SourceType | InfiniteKind SourceKind | MultipleValueOpFixities (OpName 'ValueOpName) @@ -151,7 +149,7 @@ data SimpleErrorMessage | IncompleteExhaustivityCheck | MisleadingEmptyTypeImport ModuleName (ProperName 'TypeName) | ImportHidingModule ModuleName - | UnusedImport ModuleName + | UnusedImport ModuleName (Maybe ModuleName) | UnusedExplicitImport ModuleName [Name] (Maybe ModuleName) [DeclarationRef] | UnusedDctorImport ModuleName (ProperName 'TypeName) (Maybe ModuleName) [DeclarationRef] | UnusedDctorExplicitImport ModuleName (ProperName 'TypeName) [ProperName 'ConstructorName] (Maybe ModuleName) [DeclarationRef] diff --git a/src/Language/PureScript/AST/Traversals.hs b/src/Language/PureScript/AST/Traversals.hs index 70543f8..4aaeeec 100644 --- a/src/Language/PureScript/AST/Traversals.hs +++ b/src/Language/PureScript/AST/Traversals.hs @@ -11,6 +11,7 @@ import Data.Foldable (fold) import Data.List (mapAccumL) import Data.Maybe (mapMaybe) import qualified Data.List.NonEmpty as NEL +import qualified Data.Map as M import qualified Data.Set as S import Language.PureScript.AST.Binders @@ -19,6 +20,7 @@ import Language.PureScript.AST.Literals import Language.PureScript.Kinds import Language.PureScript.Names import Language.PureScript.Traversals +import Language.PureScript.TypeClassDictionaries (TypeClassDictionaryInScope(..)) import Language.PureScript.Types guardedExprM :: Applicative m @@ -693,5 +695,12 @@ overTypes f = let (_, f', _) = everywhereOnValues id g id in f' where g :: Expr -> Expr g (TypedValue checkTy val t) = TypedValue checkTy val (f t) - g (TypeClassDictionary c sco hints) = TypeClassDictionary (mapConstraintArgs (fmap f) c) sco hints + g (TypeClassDictionary c sco hints) = + TypeClassDictionary + (mapConstraintArgs (fmap f) c) + (updateCtx sco) + hints g other = other + updateDict fn dict = dict { tcdInstanceTypes = fn (tcdInstanceTypes dict) } + updateScope = fmap . fmap . fmap . fmap $ updateDict $ fmap f + updateCtx = M.alter updateScope Nothing diff --git a/src/Language/PureScript/Bundle.hs b/src/Language/PureScript/Bundle.hs index 2fd4165..df746f3 100644 --- a/src/Language/PureScript/Bundle.hs +++ b/src/Language/PureScript/Bundle.hs @@ -270,7 +270,7 @@ withDeps (Module modulePath fn es) = Module modulePath fn (map expandDeps es) boundNames = mapMaybe toBoundName es where toBoundName :: ModuleElement -> Maybe String - toBoundName (Member _ _ nm _ _) = Just nm + toBoundName (Member _ Internal nm _ _) = Just nm toBoundName _ = Nothing -- | Calculate dependencies and add them to the current element. @@ -301,13 +301,33 @@ withDeps (Module modulePath fn es) = Module modulePath fn (map expandDeps es) -- bound to the module level (i.e., hasn't been shadowed by a function -- parameter) = ([(m, nm, Internal)], bn) + toReference (JSObjectLiteral _ props _) bn + = let + shorthandNames = + filter (`elem` bn) $ + -- ^ only add a dependency if this name is still in the list of + -- names bound to the module level (i.e., hasn't been shadowed by a + -- function parameter) + mapMaybe unPropertyIdentRef $ + trailingCommaList props + in + (map (\name -> (m, name, Internal)) shorthandNames, bn) toReference (JSFunctionExpression _ _ _ params _ _) bn - = ([], bn \\ (mapMaybe unIdent $ commaList params)) + = ([], bn \\ (mapMaybe unIdentifier $ commaList params)) + toReference e bn + | Just nm <- exportsAccessor e + -- ^ exports.foo means there's a dependency on the public member "foo" of + -- this module. + = ([(m, nm, Public)], bn) toReference _ bn = ([], bn) - unIdent :: JSIdent -> Maybe String - unIdent (JSIdentName _ name) = Just name - unIdent _ = Nothing + unIdentifier :: JSExpression -> Maybe String + unIdentifier (JSIdentifier _ name) = Just name + unIdentifier _ = Nothing + + unPropertyIdentRef :: JSObjectProperty -> Maybe String + unPropertyIdentRef (JSPropertyIdentRef _ name) = Just name + unPropertyIdentRef _ = Nothing -- String literals include the quote chars fromStringLiteral :: JSExpression -> Maybe String @@ -450,21 +470,22 @@ matchMember stmt = Just (Internal, name, decl) -- exports.foo = expr; exports["foo"] = expr; | JSAssignStatement e (JSAssign _) decl _ <- stmt - , Just name <- accessor e + , Just name <- exportsAccessor e = Just (Public, name, decl) | otherwise = Nothing - where - accessor :: JSExpression -> Maybe String - accessor (JSMemberDot exports _ nm) - | JSIdentifier _ "exports" <- exports - , JSIdentifier _ name <- nm - = Just name - accessor (JSMemberSquare exports _ nm _) - | JSIdentifier _ "exports" <- exports - , Just name <- fromStringLiteral nm - = Just name - accessor _ = Nothing + +-- Matches exports.* or exports["*"] expressions and returns the property name. +exportsAccessor :: JSExpression -> Maybe String +exportsAccessor (JSMemberDot exports _ nm) + | JSIdentifier _ "exports" <- exports + , JSIdentifier _ name <- nm + = Just name +exportsAccessor (JSMemberSquare exports _ nm _) + | JSIdentifier _ "exports" <- exports + , Just name <- fromStringLiteral nm + = Just name +exportsAccessor _ = Nothing -- Matches assignments to module.exports, like this: -- module.exports = { ... } @@ -757,7 +778,7 @@ codeGen optionsMainModule optionsNamespace ms outFileOpt = (fmap sourceMapping o iife :: [JSStatement] -> String -> JSExpression -> JSStatement iife body param arg = - JSMethodCall (JSExpressionParen lf (JSFunctionExpression JSNoAnnot JSIdentNone JSNoAnnot (JSLOne (JSIdentName JSNoAnnot param)) JSNoAnnot + JSMethodCall (JSExpressionParen lf (JSFunctionExpression JSNoAnnot JSIdentNone JSNoAnnot (JSLOne (JSIdentifier JSNoAnnot param)) JSNoAnnot (JSBlock sp (prependWhitespace "\n " body) lf)) JSNoAnnot) JSNoAnnot diff --git a/src/Language/PureScript/Errors.hs b/src/Language/PureScript/Errors.hs index cb4f460..1386ce6 100644 --- a/src/Language/PureScript/Errors.hs +++ b/src/Language/PureScript/Errors.hs @@ -10,6 +10,7 @@ import Prelude.Compat import Protolude (ordNub) import Control.Arrow ((&&&)) +import Control.Exception (displayException) import Control.Monad import Control.Monad.Error.Class (MonadError(..)) import Control.Monad.Trans.State.Lazy @@ -85,9 +86,7 @@ errorCode em = case unwrapErrorMessage em of MissingFFIImplementations{} -> "MissingFFIImplementations" UnusedFFIImplementations{} -> "UnusedFFIImplementations" InvalidFFIIdentifier{} -> "InvalidFFIIdentifier" - CannotGetFileInfo{} -> "CannotGetFileInfo" - CannotReadFile{} -> "CannotReadFile" - CannotWriteFile{} -> "CannotWriteFile" + FileIOError{} -> "FileIOError" InfiniteType{} -> "InfiniteType" InfiniteKind{} -> "InfiniteKind" MultipleValueOpFixities{} -> "MultipleValueOpFixities" @@ -465,17 +464,9 @@ prettyPrintSingleError (PPEOptions codeColor full level showDocs relPath) e = fl else "Make sure the source file exists, and that it has been provided as an input to the compiler." ] - renderSimpleErrorMessage (CannotGetFileInfo path) = - paras [ line "Unable to read file info: " - , indent . lineS $ path - ] - renderSimpleErrorMessage (CannotReadFile path) = - paras [ line "Unable to read file: " - , indent . lineS $ path - ] - renderSimpleErrorMessage (CannotWriteFile path) = - paras [ line "Unable to write file: " - , indent . lineS $ path + renderSimpleErrorMessage (FileIOError doWhat err) = + paras [ line $ "I/O error while trying to " <> doWhat + , indent . lineS $ displayException err ] renderSimpleErrorMessage (ErrorParsingFFIModule path extra) = paras $ [ line "Unable to parse foreign module:" @@ -897,8 +888,14 @@ prettyPrintSingleError (PPEOptions codeColor full level showDocs relPath) e = fl paras [ line "An exhaustivity check was abandoned due to too many possible cases." , line "You may want to decompose your data types into smaller types." ] - renderSimpleErrorMessage (UnusedImport name) = - line $ "The import of module " <> markCode (runModuleName name) <> " is redundant" + + renderSimpleErrorMessage (UnusedImport mn qualifier) = + let + mark = markCode . runModuleName + unqualified = "The import of " <> mark mn <> " is redundant" + msg' q = "The qualified import of " <> mark mn <> " as " <> mark q <> " is redundant" + msg = maybe unqualified msg' + in line $ msg qualifier renderSimpleErrorMessage msg@(UnusedExplicitImport mn names _ _) = paras [ line $ "The import of module " <> markCode (runModuleName mn) <> " contains the following unused references:" @@ -1190,11 +1187,17 @@ prettyPrintSingleError (PPEOptions codeColor full level showDocs relPath) e = fl printRow f t = markCodeBox $ indent $ f prettyDepth t -- If both rows are not empty, print them as diffs + -- If verbose print all rows else only print unique rows printRows :: Type a -> Type a -> (Box.Box, Box.Box) - printRows r1@RCons{} r2@RCons{} = let - (sorted1, sorted2) = filterRows (rowToList r1) (rowToList r2) - in (printRow typeDiffAsBox sorted1, printRow typeDiffAsBox sorted2) - printRows r1 r2 = (printRow typeAsBox r1, printRow typeAsBox r2) + printRows r1 r2 = case (full, r1, r2) of + (True, _ , _) -> (printRow typeAsBox r1, printRow typeAsBox r2) + + (_, RCons{}, RCons{}) -> + let (sorted1, sorted2) = filterRows (rowToList r1) (rowToList r2) + in (printRow typeDiffAsBox sorted1, printRow typeDiffAsBox sorted2) + + (_, _, _) -> (printRow typeAsBox r1, printRow typeAsBox r2) + -- Keep the unique labels only filterRows :: ([RowListItem a], Type a) -> ([RowListItem a], Type a) -> (Type a, Type a) diff --git a/src/Language/PureScript/Linter/Imports.hs b/src/Language/PureScript/Linter/Imports.hs index 3aa8bf6..7b1bbf0 100644 --- a/src/Language/PureScript/Linter/Imports.hs +++ b/src/Language/PureScript/Linter/Imports.hs @@ -279,7 +279,7 @@ lintImportDecl env mni qualifierName names ss declType allowImplicit = isMatch _ _ = False unused :: m Bool - unused = warn (UnusedImport mni) + unused = warn (UnusedImport mni qualifierName) warn :: SimpleErrorMessage -> m Bool warn err = tell (errorMessage' ss err) >> return True @@ -373,6 +373,7 @@ runDeclRef (ValueOpRef _ op) = Just $ ValOpName op runDeclRef (TypeRef _ pn _) = Just $ TyName pn runDeclRef (TypeOpRef _ op) = Just $ TyOpName op runDeclRef (TypeClassRef _ pn) = Just $ TyClassName pn +runDeclRef (KindRef _ pn) = Just $ KiName pn runDeclRef _ = Nothing checkDuplicateImports diff --git a/src/Language/PureScript/Make.hs b/src/Language/PureScript/Make.hs index f983266..3008930 100644 --- a/src/Language/PureScript/Make.hs +++ b/src/Language/PureScript/Make.hs @@ -22,7 +22,7 @@ import Data.Function (on) import Data.Foldable (for_) import Data.List (foldl', sortBy) import qualified Data.List.NonEmpty as NEL -import Data.Maybe (fromMaybe, mapMaybe) +import Data.Maybe (fromMaybe) import qualified Data.Map as M import qualified Data.Set as S import qualified Data.Text as T @@ -41,6 +41,7 @@ import Language.PureScript.Sugar import Language.PureScript.TypeChecker import Language.PureScript.Make.BuildPlan import qualified Language.PureScript.Make.BuildPlan as BuildPlan +import qualified Language.PureScript.Make.Cache as Cache import Language.PureScript.Make.Actions as Actions import Language.PureScript.Make.Monad as Monad import qualified Language.PureScript.CoreFn as CF @@ -99,18 +100,19 @@ rebuildModule MakeActions{..} externs m@(Module _ _ moduleName _ _) = do -- | Compiles in "make" mode, compiling each module separately to a @.js@ file and an @externs.json@ file. -- --- If timestamps have not changed, the externs file can be used to provide the module's types without --- having to typecheck the module again. +-- If timestamps or hashes have not changed, existing externs files can be used to provide upstream modules' types without +-- having to typecheck those modules again. make :: forall m. (Monad m, MonadBaseControl IO m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => MakeActions m -> [CST.PartialResult Module] -> m [ExternsFile] make ma@MakeActions{..} ms = do checkModuleNames + cacheDb <- readCacheDb (sorted, graph) <- sortModules (moduleSignature . CST.resPartial) ms - buildPlan <- BuildPlan.construct ma (sorted, graph) + (buildPlan, newCacheDb) <- BuildPlan.construct ma cacheDb (sorted, graph) let toBeRebuilt = filter (BuildPlan.needsRebuild buildPlan . getModuleName . CST.resPartial) sorted for_ toBeRebuilt $ \m -> fork $ do @@ -122,21 +124,31 @@ make ma@MakeActions{..} ms = do (deps `inOrderOf` map (getModuleName . CST.resPartial) sorted) -- Wait for all threads to complete, and collect results (and errors). - results <- BuildPlan.collectResults buildPlan + (failures, successes) <- + let + splitResults = \case + BuildJobSucceeded _ exts -> + Right exts + BuildJobFailed errs -> + Left errs + BuildJobSkipped -> + Left mempty + in + M.mapEither splitResults <$> BuildPlan.collectResults buildPlan + + -- Write the updated build cache database to disk + writeCacheDb $ Cache.removeModules (M.keysSet failures) newCacheDb -- All threads have completed, rethrow any caught errors. - let errors = mapMaybe buildJobFailure $ M.elems results + let errors = M.elems failures unless (null errors) $ throwError (mconcat errors) -- Here we return all the ExternsFile in the ordering of the topological sort, -- so they can be folded into an Environment. This result is used in the tests -- and in PSCI. let lookupResult mn = - snd - . fromMaybe (internalError "make: module's build job did not succeed") - . buildJobSuccess - . fromMaybe (internalError "make: module not found in results") - $ M.lookup mn results + fromMaybe (internalError "make: module not found in results") + $ M.lookup mn successes return (map (lookupResult . getModuleName . CST.resPartial) sorted) where diff --git a/src/Language/PureScript/Make/Actions.hs b/src/Language/PureScript/Make/Actions.hs index 8b54765..a8f6318 100644 --- a/src/Language/PureScript/Make/Actions.hs +++ b/src/Language/PureScript/Make/Actions.hs @@ -16,7 +16,7 @@ import Control.Monad.Reader (asks) import Control.Monad.Supply import Control.Monad.Trans.Class (MonadTrans(..)) import Control.Monad.Writer.Class (MonadWriter(..)) -import Data.Aeson (encode) +import qualified Data.Aeson as Aeson import Data.Bifunctor (bimap) import qualified Data.ByteString.Lazy as B import qualified Data.ByteString.Lazy as LB @@ -25,7 +25,7 @@ import Data.Either (partitionEithers) import Data.Foldable (for_, minimum) import qualified Data.List.NonEmpty as NEL import qualified Data.Map as M -import Data.Maybe (fromMaybe) +import Data.Maybe (fromMaybe, maybeToList) import qualified Data.Set as S import qualified Data.Text as T import qualified Data.Text.Encoding as TE @@ -44,6 +44,7 @@ import qualified Language.PureScript.CST as CST import qualified Language.PureScript.Docs.Types as Docs import Language.PureScript.Errors import Language.PureScript.Make.Monad +import Language.PureScript.Make.Cache import Language.PureScript.Names import Language.PureScript.Names (runModuleName, ModuleName) import Language.PureScript.Options hiding (codegenTargets) @@ -51,8 +52,8 @@ import Language.PureScript.Pretty.Common (SMap(..)) import qualified Paths_purescript as Paths import SourceMap import SourceMap.Types -import System.Directory (doesFileExist, getModificationTime, createDirectoryIfMissing, getCurrentDirectory) -import System.FilePath ((</>), takeDirectory, makeRelative, splitPath, normalise) +import System.Directory (getCurrentDirectory) +import System.FilePath ((</>), makeRelative, splitPath, normalise) -- | Determines when to rebuild a module data RebuildPolicy @@ -83,10 +84,10 @@ renderProgressMessage (CompilingModule mn) = "Compiling " ++ T.unpack (runModule -- -- * The details of how files are read/written etc. data MakeActions m = MakeActions - { getInputTimestamp :: ModuleName -> m (Either RebuildPolicy (Maybe UTCTime)) - -- ^ Get the timestamp for the input file(s) for a module. If there are multiple - -- files (@.purs@ and foreign files, for example) the timestamp should be for - -- the most recently modified file. + { getInputTimestampsAndHashes :: ModuleName -> m (Either RebuildPolicy (M.Map FilePath (UTCTime, m ContentHash))) + -- ^ Get the timestamps and content hashes for the input files for a module. + -- The content hash is returned as a monadic action so that the file does not + -- have to be read if it's not necessary. , getOutputTimestamp :: ModuleName -> m (Maybe UTCTime) -- ^ Get the timestamp for the output files for a module. This should be the -- timestamp for the oldest modified file, or 'Nothing' if any of the required @@ -100,6 +101,12 @@ data MakeActions m = MakeActions -- ^ Check ffi and print it in the output directory. , progress :: ProgressMessage -> m () -- ^ Respond to a progress update. + , readCacheDb :: m CacheDb + -- ^ Read the cache database (which contains timestamps and hashes for input + -- files) from some external source, e.g. a file on disk. + , writeCacheDb :: CacheDb -> m () + -- ^ Write the given cache database to some external source (e.g. a file on + -- disk). } -- | A set of make actions that read and write modules from the given directory. @@ -114,15 +121,24 @@ buildMakeActions -- ^ Generate a prefix comment? -> MakeActions Make buildMakeActions outputDir filePathMap foreigns usePrefix = - MakeActions getInputTimestamp getOutputTimestamp readExterns codegen ffiCodegen progress + MakeActions getInputTimestampsAndHashes getOutputTimestamp readExterns codegen ffiCodegen progress readCacheDb writeCacheDb where - getInputTimestamp :: ModuleName -> Make (Either RebuildPolicy (Maybe UTCTime)) - getInputTimestamp mn = do + getInputTimestampsAndHashes + :: ModuleName + -> Make (Either RebuildPolicy (M.Map FilePath (UTCTime, Make ContentHash))) + getInputTimestampsAndHashes mn = do let path = fromMaybe (internalError "Module has no filename in 'make'") $ M.lookup mn filePathMap - e1 <- traverse getTimestamp path - fPath <- maybe (return Nothing) getTimestamp $ M.lookup mn foreigns - return $ fmap (max fPath) e1 + case path of + Left policy -> + return (Left policy) + Right filePath -> do + let inputPaths = filePath : maybeToList (M.lookup mn foreigns) + getInfo fp = do + ts <- getTimestamp fp + return (ts, hash <$> readTextFile fp) + pathsWithInfo <- traverse (\fp -> (fp,) <$> getInfo fp) inputPaths + return $ Right $ M.fromList pathsWithInfo outputFilename :: ModuleName -> String -> FilePath outputFilename mn fn = @@ -140,7 +156,7 @@ buildMakeActions outputDir filePathMap foreigns usePrefix = getOutputTimestamp mn = do codegenTargets <- asks optionsCodegenTargets let outputPaths = [outputFilename mn "externs.json"] <> fmap (targetFilename mn) (S.toList codegenTargets) - timestamps <- traverse getTimestamp outputPaths + timestamps <- traverse getTimestampMaybe outputPaths pure $ fmap minimum . NEL.nonEmpty =<< sequence timestamps readExterns :: ModuleName -> Make (FilePath, Externs) @@ -156,7 +172,7 @@ buildMakeActions outputDir filePathMap foreigns usePrefix = when (S.member CoreFn codegenTargets) $ do let coreFnFile = targetFilename mn CoreFn json = CFJ.moduleToJSON Paths.version m - lift $ writeTextFile coreFnFile (encode json) + lift $ writeTextFile coreFnFile (Aeson.encode json) when (S.member JS codegenTargets) $ do foreignInclude <- case mn `M.lookup` foreigns of Just _ @@ -167,7 +183,7 @@ buildMakeActions outputDir filePathMap foreigns usePrefix = Nothing | requiresForeign m -> throwError . errorMessage' (CF.moduleSourceSpan m) $ MissingFFIModule mn | otherwise -> return Nothing rawJs <- J.moduleToJs m foreignInclude - dir <- lift $ makeIO (const (ErrorMessage [] $ CannotGetFileInfo ".")) getCurrentDirectory + dir <- lift $ makeIO "get the current directory" getCurrentDirectory let sourceMaps = S.member JSSourceMap codegenTargets (pjs, mappings) = if sourceMaps then prettyPrintJSWithSourceMaps rawJs else (prettyPrintJS rawJs, []) jsFile = targetFilename mn JS @@ -179,7 +195,7 @@ buildMakeActions outputDir filePathMap foreigns usePrefix = writeTextFile jsFile (B.fromStrict $ TE.encodeUtf8 $ js <> mapRef) when sourceMaps $ genSourceMap dir mapFile (length prefix) mappings when (S.member Docs codegenTargets) $ do - lift $ writeTextFile (outputFilename mn "docs.json") (encode docs) + lift $ writeTextFile (outputFilename mn "docs.json") (Aeson.encode docs) ffiCodegen :: CF.Module CF.Ann -> Make () ffiCodegen m = do @@ -212,7 +228,7 @@ buildMakeActions outputDir filePathMap foreigns usePrefix = }) mappings } let mapping = generate rawMapping - writeTextFile mapFile (encode mapping) + writeTextFile mapFile (Aeson.encode mapping) where add :: Int -> Int -> SourcePos -> SourcePos add n m (SourcePos n' m') = SourcePos (n+n') (m+m') @@ -224,24 +240,17 @@ buildMakeActions outputDir filePathMap foreigns usePrefix = requiresForeign :: CF.Module a -> Bool requiresForeign = not . null . CF.moduleForeign - getTimestamp :: FilePath -> Make (Maybe UTCTime) - getTimestamp path = makeIO (const (ErrorMessage [] $ CannotGetFileInfo path)) $ do - exists <- doesFileExist path - if exists - then Just <$> getModificationTime path - else pure Nothing - - writeTextFile :: FilePath -> B.ByteString -> Make () - writeTextFile path text = makeIO (const (ErrorMessage [] $ CannotWriteFile path)) $ do - mkdirp path - B.writeFile path text - where - mkdirp :: FilePath -> IO () - mkdirp = createDirectoryIfMissing True . takeDirectory - progress :: ProgressMessage -> Make () progress = liftIO . putStrLn . renderProgressMessage + readCacheDb :: Make CacheDb + readCacheDb = fmap (fromMaybe mempty) $ readJSONFile cacheDbFile + + writeCacheDb :: CacheDb -> Make () + writeCacheDb = writeJSONFile cacheDbFile + + cacheDbFile = outputDir </> "cache-db.json" + -- | Check that the declarations in a given PureScript module match with those -- in its corresponding foreign module. checkForeignDecls :: CF.Module ann -> FilePath -> Make () diff --git a/src/Language/PureScript/Make/BuildPlan.hs b/src/Language/PureScript/Make/BuildPlan.hs index 7e4d81e..ebbe50d 100644 --- a/src/Language/PureScript/Make/BuildPlan.hs +++ b/src/Language/PureScript/Make/BuildPlan.hs @@ -15,12 +15,11 @@ import Prelude import Control.Concurrent.Async.Lifted as A import Control.Concurrent.Lifted as C import Control.Monad hiding (sequence) -import Control.Monad.Trans.Class (lift) import Control.Monad.Trans.Control (MonadBaseControl(..)) import Control.Monad.Trans.Maybe (MaybeT(..), runMaybeT) import Data.Foldable (foldl') import qualified Data.Map as M -import Data.Maybe (catMaybes, fromMaybe) +import Data.Maybe (fromMaybe, mapMaybe) import Data.Time.Clock (UTCTime) import Language.PureScript.AST import Language.PureScript.Crash @@ -28,6 +27,7 @@ import qualified Language.PureScript.CST as CST import Language.PureScript.Errors import Language.PureScript.Externs import Language.PureScript.Make.Actions as Actions +import Language.PureScript.Make.Cache import Language.PureScript.Names (ModuleName) -- | The BuildPlan tracks information about our build progress, and holds all @@ -65,6 +65,20 @@ buildJobFailure :: BuildJobResult -> Maybe MultipleErrors buildJobFailure (BuildJobFailed errors) = Just errors buildJobFailure _ = Nothing +-- | Information obtained about a particular module while constructing a build +-- plan; used to decide whether a module needs rebuilding. +data RebuildStatus = RebuildStatus + { statusModuleName :: ModuleName + , statusRebuildNever :: Bool + , statusNewCacheInfo :: Maybe CacheInfo + -- ^ New cache info for this module which should be stored for subsequent + -- incremental builds. A value of Nothing indicates that cache info for + -- this module should not be stored in the build cache, because it is being + -- rebuilt according to a RebuildPolicy instead. + , statusPrebuilt :: Maybe Prebuilt + -- ^ Prebuilt externs and timestamp for this module, if any. + } + -- | Called when we finished compiling a module and want to report back the -- compilation result, as well as any potential errors that were thrown. markComplete @@ -115,32 +129,67 @@ getResult buildPlan moduleName = construct :: forall m. (Monad m, MonadBaseControl IO m) => MakeActions m + -> CacheDb -> ([CST.PartialResult Module], [(ModuleName, [ModuleName])]) - -> m BuildPlan -construct MakeActions{..} (sorted, graph) = do - prebuilt <- foldl' collectPrebuiltModules M.empty . catMaybes <$> A.forConcurrently sorted findExistingExtern - let toBeRebuilt = filter (not . flip M.member prebuilt . getModuleName . CST.resPartial) sorted - buildJobs <- foldM makeBuildJob M.empty (map (getModuleName . CST.resPartial) toBeRebuilt) - pure $ BuildPlan prebuilt buildJobs + -> m (BuildPlan, CacheDb) +construct MakeActions{..} cacheDb (sorted, graph) = do + let sortedModuleNames = map (getModuleName . CST.resPartial) sorted + rebuildStatuses <- A.forConcurrently sortedModuleNames getRebuildStatus + let prebuilt = + foldl' collectPrebuiltModules M.empty $ + mapMaybe (\s -> (statusModuleName s, statusRebuildNever s,) <$> statusPrebuilt s) rebuildStatuses + let toBeRebuilt = filter (not . flip M.member prebuilt) sortedModuleNames + buildJobs <- foldM makeBuildJob M.empty toBeRebuilt + pure + ( BuildPlan prebuilt buildJobs + , let + update = flip $ \s -> + M.alter (const (statusNewCacheInfo s)) (statusModuleName s) + in + foldl' update cacheDb rebuildStatuses + ) where makeBuildJob prev moduleName = do buildJob <- BuildJob <$> C.newEmptyMVar pure (M.insert moduleName buildJob prev) - findExistingExtern :: CST.PartialResult Module -> m (Maybe (ModuleName, Bool, Prebuilt)) - findExistingExtern (getModuleName . CST.resPartial -> moduleName) = runMaybeT $ do - inputTimestamp <- lift $ getInputTimestamp moduleName - (rebuildNever, existingTimestamp) <- - case inputTimestamp of - Left RebuildNever -> - fmap (True,) $ MaybeT $ getOutputTimestamp moduleName - Right (Just t1) -> do - outputTimestamp <- MaybeT $ getOutputTimestamp moduleName - guard (t1 < outputTimestamp) - pure (False, outputTimestamp) - _ -> mzero - externsFile <- MaybeT $ decodeExterns . snd <$> readExterns moduleName - pure (moduleName, rebuildNever, Prebuilt existingTimestamp externsFile) + getRebuildStatus :: ModuleName -> m RebuildStatus + getRebuildStatus moduleName = do + inputInfo <- getInputTimestampsAndHashes moduleName + case inputInfo of + Left RebuildNever -> do + prebuilt <- findExistingExtern moduleName + pure (RebuildStatus + { statusModuleName = moduleName + , statusRebuildNever = True + , statusPrebuilt = prebuilt + , statusNewCacheInfo = Nothing + }) + Left RebuildAlways -> do + pure (RebuildStatus + { statusModuleName = moduleName + , statusRebuildNever = False + , statusPrebuilt = Nothing + , statusNewCacheInfo = Nothing + }) + Right cacheInfo -> do + (newCacheInfo, isUpToDate) <- checkChanged cacheDb moduleName cacheInfo + prebuilt <- + if isUpToDate + then findExistingExtern moduleName + else pure Nothing + pure (RebuildStatus + { statusModuleName = moduleName + , statusRebuildNever = False + , statusPrebuilt = prebuilt + , statusNewCacheInfo = Just newCacheInfo + }) + + findExistingExtern :: ModuleName -> m (Maybe Prebuilt) + findExistingExtern moduleName = runMaybeT $ do + timestamp <- MaybeT $ getOutputTimestamp moduleName + externs <- MaybeT $ decodeExterns . snd <$> readExterns moduleName + pure (Prebuilt timestamp externs) collectPrebuiltModules :: M.Map ModuleName Prebuilt -> (ModuleName, Bool, Prebuilt) -> M.Map ModuleName Prebuilt collectPrebuiltModules prev (moduleName, rebuildNever, pb) diff --git a/src/Language/PureScript/Make/Cache.hs b/src/Language/PureScript/Make/Cache.hs new file mode 100644 index 0000000..337ee2d --- /dev/null +++ b/src/Language/PureScript/Make/Cache.hs @@ -0,0 +1,130 @@ +{-# LANGUAGE GeneralizedNewtypeDeriving #-} + +module Language.PureScript.Make.Cache + ( ContentHash + , hash + , CacheDb + , CacheInfo + , checkChanged + , removeModules + ) where + +import Prelude + +import Control.Category ((>>>)) +import Control.Monad ((>=>)) +import Crypto.Hash (hashlazy, HashAlgorithm, Digest, SHA512, digestFromByteString) +import qualified Data.Aeson as Aeson +import Data.Align (align) +import Data.ByteArray.Encoding (Base(Base16), convertToBase, convertFromBase) +import qualified Data.ByteString as BS +import qualified Data.ByteString.Lazy as BSL +import Data.Map (Map) +import qualified Data.Map as Map +import Data.Maybe (fromMaybe) +import Data.Monoid (All(..)) +import Data.Set (Set) +import Data.Text (Text) +import Data.Text.Encoding (encodeUtf8, decodeUtf8) +import Data.These (These(..)) +import Data.Time.Clock (UTCTime) +import Data.Traversable (for) + +import Language.PureScript.Names (ModuleName) + +digestToHex :: Digest a -> Text +digestToHex = decodeUtf8 . convertToBase Base16 + +digestFromHex :: forall a. HashAlgorithm a => Text -> Maybe (Digest a) +digestFromHex = + encodeUtf8 + >>> either (const Nothing) Just . convertFromBase Base16 + >=> (digestFromByteString :: BS.ByteString -> Maybe (Digest a)) + +-- | Defines the hash algorithm we use for cache invalidation of input files. +newtype ContentHash = ContentHash + { unContentHash :: Digest SHA512 } + deriving (Show, Eq, Ord) + +instance Aeson.ToJSON ContentHash where + toJSON = Aeson.toJSON . digestToHex . unContentHash + +instance Aeson.FromJSON ContentHash where + parseJSON x = do + str <- Aeson.parseJSON x + case digestFromHex str of + Just digest -> + pure $ ContentHash digest + Nothing -> + fail "Unable to decode ContentHash" + +hash :: BSL.ByteString -> ContentHash +hash = ContentHash . hashlazy + +type CacheDb = Map ModuleName CacheInfo + +-- | A CacheInfo contains all of the information we need to store about a +-- particular module in the cache database. +newtype CacheInfo = CacheInfo + { unCacheInfo :: Map FilePath (UTCTime, ContentHash) } + deriving stock (Show) + deriving newtype (Eq, Ord, Semigroup, Monoid, Aeson.FromJSON, Aeson.ToJSON) + +-- | Given a module name, and a map containing the associated input files +-- together with current metadata i.e. timestamps and hashes, check whether the +-- input files have changed, based on comparing with the database stored in the +-- monadic state. +-- +-- The CacheInfo in the return value should be stored in the cache for future +-- builds. +-- +-- The Bool in the return value indicates whether it is safe to use existing +-- build artifacts for this module, at least based on the timestamps and hashes +-- of the module's input files. +-- +-- If the timestamps are the same as those in the database, assume the file is +-- unchanged, and return True without checking hashes. +-- +-- If any of the timestamps differ from what is in the database, check the +-- hashes of those files. In this case, update the database with any changed +-- timestamps and hashes, and return True if and only if all of the hashes are +-- unchanged. +checkChanged + :: Monad m + => CacheDb + -> ModuleName + -> Map FilePath (UTCTime, m ContentHash) + -> m (CacheInfo, Bool) +checkChanged cacheDb mn currentInfo = do + let dbInfo = unCacheInfo $ fromMaybe mempty (Map.lookup mn cacheDb) + (newInfo, isUpToDate) <- + fmap mconcat $ + for (Map.toList (align dbInfo currentInfo)) $ \(fp, aligned) -> do + case aligned of + This _ -> do + -- One of the input files listed in the cache no longer exists; + -- remove that file from the cache and note that the module needs + -- rebuilding + pure (Map.empty, All False) + That (timestamp, getHash) -> do + -- The module has a new input file; add it to the cache and + -- note that the module needs rebuilding. + newHash <- getHash + pure (Map.singleton fp (timestamp, newHash), All False) + These db@(dbTimestamp, _) (newTimestamp, _) | dbTimestamp == newTimestamp -> do + -- This file exists both currently and in the cache database, + -- and the timestamp is unchanged, so we skip checking the + -- hash. + pure (Map.singleton fp db, mempty) + These (_, dbHash) (newTimestamp, getHash) -> do + -- This file exists both currently and in the cache database, + -- but the timestamp has changed, so we need to check the hash. + newHash <- getHash + pure (Map.singleton fp (newTimestamp, newHash), All (dbHash == newHash)) + + pure (CacheInfo newInfo, getAll isUpToDate) + +-- | Remove any modules from the given set from the cache database; used when +-- they failed to build. +removeModules :: Set ModuleName -> CacheDb -> CacheDb +removeModules moduleNames = flip Map.withoutKeys moduleNames diff --git a/src/Language/PureScript/Make/Monad.hs b/src/Language/PureScript/Make/Monad.hs index bbc737e..6fe38f3 100644 --- a/src/Language/PureScript/Make/Monad.hs +++ b/src/Language/PureScript/Make/Monad.hs @@ -5,11 +5,19 @@ module Language.PureScript.Make.Monad Make(..) , runMake , makeIO + , getTimestamp + , getTimestampMaybe , readTextFile + , readTextFileMaybe + , readJSONFile + , writeTextFile + , writeJSONFile ) where import Prelude +import Control.Exception (tryJust) +import Control.Monad (join, guard) import Control.Monad.Base (MonadBase(..)) import Control.Monad.Error.Class (MonadError(..)) import Control.Monad.IO.Class @@ -18,11 +26,17 @@ import Control.Monad.Reader (MonadReader(..), ReaderT(..)) import Control.Monad.Trans.Control (MonadBaseControl(..)) import Control.Monad.Trans.Except import Control.Monad.Writer.Class (MonadWriter(..)) +import qualified Data.Aeson as Aeson import qualified Data.ByteString.Lazy as B +import Data.Text (Text) +import qualified Data.Text as Text +import Data.Time.Clock (UTCTime) import Language.PureScript.AST import Language.PureScript.Errors import Language.PureScript.Options -import System.IO.Error (tryIOError) +import System.Directory (createDirectoryIfMissing, getModificationTime) +import System.FilePath (takeDirectory) +import System.IO.Error (tryIOError, isDoesNotExistError) -- | A monad for running make actions newtype Make a = Make @@ -41,14 +55,71 @@ instance MonadBaseControl IO Make where runMake :: Options -> Make a -> IO (Either MultipleErrors a, MultipleErrors) runMake opts = runLogger' . runExceptT . flip runReaderT opts . unMake --- | Run an 'IO' action in the 'Make' monad, by specifying how IO errors should --- be rendered as 'ErrorMessage' values. -makeIO :: (IOError -> ErrorMessage) -> IO a -> Make a -makeIO f io = do +-- | Run an 'IO' action in the 'Make' monad. The 'String' argument should +-- describe what we were trying to do; it is used for rendering errors in the +-- case that an IOException is thrown. +makeIO :: Text -> IO a -> Make a +makeIO description io = do e <- liftIO $ tryIOError io - either (throwError . singleError . f) return e + either (throwError . singleError . ErrorMessage [] . FileIOError description) return e + +-- | Get a file's modification time in the 'Make' monad, capturing any errors +-- using the 'MonadError' instance. +getTimestamp :: FilePath -> Make UTCTime +getTimestamp path = + makeIO ("get a timestamp for file: " <> Text.pack path) $ getModificationTime path + +-- | Get a file's modification time in the 'Make' monad, returning Nothing if +-- the file does not exist. +getTimestampMaybe :: FilePath -> Make (Maybe UTCTime) +getTimestampMaybe path = + makeIO ("get a timestamp for file: " <> Text.pack path) $ catchDoesNotExist $ getModificationTime path -- | Read a text file in the 'Make' monad, capturing any errors using the -- 'MonadError' instance. readTextFile :: FilePath -> Make B.ByteString -readTextFile path = makeIO (const (ErrorMessage [] $ CannotReadFile path)) $ B.readFile path +readTextFile path = + makeIO ("read file: " <> Text.pack path) $ B.readFile path + +-- | Read a text file in the 'Make' monad, or return 'Nothing' if the file does +-- not exist. Errors are captured using the 'MonadError' instance. +readTextFileMaybe :: FilePath -> Make (Maybe B.ByteString) +readTextFileMaybe path = + makeIO ("read file: " <> Text.pack path) $ catchDoesNotExist $ B.readFile path + +-- | Read a JSON file in the 'Make' monad, returning 'Nothing' if the file does +-- not exist or could not be parsed. Errors are captured using the 'MonadError' +-- instance. +readJSONFile :: Aeson.FromJSON a => FilePath -> Make (Maybe a) +readJSONFile path = + makeIO ("read JSON file: " <> Text.pack path) $ do + r <- catchDoesNotExist $ Aeson.decodeFileStrict' path + return $ join r + +-- | If the provided action threw an 'isDoesNotExist' error, catch it and +-- return Nothing. Otherwise return Just the result of the inner action. +catchDoesNotExist :: IO a -> IO (Maybe a) +catchDoesNotExist inner = do + r <- tryJust (guard . isDoesNotExistError) inner + case r of + Left () -> + return Nothing + Right x -> + return (Just x) + +-- | Write a text file in the 'Make' monad, capturing any errors using the +-- 'MonadError' instance. +writeTextFile :: FilePath -> B.ByteString -> Make () +writeTextFile path text = makeIO ("write file: " <> Text.pack path) $ do + createParentDirectory path + B.writeFile path text + +-- | Write a JSON file in the 'Make' monad, capturing any errors using the +-- 'MonadError' instance. +writeJSONFile :: Aeson.ToJSON a => FilePath -> a -> Make () +writeJSONFile path value = makeIO ("write JSON file: " <> Text.pack path) $ do + createParentDirectory path + Aeson.encodeFile path value + +createParentDirectory :: FilePath -> IO () +createParentDirectory = createDirectoryIfMissing True . takeDirectory diff --git a/src/Language/PureScript/Names.hs b/src/Language/PureScript/Names.hs index e2327c1..5f8afd7 100644 --- a/src/Language/PureScript/Names.hs +++ b/src/Language/PureScript/Names.hs @@ -12,6 +12,7 @@ import Prelude.Compat import Control.Monad.Supply.Class import Control.DeepSeq (NFData) +import Data.Functor.Contravariant (contramap) import GHC.Generics (Generic) import Data.Aeson @@ -243,3 +244,9 @@ isQualifiedWith _ _ = False $(deriveJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) ''Qualified) $(deriveJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) ''Ident) $(deriveJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) ''ModuleName) + +instance ToJSONKey ModuleName where + toJSONKey = contramap runModuleName toJSONKey + +instance FromJSONKey ModuleName where + fromJSONKey = fmap moduleNameFromString fromJSONKey diff --git a/src/Language/PureScript/Sugar/Names/Imports.hs b/src/Language/PureScript/Sugar/Names/Imports.hs index 4253709..f4e5298 100644 --- a/src/Language/PureScript/Sugar/Names/Imports.hs +++ b/src/Language/PureScript/Sugar/Names/Imports.hs @@ -32,10 +32,9 @@ findImports -> M.Map ModuleName [ImportDef] findImports = foldr go M.empty where - go (ImportDeclaration (pos, _) mn typ qual) result = - let imp = (pos, typ, qual) - in M.insert mn (maybe [imp] (imp :) (mn `M.lookup` result)) result - go _ result = result + go (ImportDeclaration (pos, _) mn typ qual) = + M.alter (return . ((pos, typ, qual) :) . fromMaybe []) mn + go _ = id -- | -- Constructs a set of imports for a module. diff --git a/src/Language/PureScript/TypeChecker/Types.hs b/src/Language/PureScript/TypeChecker/Types.hs index e449135..b0bc93d 100644 --- a/src/Language/PureScript/TypeChecker/Types.hs +++ b/src/Language/PureScript/TypeChecker/Types.hs @@ -173,6 +173,7 @@ typesOf bindingGroupType moduleName vals = withFreshSubstitution $ do constrain cs ty = foldr srcConstrainedType ty (map (\(_, _, x) -> x) cs) -- Apply the substitution that was returned from runUnify to both types and (type-annotated) values + tidyUp ts sub = first (map (second (first (second (overTypes (substituteType sub) *** substituteType sub))))) ts isHoleError :: ErrorMessage -> Bool @@ -4,8 +4,10 @@ packages: - '.' extra-deps: - happy-1.19.9 -- language-javascript-0.6.0.13 +- language-javascript-0.7.0.0 - network-3.0.1.1 +- these-1.0.1 +- semialign-1 nix: enable: false packages: @@ -17,3 +19,6 @@ nix: flags: aeson-pretty: lib-only: true + these: + assoc: false + quickcheck: false diff --git a/tests/Main.hs b/tests/Main.hs index 37bf70b..3c7d5e0 100644 --- a/tests/Main.hs +++ b/tests/Main.hs @@ -20,6 +20,7 @@ import qualified TestPsci import qualified TestIde import qualified TestPscPublish import qualified TestBundle +import qualified TestMake import qualified TestUtils import System.IO (hSetEncoding, stdout, stderr, utf8) @@ -35,6 +36,7 @@ main = do cstTests <- TestCst.main ideTests <- TestIde.main compilerTests <- TestCompiler.main + makeTests <- TestMake.main psciTests <- TestPsci.main pscBundleTests <- TestBundle.main coreFnTests <- TestCoreFn.main @@ -48,6 +50,7 @@ main = do "Tests" [ cstTests , compilerTests + , makeTests , psciTests , pscBundleTests , ideTests diff --git a/tests/TestMake.hs b/tests/TestMake.hs new file mode 100644 index 0000000..dadee27 --- /dev/null +++ b/tests/TestMake.hs @@ -0,0 +1,216 @@ +-- Tests for the compiler's handling of incremental builds, i.e. the code in +-- Language.PureScript.Make. + +module TestMake where + +import Prelude () +import Prelude.Compat + +import qualified Language.PureScript as P +import qualified Language.PureScript.CST as CST + +import Control.Monad +import Control.Exception (tryJust) +import Control.Monad.IO.Class (liftIO) +import Control.Concurrent.MVar (readMVar, newMVar, modifyMVar_) +import Data.Time.Calendar +import Data.Time.Clock +import qualified Data.Text as T +import Data.Set (Set) +import qualified Data.Set as Set +import qualified Data.Map as M + +import System.FilePath +import System.Directory +import System.IO.Error (isDoesNotExistError) +import System.IO.UTF8 (readUTF8FilesT, writeUTF8FileT) + +import Test.Tasty +import Test.Tasty.Hspec + +utcMidnightOnDate :: Integer -> Int -> Int -> UTCTime +utcMidnightOnDate day month year = UTCTime (fromGregorian day month year) (secondsToDiffTime 0) + +timestampA, timestampB, timestampC, timestampD, timestampE, timestampF :: UTCTime +timestampA = utcMidnightOnDate 2019 1 1 +timestampB = utcMidnightOnDate 2019 1 2 +timestampC = utcMidnightOnDate 2019 1 3 +timestampD = utcMidnightOnDate 2019 1 4 +timestampE = utcMidnightOnDate 2019 1 5 +timestampF = utcMidnightOnDate 2019 1 6 + +main :: IO TestTree +main = testSpec "make" spec + +spec :: Spec +spec = do + let sourcesDir = "tests/purs/make" + let moduleNames = Set.fromList . map P.moduleNameFromString + before_ (rimraf modulesDir >> rimraf sourcesDir >> createDirectory sourcesDir) $ do + it "does not recompile if there are no changes" $ do + let modulePath = sourcesDir </> "Module.purs" + + writeFileWithTimestamp modulePath timestampA "module Module where\nfoo = 0\n" + compile [modulePath] `shouldReturn` moduleNames ["Module"] + compile [modulePath] `shouldReturn` moduleNames [] + + it "recompiles if files have changed" $ do + let modulePath = sourcesDir </> "Module.purs" + + writeFileWithTimestamp modulePath timestampA "module Module where\nfoo = 0\n" + compile [modulePath] `shouldReturn` moduleNames ["Module"] + writeFileWithTimestamp modulePath timestampB "module Module where\nfoo = 1\n" + compile [modulePath] `shouldReturn` moduleNames ["Module"] + + it "does not recompile if hashes have not changed" $ do + let modulePath = sourcesDir </> "Module.purs" + moduleContent = "module Module where\nfoo = 0\n" + + writeFileWithTimestamp modulePath timestampA moduleContent + compile [modulePath] `shouldReturn` moduleNames ["Module"] + writeFileWithTimestamp modulePath timestampB moduleContent + compile [modulePath] `shouldReturn` moduleNames [] + + it "recompiles if the file path for a module has changed" $ do + let modulePath1 = sourcesDir </> "Module1.purs" + modulePath2 = sourcesDir </> "Module2.purs" + moduleContent = "module Module where\nfoo = 0\n" + + writeFileWithTimestamp modulePath1 timestampA moduleContent + writeFileWithTimestamp modulePath2 timestampA moduleContent + + compile [modulePath1] `shouldReturn` moduleNames ["Module"] + compile [modulePath2] `shouldReturn` moduleNames ["Module"] + + it "recompiles if an FFI file was added" $ do + let moduleBasePath = sourcesDir </> "Module" + modulePath = moduleBasePath ++ ".purs" + moduleFFIPath = moduleBasePath ++ ".js" + moduleContent = "module Module where\nfoo = 0\n" + + writeFileWithTimestamp modulePath timestampA moduleContent + compile [modulePath] `shouldReturn` moduleNames ["Module"] + + writeFileWithTimestamp moduleFFIPath timestampB "exports.bar = 1;\n" + compile [modulePath] `shouldReturn` moduleNames ["Module"] + + it "recompiles if an FFI file was removed" $ do + let moduleBasePath = sourcesDir </> "Module" + modulePath = moduleBasePath ++ ".purs" + moduleFFIPath = moduleBasePath ++ ".js" + moduleContent = "module Module where\nfoo = 0\n" + + writeFileWithTimestamp modulePath timestampA moduleContent + writeFileWithTimestamp moduleFFIPath timestampB "exports.bar = 1;\n" + compile [modulePath] `shouldReturn` moduleNames ["Module"] + + removeFile moduleFFIPath + compile [modulePath] `shouldReturn` moduleNames ["Module"] + + it "recompiles downstream modules when a module is rebuilt" $ do + let moduleAPath = sourcesDir </> "A.purs" + moduleBPath = sourcesDir </> "B.purs" + moduleAContent1 = "module A where\nfoo = 0\n" + moduleAContent2 = "module A where\nfoo = 1\n" + moduleBContent = "module B where\nimport A (foo)\nbar = foo\n" + + writeFileWithTimestamp moduleAPath timestampA moduleAContent1 + writeFileWithTimestamp moduleBPath timestampB moduleBContent + compile [moduleAPath, moduleBPath] `shouldReturn` moduleNames ["A", "B"] + + writeFileWithTimestamp moduleAPath timestampC moduleAContent2 + compile [moduleAPath, moduleBPath] `shouldReturn` moduleNames ["A", "B"] + + it "only recompiles downstream modules when a module is rebuilt" $ do + let moduleAPath = sourcesDir </> "A.purs" + moduleBPath = sourcesDir </> "B.purs" + moduleCPath = sourcesDir </> "C.purs" + modulePaths = [moduleAPath, moduleBPath, moduleCPath] + moduleAContent1 = "module A where\nfoo = 0\n" + moduleAContent2 = "module A where\nfoo = 1\n" + moduleBContent = "module B where\nimport A (foo)\nbar = foo\n" + moduleCContent = "module C where\nbaz = 3\n" + + writeFileWithTimestamp moduleAPath timestampA moduleAContent1 + writeFileWithTimestamp moduleBPath timestampB moduleBContent + writeFileWithTimestamp moduleCPath timestampC moduleCContent + compile modulePaths `shouldReturn` moduleNames ["A", "B", "C"] + + writeFileWithTimestamp moduleAPath timestampD moduleAContent2 + compile modulePaths `shouldReturn` moduleNames ["A", "B"] + + it "does not necessarily recompile modules which were not part of the previous batch" $ do + let moduleAPath = sourcesDir </> "A.purs" + moduleBPath = sourcesDir </> "B.purs" + moduleCPath = sourcesDir </> "C.purs" + modulePaths = [moduleAPath, moduleBPath, moduleCPath] + batch1 = [moduleAPath, moduleBPath] + batch2 = [moduleAPath, moduleCPath] + moduleAContent = "module A where\nfoo = 0\n" + moduleBContent = "module B where\nimport A (foo)\nbar = foo\n" + moduleCContent = "module C where\nbaz = 3\n" + + writeFileWithTimestamp moduleAPath timestampA moduleAContent + writeFileWithTimestamp moduleBPath timestampB moduleBContent + writeFileWithTimestamp moduleCPath timestampC moduleCContent + compile modulePaths `shouldReturn` moduleNames ["A", "B", "C"] + + compile batch1 `shouldReturn` moduleNames [] + compile batch2 `shouldReturn` moduleNames [] + + it "recompiles if a module fails to compile" $ do + let modulePath = sourcesDir </> "Module.purs" + moduleContent = "module Module where\nfoo :: Int\nfoo = \"not an int\"\n" + + writeFileWithTimestamp modulePath timestampA moduleContent + compileAllowingFailures [modulePath] `shouldReturn` moduleNames ["Module"] + compileAllowingFailures [modulePath] `shouldReturn` moduleNames ["Module"] + +rimraf :: FilePath -> IO () +rimraf = + void . tryJust (guard . isDoesNotExistError) . removeDirectoryRecursive + +-- | Returns a set of the modules for which a rebuild was attempted, including +-- the make result. +compileWithResult :: [FilePath] -> IO (Either P.MultipleErrors [P.ExternsFile], Set P.ModuleName) +compileWithResult input = do + recompiled <- newMVar Set.empty + moduleFiles <- readUTF8FilesT input + (makeResult, _) <- P.runMake P.defaultOptions $ do + ms <- CST.parseModulesFromFiles id moduleFiles + let filePathMap = M.fromList $ map (\(fp, pm) -> (P.getModuleName $ CST.resPartial pm, Right fp)) ms + foreigns <- P.inferForeignModules filePathMap + let makeActions = + (P.buildMakeActions modulesDir filePathMap foreigns True) + { P.progress = \(P.CompilingModule mn) -> + liftIO $ modifyMVar_ recompiled (return . Set.insert mn) + } + P.make makeActions (map snd ms) + + recompiledModules <- readMVar recompiled + pure (makeResult, recompiledModules) + +-- | Compile, returning the set of modules which were rebuilt, and failing if +-- any errors occurred. +compile :: [FilePath] -> IO (Set P.ModuleName) +compile input = do + (result, recompiled) <- compileWithResult input + case result of + Left errs -> + fail (P.prettyPrintMultipleErrors P.defaultPPEOptions errs) + Right _ -> + pure recompiled + +compileAllowingFailures :: [FilePath] -> IO (Set P.ModuleName) +compileAllowingFailures input = fmap snd (compileWithResult input) + +writeFileWithTimestamp :: FilePath -> UTCTime -> T.Text -> IO () +writeFileWithTimestamp path mtime contents = do + writeUTF8FileT path contents + setModificationTime path mtime + +-- | Use a different output directory to ensure that we don't get interference +-- from other test results +modulesDir :: FilePath +modulesDir = ".test_modules" </> "make" + diff --git a/tests/TestUtils.hs b/tests/TestUtils.hs index fe0c14d..78ba841 100644 --- a/tests/TestUtils.hs +++ b/tests/TestUtils.hs @@ -198,13 +198,13 @@ checkMain ms = makeActions :: [P.Module] -> M.Map P.ModuleName FilePath -> P.MakeActions P.Make makeActions modules foreigns = (P.buildMakeActions modulesDir (P.internalError "makeActions: input file map was read.") foreigns False) - { P.getInputTimestamp = getInputTimestamp + { P.getInputTimestampsAndHashes = getInputTimestampsAndHashes , P.getOutputTimestamp = getOutputTimestamp , P.progress = const (pure ()) } where - getInputTimestamp :: P.ModuleName -> P.Make (Either P.RebuildPolicy (Maybe UTCTime)) - getInputTimestamp mn + getInputTimestampsAndHashes :: P.ModuleName -> P.Make (Either P.RebuildPolicy a) + getInputTimestampsAndHashes mn | isSupportModule (P.runModuleName mn) = return (Left P.RebuildNever) | otherwise = return (Left P.RebuildAlways) where diff --git a/tests/purs/bundle/3727.js b/tests/purs/bundle/3727.js new file mode 100644 index 0000000..02e18d2 --- /dev/null +++ b/tests/purs/bundle/3727.js @@ -0,0 +1,4 @@ +'use strict'; + +exports.foo = 1; +exports.bar = exports.foo; diff --git a/tests/purs/bundle/3727.purs b/tests/purs/bundle/3727.purs new file mode 100644 index 0000000..2bdf512 --- /dev/null +++ b/tests/purs/bundle/3727.purs @@ -0,0 +1,13 @@ +module Main (main) where + +import Prelude +import Effect (Effect) +import Effect.Console (log) +import Test.Assert (assert) + +main :: Effect Unit +main = do + assert (bar == 1) + log "Done" + +foreign import bar :: Int diff --git a/tests/purs/bundle/ObjectShorthand.js b/tests/purs/bundle/ObjectShorthand.js new file mode 100644 index 0000000..156ff0c --- /dev/null +++ b/tests/purs/bundle/ObjectShorthand.js @@ -0,0 +1,15 @@ +"use strict"; + +var foo = 1; + +exports.bar = { foo }; + +var baz = 2; + +exports.quux = function(baz) { + return { baz }; +}; + +var fs = require('fs'); +var source = fs.readFileSync(__filename, 'utf-8'); +exports.bazIsEliminated = !/^ *var baz =/m.test(source); diff --git a/tests/purs/bundle/ObjectShorthand.purs b/tests/purs/bundle/ObjectShorthand.purs new file mode 100644 index 0000000..6914845 --- /dev/null +++ b/tests/purs/bundle/ObjectShorthand.purs @@ -0,0 +1,18 @@ +-- See issue #3741 +module Main (main) where + +import Prelude +import Effect (Effect) +import Effect.Console (log) +import Test.Assert (assert') + +main :: Effect Unit +main = do + assert' "bar" (bar.foo == 1) + assert' "quux" (quux 3 == { baz: 3 }) + assert' "baz" bazIsEliminated + log "Done" + +foreign import bar :: { foo :: Int } +foreign import quux :: forall a. a -> { baz :: a } +foreign import bazIsEliminated :: Boolean diff --git a/tests/purs/docs/output/Ado/externs.json b/tests/purs/docs/output/Ado/externs.json index 2f63b8d..2894d1a 100644 --- a/tests/purs/docs/output/Ado/externs.json +++ b/tests/purs/docs/output/Ado/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Ado"],"efExports":[{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Ado.purs","end":[9,16]},{"Ident":"test"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"test"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Ado.purs","end":[9,16]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Ado"],"efExports":[{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Ado.purs","end":[9,16]},{"Ident":"test"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"test"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Ado.purs","end":[9,16]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/ChildDeclOrder/externs.json b/tests/purs/docs/output/ChildDeclOrder/externs.json index 3808dec..e221f30 100644 --- a/tests/purs/docs/output/ChildDeclOrder/externs.json +++ b/tests/purs/docs/output/ChildDeclOrder/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["ChildDeclOrder"],"efExports":[{"ValueRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},{"Ident":"foo1"}]},{"ValueRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},{"Ident":"foo2"}]},{"ValueRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},{"Ident":"show"}]},{"TypeRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},"Two",["First","Second"]]},{"TypeClassRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},"Show"]},{"TypeClassRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},"Foo"]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"showTwo"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"fooTwo"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"fooInt"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"foo1"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["ChildDeclOrder"],"Foo"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[15,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[15,12]},[]],"tag":"TypeVar","contents":"a"}]},2]}}},{"EDValue":{"edValueName":{"Ident":"foo2"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["ChildDeclOrder"],"Foo"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[16,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[16,12]},[]],"tag":"TypeVar","contents":"a"}]},1]}}},{"EDValue":{"edValueName":{"Ident":"show"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["ChildDeclOrder"],"Show"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[12,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]},0]}}},{"EDType":{"edTypeName":"Two","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["First",[]],["Second",[]]]}}}},{"EDDataConstructor":{"edDataCtorName":"First","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Two","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["ChildDeclOrder"],"Two"]},"edDataCtorFields":[]}},{"EDDataConstructor":{"edDataCtorName":"Second","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Two","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["ChildDeclOrder"],"Two"]},"edDataCtorFields":[]}},{"EDType":{"edTypeName":"Show","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[12,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,15]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Show","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["show",{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[12,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"Show","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"show"},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[12,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Foo","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["foo1",{"annotation":[{"start":[15,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[15,12]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["foo2",{"annotation":[{"start":[16,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[16,12]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}]}}},{"EDClass":{"edClassName":"Foo","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"foo1"},{"annotation":[{"start":[15,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[15,12]},[]],"tag":"TypeVar","contents":"a"}],[{"Ident":"foo2"},{"annotation":[{"start":[16,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[16,12]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDInstance":{"edInstanceClassName":[["ChildDeclOrder"],"Show"],"edInstanceName":{"Ident":"showTwo"},"edInstanceTypes":[{"annotation":[{"start":[18,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[18,29]},[]],"tag":"TypeConstructor","contents":[["ChildDeclOrder"],"Two"]}],"edInstanceConstraints":[],"edInstanceChain":[[["ChildDeclOrder"],{"Ident":"showTwo"}]],"edInstanceChainIndex":0}},{"EDInstance":{"edInstanceClassName":[["ChildDeclOrder"],"Foo"],"edInstanceName":{"Ident":"fooTwo"},"edInstanceTypes":[{"annotation":[{"start":[21,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[21,27]},[]],"tag":"TypeConstructor","contents":[["ChildDeclOrder"],"Two"]}],"edInstanceConstraints":[],"edInstanceChain":[[["ChildDeclOrder"],{"Ident":"fooTwo"}]],"edInstanceChainIndex":0}},{"EDInstance":{"edInstanceClassName":[["ChildDeclOrder"],"Foo"],"edInstanceName":{"Ident":"fooInt"},"edInstanceTypes":[{"annotation":[{"start":[25,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[25,27]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}],"edInstanceConstraints":[],"edInstanceChain":[[["ChildDeclOrder"],{"Ident":"fooInt"}]],"edInstanceChainIndex":0}}],"efSourceSpan":{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["ChildDeclOrder"],"efExports":[{"ValueRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},{"Ident":"foo1"}]},{"ValueRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},{"Ident":"foo2"}]},{"ValueRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},{"Ident":"show"}]},{"TypeRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},"Two",["First","Second"]]},{"TypeClassRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},"Show"]},{"TypeClassRef":[{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]},"Foo"]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"showTwo"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"fooTwo"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"fooInt"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"foo1"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["ChildDeclOrder"],"Foo"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[15,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[15,12]},[]],"tag":"TypeVar","contents":"a"}]},2]}}},{"EDValue":{"edValueName":{"Ident":"foo2"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["ChildDeclOrder"],"Foo"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[16,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[16,12]},[]],"tag":"TypeVar","contents":"a"}]},1]}}},{"EDValue":{"edValueName":{"Ident":"show"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["ChildDeclOrder"],"Show"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[12,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]},0]}}},{"EDType":{"edTypeName":"Two","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["First",[]],["Second",[]]]}}}},{"EDDataConstructor":{"edDataCtorName":"First","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Two","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["ChildDeclOrder"],"Two"]},"edDataCtorFields":[]}},{"EDDataConstructor":{"edDataCtorName":"Second","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Two","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["ChildDeclOrder"],"Two"]},"edDataCtorFields":[]}},{"EDType":{"edTypeName":"Show","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[12,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,15]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Show","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["show",{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[12,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"Show","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"show"},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[12,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[12,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[12,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Foo","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["foo1",{"annotation":[{"start":[15,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[15,12]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["foo2",{"annotation":[{"start":[16,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[16,12]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}]}}},{"EDClass":{"edClassName":"Foo","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"foo1"},{"annotation":[{"start":[15,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[15,12]},[]],"tag":"TypeVar","contents":"a"}],[{"Ident":"foo2"},{"annotation":[{"start":[16,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[16,12]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDInstance":{"edInstanceClassName":[["ChildDeclOrder"],"Show"],"edInstanceName":{"Ident":"showTwo"},"edInstanceTypes":[{"annotation":[{"start":[18,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[18,29]},[]],"tag":"TypeConstructor","contents":[["ChildDeclOrder"],"Two"]}],"edInstanceConstraints":[],"edInstanceChain":[[["ChildDeclOrder"],{"Ident":"showTwo"}]],"edInstanceChainIndex":0}},{"EDInstance":{"edInstanceClassName":[["ChildDeclOrder"],"Foo"],"edInstanceName":{"Ident":"fooTwo"},"edInstanceTypes":[{"annotation":[{"start":[21,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[21,27]},[]],"tag":"TypeConstructor","contents":[["ChildDeclOrder"],"Two"]}],"edInstanceConstraints":[],"edInstanceChain":[[["ChildDeclOrder"],{"Ident":"fooTwo"}]],"edInstanceChainIndex":0}},{"EDInstance":{"edInstanceClassName":[["ChildDeclOrder"],"Foo"],"edInstanceName":{"Ident":"fooInt"},"edInstanceTypes":[{"annotation":[{"start":[25,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[25,27]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}],"edInstanceConstraints":[],"edInstanceChain":[[["ChildDeclOrder"],{"Ident":"fooInt"}]],"edInstanceChainIndex":0}}],"efSourceSpan":{"start":[5,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs","end":[27,11]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Clash/externs.json b/tests/purs/docs/output/Clash/externs.json index 281d038..8577758 100644 --- a/tests/purs/docs/output/Clash/externs.json +++ b/tests/purs/docs/output/Clash/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Clash"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"exportSourceImportedFrom":["Clash1"],"exportSourceDefinedIn":["Clash1a"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},"Type",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"exportSourceImportedFrom":["Clash1"],"exportSourceDefinedIn":["Clash1a"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},"TypeClass"]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"exportSourceImportedFrom":["Clash1"],"exportSourceDefinedIn":["Clash1a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"Ident":"typeClassMember"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"exportSourceImportedFrom":["Clash1"],"exportSourceDefinedIn":["Clash1a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"Ident":"value"}]}]},{"ModuleRef":[{"start":[1,15],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[1,28]},["Clash1"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Clash1"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Clash1"]},{"eiModule":["Clash2"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Clash2"]}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Clash"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"exportSourceImportedFrom":["Clash1"],"exportSourceDefinedIn":["Clash1a"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},"Type",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"exportSourceImportedFrom":["Clash1"],"exportSourceDefinedIn":["Clash1a"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},"TypeClass"]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"exportSourceImportedFrom":["Clash1"],"exportSourceDefinedIn":["Clash1a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"Ident":"typeClassMember"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"exportSourceImportedFrom":["Clash1"],"exportSourceDefinedIn":["Clash1a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]},{"Ident":"value"}]}]},{"ModuleRef":[{"start":[1,15],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[1,28]},["Clash1"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Clash1"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Clash1"]},{"eiModule":["Clash2"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Clash2"]}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs","end":[4,24]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Clash1/externs.json b/tests/purs/docs/output/Clash1/externs.json index 2002388..4881be8 100644 --- a/tests/purs/docs/output/Clash1/externs.json +++ b/tests/purs/docs/output/Clash1/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Clash1"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash1a"],"exportSourceDefinedIn":["Clash1a"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},"Type",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash1a"],"exportSourceDefinedIn":["Clash1a"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},"TypeClass"]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash1a"],"exportSourceDefinedIn":["Clash1a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"Ident":"typeClassMember"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash1a"],"exportSourceDefinedIn":["Clash1a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"Ident":"value"}]}]},{"ModuleRef":[{"start":[1,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[1,30]},["Clash1a"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Clash1a"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Clash1"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash1a"],"exportSourceDefinedIn":["Clash1a"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},"Type",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash1a"],"exportSourceDefinedIn":["Clash1a"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},"TypeClass"]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash1a"],"exportSourceDefinedIn":["Clash1a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"Ident":"typeClassMember"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash1a"],"exportSourceDefinedIn":["Clash1a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]},{"Ident":"value"}]}]},{"ModuleRef":[{"start":[1,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[1,30]},["Clash1a"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Clash1a"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs","end":[3,15]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Clash1a/externs.json b/tests/purs/docs/output/Clash1a/externs.json index af196ce..5b01b43 100644 --- a/tests/purs/docs/output/Clash1a/externs.json +++ b/tests/purs/docs/output/Clash1a/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Clash1a"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},{"Ident":"typeClassMember"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},{"Ident":"value"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},"Type",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},"TypeClass"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"typeClassMember"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["Clash1a"],"TypeClass"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]},0]}}},{"EDValue":{"edValueName":{"Ident":"value"},"edValueType":{"annotation":[{"start":[3,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[3,13]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"Type","edTypeKind":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[6,16]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Type","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[6,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"TypeClass","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TypeClass","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["typeClassMember",{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TypeClass","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"typeClassMember"},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Clash1a"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},{"Ident":"typeClassMember"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},{"Ident":"value"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},"Type",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},"TypeClass"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"typeClassMember"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["Clash1a"],"TypeClass"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]},0]}}},{"EDValue":{"edValueName":{"Ident":"value"},"edValueType":{"annotation":[{"start":[3,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[3,13]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"Type","edTypeKind":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[6,16]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Type","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[6,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"TypeClass","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TypeClass","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["typeClassMember",{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TypeClass","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"typeClassMember"},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs","end":[9,23]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Clash2/externs.json b/tests/purs/docs/output/Clash2/externs.json index 1f08994..fe7088a 100644 --- a/tests/purs/docs/output/Clash2/externs.json +++ b/tests/purs/docs/output/Clash2/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Clash2"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash2a"],"exportSourceDefinedIn":["Clash2a"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},"Type",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash2a"],"exportSourceDefinedIn":["Clash2a"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},"TypeClass"]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash2a"],"exportSourceDefinedIn":["Clash2a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"Ident":"typeClassMember"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash2a"],"exportSourceDefinedIn":["Clash2a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"Ident":"value"}]}]},{"ModuleRef":[{"start":[1,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[1,30]},["Clash2a"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Clash2a"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Clash2"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash2a"],"exportSourceDefinedIn":["Clash2a"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},"Type",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash2a"],"exportSourceDefinedIn":["Clash2a"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},"TypeClass"]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash2a"],"exportSourceDefinedIn":["Clash2a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"Ident":"typeClassMember"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"exportSourceImportedFrom":["Clash2a"],"exportSourceDefinedIn":["Clash2a"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]},{"Ident":"value"}]}]},{"ModuleRef":[{"start":[1,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[1,30]},["Clash2a"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Clash2a"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs","end":[3,15]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Clash2a/externs.json b/tests/purs/docs/output/Clash2a/externs.json index 2af705f..b8cf69d 100644 --- a/tests/purs/docs/output/Clash2a/externs.json +++ b/tests/purs/docs/output/Clash2a/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Clash2a"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},{"Ident":"typeClassMember"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},{"Ident":"value"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},"Type",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},"TypeClass"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"typeClassMember"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["Clash2a"],"TypeClass"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}],"constraintData":null},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[9,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeVar","contents":"b"}]}]},0]},1]}}},{"EDValue":{"edValueName":{"Ident":"value"},"edValueType":{"annotation":[{"start":[3,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[3,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}}},{"EDType":{"edTypeName":"Type","edTypeKind":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[6,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Type","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[6,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}}},{"EDType":{"edTypeName":"TypeClass","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TypeClass","edTypeSynonymArguments":[["a",null],["b",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["typeClassMember",{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[9,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TypeClass","edClassTypeArguments":[["a",null],["b",null]],"edClassMembers":[[{"Ident":"typeClassMember"},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[9,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeVar","contents":"b"}]}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Clash2a"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},{"Ident":"typeClassMember"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},{"Ident":"value"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},"Type",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},"TypeClass"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"typeClassMember"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["Clash2a"],"TypeClass"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}],"constraintData":null},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[9,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeVar","contents":"b"}]}]},0]},1]}}},{"EDValue":{"edValueName":{"Ident":"value"},"edValueType":{"annotation":[{"start":[3,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[3,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}}},{"EDType":{"edTypeName":"Type","edTypeKind":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[6,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Type","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[6,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}}},{"EDType":{"edTypeName":"TypeClass","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TypeClass","edTypeSynonymArguments":[["a",null],["b",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["typeClassMember",{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[9,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TypeClass","edClassTypeArguments":[["a",null],["b",null]],"edClassMembers":[[{"Ident":"typeClassMember"},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,26]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[9,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,23]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[9,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]},[]],"tag":"TypeVar","contents":"b"}]}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs","end":[9,28]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/ConstrainedArgument/externs.json b/tests/purs/docs/output/ConstrainedArgument/externs.json index 5a880b3..3907e24 100644 --- a/tests/purs/docs/output/ConstrainedArgument/externs.json +++ b/tests/purs/docs/output/ConstrainedArgument/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["ConstrainedArgument"],"efExports":[{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"Foo"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"WithoutArgs",[]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"WithArgs",[]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"MultiWithoutArgs",[]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"MultiWithArgs",[]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Foo","edTypeSynonymArguments":[["t",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"Foo","edClassTypeArguments":[["t",null]],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}},{"EDType":{"edTypeName":"WithoutArgs","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"WithoutArgs","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[5,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,54]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[5,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,54]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,54]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,50],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,52]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,48]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[5,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,43]},[]],"constraintClass":[["Prim"],"Partial"],"constraintArgs":[],"constraintData":null},{"annotation":[{"start":[5,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,48]},[]],"tag":"TypeVar","contents":"a"}]}]},{"annotation":[{"start":[5,53],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,54]},[]],"tag":"TypeVar","contents":"a"}]},null]}}},{"EDType":{"edTypeName":"WithArgs","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"WithArgs","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[6,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,52]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[6,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,52]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,52]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,48],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,50]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,46]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[6,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,41]},[]],"constraintClass":[["ConstrainedArgument"],"Foo"],"constraintArgs":[{"annotation":[{"start":[6,40],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,41]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[6,45],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,46]},[]],"tag":"TypeVar","contents":"a"}]}]},{"annotation":[{"start":[6,51],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,52]},[]],"tag":"TypeVar","contents":"a"}]},null]}}},{"EDType":{"edTypeName":"MultiWithoutArgs","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"MultiWithoutArgs","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[7,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,65]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[7,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,65]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[7,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,65]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[7,61],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,63]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[7,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,59]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[7,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,43]},[]],"constraintClass":[["Prim"],"Partial"],"constraintArgs":[],"constraintData":null},{"annotation":[{"start":[7,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,59]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[7,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,54]},[]],"constraintClass":[["Prim"],"Partial"],"constraintArgs":[],"constraintData":null},{"annotation":[{"start":[7,58],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,59]},[]],"tag":"TypeVar","contents":"a"}]}]}]},{"annotation":[{"start":[7,64],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,65]},[]],"tag":"TypeVar","contents":"a"}]},null]}}},{"EDType":{"edTypeName":"MultiWithArgs","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"MultiWithArgs","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[8,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[8,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[8,37],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[8,37],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[8,59],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,61]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[8,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,57]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[8,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,43]},[]],"constraintClass":[["ConstrainedArgument"],"Foo"],"constraintArgs":[{"annotation":[{"start":[8,42],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,43]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[8,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,57]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[8,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,52]},[]],"constraintClass":[["ConstrainedArgument"],"Foo"],"constraintArgs":[{"annotation":[{"start":[8,51],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,52]},[]],"tag":"TypeVar","contents":"b"}],"constraintData":null},{"annotation":[{"start":[8,56],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,57]},[]],"tag":"TypeVar","contents":"a"}]}]}]},{"annotation":[{"start":[8,62],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"TypeVar","contents":"a"}]},null]},null]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["ConstrainedArgument"],"efExports":[{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"Foo"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"WithoutArgs",[]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"WithArgs",[]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"MultiWithoutArgs",[]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},"MultiWithArgs",[]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Foo","edTypeSynonymArguments":[["t",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"Foo","edClassTypeArguments":[["t",null]],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}},{"EDType":{"edTypeName":"WithoutArgs","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"WithoutArgs","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[5,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,54]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[5,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,54]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,54]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,50],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,52]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,48]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[5,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,43]},[]],"constraintClass":[["Prim"],"Partial"],"constraintArgs":[],"constraintData":null},{"annotation":[{"start":[5,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,48]},[]],"tag":"TypeVar","contents":"a"}]}]},{"annotation":[{"start":[5,53],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[5,54]},[]],"tag":"TypeVar","contents":"a"}]},null]}}},{"EDType":{"edTypeName":"WithArgs","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"WithArgs","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[6,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,52]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[6,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,52]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,52]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,48],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,50]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,46]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[6,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,41]},[]],"constraintClass":[["ConstrainedArgument"],"Foo"],"constraintArgs":[{"annotation":[{"start":[6,40],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,41]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[6,45],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,46]},[]],"tag":"TypeVar","contents":"a"}]}]},{"annotation":[{"start":[6,51],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[6,52]},[]],"tag":"TypeVar","contents":"a"}]},null]}}},{"EDType":{"edTypeName":"MultiWithoutArgs","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"MultiWithoutArgs","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[7,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,65]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[7,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,65]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[7,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,65]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[7,61],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,63]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[7,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,59]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[7,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,43]},[]],"constraintClass":[["Prim"],"Partial"],"constraintArgs":[],"constraintData":null},{"annotation":[{"start":[7,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,59]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[7,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,54]},[]],"constraintClass":[["Prim"],"Partial"],"constraintArgs":[],"constraintData":null},{"annotation":[{"start":[7,58],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,59]},[]],"tag":"TypeVar","contents":"a"}]}]}]},{"annotation":[{"start":[7,64],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[7,65]},[]],"tag":"TypeVar","contents":"a"}]},null]}}},{"EDType":{"edTypeName":"MultiWithArgs","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"MultiWithArgs","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[8,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[8,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[8,37],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[8,37],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[8,59],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,61]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[8,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,57]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[8,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,43]},[]],"constraintClass":[["ConstrainedArgument"],"Foo"],"constraintArgs":[{"annotation":[{"start":[8,42],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,43]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[8,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,57]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[8,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,52]},[]],"constraintClass":[["ConstrainedArgument"],"Foo"],"constraintArgs":[{"annotation":[{"start":[8,51],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,52]},[]],"tag":"TypeVar","contents":"b"}],"constraintData":null},{"annotation":[{"start":[8,56],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,57]},[]],"tag":"TypeVar","contents":"a"}]}]}]},{"annotation":[{"start":[8,62],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]},[]],"tag":"TypeVar","contents":"a"}]},null]},null]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs","end":[8,63]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Data.Newtype/externs.json b/tests/purs/docs/output/Data.Newtype/externs.json index 803d410..dd5c749 100644 --- a/tests/purs/docs/output/Data.Newtype/externs.json +++ b/tests/purs/docs/output/Data.Newtype/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Data","Newtype"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},{"Ident":"unwrap"}]},{"ValueRef":[{"start":[1,1],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},{"Ident":"wrap"}]},{"TypeClassRef":[{"start":[1,1],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},"Newtype"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"unwrap"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["t",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["Data","Newtype"],"Newtype"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"t"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,15],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"t"}]},{"annotation":[{"start":[5,18],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeVar","contents":"a"}]}]},2]},3]}}},{"EDValue":{"edValueName":{"Ident":"wrap"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["t",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["Data","Newtype"],"Newtype"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"t"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[4,16],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeVar","contents":"t"}]}]},0]},1]}}},{"EDType":{"edTypeName":"Newtype","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Newtype","edTypeSynonymArguments":[["t",null],["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["wrap",{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[4,16],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeVar","contents":"t"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["unwrap",{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,15],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"t"}]},{"annotation":[{"start":[5,18],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}]}}},{"EDClass":{"edClassName":"Newtype","edClassTypeArguments":[["t",null],["a",null]],"edClassMembers":[[{"Ident":"wrap"},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[4,16],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeVar","contents":"t"}]}],[{"Ident":"unwrap"},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,15],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"t"}]},{"annotation":[{"start":[5,18],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeVar","contents":"a"}]}]],"edClassConstraints":[],"edFunctionalDependencies":[{"determiners":[0],"determined":[1]}],"edIsEmpty":false}}],"efSourceSpan":{"start":[1,1],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Data","Newtype"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},{"Ident":"unwrap"}]},{"ValueRef":[{"start":[1,1],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},{"Ident":"wrap"}]},{"TypeClassRef":[{"start":[1,1],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},"Newtype"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"unwrap"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["t",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["Data","Newtype"],"Newtype"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"t"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,15],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"t"}]},{"annotation":[{"start":[5,18],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeVar","contents":"a"}]}]},2]},3]}}},{"EDValue":{"edValueName":{"Ident":"wrap"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["t",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["Data","Newtype"],"Newtype"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"t"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[4,16],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeVar","contents":"t"}]}]},0]},1]}}},{"EDType":{"edTypeName":"Newtype","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Newtype","edTypeSynonymArguments":[["t",null],["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["wrap",{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[4,16],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeVar","contents":"t"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["unwrap",{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,15],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"t"}]},{"annotation":[{"start":[5,18],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}]}}},{"EDClass":{"edClassName":"Newtype","edClassTypeArguments":[["t",null],["a",null]],"edClassMembers":[[{"Ident":"wrap"},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[4,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[4,11],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[4,16],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[4,17]},[]],"tag":"TypeVar","contents":"t"}]}],[{"Ident":"unwrap"},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,15],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,13],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"t"}]},{"annotation":[{"start":[5,18],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]},[]],"tag":"TypeVar","contents":"a"}]}]],"edClassConstraints":[],"edFunctionalDependencies":[{"determiners":[0],"determined":[1]}],"edIsEmpty":false}}],"efSourceSpan":{"start":[1,1],"name":"bower_components/purescript-newtype/src/Data/Newtype.purs","end":[5,19]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/DeclOrder/externs.json b/tests/purs/docs/output/DeclOrder/externs.json index f46ec77..883a114 100644 --- a/tests/purs/docs/output/DeclOrder/externs.json +++ b/tests/purs/docs/output/DeclOrder/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["DeclOrder"],"efExports":[{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},"A"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},{"Ident":"x1"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},"X2",[]]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},{"Ident":"x3"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},"X4",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},"B"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"A","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"A","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"A","edClassTypeArguments":[],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}},{"EDValue":{"edValueName":{"Ident":"x1"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"X2","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDValue":{"edValueName":{"Ident":"x3"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"X4","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDType":{"edTypeName":"B","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"B","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"B","edClassTypeArguments":[],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["DeclOrder"],"efExports":[{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},"A"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},{"Ident":"x1"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},"X2",[]]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},{"Ident":"x3"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},"X4",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]},"B"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"A","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"A","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"A","edClassTypeArguments":[],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}},{"EDValue":{"edValueName":{"Ident":"x1"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"X2","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDValue":{"edValueName":{"Ident":"x3"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"X4","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDType":{"edTypeName":"B","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"B","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"B","edClassTypeArguments":[],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs","end":[17,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/DeclOrderNoExportList/externs.json b/tests/purs/docs/output/DeclOrderNoExportList/externs.json index 39c4234..1368f5d 100644 --- a/tests/purs/docs/output/DeclOrderNoExportList/externs.json +++ b/tests/purs/docs/output/DeclOrderNoExportList/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["DeclOrderNoExportList"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},{"Ident":"x1"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},{"Ident":"x3"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},"X2",[]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},"X4",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},"A"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},"B"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"x1"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDValue":{"edValueName":{"Ident":"x3"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"X2","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDType":{"edTypeName":"X4","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDType":{"edTypeName":"A","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"A","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"A","edClassTypeArguments":[],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}},{"EDType":{"edTypeName":"B","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"B","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"B","edClassTypeArguments":[],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["DeclOrderNoExportList"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},{"Ident":"x1"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},{"Ident":"x3"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},"X2",[]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},"X4",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},"A"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]},"B"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"x1"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDValue":{"edValueName":{"Ident":"x3"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDType":{"edTypeName":"X2","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDType":{"edTypeName":"X4","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDType":{"edTypeName":"A","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"A","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"A","edClassTypeArguments":[],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}},{"EDType":{"edTypeName":"B","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"B","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"B","edClassTypeArguments":[],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs","end":[10,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Desugar/externs.json b/tests/purs/docs/output/Desugar/externs.json index 4faf567..d546054 100644 --- a/tests/purs/docs/output/Desugar/externs.json +++ b/tests/purs/docs/output/Desugar/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Desugar"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[8,9]},"X",["X"]]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[8,9]},{"Ident":"test"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"X","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"ctors":[["X",[{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,17]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,19]},[]],"tag":"TypeVar","contents":"b"}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"X","edDataCtorOrigin":"data","edDataCtorTypeCtor":"X","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,17]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,19]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Desugar"],"X"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"},{"Ident":"value1"}]}},{"EDValue":{"edValueName":{"Ident":"test"},"edValueType":{"annotation":[{"start":[5,9],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,36]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,33]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,31]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,22]},[]],"tag":"TypeConstructor","contents":[["Desugar"],"X"]},{"annotation":[{"start":[5,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,30]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,30]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,28]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,25]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,29],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,30]},[]],"tag":"TypeVar","contents":"b"}]}]},{"annotation":[{"start":[5,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,33]},[]],"tag":"TypeVar","contents":"a"}]}]},{"annotation":[{"start":[5,37],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"TypeVar","contents":"b"}]},0]},1]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[8,9]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Desugar"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[8,9]},"X",["X"]]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[8,9]},{"Ident":"test"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"X","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"ctors":[["X",[{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,17]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,19]},[]],"tag":"TypeVar","contents":"b"}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"X","edDataCtorOrigin":"data","edDataCtorTypeCtor":"X","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,17]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[3,19]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Desugar"],"X"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"},{"Ident":"value1"}]}},{"EDValue":{"edValueName":{"Ident":"test"},"edValueType":{"annotation":[{"start":[5,9],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,36]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,33]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,31]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,22]},[]],"tag":"TypeConstructor","contents":[["Desugar"],"X"]},{"annotation":[{"start":[5,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,30]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,30]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,28]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,25]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,29],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,30]},[]],"tag":"TypeVar","contents":"b"}]}]},{"annotation":[{"start":[5,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,33]},[]],"tag":"TypeVar","contents":"a"}]}]},{"annotation":[{"start":[5,37],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[5,38]},[]],"tag":"TypeVar","contents":"b"}]},0]},1]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs","end":[8,9]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/DocComments/externs.json b/tests/purs/docs/output/DocComments/externs.json index be028c7..bfefbaf 100644 --- a/tests/purs/docs/output/DocComments/externs.json +++ b/tests/purs/docs/output/DocComments/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["DocComments"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocComments.purs","end":[11,12]},{"Ident":"example"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"example"},"edValueType":{"annotation":[{"start":[10,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocComments.purs","end":[10,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocComments.purs","end":[11,12]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["DocComments"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocComments.purs","end":[11,12]},{"Ident":"example"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"example"},"edValueType":{"annotation":[{"start":[10,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocComments.purs","end":[10,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocComments.purs","end":[11,12]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/DocCommentsClassMethod/externs.json b/tests/purs/docs/output/DocCommentsClassMethod/externs.json index 8f4d7a6..dd73354 100644 --- a/tests/purs/docs/output/DocCommentsClassMethod/externs.json +++ b/tests/purs/docs/output/DocCommentsClassMethod/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["DocCommentsClassMethod"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},{"Ident":"bar"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},{"Ident":"baz"}]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},"Foo"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"bar"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["DocCommentsClassMethod"],"Foo"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[5,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[5,11]},[]],"tag":"TypeVar","contents":"a"}]},1]}}},{"EDValue":{"edValueName":{"Ident":"baz"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["DocCommentsClassMethod"],"Foo"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[6,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeVar","contents":"a"}]}]},0]}}},{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Foo","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["bar",{"annotation":[{"start":[5,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[5,11]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["baz",{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[6,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}]}}},{"EDClass":{"edClassName":"Foo","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"bar"},{"annotation":[{"start":[5,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[5,11]},[]],"tag":"TypeVar","contents":"a"}],[{"Ident":"baz"},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[6,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeVar","contents":"a"}]}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["DocCommentsClassMethod"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},{"Ident":"bar"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},{"Ident":"baz"}]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},"Foo"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"bar"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["DocCommentsClassMethod"],"Foo"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[5,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[5,11]},[]],"tag":"TypeVar","contents":"a"}]},1]}}},{"EDValue":{"edValueName":{"Ident":"baz"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["DocCommentsClassMethod"],"Foo"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[6,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeVar","contents":"a"}]}]},0]}}},{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Foo","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["bar",{"annotation":[{"start":[5,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[5,11]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["baz",{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[6,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}]}}},{"EDClass":{"edClassName":"Foo","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"bar"},{"annotation":[{"start":[5,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[5,11]},[]],"tag":"TypeVar","contents":"a"}],[{"Ident":"baz"},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,16]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[6,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]},[]],"tag":"TypeVar","contents":"a"}]}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs","end":[6,21]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/DocCommentsDataConstructor/externs.json b/tests/purs/docs/output/DocCommentsDataConstructor/externs.json index e81feea..fbe8033 100644 --- a/tests/purs/docs/output/DocCommentsDataConstructor/externs.json +++ b/tests/purs/docs/output/DocCommentsDataConstructor/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["DocCommentsDataConstructor"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},"Foo",["Bar","Baz"]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},"ComplexFoo",["ComplexBar","ComplexBaz"]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},"NewtypeFoo",["NewtypeFoo"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["Bar",[]],["Baz",[]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Bar","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Foo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"Foo"]},"edDataCtorFields":[]}},{"EDDataConstructor":{"edDataCtorName":"Baz","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Foo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"Foo"]},"edDataCtorFields":[]}},{"EDType":{"edTypeName":"ComplexFoo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[9,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[9,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[11,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[9,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[9,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[11,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"ctors":[["ComplexBar",[{"annotation":[{"start":[9,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[9,17]},[]],"tag":"TypeVar","contents":"a"}]],["ComplexBaz",[{"annotation":[{"start":[11,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,17]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[11,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,19]},[]],"tag":"TypeVar","contents":"b"}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"ComplexBar","edDataCtorOrigin":"data","edDataCtorTypeCtor":"ComplexFoo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[9,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[9,17]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"ComplexFoo"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDDataConstructor":{"edDataCtorName":"ComplexBaz","edDataCtorOrigin":"data","edDataCtorTypeCtor":"ComplexFoo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[11,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,17]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[11,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,19]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"ComplexFoo"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"},{"Ident":"value1"}]}},{"EDType":{"edTypeName":"NewtypeFoo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["NewtypeFoo",[{"annotation":[{"start":[15,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[15,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[15,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,38]},[]],"tag":"RCons","contents":["newtypeBar",{"annotation":[{"start":[15,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,38]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]},{"annotation":[{"start":[15,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},[]],"tag":"REmpty"}]}]}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"NewtypeFoo","edDataCtorOrigin":"newtype","edDataCtorTypeCtor":"NewtypeFoo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[15,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[15,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[15,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,38]},[]],"tag":"RCons","contents":["newtypeBar",{"annotation":[{"start":[15,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,38]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]},{"annotation":[{"start":[15,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},[]],"tag":"REmpty"}]}]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"NewtypeFoo"]}]},"edDataCtorFields":[{"Ident":"value0"}]}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["DocCommentsDataConstructor"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},"Foo",["Bar","Baz"]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},"ComplexFoo",["ComplexBar","ComplexBaz"]]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},"NewtypeFoo",["NewtypeFoo"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["Bar",[]],["Baz",[]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Bar","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Foo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"Foo"]},"edDataCtorFields":[]}},{"EDDataConstructor":{"edDataCtorName":"Baz","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Foo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"Foo"]},"edDataCtorFields":[]}},{"EDType":{"edTypeName":"ComplexFoo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[9,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[9,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[11,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[9,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[9,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[11,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,19]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"ctors":[["ComplexBar",[{"annotation":[{"start":[9,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[9,17]},[]],"tag":"TypeVar","contents":"a"}]],["ComplexBaz",[{"annotation":[{"start":[11,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,17]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[11,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,19]},[]],"tag":"TypeVar","contents":"b"}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"ComplexBar","edDataCtorOrigin":"data","edDataCtorTypeCtor":"ComplexFoo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[9,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[9,17]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"ComplexFoo"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDDataConstructor":{"edDataCtorName":"ComplexBaz","edDataCtorOrigin":"data","edDataCtorTypeCtor":"ComplexFoo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[11,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,17]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[11,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[11,19]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"ComplexFoo"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"},{"Ident":"value1"}]}},{"EDType":{"edTypeName":"NewtypeFoo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["NewtypeFoo",[{"annotation":[{"start":[15,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[15,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[15,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,38]},[]],"tag":"RCons","contents":["newtypeBar",{"annotation":[{"start":[15,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,38]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]},{"annotation":[{"start":[15,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},[]],"tag":"REmpty"}]}]}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"NewtypeFoo","edDataCtorOrigin":"newtype","edDataCtorTypeCtor":"NewtypeFoo","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[15,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[15,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[15,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,38]},[]],"tag":"RCons","contents":["newtypeBar",{"annotation":[{"start":[15,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,38]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]},{"annotation":[{"start":[15,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]},[]],"tag":"REmpty"}]}]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["DocCommentsDataConstructor"],"NewtypeFoo"]}]},"edDataCtorFields":[{"Ident":"value0"}]}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs","end":[15,40]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/DuplicateNames/externs.json b/tests/purs/docs/output/DuplicateNames/externs.json index 4c946da..14dda7d 100644 --- a/tests/purs/docs/output/DuplicateNames/externs.json +++ b/tests/purs/docs/output/DuplicateNames/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["DuplicateNames"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[9,9]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[9,9]},"Unit",[]]}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[9,9]},{"Ident":"unit"}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[2,26]},["DuplicateNames"]]},{"ModuleRef":[{"start":[3,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[3,19]},["Prelude"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[6,21]},"Unit",[]]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"unit"},"edValueType":{"annotation":[{"start":[8,9],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[8,12]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[9,9]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["DuplicateNames"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[9,9]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[9,9]},"Unit",[]]}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[9,9]},{"Ident":"unit"}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[2,26]},["DuplicateNames"]]},{"ModuleRef":[{"start":[3,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[3,19]},["Prelude"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[6,21]},"Unit",[]]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"unit"},"edValueType":{"annotation":[{"start":[8,9],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[8,12]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs","end":[9,9]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Example/externs.json b/tests/purs/docs/output/Example/externs.json index 1cc9945..9fa8142 100644 --- a/tests/purs/docs/output/Example/externs.json +++ b/tests/purs/docs/output/Example/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Example"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]},"Unit",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]},{"exportSourceImportedFrom":["Example2"],"exportSourceDefinedIn":["Example2"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]},{"Ident":"one"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[2,19]},["Prelude"]]},{"ModuleRef":[{"start":[3,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[3,20]},["Example2"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[6,23]},"Unit",[]]}]},"eiImportedAs":null},{"eiModule":["Example2"],"eiImportType":{"Explicit":[{"ValueRef":[{"start":[7,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,21]},{"Ident":"one"}]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Example"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]},"Unit",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]},{"exportSourceImportedFrom":["Example2"],"exportSourceDefinedIn":["Example2"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]},{"Ident":"one"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[2,19]},["Prelude"]]},{"ModuleRef":[{"start":[3,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[3,20]},["Example2"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[6,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[6,23]},"Unit",[]]}]},"eiImportedAs":null},{"eiModule":["Example2"],"eiImportType":{"Explicit":[{"ValueRef":[{"start":[7,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,21]},{"Ident":"one"}]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example.purs","end":[7,22]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Example2/externs.json b/tests/purs/docs/output/Example2/externs.json index 162fa6d..b34d742 100644 --- a/tests/purs/docs/output/Example2/externs.json +++ b/tests/purs/docs/output/Example2/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Example2"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[7,8]},{"Ident":"one"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[7,8]},{"Ident":"two"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"one"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDValue":{"edValueName":{"Ident":"two"},"edValueType":{"annotation":[{"start":[6,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[6,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[7,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Example2"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[7,8]},{"Ident":"one"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[7,8]},{"Ident":"two"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"one"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDValue":{"edValueName":{"Ident":"two"},"edValueType":{"annotation":[{"start":[6,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[6,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs","end":[7,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/ExplicitExport/externs.json b/tests/purs/docs/output/ExplicitExport/externs.json index 7c14b46..3a8c3e7 100644 --- a/tests/purs/docs/output/ExplicitExport/externs.json +++ b/tests/purs/docs/output/ExplicitExport/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["ExplicitExport"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitExport.purs","end":[7,8]},{"Ident":"one"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"one"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitExport.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitExport.purs","end":[7,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["ExplicitExport"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitExport.purs","end":[7,8]},{"Ident":"one"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"one"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitExport.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitExport.purs","end":[7,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/ExplicitTypeSignatures/externs.json b/tests/purs/docs/output/ExplicitTypeSignatures/externs.json index a024055..12d61ff 100644 --- a/tests/purs/docs/output/ExplicitTypeSignatures/externs.json +++ b/tests/purs/docs/output/ExplicitTypeSignatures/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["ExplicitTypeSignatures"],"efExports":[{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[16,14]},{"Ident":"explicit"}]},{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[16,14]},{"Ident":"anInt"}]},{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[16,14]},{"Ident":"aNumber"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"explicit"},"edValueType":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,53]},[]],"tag":"ForAll","contents":["something",{"annotation":[{"start":[6,31],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,53]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,31],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,53]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,41],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,43]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,31],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,40]},[]],"tag":"TypeVar","contents":"something"}]},{"annotation":[{"start":[6,44],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,53]},[]],"tag":"TypeVar","contents":"something"}]},0]}}},{"EDValue":{"edValueName":{"Ident":"anInt"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDValue":{"edValueName":{"Ident":"aNumber"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Number"]}}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[16,14]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["ExplicitTypeSignatures"],"efExports":[{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[16,14]},{"Ident":"explicit"}]},{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[16,14]},{"Ident":"anInt"}]},{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[16,14]},{"Ident":"aNumber"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"explicit"},"edValueType":{"annotation":[{"start":[6,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,53]},[]],"tag":"ForAll","contents":["something",{"annotation":[{"start":[6,31],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,53]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,31],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,53]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[6,41],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,43]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[6,31],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,40]},[]],"tag":"TypeVar","contents":"something"}]},{"annotation":[{"start":[6,44],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[6,53]},[]],"tag":"TypeVar","contents":"something"}]},0]}}},{"EDValue":{"edValueName":{"Ident":"anInt"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDValue":{"edValueName":{"Ident":"aNumber"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Number"]}}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs","end":[16,14]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/ImportedTwice/externs.json b/tests/purs/docs/output/ImportedTwice/externs.json index 408849c..ce9be62 100644 --- a/tests/purs/docs/output/ImportedTwice/externs.json +++ b/tests/purs/docs/output/ImportedTwice/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["ImportedTwice"],"efExports":[{"ReExportRef":[{"start":[6,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[13,22]},{"exportSourceImportedFrom":["ImportedTwiceB"],"exportSourceDefinedIn":["ImportedTwiceB"]},{"ValueRef":[{"start":[6,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[13,22]},{"Ident":"foo"}]}]},{"ModuleRef":[{"start":[7,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[7,26]},["ImportedTwiceA"]]},{"ModuleRef":[{"start":[8,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[8,26]},["ImportedTwiceB"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["ImportedTwiceA"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["ImportedTwiceB"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[6,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[13,22]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["ImportedTwice"],"efExports":[{"ReExportRef":[{"start":[6,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[13,22]},{"exportSourceImportedFrom":["ImportedTwiceB"],"exportSourceDefinedIn":["ImportedTwiceB"]},{"ValueRef":[{"start":[6,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[13,22]},{"Ident":"foo"}]}]},{"ModuleRef":[{"start":[7,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[7,26]},["ImportedTwiceA"]]},{"ModuleRef":[{"start":[8,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[8,26]},["ImportedTwiceB"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["ImportedTwiceA"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["ImportedTwiceB"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[6,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs","end":[13,22]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/ImportedTwiceA/externs.json b/tests/purs/docs/output/ImportedTwiceA/externs.json index 2475783..4cc0dfe 100644 --- a/tests/purs/docs/output/ImportedTwiceA/externs.json +++ b/tests/purs/docs/output/ImportedTwiceA/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["ImportedTwiceA"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs","end":[8,8]},{"exportSourceImportedFrom":["ImportedTwiceB"],"exportSourceDefinedIn":["ImportedTwiceB"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs","end":[8,8]},{"Ident":"foo"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs","end":[2,26]},["ImportedTwiceB"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["ImportedTwiceB"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs","end":[8,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["ImportedTwiceA"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs","end":[8,8]},{"exportSourceImportedFrom":["ImportedTwiceB"],"exportSourceDefinedIn":["ImportedTwiceB"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs","end":[8,8]},{"Ident":"foo"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs","end":[2,26]},["ImportedTwiceB"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["ImportedTwiceB"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs","end":[8,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/ImportedTwiceB/externs.json b/tests/purs/docs/output/ImportedTwiceB/externs.json index 6bc3413..b4c8b81 100644 --- a/tests/purs/docs/output/ImportedTwiceB/externs.json +++ b/tests/purs/docs/output/ImportedTwiceB/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["ImportedTwiceB"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceB.purs","end":[4,8]},{"Ident":"foo"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"foo"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceB.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceB.purs","end":[4,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["ImportedTwiceB"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceB.purs","end":[4,8]},{"Ident":"foo"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"foo"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceB.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceB.purs","end":[4,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/MultiVirtual/externs.json b/tests/purs/docs/output/MultiVirtual/externs.json index a1aae2c..bd84477 100644 --- a/tests/purs/docs/output/MultiVirtual/externs.json +++ b/tests/purs/docs/output/MultiVirtual/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["MultiVirtual"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"exportSourceImportedFrom":["MultiVirtual2"],"exportSourceDefinedIn":["MultiVirtual2"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"Ident":"bar"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"exportSourceImportedFrom":["MultiVirtual2"],"exportSourceDefinedIn":["MultiVirtual3"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"Ident":"baz"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"exportSourceImportedFrom":["MultiVirtual1"],"exportSourceDefinedIn":["MultiVirtual1"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"Ident":"foo"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[2,13]},["X"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["MultiVirtual1"],"eiImportType":{"Implicit":[]},"eiImportedAs":["X"]},{"eiModule":["MultiVirtual2"],"eiImportType":{"Implicit":[]},"eiImportedAs":["X"]}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["MultiVirtual"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"exportSourceImportedFrom":["MultiVirtual2"],"exportSourceDefinedIn":["MultiVirtual2"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"Ident":"bar"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"exportSourceImportedFrom":["MultiVirtual2"],"exportSourceDefinedIn":["MultiVirtual3"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"Ident":"baz"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"exportSourceImportedFrom":["MultiVirtual1"],"exportSourceDefinedIn":["MultiVirtual1"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]},{"Ident":"foo"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[2,13]},["X"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["MultiVirtual1"],"eiImportType":{"Implicit":[]},"eiImportedAs":["X"]},{"eiModule":["MultiVirtual2"],"eiImportType":{"Implicit":[]},"eiImportedAs":["X"]}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs","end":[6,26]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/MultiVirtual1/externs.json b/tests/purs/docs/output/MultiVirtual1/externs.json index 7d9e7dd..2dd97e4 100644 --- a/tests/purs/docs/output/MultiVirtual1/externs.json +++ b/tests/purs/docs/output/MultiVirtual1/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["MultiVirtual1"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual1.purs","end":[4,8]},{"Ident":"foo"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"foo"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual1.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual1.purs","end":[4,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["MultiVirtual1"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual1.purs","end":[4,8]},{"Ident":"foo"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"foo"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual1.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual1.purs","end":[4,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/MultiVirtual2/externs.json b/tests/purs/docs/output/MultiVirtual2/externs.json index e836284..cba0940 100644 --- a/tests/purs/docs/output/MultiVirtual2/externs.json +++ b/tests/purs/docs/output/MultiVirtual2/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["MultiVirtual2"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[9,8]},{"Ident":"bar"}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[9,8]},{"exportSourceImportedFrom":["MultiVirtual3"],"exportSourceDefinedIn":["MultiVirtual3"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[9,8]},{"Ident":"baz"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[2,25]},["MultiVirtual2"]]},{"ModuleRef":[{"start":[3,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[3,25]},["MultiVirtual3"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["MultiVirtual3"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"bar"},"edValueType":{"annotation":[{"start":[8,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[8,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[9,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["MultiVirtual2"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[9,8]},{"Ident":"bar"}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[9,8]},{"exportSourceImportedFrom":["MultiVirtual3"],"exportSourceDefinedIn":["MultiVirtual3"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[9,8]},{"Ident":"baz"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[2,25]},["MultiVirtual2"]]},{"ModuleRef":[{"start":[3,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[3,25]},["MultiVirtual3"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["MultiVirtual3"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"bar"},"edValueType":{"annotation":[{"start":[8,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[8,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs","end":[9,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/MultiVirtual3/externs.json b/tests/purs/docs/output/MultiVirtual3/externs.json index b3eee96..1bd73c2 100644 --- a/tests/purs/docs/output/MultiVirtual3/externs.json +++ b/tests/purs/docs/output/MultiVirtual3/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["MultiVirtual3"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual3.purs","end":[4,8]},{"Ident":"baz"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"baz"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual3.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual3.purs","end":[4,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["MultiVirtual3"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual3.purs","end":[4,8]},{"Ident":"baz"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"baz"},"edValueType":{"annotation":[{"start":[3,8],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual3.purs","end":[3,11]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual3.purs","end":[4,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/NewOperators/externs.json b/tests/purs/docs/output/NewOperators/externs.json index 747a2b4..ef9075f 100644 --- a/tests/purs/docs/output/NewOperators/externs.json +++ b/tests/purs/docs/output/NewOperators/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["NewOperators"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]},{"exportSourceImportedFrom":["NewOperators2"],"exportSourceDefinedIn":["NewOperators2"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]},{"Ident":"_compose"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]},{"exportSourceImportedFrom":["NewOperators2"],"exportSourceDefinedIn":["NewOperators2"]},{"ValueOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]},">>>"]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[2,25]},["NewOperators2"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["NewOperators2"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["NewOperators"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]},{"exportSourceImportedFrom":["NewOperators2"],"exportSourceDefinedIn":["NewOperators2"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]},{"Ident":"_compose"}]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]},{"exportSourceImportedFrom":["NewOperators2"],"exportSourceDefinedIn":["NewOperators2"]},{"ValueOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]},">>>"]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[2,25]},["NewOperators2"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["NewOperators2"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs","end":[5,21]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/NewOperators2/externs.json b/tests/purs/docs/output/NewOperators2/externs.json index b5d9af1..e695e84 100644 --- a/tests/purs/docs/output/NewOperators2/externs.json +++ b/tests/purs/docs/output/NewOperators2/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["NewOperators2"],"efExports":[{"ValueOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[6,25]},">>>"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[6,25]},{"Ident":"_compose"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[{"efAssociativity":"infixl","efPrecedence":8,"efOperator":">>>","efAlias":[["NewOperators2"],{"Left":{"Ident":"_compose"}}]}],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"_compose"},"edValueType":{"annotation":[{"start":[5,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[5,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[5,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[5,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,38]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,34]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,34]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,30],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,32]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,29]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[5,33],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,34]},[]],"tag":"TypeVar","contents":"c"}]}]},{"annotation":[{"start":[5,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,48],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,50]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,40],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,46]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,40],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,46]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,42],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,44]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,40],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,41]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,45],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,46]},[]],"tag":"TypeVar","contents":"b"}]}]},{"annotation":[{"start":[5,52],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,58]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,52],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,58]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,54],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,56]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,52],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,53]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,57],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,58]},[]],"tag":"TypeVar","contents":"c"}]}]}]},0]},1]},2]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[6,25]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["NewOperators2"],"efExports":[{"ValueOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[6,25]},">>>"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[6,25]},{"Ident":"_compose"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[{"efAssociativity":"infixl","efPrecedence":8,"efOperator":">>>","efAlias":[["NewOperators2"],{"Left":{"Ident":"_compose"}}]}],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"_compose"},"edValueType":{"annotation":[{"start":[5,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[5,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[5,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[5,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,27],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,38]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,34]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,34]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,30],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,32]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,29]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[5,33],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,34]},[]],"tag":"TypeVar","contents":"c"}]}]},{"annotation":[{"start":[5,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,59]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,48],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,50]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,40],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,46]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,40],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,46]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,42],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,44]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,40],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,41]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,45],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,46]},[]],"tag":"TypeVar","contents":"b"}]}]},{"annotation":[{"start":[5,52],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,58]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,52],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,58]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,54],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,56]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,52],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,53]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,57],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[5,58]},[]],"tag":"TypeVar","contents":"c"}]}]}]},0]},1]},2]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs","end":[6,25]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/NotAllCtors/externs.json b/tests/purs/docs/output/NotAllCtors/externs.json index 1744fd1..5ebad0b 100644 --- a/tests/purs/docs/output/NotAllCtors/externs.json +++ b/tests/purs/docs/output/NotAllCtors/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["NotAllCtors"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[5,32]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[5,32]},"Boolean2",["True"]]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[2,19]},["Prelude"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[5,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[5,31]},"Boolean2",["True"]]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[5,32]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["NotAllCtors"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[5,32]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[5,32]},"Boolean2",["True"]]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[2,19]},["Prelude"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[5,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[5,31]},"Boolean2",["True"]]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs","end":[5,32]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Prelude/externs.json b/tests/purs/docs/output/Prelude/externs.json index 02d1512..724b7a1 100644 --- a/tests/purs/docs/output/Prelude/externs.json +++ b/tests/purs/docs/output/Prelude/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Prelude"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[8,29]},"Unit",["Unit"]]},{"ValueRef":[{"start":[1,1],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[8,29]},{"Ident":"unit"}]},{"TypeRef":[{"start":[1,1],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[8,29]},"Boolean2",["True","False"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Unit","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["Unit",[{"annotation":[{"start":[3,21],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,23]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[3,21],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[3,22],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,23]},[]],"tag":"REmpty"}]}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Unit","edDataCtorOrigin":"newtype","edDataCtorTypeCtor":"Unit","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[3,21],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,23]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[3,21],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[3,22],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,23]},[]],"tag":"REmpty"}]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Unit"]}]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"unit"},"edValueType":{"annotation":[{"start":[5,9],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[5,13]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Unit"]}}},{"EDType":{"edTypeName":"Boolean2","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["True",[]],["False",[]]]}}}},{"EDDataConstructor":{"edDataCtorName":"True","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Boolean2","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Boolean2"]},"edDataCtorFields":[]}},{"EDDataConstructor":{"edDataCtorName":"False","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Boolean2","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Boolean2"]},"edDataCtorFields":[]}}],"efSourceSpan":{"start":[1,1],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[8,29]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Prelude"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[8,29]},"Unit",["Unit"]]},{"ValueRef":[{"start":[1,1],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[8,29]},{"Ident":"unit"}]},{"TypeRef":[{"start":[1,1],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[8,29]},"Boolean2",["True","False"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Unit","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["Unit",[{"annotation":[{"start":[3,21],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,23]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[3,21],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[3,22],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,23]},[]],"tag":"REmpty"}]}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Unit","edDataCtorOrigin":"newtype","edDataCtorTypeCtor":"Unit","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[3,21],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,23]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[3,21],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[3,22],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[3,23]},[]],"tag":"REmpty"}]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Unit"]}]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"unit"},"edValueType":{"annotation":[{"start":[5,9],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[5,13]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Unit"]}}},{"EDType":{"edTypeName":"Boolean2","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["True",[]],["False",[]]]}}}},{"EDDataConstructor":{"edDataCtorName":"True","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Boolean2","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Boolean2"]},"edDataCtorFields":[]}},{"EDDataConstructor":{"edDataCtorName":"False","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Boolean2","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Boolean2"]},"edDataCtorFields":[]}}],"efSourceSpan":{"start":[1,1],"name":"bower_components/purescript-prelude/src/Prelude.purs","end":[8,29]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/PrimSubmodules/externs.json b/tests/purs/docs/output/PrimSubmodules/externs.json index 42de5de..112958b 100644 --- a/tests/purs/docs/output/PrimSubmodules/externs.json +++ b/tests/purs/docs/output/PrimSubmodules/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["PrimSubmodules"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"exportSourceImportedFrom":["Prim","Ordering"],"exportSourceDefinedIn":["Prim","Ordering"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"EQ",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"exportSourceImportedFrom":["Prim","Ordering"],"exportSourceDefinedIn":["Prim","Ordering"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"GT",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"exportSourceImportedFrom":["Prim","Ordering"],"exportSourceDefinedIn":["Prim","Ordering"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"LT",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"exportSourceImportedFrom":["Prim","Ordering"],"exportSourceDefinedIn":["Prim","Ordering"]},{"KindRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"Ordering"]}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"Lol",["Lol"]]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"Ident":"x"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"Ident":"y"}]},{"ModuleRef":[{"start":[1,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[1,47]},["O"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prim","Ordering"],"eiImportType":{"Explicit":[{"KindRef":[{"start":[3,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[3,36]},"Ordering"]},{"TypeRef":[{"start":[3,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[3,40]},"LT",[]]},{"TypeRef":[{"start":[3,42],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[3,44]},"EQ",[]]},{"TypeRef":[{"start":[3,46],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[3,48]},"GT",[]]}]},"eiImportedAs":["O"]}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Lol","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[5,26]},[]],"tag":"NamedKind","contents":[["Prim","Ordering"],"Ordering"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[5,26]},[]],"tag":"NamedKind","contents":[["Prim","Ordering"],"Ordering"]}]],"ctors":[["Lol",[{"annotation":[{"start":[5,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[5,37]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Lol","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Lol","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[5,37]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["PrimSubmodules"],"Lol"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]}]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"x"},"edValueType":{"annotation":[{"start":[7,6],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[7,14]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[7,6],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[7,9]},[]],"tag":"TypeConstructor","contents":[["PrimSubmodules"],"Lol"]},{"annotation":[{"start":[7,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[7,14]},[]],"tag":"TypeConstructor","contents":[["Prim","Ordering"],"LT"]}]}}},{"EDValue":{"edValueName":{"Ident":"y"},"edValueType":{"annotation":[{"start":[10,6],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[10,14]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[10,6],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[10,9]},[]],"tag":"TypeConstructor","contents":[["PrimSubmodules"],"Lol"]},{"annotation":[{"start":[10,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[10,14]},[]],"tag":"TypeConstructor","contents":[["Prim","Ordering"],"EQ"]}]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["PrimSubmodules"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"exportSourceImportedFrom":["Prim","Ordering"],"exportSourceDefinedIn":["Prim","Ordering"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"EQ",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"exportSourceImportedFrom":["Prim","Ordering"],"exportSourceDefinedIn":["Prim","Ordering"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"GT",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"exportSourceImportedFrom":["Prim","Ordering"],"exportSourceDefinedIn":["Prim","Ordering"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"LT",[]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"exportSourceImportedFrom":["Prim","Ordering"],"exportSourceDefinedIn":["Prim","Ordering"]},{"KindRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"Ordering"]}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},"Lol",["Lol"]]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"Ident":"x"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]},{"Ident":"y"}]},{"ModuleRef":[{"start":[1,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[1,47]},["O"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prim","Ordering"],"eiImportType":{"Explicit":[{"KindRef":[{"start":[3,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[3,36]},"Ordering"]},{"TypeRef":[{"start":[3,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[3,40]},"LT",[]]},{"TypeRef":[{"start":[3,42],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[3,44]},"EQ",[]]},{"TypeRef":[{"start":[3,46],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[3,48]},"GT",[]]}]},"eiImportedAs":["O"]}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Lol","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[5,26]},[]],"tag":"NamedKind","contents":[["Prim","Ordering"],"Ordering"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[5,26]},[]],"tag":"NamedKind","contents":[["Prim","Ordering"],"Ordering"]}]],"ctors":[["Lol",[{"annotation":[{"start":[5,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[5,37]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Lol","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Lol","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[5,37]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["PrimSubmodules"],"Lol"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]}]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"x"},"edValueType":{"annotation":[{"start":[7,6],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[7,14]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[7,6],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[7,9]},[]],"tag":"TypeConstructor","contents":[["PrimSubmodules"],"Lol"]},{"annotation":[{"start":[7,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[7,14]},[]],"tag":"TypeConstructor","contents":[["Prim","Ordering"],"LT"]}]}}},{"EDValue":{"edValueName":{"Ident":"y"},"edValueType":{"annotation":[{"start":[10,6],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[10,14]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[10,6],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[10,9]},[]],"tag":"TypeConstructor","contents":[["PrimSubmodules"],"Lol"]},{"annotation":[{"start":[10,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[10,14]},[]],"tag":"TypeConstructor","contents":[["Prim","Ordering"],"EQ"]}]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs","end":[11,10]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/ReExportedTypeClass/externs.json b/tests/purs/docs/output/ReExportedTypeClass/externs.json index 7db2137..fef5549 100644 --- a/tests/purs/docs/output/ReExportedTypeClass/externs.json +++ b/tests/purs/docs/output/ReExportedTypeClass/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["ReExportedTypeClass"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]},{"exportSourceImportedFrom":["SomeTypeClass"],"exportSourceDefinedIn":["SomeTypeClass"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]},"SomeClass"]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]},{"exportSourceImportedFrom":["SomeTypeClass"],"exportSourceDefinedIn":["SomeTypeClass"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]},{"Ident":"member"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[2,25]},["SomeTypeClass"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["SomeTypeClass"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["ReExportedTypeClass"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]},{"exportSourceImportedFrom":["SomeTypeClass"],"exportSourceDefinedIn":["SomeTypeClass"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]},"SomeClass"]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]},{"exportSourceImportedFrom":["SomeTypeClass"],"exportSourceDefinedIn":["SomeTypeClass"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]},{"Ident":"member"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[2,25]},["SomeTypeClass"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["SomeTypeClass"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs","end":[5,21]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/SolitaryTypeClassMember/externs.json b/tests/purs/docs/output/SolitaryTypeClassMember/externs.json index a33aeb4..a390523 100644 --- a/tests/purs/docs/output/SolitaryTypeClassMember/externs.json +++ b/tests/purs/docs/output/SolitaryTypeClassMember/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["SolitaryTypeClassMember"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[5,30]},{"exportSourceImportedFrom":["SomeTypeClass"],"exportSourceDefinedIn":["SomeTypeClass"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[5,30]},{"Ident":"member"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[2,25]},["SomeTypeClass"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["SomeTypeClass"],"eiImportType":{"Explicit":[{"ValueRef":[{"start":[5,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[5,29]},{"Ident":"member"}]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[5,30]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["SolitaryTypeClassMember"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[5,30]},{"exportSourceImportedFrom":["SomeTypeClass"],"exportSourceDefinedIn":["SomeTypeClass"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[5,30]},{"Ident":"member"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[2,25]},["SomeTypeClass"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["SomeTypeClass"],"eiImportType":{"Explicit":[{"ValueRef":[{"start":[5,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[5,29]},{"Ident":"member"}]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs","end":[5,30]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/SomeTypeClass/externs.json b/tests/purs/docs/output/SomeTypeClass/externs.json index b592123..8b8dd7a 100644 --- a/tests/purs/docs/output/SomeTypeClass/externs.json +++ b/tests/purs/docs/output/SomeTypeClass/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["SomeTypeClass"],"efExports":[{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},{"Ident":"member"}]},{"TypeClassRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},"SomeClass"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"member"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["SomeTypeClass"],"SomeClass"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[5,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"a"}]},0]}}},{"EDType":{"edTypeName":"SomeClass","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"SomeClass","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["member",{"annotation":[{"start":[5,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"SomeClass","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"member"},{"annotation":[{"start":[5,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["SomeTypeClass"],"efExports":[{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},{"Ident":"member"}]},{"TypeClassRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},"SomeClass"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"member"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["SomeTypeClass"],"SomeClass"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[5,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"a"}]},0]}}},{"EDType":{"edTypeName":"SomeClass","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"SomeClass","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["member",{"annotation":[{"start":[5,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"SomeClass","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"member"},{"annotation":[{"start":[5,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs","end":[5,14]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Transitive1/externs.json b/tests/purs/docs/output/Transitive1/externs.json index 0fc4d8e..ec2e4e0 100644 --- a/tests/purs/docs/output/Transitive1/externs.json +++ b/tests/purs/docs/output/Transitive1/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Transitive1"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs","end":[5,19]},{"exportSourceImportedFrom":["Transitive2"],"exportSourceDefinedIn":["Transitive3"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs","end":[5,19]},{"Ident":"transitive3"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs","end":[2,23]},["Transitive2"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Transitive2"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs","end":[5,19]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Transitive1"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs","end":[5,19]},{"exportSourceImportedFrom":["Transitive2"],"exportSourceDefinedIn":["Transitive3"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs","end":[5,19]},{"Ident":"transitive3"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs","end":[2,23]},["Transitive2"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Transitive2"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs","end":[5,19]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Transitive2/externs.json b/tests/purs/docs/output/Transitive2/externs.json index 5f97685..e8ad330 100644 --- a/tests/purs/docs/output/Transitive2/externs.json +++ b/tests/purs/docs/output/Transitive2/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Transitive2"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs","end":[5,19]},{"exportSourceImportedFrom":["Transitive3"],"exportSourceDefinedIn":["Transitive3"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs","end":[5,19]},{"Ident":"transitive3"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs","end":[2,23]},["Transitive3"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Transitive3"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs","end":[5,19]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Transitive2"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs","end":[5,19]},{"exportSourceImportedFrom":["Transitive3"],"exportSourceDefinedIn":["Transitive3"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs","end":[5,19]},{"Ident":"transitive3"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs","end":[2,23]},["Transitive3"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Transitive3"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs","end":[5,19]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Transitive3/externs.json b/tests/purs/docs/output/Transitive3/externs.json index ec9e18e..63033c5 100644 --- a/tests/purs/docs/output/Transitive3/externs.json +++ b/tests/purs/docs/output/Transitive3/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Transitive3"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive3.purs","end":[4,16]},{"Ident":"transitive3"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"transitive3"},"edValueType":{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive3.purs","end":[3,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive3.purs","end":[4,16]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Transitive3"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive3.purs","end":[4,16]},{"Ident":"transitive3"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"transitive3"},"edValueType":{"annotation":[{"start":[3,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive3.purs","end":[3,19]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Transitive3.purs","end":[4,16]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/TypeClassWithFunDeps/externs.json b/tests/purs/docs/output/TypeClassWithFunDeps/externs.json index 190c1db..c6fafcf 100644 --- a/tests/purs/docs/output/TypeClassWithFunDeps/externs.json +++ b/tests/purs/docs/output/TypeClassWithFunDeps/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["TypeClassWithFunDeps"],"efExports":[{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},{"Ident":"aMember"}]},{"TypeClassRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},"TypeClassWithFunDeps"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"aMember"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["d",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["e",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["TypeClassWithFunDeps"],"TypeClassWithFunDeps"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"c"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"d"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"e"}],"constraintData":null},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,15]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,19],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeVar","contents":"b"}]}]},0]},1]},2]},3]},4]}}},{"EDType":{"edTypeName":"TypeClassWithFunDeps","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]}]}]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TypeClassWithFunDeps","edTypeSynonymArguments":[["a",null],["b",null],["c",null],["d",null],["e",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["aMember",{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,15]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,19],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TypeClassWithFunDeps","edClassTypeArguments":[["a",null],["b",null],["c",null],["d",null],["e",null]],"edClassMembers":[[{"Ident":"aMember"},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,15]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,19],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeVar","contents":"b"}]}]],"edClassConstraints":[],"edFunctionalDependencies":[{"determiners":[0,1],"determined":[2]},{"determiners":[2],"determined":[3,4]}],"edIsEmpty":false}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["TypeClassWithFunDeps"],"efExports":[{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},{"Ident":"aMember"}]},{"TypeClassRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},"TypeClassWithFunDeps"]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"aMember"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["d",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["e",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["TypeClassWithFunDeps"],"TypeClassWithFunDeps"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"c"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"d"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"e"}],"constraintData":null},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,15]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,19],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeVar","contents":"b"}]}]},0]},1]},2]},3]},4]}}},{"EDType":{"edTypeName":"TypeClassWithFunDeps","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]}]}]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TypeClassWithFunDeps","edTypeSynonymArguments":[["a",null],["b",null],["c",null],["d",null],["e",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["aMember",{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,15]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,19],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TypeClassWithFunDeps","edClassTypeArguments":[["a",null],["b",null],["c",null],["d",null],["e",null]],"edClassMembers":[[{"Ident":"aMember"},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[5,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,18]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[5,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,15]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[5,19],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]},[]],"tag":"TypeVar","contents":"b"}]}]],"edClassConstraints":[],"edFunctionalDependencies":[{"determiners":[0,1],"determined":[2]},{"determiners":[2],"determined":[3,4]}],"edIsEmpty":false}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs","end":[5,20]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/TypeClassWithoutMembers/externs.json b/tests/purs/docs/output/TypeClassWithoutMembers/externs.json index c9adf0c..b8a2486 100644 --- a/tests/purs/docs/output/TypeClassWithoutMembers/externs.json +++ b/tests/purs/docs/output/TypeClassWithoutMembers/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["TypeClassWithoutMembers"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs","end":[5,43]},{"exportSourceImportedFrom":["TypeClassWithoutMembersIntermediate"],"exportSourceDefinedIn":["SomeTypeClass"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs","end":[5,43]},"SomeClass"]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs","end":[2,47]},["TypeClassWithoutMembersIntermediate"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["TypeClassWithoutMembersIntermediate"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs","end":[5,43]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["TypeClassWithoutMembers"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs","end":[5,43]},{"exportSourceImportedFrom":["TypeClassWithoutMembersIntermediate"],"exportSourceDefinedIn":["SomeTypeClass"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs","end":[5,43]},"SomeClass"]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs","end":[2,47]},["TypeClassWithoutMembersIntermediate"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["TypeClassWithoutMembersIntermediate"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs","end":[5,43]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/TypeClassWithoutMembersIntermediate/externs.json b/tests/purs/docs/output/TypeClassWithoutMembersIntermediate/externs.json index 16b2162..8af4f0b 100644 --- a/tests/purs/docs/output/TypeClassWithoutMembersIntermediate/externs.json +++ b/tests/purs/docs/output/TypeClassWithoutMembersIntermediate/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["TypeClassWithoutMembersIntermediate"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[5,39]},{"exportSourceImportedFrom":["SomeTypeClass"],"exportSourceDefinedIn":["SomeTypeClass"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[5,39]},"SomeClass"]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[2,25]},["SomeTypeClass"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["SomeTypeClass"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[5,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[5,38]},"SomeClass"]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[5,39]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["TypeClassWithoutMembersIntermediate"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[5,39]},{"exportSourceImportedFrom":["SomeTypeClass"],"exportSourceDefinedIn":["SomeTypeClass"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[5,39]},"SomeClass"]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[2,25]},["SomeTypeClass"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["SomeTypeClass"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[5,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[5,38]},"SomeClass"]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs","end":[5,39]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/TypeLevelString/externs.json b/tests/purs/docs/output/TypeLevelString/externs.json index 756e82e..4f32df4 100644 --- a/tests/purs/docs/output/TypeLevelString/externs.json +++ b/tests/purs/docs/output/TypeLevelString/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["TypeLevelString"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,49]},"Foo",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,49]},"Bar"]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"fooBar"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prim","TypeError"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[3,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[3,34]},"Fail"]},{"TypeRef":[{"start":[3,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[3,40]},"Text",[]]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDType":{"edTypeName":"Bar","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Bar","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"Bar","edClassTypeArguments":[["a",null]],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}},{"EDInstance":{"edInstanceClassName":[["TypeLevelString"],"Bar"],"edInstanceName":{"Ident":"fooBar"},"edInstanceTypes":[{"annotation":[{"start":[9,46],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,49]},[]],"tag":"TypeConstructor","contents":[["TypeLevelString"],"Foo"]}],"edInstanceConstraints":[{"constraintAnn":[{"start":[9,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,38]},[]],"constraintClass":[["Prim","TypeError"],"Fail"],"constraintArgs":[{"annotation":[{"start":[9,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,37]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,30]},[]],"tag":"TypeConstructor","contents":[["Prim","TypeError"],"Text"]},{"annotation":[{"start":[9,31],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,37]},[]],"tag":"TypeLevelString","contents":"oops"}]}],"constraintData":null}],"edInstanceChain":[[["TypeLevelString"],{"Ident":"fooBar"}]],"edInstanceChainIndex":0}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,49]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["TypeLevelString"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,49]},"Foo",[]]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,49]},"Bar"]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"fooBar"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prim","TypeError"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[3,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[3,34]},"Fail"]},{"TypeRef":[{"start":[3,36],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[3,40]},"Text",[]]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"Foo","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[]}}}},{"EDType":{"edTypeName":"Bar","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Bar","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}}},{"EDClass":{"edClassName":"Bar","edClassTypeArguments":[["a",null]],"edClassMembers":[],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":true}},{"EDInstance":{"edInstanceClassName":[["TypeLevelString"],"Bar"],"edInstanceName":{"Ident":"fooBar"},"edInstanceTypes":[{"annotation":[{"start":[9,46],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,49]},[]],"tag":"TypeConstructor","contents":[["TypeLevelString"],"Foo"]}],"edInstanceConstraints":[{"constraintAnn":[{"start":[9,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,38]},[]],"constraintClass":[["Prim","TypeError"],"Fail"],"constraintArgs":[{"annotation":[{"start":[9,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,37]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[9,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,30]},[]],"tag":"TypeConstructor","contents":[["Prim","TypeError"],"Text"]},{"annotation":[{"start":[9,31],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,37]},[]],"tag":"TypeLevelString","contents":"oops"}]}],"constraintData":null}],"edInstanceChain":[[["TypeLevelString"],{"Ident":"fooBar"}]],"edInstanceChainIndex":0}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs","end":[9,49]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/TypeOpAliases/externs.json b/tests/purs/docs/output/TypeOpAliases/externs.json index 415fc44..a0b7a21 100644 --- a/tests/purs/docs/output/TypeOpAliases/externs.json +++ b/tests/purs/docs/output/TypeOpAliases/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["TypeOpAliases"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"show"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"testL"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"testR"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"AltFn",[]]},{"TypeOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"~>"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"test1"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"test2"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"test3"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"test4"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"Tuple",["Tuple"]]},{"ValueOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"×"]},{"TypeOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"×"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"Either",["Left","Right"]]},{"TypeOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"⊕"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"third"}]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"Show"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"TestL"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"TestR"]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"showTuple"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"testLEither"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"testREither"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[{"efAssociativity":"infixl","efPrecedence":6,"efOperator":"×","efAlias":[["TypeOpAliases"],{"Right":"Tuple"}]}],"efTypeFixities":[{"efTypeAssociativity":"infixr","efTypePrecedence":6,"efTypeOperator":"~>","efTypeAlias":[["TypeOpAliases"],"AltFn"]},{"efTypeAssociativity":"infixl","efTypePrecedence":6,"efTypeOperator":"×","efTypeAlias":[["TypeOpAliases"],"Tuple"]},{"efTypeAssociativity":"infixl","efTypePrecedence":5,"efTypeOperator":"⊕","efTypeAlias":[["TypeOpAliases"],"Either"]}],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"show"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["TypeOpAliases"],"Show"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[25,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]},8]}}},{"EDValue":{"edValueName":{"Ident":"testL"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["TypeOpAliases"],"TestL"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[33,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[33,13]},[]],"tag":"TypeVar","contents":"a"}]},7]}}},{"EDValue":{"edValueName":{"Ident":"testR"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["TypeOpAliases"],"TestR"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[36,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[36,13]},[]],"tag":"TypeVar","contents":"a"}]},6]}}},{"EDType":{"edTypeName":"AltFn","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"AltFn","edTypeSynonymArguments":[["a",{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"edTypeSynonymType":{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,24]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,24]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,19]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[3,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,24]},[]],"tag":"TypeVar","contents":"b"}]}}},{"EDValue":{"edValueName":{"Ident":"test1"},"edValueType":{"annotation":[{"start":[7,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[7,43]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[7,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[7,43]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[7,37],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[7,38]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[7,42],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[7,43]},[]],"tag":"TypeVar","contents":"b"}]},null]},null]}}},{"EDValue":{"edValueName":{"Ident":"test2"},"edValueType":{"annotation":[{"start":[8,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,50]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[8,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,50]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[8,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,50]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[8,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,40]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[8,44],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,45]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[8,49],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,50]},[]],"tag":"TypeVar","contents":"c"}]}]},null]},null]},null]}}},{"EDValue":{"edValueName":{"Ident":"test3"},"edValueType":{"annotation":[{"start":[9,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"ForAll","contents":["d",{"annotation":[{"start":[9,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[9,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[9,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[9,41],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,42]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[9,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,48]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[9,52],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,53]},[]],"tag":"TypeVar","contents":"c"}]}]},{"annotation":[{"start":[9,58],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"TypeVar","contents":"d"}]}]},null]},null]},null]},null]}}},{"EDValue":{"edValueName":{"Ident":"test4"},"edValueType":{"annotation":[{"start":[10,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"ForAll","contents":["d",{"annotation":[{"start":[10,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[10,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[10,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[10,43],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,44]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[10,48],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,49]},[]],"tag":"TypeVar","contents":"b"}]}]},{"annotation":[{"start":[10,54],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,55]},[]],"tag":"TypeVar","contents":"c"}]}]},{"annotation":[{"start":[10,60],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"TypeVar","contents":"d"}]},null]},null]},null]},null]}}},{"EDType":{"edTypeName":"Tuple","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[12,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,25]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[12,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,27]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[12,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,25]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[12,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,27]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"ctors":[["Tuple",[{"annotation":[{"start":[12,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,25]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[12,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,27]},[]],"tag":"TypeVar","contents":"b"}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Tuple","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Tuple","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,25]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,27]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"},{"Ident":"value1"}]}},{"EDType":{"edTypeName":"Either","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[17,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,25]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[17,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,35]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[17,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,25]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[17,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,35]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"ctors":[["Left",[{"annotation":[{"start":[17,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,25]},[]],"tag":"TypeVar","contents":"a"}]],["Right",[{"annotation":[{"start":[17,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,35]},[]],"tag":"TypeVar","contents":"b"}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Left","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Either","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[17,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,25]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Either"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDDataConstructor":{"edDataCtorName":"Right","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Either","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[17,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,35]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Either"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"third"},"edValueType":{"annotation":[{"start":[21,9],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[21,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[21,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[21,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[21,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[21,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,29]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[21,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,19]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[21,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,23]},[]],"tag":"TypeVar","contents":"b"}]}]},{"annotation":[{"start":[21,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,27]},[]],"tag":"TypeVar","contents":"c"}]}]},{"annotation":[{"start":[21,30],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"TypeVar","contents":"c"}]},0]},1]},2]}}},{"EDType":{"edTypeName":"Show","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[25,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,15]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Show","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["show",{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[25,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"Show","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"show"},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[25,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDType":{"edTypeName":"TestL","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TestL","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["testL",{"annotation":[{"start":[33,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[33,13]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TestL","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"testL"},{"annotation":[{"start":[33,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[33,13]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDType":{"edTypeName":"TestR","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TestR","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["testR",{"annotation":[{"start":[36,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[36,13]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TestR","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"testR"},{"annotation":[{"start":[36,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[36,13]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDInstance":{"edInstanceClassName":[["TypeOpAliases"],"Show"],"edInstanceName":{"Ident":"showTuple"},"edInstanceTypes":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[27,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[27,40]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[27,43],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[27,44]},[]],"tag":"TypeVar","contents":"b"}]}],"edInstanceConstraints":[{"constraintAnn":[{"start":[27,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[27,29]},[]],"constraintClass":[["TypeOpAliases"],"Show"],"constraintArgs":[{"annotation":[{"start":[27,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[27,29]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null}],"edInstanceChain":[[["TypeOpAliases"],{"Ident":"showTuple"}]],"edInstanceChainIndex":0}},{"EDInstance":{"edInstanceClassName":[["TypeOpAliases"],"TestL"],"edInstanceName":{"Ident":"testLEither"},"edInstanceTypes":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Either"]},{"annotation":[{"start":[39,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[39,35]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[39,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[39,41]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[{"start":[39,44],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[39,50]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]}],"edInstanceConstraints":[],"edInstanceChain":[[["TypeOpAliases"],{"Ident":"testLEither"}]],"edInstanceChainIndex":0}},{"EDInstance":{"edInstanceClassName":[["TypeOpAliases"],"TestR"],"edInstanceName":{"Ident":"testREither"},"edInstanceTypes":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Either"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[43,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[43,35]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[{"start":[43,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[43,41]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}]},{"annotation":[{"start":[43,44],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[43,50]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}],"edInstanceConstraints":[],"edInstanceChain":[[["TypeOpAliases"],{"Ident":"testREither"}]],"edInstanceChainIndex":0}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["TypeOpAliases"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"show"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"testL"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"testR"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"AltFn",[]]},{"TypeOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"~>"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"test1"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"test2"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"test3"}]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"test4"}]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"Tuple",["Tuple"]]},{"ValueOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"×"]},{"TypeOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"×"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"Either",["Left","Right"]]},{"TypeOpRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"⊕"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},{"Ident":"third"}]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"Show"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"TestL"]},{"TypeClassRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]},"TestR"]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"showTuple"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"testLEither"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"testREither"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[{"efAssociativity":"infixl","efPrecedence":6,"efOperator":"×","efAlias":[["TypeOpAliases"],{"Right":"Tuple"}]}],"efTypeFixities":[{"efTypeAssociativity":"infixr","efTypePrecedence":6,"efTypeOperator":"~>","efTypeAlias":[["TypeOpAliases"],"AltFn"]},{"efTypeAssociativity":"infixl","efTypePrecedence":6,"efTypeOperator":"×","efTypeAlias":[["TypeOpAliases"],"Tuple"]},{"efTypeAssociativity":"infixl","efTypePrecedence":5,"efTypeOperator":"⊕","efTypeAlias":[["TypeOpAliases"],"Either"]}],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"show"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["TypeOpAliases"],"Show"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[25,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]},8]}}},{"EDValue":{"edValueName":{"Ident":"testL"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["TypeOpAliases"],"TestL"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[33,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[33,13]},[]],"tag":"TypeVar","contents":"a"}]},7]}}},{"EDValue":{"edValueName":{"Ident":"testR"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ConstrainedType","contents":[{"constraintAnn":[{"start":[0,0],"name":"","end":[0,0]},[]],"constraintClass":[["TypeOpAliases"],"TestR"],"constraintArgs":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[{"start":[36,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[36,13]},[]],"tag":"TypeVar","contents":"a"}]},6]}}},{"EDType":{"edTypeName":"AltFn","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"AltFn","edTypeSynonymArguments":[["a",{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"edTypeSynonymType":{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,24]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,24]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[3,20],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[3,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,19]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[3,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[3,24]},[]],"tag":"TypeVar","contents":"b"}]}}},{"EDValue":{"edValueName":{"Ident":"test1"},"edValueType":{"annotation":[{"start":[7,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[7,43]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[7,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[7,43]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[7,37],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[7,38]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[7,42],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[7,43]},[]],"tag":"TypeVar","contents":"b"}]},null]},null]}}},{"EDValue":{"edValueName":{"Ident":"test2"},"edValueType":{"annotation":[{"start":[8,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,50]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[8,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,50]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[8,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,50]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[8,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,40]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[8,44],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,45]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[8,49],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[8,50]},[]],"tag":"TypeVar","contents":"c"}]}]},null]},null]},null]}}},{"EDValue":{"edValueName":{"Ident":"test3"},"edValueType":{"annotation":[{"start":[9,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"ForAll","contents":["d",{"annotation":[{"start":[9,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[9,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[9,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[9,41],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,42]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[9,47],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,48]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[9,52],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,53]},[]],"tag":"TypeVar","contents":"c"}]}]},{"annotation":[{"start":[9,58],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[9,59]},[]],"tag":"TypeVar","contents":"d"}]}]},null]},null]},null]},null]}}},{"EDValue":{"edValueName":{"Ident":"test4"},"edValueType":{"annotation":[{"start":[10,25],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"ForAll","contents":["d",{"annotation":[{"start":[10,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[10,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[10,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"AltFn"]},{"annotation":[{"start":[10,43],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,44]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[10,48],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,49]},[]],"tag":"TypeVar","contents":"b"}]}]},{"annotation":[{"start":[10,54],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,55]},[]],"tag":"TypeVar","contents":"c"}]}]},{"annotation":[{"start":[10,60],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[10,61]},[]],"tag":"TypeVar","contents":"d"}]},null]},null]},null]},null]}}},{"EDType":{"edTypeName":"Tuple","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[12,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,25]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[12,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,27]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[12,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,25]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[12,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,27]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"ctors":[["Tuple",[{"annotation":[{"start":[12,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,25]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[12,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,27]},[]],"tag":"TypeVar","contents":"b"}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Tuple","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Tuple","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,25]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[12,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[12,27]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"},{"Ident":"value1"}]}},{"EDType":{"edTypeName":"Either","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[17,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,25]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[17,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,35]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]}]},"edTypeDeclarationKind":{"DataType":{"args":[["a",{"annotation":[{"start":[17,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,25]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}],["b",{"annotation":[{"start":[17,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,35]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]],"ctors":[["Left",[{"annotation":[{"start":[17,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,25]},[]],"tag":"TypeVar","contents":"a"}]],["Right",[{"annotation":[{"start":[17,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,35]},[]],"tag":"TypeVar","contents":"b"}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"Left","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Either","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[17,24],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,25]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Either"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDDataConstructor":{"edDataCtorName":"Right","edDataCtorOrigin":"data","edDataCtorTypeCtor":"Either","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[17,34],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[17,35]},[]],"tag":"TypeVar","contents":"b"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Either"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeVar","contents":"b"}]}]},null]},null]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"third"},"edValueType":{"annotation":[{"start":[21,9],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"ForAll","contents":["c",{"annotation":[{"start":[21,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"ForAll","contents":["b",{"annotation":[{"start":[21,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"ForAll","contents":["a",{"annotation":[{"start":[21,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[21,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[21,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,29]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[21,18],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,19]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[21,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,23]},[]],"tag":"TypeVar","contents":"b"}]}]},{"annotation":[{"start":[21,26],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,27]},[]],"tag":"TypeVar","contents":"c"}]}]},{"annotation":[{"start":[21,30],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[21,31]},[]],"tag":"TypeVar","contents":"c"}]},0]},1]},2]}}},{"EDType":{"edTypeName":"Show","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[25,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,15]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"Show","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["show",{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[25,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"Show","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"show"},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[25,13],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,15]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[25,11],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,12]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[25,16],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[25,22]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDType":{"edTypeName":"TestL","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TestL","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["testL",{"annotation":[{"start":[33,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[33,13]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TestL","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"testL"},{"annotation":[{"start":[33,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[33,13]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDType":{"edTypeName":"TestR","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"FunKind","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"TestR","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"RCons","contents":["testR",{"annotation":[{"start":[36,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[36,13]},[]],"tag":"TypeVar","contents":"a"},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"REmpty"}]}]}}},{"EDClass":{"edClassName":"TestR","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"testR"},{"annotation":[{"start":[36,12],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[36,13]},[]],"tag":"TypeVar","contents":"a"}]],"edClassConstraints":[],"edFunctionalDependencies":[],"edIsEmpty":false}},{"EDInstance":{"edInstanceClassName":[["TypeOpAliases"],"Show"],"edInstanceName":{"Ident":"showTuple"},"edInstanceTypes":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[27,39],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[27,40]},[]],"tag":"TypeVar","contents":"a"}]},{"annotation":[{"start":[27,43],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[27,44]},[]],"tag":"TypeVar","contents":"b"}]}],"edInstanceConstraints":[{"constraintAnn":[{"start":[27,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[27,29]},[]],"constraintClass":[["TypeOpAliases"],"Show"],"constraintArgs":[{"annotation":[{"start":[27,28],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[27,29]},[]],"tag":"TypeVar","contents":"a"}],"constraintData":null}],"edInstanceChain":[[["TypeOpAliases"],{"Ident":"showTuple"}]],"edInstanceChainIndex":0}},{"EDInstance":{"edInstanceClassName":[["TypeOpAliases"],"TestL"],"edInstanceName":{"Ident":"testLEither"},"edInstanceTypes":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Either"]},{"annotation":[{"start":[39,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[39,35]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[39,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[39,41]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[{"start":[39,44],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[39,50]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}]}],"edInstanceConstraints":[],"edInstanceChain":[[["TypeOpAliases"],{"Ident":"testLEither"}]],"edInstanceChainIndex":0}},{"EDInstance":{"edInstanceClassName":[["TypeOpAliases"],"TestR"],"edInstanceName":{"Ident":"testREither"},"edInstanceTypes":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Either"]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeOpAliases"],"Tuple"]},{"annotation":[{"start":[43,32],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[43,35]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[{"start":[43,38],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[43,41]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}]},{"annotation":[{"start":[43,44],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[43,50]},[]],"tag":"TypeConstructor","contents":[["Prim"],"String"]}]}],"edInstanceConstraints":[],"edInstanceChain":[[["TypeOpAliases"],{"Ident":"testREither"}]],"edInstanceChainIndex":0}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs","end":[44,23]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/TypeSynonym/externs.json b/tests/purs/docs/output/TypeSynonym/externs.json index a5c9f52..a2b81a7 100644 --- a/tests/purs/docs/output/TypeSynonym/externs.json +++ b/tests/purs/docs/output/TypeSynonym/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["TypeSynonym"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]},"MyInt",[]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"MyInt","edTypeKind":{"annotation":[{"start":[3,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"MyInt","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[3,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["TypeSynonym"],"efExports":[{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]},"MyInt",[]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"MyInt","edTypeKind":{"annotation":[{"start":[3,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":"TypeSynonym"}},{"EDTypeSynonym":{"edTypeSynonymName":"MyInt","edTypeSynonymArguments":[],"edTypeSynonymType":{"annotation":[{"start":[3,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/TypeSynonymInstance/externs.json b/tests/purs/docs/output/TypeSynonymInstance/externs.json index a2af387..f6003d6 100644 --- a/tests/purs/docs/output/TypeSynonymInstance/externs.json +++ b/tests/purs/docs/output/TypeSynonymInstance/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["TypeSynonymInstance"],"efExports":[{"TypeRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[11,8]},"MyNT",["MyNT"]]},{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[11,8]},{"Ident":"foo"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"ntMyNT"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Data","Newtype"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[4,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[4,35]},"Newtype"]}]},"eiImportedAs":null},{"eiModule":["TypeSynonym"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[5,26]},"MyInt",[]]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"MyNT","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["MyNT",[{"annotation":[{"start":[7,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[7,26]},[]],"tag":"TypeConstructor","contents":[["TypeSynonym"],"MyInt"]}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"MyNT","edDataCtorOrigin":"newtype","edDataCtorTypeCtor":"MyNT","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[7,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[7,26]},[]],"tag":"TypeConstructor","contents":[["TypeSynonym"],"MyInt"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeSynonymInstance"],"MyNT"]}]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"foo"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDInstance":{"edInstanceClassName":[["Data","Newtype"],"Newtype"],"edInstanceName":{"Ident":"ntMyNT"},"edInstanceTypes":[{"annotation":[{"start":[9,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[9,39]},[]],"tag":"TypeConstructor","contents":[["TypeSynonymInstance"],"MyNT"]},{"annotation":[{"start":[3,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}],"edInstanceConstraints":[],"edInstanceChain":[[["TypeSynonymInstance"],{"Ident":"ntMyNT"}]],"edInstanceChainIndex":0}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[11,8]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["TypeSynonymInstance"],"efExports":[{"TypeRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[11,8]},"MyNT",["MyNT"]]},{"ValueRef":[{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[11,8]},{"Ident":"foo"}]},{"TypeInstanceRef":[{"start":[0,0],"name":"<generated>","end":[0,0]},{"Ident":"ntMyNT"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Data","Newtype"],"eiImportType":{"Explicit":[{"TypeClassRef":[{"start":[4,22],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[4,35]},"Newtype"]}]},"eiImportedAs":null},{"eiModule":["TypeSynonym"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[5,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[5,26]},"MyInt",[]]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"MyNT","edTypeKind":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"NamedKind","contents":[["Prim"],"Type"]},"edTypeDeclarationKind":{"DataType":{"args":[],"ctors":[["MyNT",[{"annotation":[{"start":[7,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[7,26]},[]],"tag":"TypeConstructor","contents":[["TypeSynonym"],"MyInt"]}]]]}}}},{"EDDataConstructor":{"edDataCtorName":"MyNT","edDataCtorOrigin":"newtype","edDataCtorTypeCtor":"MyNT","edDataCtorType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeApp","contents":[{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[{"start":[7,21],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[7,26]},[]],"tag":"TypeConstructor","contents":[["TypeSynonym"],"MyInt"]}]},{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["TypeSynonymInstance"],"MyNT"]}]},"edDataCtorFields":[{"Ident":"value0"}]}},{"EDValue":{"edValueName":{"Ident":"foo"},"edValueType":{"annotation":[{"start":[0,0],"name":"","end":[0,0]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}}},{"EDInstance":{"edInstanceClassName":[["Data","Newtype"],"Newtype"],"edInstanceName":{"Ident":"ntMyNT"},"edInstanceTypes":[{"annotation":[{"start":[9,35],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[9,39]},[]],"tag":"TypeConstructor","contents":[["TypeSynonymInstance"],"MyNT"]},{"annotation":[{"start":[3,14],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs","end":[3,17]},[]],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}],"edInstanceConstraints":[],"edInstanceChain":[[["TypeSynonymInstance"],{"Ident":"ntMyNT"}]],"edInstanceChainIndex":0}}],"efSourceSpan":{"start":[2,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs","end":[11,8]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/UTF8/externs.json b/tests/purs/docs/output/UTF8/externs.json index c662c74..8454b09 100644 --- a/tests/purs/docs/output/UTF8/externs.json +++ b/tests/purs/docs/output/UTF8/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["UTF8"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[7,13]},{"Ident":"thing"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[3,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[3,21]},"Unit",[]]},{"ValueRef":[{"start":[3,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[3,27]},{"Ident":"unit"}]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"thing"},"edValueType":{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[6,14]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Unit"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[7,13]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["UTF8"],"efExports":[{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[7,13]},{"Ident":"thing"}]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Explicit":[{"TypeRef":[{"start":[3,17],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[3,21]},"Unit",[]]},{"ValueRef":[{"start":[3,23],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[3,27]},{"Ident":"unit"}]}]},"eiImportedAs":null}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[{"EDValue":{"edValueName":{"Ident":"thing"},"edValueType":{"annotation":[{"start":[6,10],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[6,14]},[]],"tag":"TypeConstructor","contents":[["Prelude"],"Unit"]}}}],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs","end":[7,13]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/Virtual/externs.json b/tests/purs/docs/output/Virtual/externs.json index 30efa91..4ebc3dc 100644 --- a/tests/purs/docs/output/Virtual/externs.json +++ b/tests/purs/docs/output/Virtual/externs.json @@ -1 +1 @@ -{"efVersion":"0.13.2","efModuleName":["Virtual"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},"Boolean2",["False","True"]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},"Unit",["Unit"]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},{"Ident":"unit"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[2,26]},["VirtualPrelude"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Implicit":[]},"eiImportedAs":["VirtualPrelude"]}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]}}
\ No newline at end of file +{"efVersion":"0.13.3","efModuleName":["Virtual"],"efExports":[{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},"Boolean2",["False","True"]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"TypeRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},"Unit",["Unit"]]}]},{"ReExportRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},{"exportSourceImportedFrom":["Prelude"],"exportSourceDefinedIn":["Prelude"]},{"ValueRef":[{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]},{"Ident":"unit"}]}]},{"ModuleRef":[{"start":[2,5],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[2,26]},["VirtualPrelude"]]}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":["Prim"]},{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Prelude"],"eiImportType":{"Implicit":[]},"eiImportedAs":["VirtualPrelude"]}],"efFixities":[],"efTypeFixities":[],"efDeclarations":[],"efSourceSpan":{"start":[1,1],"name":"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs","end":[5,33]}}
\ No newline at end of file diff --git a/tests/purs/docs/output/cache-db.json b/tests/purs/docs/output/cache-db.json new file mode 100644 index 0000000..7cceebe --- /dev/null +++ b/tests/purs/docs/output/cache-db.json @@ -0,0 +1 @@ +{"Ado":{"/home/harry/code/purescript/tests/purs/docs/src/Ado.purs":["2019-05-27T15:59:36.744262173Z","bd980ae20d61e0e34d23507b1d25598f27407a78cf70084327506f21cc02d85df1bd1b6937459665a8dd9df5bb43ec5947b6e94c16c852aba233747e05a9d58f"]},"ChildDeclOrder":{"/home/harry/code/purescript/tests/purs/docs/src/ChildDeclOrder.purs":["2019-05-07T20:51:57.241885374Z","41a7be97fffe1bbbf925ccb56b68246abb8684b23529fc25e07827b57b32b60ccd82d5c9a2279dc23be1f8803cff8267fa296509b873ec337ffa15ee0e32e2c9"]},"Clash":{"/home/harry/code/purescript/tests/purs/docs/src/Clash.purs":["2019-05-07T20:51:57.241885374Z","7b70d019ea46b72149e185d82bc1345113e8a3977a886aa31ac8a268c6c63c7b93553e1586c45e023e49e485d3f6523a4a11efc8dc70dd8bac5d8b9cac4e4c2d"]},"Clash1":{"/home/harry/code/purescript/tests/purs/docs/src/Clash1.purs":["2019-05-07T20:51:57.241885374Z","bd09c1fd0308ce61d83bef03d3b2366601df559ef8cc9c09f17d963a1bfb2b2e373dcbf5729a3e465c635fbf0035ae09ea3ba58b7844b56586dc3baf9d857bb5"]},"Clash1a":{"/home/harry/code/purescript/tests/purs/docs/src/Clash1a.purs":["2019-05-07T20:51:57.241885374Z","0a93c507e1fab2abaee66e20721e952062466e2597d8eb0c48cad8d351e3204ac157da0c3eebf3d13211cbe379e704245da3535f02bd768adf92f6c1119ca2ee"]},"Clash2":{"/home/harry/code/purescript/tests/purs/docs/src/Clash2.purs":["2019-05-07T20:51:57.241885374Z","10c61c6600084fdcc0ee93608a354fd7efa7edab67ac8cce131e522b597080b2927dc7bb1a6c98765dfc9a30583dc5bea2514d2932554ab1657c664a81a0a81b"]},"Clash2a":{"/home/harry/code/purescript/tests/purs/docs/src/Clash2a.purs":["2019-05-07T20:51:57.241885374Z","d37d26a74b0adec6d8b2de4b75997306e4f199374a1a2b4c1b431a273d16a9e89a634028b428c25aedbc01213bc00574abedaaabaae920f40eaa5be6196c07f6"]},"ConstrainedArgument":{"/home/harry/code/purescript/tests/purs/docs/src/ConstrainedArgument.purs":["2019-05-07T20:51:57.241885374Z","87e0f15cb8e2608fa2ba1a5726eae564526394d07c787975db539c4a496d8889be042c774bd68f975e5fe3fd94a0ab66edac081192a5f5ea581424ea28e36948"]},"Data.Newtype":{"bower_components/purescript-newtype/src/Data/Newtype.purs":["2019-05-29T23:59:43.541797429Z","9a591cfc87fe2fc4e0cd95362fc2a3c12dbf4f7875860036d0d18cf57cdc063b3d72488fe351e2e95196030e89fb133edceed211219be5922f86160fed4965b9"]},"DeclOrder":{"/home/harry/code/purescript/tests/purs/docs/src/DeclOrder.purs":["2019-05-07T20:51:57.241885374Z","a8c6ab9c335037c255ae6e0124a107f2e2462c2eebc2ff3637273ba436f2f3589ae203919ff5c8c61106b0542114ba3eba66426d8b5e316089bc1f4efb72643a"]},"DeclOrderNoExportList":{"/home/harry/code/purescript/tests/purs/docs/src/DeclOrderNoExportList.purs":["2019-05-07T20:51:57.241885374Z","379def50dfd7a01dd2b057c707ea8ee53147d41c7dc28083c3827ccc213816840fd26d784a78bd1eabd105231e5479c7bfeebfcb03d1e2f3e8174ab173d740c4"]},"Desugar":{"/home/harry/code/purescript/tests/purs/docs/src/Desugar.purs":["2019-05-07T20:51:57.241885374Z","50ceefe5cbac286908cc7070f4e94f57c62b5c91245d5a8c66d7f4565e3d037e4cf11524c4c790664588a0a5c4216390b5138be9ec93e14d0f82a2c59c8f561a"]},"DocComments":{"/home/harry/code/purescript/tests/purs/docs/src/DocComments.purs":["2019-05-07T20:51:57.241885374Z","220498626601722feb58dd23dd80ac970f6ba7df8e8c2ad604ed833933f6b36219fb5f1d0b9963ffc7e9314043760055ab547fac5784a28416a4851f257a635b"]},"DocCommentsClassMethod":{"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsClassMethod.purs":["2019-10-12T20:54:05.715305902Z","f55a03f2b2624a9ca01adc8372bad4b7e46e8ef1a52ec41c5992767146c9a2354320a3a38587cbf2e78fec118430f193fdcb1cdd9600cd9f755dbbc2e36e46b7"]},"DocCommentsDataConstructor":{"/home/harry/code/purescript/tests/purs/docs/src/DocCommentsDataConstructor.purs":["2019-10-12T20:54:05.715305902Z","68d644ce63642bd55d8338e78e0070c409d3c970a2967338cf612d7a3217813fd98a08e1905776572819cadbc08cdd4bec4a7c1473974a9f3f5d5b1149d33257"]},"DuplicateNames":{"/home/harry/code/purescript/tests/purs/docs/src/DuplicateNames.purs":["2019-05-07T20:51:57.241885374Z","5652f5da0ae79185fb27bce13793bd7752779364e0d1c7c56be2d213853c26ad0abff8536a0d34090a079980e498c837026521efe4a8cfc1b1a16ec70c724eed"]},"Example":{"/home/harry/code/purescript/tests/purs/docs/src/Example.purs":["2019-05-07T20:51:57.241885374Z","3b700a99cc5ee257009553d27a2d25f71f68f006e9deec2b3578f01c7fe4e77de1e929dc110dfcd51d68685ad3ab6b09b0147fe63719861e8a9e480a64e286d9"]},"Example2":{"/home/harry/code/purescript/tests/purs/docs/src/Example2.purs":["2019-05-07T20:51:57.241885374Z","6a479db4e40f66b1e29889516a55cfb22b15b2b8c4531b9cf20307a965af3dc0a6dab4eccc31cca4eacaaa158a01c58ff995ac6f01b2e1ed5571c44fa3bf2536"]},"ExplicitExport":{"/home/harry/code/purescript/tests/purs/docs/src/ExplicitExport.purs":["2019-05-07T20:51:57.241885374Z","fe733409eb325c971f84b6414a1fc9e08793d2271eebcd670ceefd5c5aef837ee76ec5cb5bed96d87ea791a7521c76668a71be5cd8fb14209414893dc20d3d47"]},"ExplicitTypeSignatures":{"/home/harry/code/purescript/tests/purs/docs/src/ExplicitTypeSignatures.purs":["2019-05-07T20:51:57.241885374Z","78a70441c9966f04c6c32a74cbba299f0f8ea870c664e738eb0d8f8cc5929edb7bb697170fc306c9ee69fa4e2f0112af15c8bdb29d63645cdf6f2916a122a0bd"]},"ImportedTwice":{"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwice.purs":["2019-05-07T20:51:57.241885374Z","be9a0cb1e75c689c3af6817a5750862915e70a0017476cce4c539a3c7ce5b33554aa14d2668bd131b89bb28d65b5ddaa79abfb2a538d606f1b11b5ef0ec79067"]},"ImportedTwiceA":{"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceA.purs":["2019-05-07T20:51:57.241885374Z","883c8abaefe0dbacbcdea4c53eab41da26687680274419720b1e5d6510bf5127b7ba06df23515ad34f7ffc4626f0064d7867e2b4a5f255a6b573d219926364de"]},"ImportedTwiceB":{"/home/harry/code/purescript/tests/purs/docs/src/ImportedTwiceB.purs":["2019-05-07T20:51:57.241885374Z","48cc2ac8ce40b1d0e3782fcb8ec798cf9c4838a595148055f1bb830d9b07d58780170ad3f8a90f43ac561aff2c52a5d8793480526a4768ebf1c8af1ff1b68751"]},"MultiVirtual":{"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual.purs":["2019-05-07T20:51:57.241885374Z","31bc7e2c2ebee39dbc89536db51493a2cb1843a9e1aed8b288ef16660877fd1abd5f4224d3325a415aabcf79bd5fe76ebb9257738b0193a50c79a20d48b5ab29"]},"MultiVirtual1":{"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual1.purs":["2019-05-07T20:51:57.241885374Z","23f7975f7494bb84f9fc6fde9071ce04e86df774d81e2b027a85ab46c8237f9921ee926f4a4ad3e03c7799e485ce39e542d1dd94953c50c0d58ea0003cfc3842"]},"MultiVirtual2":{"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual2.purs":["2019-05-07T20:51:57.241885374Z","f424ed7c0db709b6bb1e57f87069f484fd0db9dddd0475cd15d36bd58743e98729c42efd2df6ee8fbd18609c36c2247cf3428a5a7f1f5ed11e233a2b134990ba"]},"MultiVirtual3":{"/home/harry/code/purescript/tests/purs/docs/src/MultiVirtual3.purs":["2019-05-07T20:51:57.241885374Z","a42415e3b8309bfa81ef127c61dba6f4001188dcee160a8e2f73399179a11262f12daf0205d6bec38fc605b637550f16b62e84a0f2a0f6999355d56ff2540405"]},"NewOperators":{"/home/harry/code/purescript/tests/purs/docs/src/NewOperators.purs":["2019-05-07T20:51:57.241885374Z","f74cae05c73db1f629e199692c517866fb1683caab3c4509657a371733f30319f0c505ed57208757b3e43795aab5191000c834a501d9bd2bf0e58875873c5c40"]},"NewOperators2":{"/home/harry/code/purescript/tests/purs/docs/src/NewOperators2.purs":["2019-05-07T20:51:57.241885374Z","c551a91aa792fb9ee4b5758c010761a53d4a14b8fbaa6b76b6bd9a318a28f245c9b090bdc4f77b904c873d9b71d59fbad3ccd9ad7c8773f5c1e57a22a0204844"]},"NotAllCtors":{"/home/harry/code/purescript/tests/purs/docs/src/NotAllCtors.purs":["2019-05-07T20:51:57.241885374Z","6e0af26cf897b5dd6e8dd4d75988e5607118f6fdd5219aa192f477cc4d760d504bdec930d46af82a44950e3de4fe6c37664a4560a523a45097503b85c161bd96"]},"Prelude":{"bower_components/purescript-prelude/src/Prelude.purs":["2019-05-07T20:51:57.237885423Z","7eb0b2f9b7aec29693f79be4642ccea792b1f54c7022a4f1395fb8f3a9b1ad6cbfb2e7685940b89ab21890c02949ec90d4823bd5c36a6b566ca9cb8ec561958f"]},"PrimSubmodules":{"/home/harry/code/purescript/tests/purs/docs/src/PrimSubmodules.purs":["2019-05-07T20:51:57.241885374Z","cea3766e9920985a3458c6f7af4a19dbe435527d0b0e1d465e8d7362ebd14cea569e820c3849e45c88f368ced11b1e948276f86dc6f0dc0e0eac78c7df2afa50"]},"ReExportedTypeClass":{"/home/harry/code/purescript/tests/purs/docs/src/ReExportedTypeClass.purs":["2019-05-07T20:51:57.241885374Z","1cc581d68e1ce113162ab851872e73645807f0deb1d2b970ebc04b314184fe30c3431212ffcf9eec09a56a2291e0050750ac6905f1884bc74d406d0323c4f804"]},"SolitaryTypeClassMember":{"/home/harry/code/purescript/tests/purs/docs/src/SolitaryTypeClassMember.purs":["2019-05-07T20:51:57.241885374Z","f627c589b0a8f58d7bfdf28ecf87891a74e64e8399ce0ab645b7c58049fddc1ea3cbb3c34b862bec8576108d5258d9548ecfbbab98598671cc645a3f358ac852"]},"SomeTypeClass":{"/home/harry/code/purescript/tests/purs/docs/src/SomeTypeClass.purs":["2019-05-07T20:51:57.241885374Z","d09fc77e6c6350e7e4941e2911e012271a49db4a75c57cf738d5865ca622d60b69337f969aa02b13fc869484cba00479212e4b8dbcb458c5723e7a5d73888368"]},"Transitive1":{"/home/harry/code/purescript/tests/purs/docs/src/Transitive1.purs":["2019-05-07T20:51:57.241885374Z","42681f3d0fa143d36474d1cb2f464820bdb907bbc432cd91349f6acdd82657ecb4d9ad1d075c96c551bed37dada4615dd3ff64f912f2cc8a6d99b5e02ee51979"]},"Transitive2":{"/home/harry/code/purescript/tests/purs/docs/src/Transitive2.purs":["2019-05-07T20:51:57.241885374Z","110a1bae420e0f0c05e9846fad483a1d035dfc3ba82c2cd81e44f548fd97965055b1a687ab86256f8cb6a3d79b4c4abe6f45d4728bbc04a7a1b0fedbca115b1e"]},"Transitive3":{"/home/harry/code/purescript/tests/purs/docs/src/Transitive3.purs":["2019-05-07T20:51:57.241885374Z","65f7bb366ac8fab63084ff0229c9d55293db8126b539ff2cb53e511505995f426d50f4cca7d1f61fc53aaaaeed9d72791f9d9f12cc569d92e7bbe1d1908b093c"]},"TypeClassWithFunDeps":{"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithFunDeps.purs":["2019-05-07T20:51:57.241885374Z","c828f194c8c679d97425ed7e04eb3c9bb04bc4c32542d7d6d7e4a36c6c734eb8ba1ef472ad2b0085d9a042a0724648b85a4605d8fe4995e1a32839b1fb1f0f23"]},"TypeClassWithoutMembers":{"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembers.purs":["2019-05-07T20:51:57.241885374Z","3eac42652ce295ee47c340c4b86c91d0f6a8ad1f81824475fa4fc4ae8fd8bb77ceee6a46e31bebe9d2e8a980a7923432b41b0eff5cbf75580ee149e7d997e098"]},"TypeClassWithoutMembersIntermediate":{"/home/harry/code/purescript/tests/purs/docs/src/TypeClassWithoutMembersIntermediate.purs":["2019-05-07T20:51:57.241885374Z","76d65083da1f6240b4c3b6c910af1326b9b9a538f4eb278b00ddf0bf67d9547c1cab0fae7661bbe4af6e7ecdea9fd26cc9ff9ea5b289d3c3994b3ccb3d099ba8"]},"TypeLevelString":{"/home/harry/code/purescript/tests/purs/docs/src/TypeLevelString.purs":["2019-05-07T20:51:57.241885374Z","361dc3825ebd3efcd9a53dd900cc623f5eca14df82afc93f4d485d8b38e51eb0a72929b6cfb783b3d5c9bef46e6fd18c139fdbd10de484beb335e09ecee79388"]},"TypeOpAliases":{"/home/harry/code/purescript/tests/purs/docs/src/TypeOpAliases.purs":["2019-05-07T20:51:57.241885374Z","5f1279d355f0e8f8c7d063950007ba060f0afdb83524fa10361f389d25fdacdf149c907cbdd94cf3d1a77751903701f22ba377203cd3b5d0c40e504699f94249"]},"TypeSynonym":{"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonym.purs":["2019-05-29T23:59:43.541797429Z","d1a0af1c2592e7f150bb0bf1dca4fc82ffe95b4f96be611408828d105d28bb6a4243a4c2799b1c35875a352e51a19464e4507b9c81d9cd34f0f55f8c94898ed9"]},"TypeSynonymInstance":{"/home/harry/code/purescript/tests/purs/docs/src/TypeSynonymInstance.purs":["2019-05-29T23:59:43.541797429Z","336ba7262428a526f3824306f4ac472aebf637181b8aa23d823e6e70641539a14d57b52272d844af3e3a7fa85cdf4094042e464b61622a5a1c290ee8a6684733"]},"UTF8":{"/home/harry/code/purescript/tests/purs/docs/src/UTF8.purs":["2019-05-07T20:51:57.241885374Z","60771c6d4974ef36414775e5a2511e99d08d5ba3945b010d7a399b77b88b310e10ad7d0016f7946ca3f524e7bbd1dce3575f7b2d81f8154bde197a3da411a624"]},"Virtual":{"/home/harry/code/purescript/tests/purs/docs/src/Virtual.purs":["2019-05-07T20:51:57.241885374Z","a1e01c8b1a7c86c86942611649702ebf6689cf7559ce9ca0ba66052eafe64826b0770b33089e72cc26a3c90d75bcf62e0b75a6a90e085e70a6ec946b16456de2"]}}
\ No newline at end of file diff --git a/tests/purs/passing/3558-UpToDateDictsForHigherOrderFns.purs b/tests/purs/passing/3558-UpToDateDictsForHigherOrderFns.purs new file mode 100644 index 0000000..8515fc9 --- /dev/null +++ b/tests/purs/passing/3558-UpToDateDictsForHigherOrderFns.purs @@ -0,0 +1,33 @@ +module Main where + +import Prelude (Unit) +import Effect (Effect) +import Effect.Console (log) +import Record.Unsafe (unsafeGet) +import Type.Data.Symbol (class IsSymbol, SProxy, reflectSymbol) +import Type.Row (class Cons) as Row + +newtype LBox row a = LBox (∀ r. (∀ lbl _1. Row.Cons lbl a _1 row ⇒ IsSymbol lbl ⇒ SProxy lbl → r) → r) + +unLBox ∷ ∀ row a r. (∀ lbl _1. Row.Cons lbl a _1 row ⇒ IsSymbol lbl ⇒ SProxy lbl → r) → LBox row a → r +unLBox g (LBox f) = f g + +-- Example 1 +lboxIdentity ∷ ∀ row a. LBox row a → LBox row a +lboxIdentity = unLBox \lbl → LBox \f → f lbl + +-- Example 2 +read ∷ ∀ row a. Record row → LBox row a → a +read rec = unLBox \lbl → get lbl rec + +get + :: forall r r' l a + . IsSymbol l + => Row.Cons l a r' r + => SProxy l + -> Record r + -> a +get l r = unsafeGet (reflectSymbol l) r + +main :: Effect Unit +main = log "Done" diff --git a/tests/purs/warning/Kind-UnusedExplicitImport-1.purs b/tests/purs/warning/Kind-UnusedExplicitImport-1.purs new file mode 100644 index 0000000..e5c9ba5 --- /dev/null +++ b/tests/purs/warning/Kind-UnusedExplicitImport-1.purs @@ -0,0 +1,11 @@ +-- @shouldWarnWith UnusedExplicitImport +module Main where + +import Prelude (Unit, unit, pure) +import Effect (Effect) +import Type.RowList (RLProxy, kind RowList) + +class A (a :: RowList) + +main :: Effect Unit +main = pure unit diff --git a/tests/purs/warning/Kind-UnusedExplicitImport-2.purs b/tests/purs/warning/Kind-UnusedExplicitImport-2.purs new file mode 100644 index 0000000..0c8623e --- /dev/null +++ b/tests/purs/warning/Kind-UnusedExplicitImport-2.purs @@ -0,0 +1,12 @@ +-- @shouldWarnWith UnusedExplicitImport +module Main where + +import Prelude (Unit, unit, pure) +import Effect (Effect) +import Type.RowList (RLProxy, kind RowList) + +f :: forall l. RLProxy l -> Int +f _ = 0 + +main :: Effect Unit +main = pure unit diff --git a/tests/purs/warning/Kind-UnusedImport.purs b/tests/purs/warning/Kind-UnusedImport.purs new file mode 100644 index 0000000..07ad87f --- /dev/null +++ b/tests/purs/warning/Kind-UnusedImport.purs @@ -0,0 +1,9 @@ +-- @shouldWarnWith UnusedImport +module Main where + +import Prelude (Unit, unit, pure) +import Effect (Effect) +import Type.RowList (kind RowList) + +main :: Effect Unit +main = pure unit |