1
1
mirror of https://github.com/github/semantic.git synced 2024-12-22 14:21:31 +03:00

Close over the right source.

This commit is contained in:
Rob Rix 2017-02-10 16:53:40 -05:00
parent 00c14e403a
commit f8cc3b8933

View File

@ -62,10 +62,10 @@ documentToTerm language document SourceBlob{..} = alloca $ \ root -> do
-- the scope that `node` was allocated within, meaning `alloca` will
-- free it & other stack data may overwrite it.
range `seq` sourceSpan `seq` assignTerm language source (range :. categoryForLanguageProductionName language (toS name) :. sourceSpan :. Nil) children allChildren
getChild getter start node n out = do
where getChild getter node n out = do
_ <- getter node n out
let childRange = nodeRange node
toTerm out childRange (slice (offsetRange childRange (negate start)) source)
toTerm out childRange (slice childRange source)
{-# INLINE getChild #-}
isNonEmpty child = category (extract child) /= Empty