1
1
mirror of https://github.com/github/semantic.git synced 2024-12-01 00:33:59 +03:00

Remove type from Function and unpack call signatures

This commit is contained in:
joshvera 2017-03-29 12:36:05 -04:00
parent d8be8b8d12
commit cdbd260b0f
112 changed files with 735 additions and 790 deletions

View File

@ -95,10 +95,9 @@ algorithmWithTerms t1 t2 = maybe (linearly t1 t2) (fmap annotate) $ case (unwrap
<*> maybeLinearly tyA tyB
<*> byRWS paramsA paramsB
<*> byRWS expressionsA expressionsB
(S.Function idA paramsA tyA bodyA, S.Function idB paramsB tyB bodyB) -> Just $
(S.Function idA paramsA bodyA, S.Function idB paramsB bodyB) -> Just $
S.Function <$> linearly idA idB
<*> byRWS paramsA paramsB
<*> maybeLinearly tyA tyB
<*> byRWS bodyA bodyB
_ -> Nothing
where

View File

@ -15,8 +15,8 @@ termAssignment
termAssignment source category children = case (category, children) of
(Module, [moduleName]) -> Just $ S.Module moduleName []
(Import, [importName]) -> Just $ S.Import importName []
(Function, [id, params, block]) -> Just $ S.Function id (toList (unwrap params)) Nothing (toList (unwrap block))
(Function, [id, params, ty, block]) -> Just $ S.Function id (toList (unwrap params)) (Just ty) (toList (unwrap block))
(Function, [id, params, block]) -> Just $ S.Function id [params] (toList (unwrap block))
(Function, [id, params, ty, block]) -> Just $ S.Function id [params, ty] (toList (unwrap block))
(For, [body]) | Other "block" <- Info.category (extract body) -> Just $ S.For [] (toList (unwrap body))
(For, [forClause, body]) | Other "for_clause" <- Info.category (extract forClause) -> Just $ S.For (toList (unwrap forClause)) (toList (unwrap body))
(For, [rangeClause, body]) | Other "range_clause" <- Info.category (extract rangeClause) -> Just $ S.For (toList (unwrap rangeClause)) (toList (unwrap body))

View File

@ -58,8 +58,8 @@ termAssignment _ category children
| Just (exprs, body) <- unsnoc children
-> Just $ S.For exprs [body]
(Function, [ body ]) -> Just $ S.AnonymousFunction [] [body]
(Function, [ params, body ]) -> Just $ S.AnonymousFunction (toList (unwrap params)) [body]
(Function, [ id, params, body ]) -> Just $ S.Function id (toList (unwrap params)) Nothing [body]
(Function, [ params, body ]) -> Just $ S.AnonymousFunction [params] (toList (unwrap body))
(Function, [ id, params, body ]) -> Just $ S.Function id [params] (toList (unwrap body))
_ -> Nothing
categoryForJavaScriptProductionName :: Text -> Category

View File

@ -7,6 +7,7 @@ import Source
import Language
import qualified Syntax as S
import Term
import Data.List (span)
termAssignment
:: Source -- ^ The source of the term.
@ -66,9 +67,13 @@ termAssignment _ category children =
(For, _)
| Just (exprs, body) <- unsnoc children
-> Just $ S.For exprs [body]
(Function, [ body ]) -> Just $ S.AnonymousFunction [] [body]
(Function, [ params, body ]) -> Just $ S.AnonymousFunction (toList (unwrap params)) [body]
(Function, [ id, params, body ]) -> Just $ S.Function id (toList (unwrap params)) Nothing [body]
(Function, children) -> case Prologue.break ((== ExpressionStatements) . Info.category . extract) children of
(inits, [body]) ->
case span ((== Identifier) . Info.category . extract) inits of
([id], [callSignature]) -> Just $ S.Function id (toList (unwrap callSignature)) (toList (unwrap body))
([], [callSignature]) -> Just $ S.AnonymousFunction (toList (unwrap callSignature)) (toList (unwrap body))
_ -> Nothing -- More than 1 identifier found or no call signature found
_ -> Nothing -- No body found.
(Ty, children) -> Just $ S.Ty children
(Interface, children) -> toInterface children
_ -> Nothing

View File

@ -104,7 +104,7 @@ syntaxToTermField syntax = case syntax of
S.FunctionCall identifier typeParameters parameters -> [ "identifier" .= identifier ] <> [ "typeArguments" .= typeParameters] <> [ "parameters" .= parameters ]
S.Ternary expression cases -> [ "expression" .= expression ] <> [ "cases" .= cases ]
S.AnonymousFunction parameters c -> [ "parameters" .= parameters ] <> childrenFields c
S.Function identifier parameters ty c -> [ "identifier" .= identifier ] <> [ "parameters" .= parameters ] <> [ "type" .= ty ] <> childrenFields c
S.Function identifier parameters c -> [ "identifier" .= identifier ] <> [ "parameters" .= parameters ] <> childrenFields c
S.Assignment assignmentId value -> [ "identifier" .= assignmentId ] <> [ "value" .= value ]
S.OperatorAssignment identifier value -> [ "identifier" .= identifier ] <> [ "value" .= value ]
S.MemberAccess identifier value -> [ "identifier" .= identifier ] <> [ "value" .= value ]

View File

@ -218,7 +218,7 @@ toTermName source term = case unwrap term of
S.Indexed children -> maybe "branch" sconcat (nonEmpty (intersperse ", " (toTermName' <$> children)))
Leaf leaf -> toS leaf
S.Assignment identifier _ -> toTermName' identifier
S.Function identifier _ _ _ -> toTermName' identifier
S.Function identifier _ _ -> toTermName' identifier
S.ParameterDecl _ _ -> termNameFromSource term
S.FunctionCall i _ args -> case unwrap i of
S.AnonymousFunction params _ ->

View File

@ -165,7 +165,7 @@ termToDiffInfo source term = case unwrap term of
toTermName :: forall leaf fields. DefaultFields fields => Int -> Source -> SyntaxTerm leaf fields -> Text
toTermName parentOffset parentSource term = case unwrap term of
S.Function identifier _ _ _ -> toTermName' identifier
S.Function identifier _ _ -> toTermName' identifier
S.Method identifier Nothing _ _ _ -> toTermName' identifier
S.Method identifier (Just receiver) _ _ _ -> case unwrap receiver of
S.Indexed [receiverParams] -> case unwrap receiverParams of

View File

@ -26,8 +26,8 @@ data Syntax a f
| Ternary { ternaryCondition :: f, ternaryCases :: [f] }
-- | An anonymous function has a list of expressions and params.
| AnonymousFunction { params :: [f], expressions :: [f] }
-- | A function has a list of expressions.
| Function { id :: f, params :: [f], ty :: Maybe f, expressions :: [f] }
-- | A function has an identifier, possible type arguments, params, a possible type, and list of expressions.
| Function { id :: f, params :: [f], expressions :: [f] }
-- | An assignment has an identifier where f can be a member access, and the value is another syntax element (function call, leaf, etc.)
| Assignment { assignmentId :: f, value :: f }
-- | An operator assignment represents expressions with operators like math (e.g x += 1) or conditional (e.g. x ||= 1) assignment.
@ -122,7 +122,7 @@ instance Listable2 Syntax where
\/ liftCons3 recur (liftTiers recur) (liftTiers recur) FunctionCall
\/ liftCons2 recur (liftTiers recur) Ternary
\/ liftCons2 (liftTiers recur) (liftTiers recur) AnonymousFunction
\/ liftCons4 recur (liftTiers recur) (liftTiers recur) (liftTiers recur) Function
\/ liftCons3 recur (liftTiers recur) (liftTiers recur) Function
\/ liftCons2 recur recur Assignment
\/ liftCons2 recur recur OperatorAssignment
\/ liftCons2 recur recur MemberAccess

View File

@ -134,14 +134,14 @@ numTocSummaries diff = Prologue.length $ filter (not . isErrorSummary) (diffTOC
programWithChange :: Term' -> Diff'
programWithChange body = free $ Free (pure programInfo :< Indexed [ function' ])
where
function' = free $ Free (pure functionInfo :< S.Function name' [] Nothing [ free $ Pure (Insert body) ] )
function' = free $ Free (pure functionInfo :< S.Function name' [] [ free $ Pure (Insert body) ] )
name' = free $ Free (pure (Range 0 0 :. C.Identifier :. sourceSpanBetween (0,0) (0,0) :. Nil) :< Leaf "foo")
-- Return a diff where term is inserted in the program, below a function found on both sides of the diff.
programWithChangeOutsideFunction :: Term' -> Diff'
programWithChangeOutsideFunction term = free $ Free (pure programInfo :< Indexed [ function', term' ])
where
function' = free $ Free (pure functionInfo :< S.Function name' [] Nothing [] )
function' = free $ Free (pure functionInfo :< S.Function name' [] [] )
name' = free $ Free (pure (Range 0 0 :. C.Identifier :. sourceSpanBetween (0,0) (0,0) :. Nil) :< Leaf "foo")
term' = free $ Pure (Insert term)
@ -158,7 +158,7 @@ programOf :: Patch Term' -> Diff'
programOf patch = free $ Free (pure programInfo :< Indexed [ free $ Pure patch ])
functionOf :: String -> Term' -> Term'
functionOf name body = cofree $ functionInfo :< S.Function name' [] Nothing [body]
functionOf name body = cofree $ functionInfo :< S.Function name' [] [body]
where
name' = cofree $ (Range 0 0 :. C.Identifier :. sourceSpanBetween (0,0) (0,0) :. Nil) :< Leaf name

View File

@ -11,8 +11,7 @@
(Identifier)
(Ty
(Other "predefined_type"))))
(ExpressionStatements
(Return
(Object
(Identifier)
(Identifier)))))))+}
(Return
(Object
(Identifier)
(Identifier))))))+}

View File

@ -11,8 +11,7 @@
(Identifier)
(Ty
(Other "predefined_type"))))
(ExpressionStatements
(Return
(Object
(Identifier)
(Identifier)))))))-}
(Return
(Object
(Identifier)
(Identifier))))))-}

View File

@ -13,8 +13,7 @@
(Identifier)
(Ty
(Other "predefined_type"))))
(ExpressionStatements
(Return
(Object
(Identifier)
(Identifier))))) }))
(Return
(Object
(Identifier)
(Identifier)))) }))

View File

@ -11,10 +11,9 @@
(Identifier)
(Ty
(Other "predefined_type"))))
(ExpressionStatements
(Return
(Object
(Identifier)
(Identifier)))))
(Return
(Object
(Identifier)
(Identifier))))
->(Class
(Identifier)) }))

View File

@ -11,8 +11,7 @@
(Identifier)
(Ty
(Other "predefined_type"))))
(ExpressionStatements
(Return
(Object
(Identifier)
(Identifier)))))))
(Return
(Object
(Identifier)
(Identifier))))))

View File

@ -6,9 +6,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MathOperator
(Identifier)
(Other "+")
(Identifier)))))))+}
(Return
(MathOperator
(Identifier)
(Other "+")
(Identifier))))))+}

View File

@ -6,9 +6,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MathOperator
(Identifier)
(Other "*")
(Identifier)))))))+}
(Return
(MathOperator
(Identifier)
(Other "*")
(Identifier))))))+}

View File

@ -6,9 +6,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MathOperator
(Identifier)
(Other "+")
(Identifier)))))))-}
(Return
(MathOperator
(Identifier)
(Other "+")
(Identifier))))))-}

View File

@ -6,9 +6,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MathOperator
(Identifier)
(Other "*")
(Identifier)))))))-}
(Return
(MathOperator
(Identifier)
(Other "*")
(Identifier))))))-}

View File

@ -8,12 +8,11 @@
(Identifier))
{+(Other "required_parameter"
(Identifier))+})
(ExpressionStatements
(Return
(MathOperator
{ (Identifier)
->(Identifier) }
{ (Other "+")
->(Other "*") }
{ (Identifier)
->(Identifier) }))))))
(Return
(MathOperator
{ (Identifier)
->(Identifier) }
{ (Other "+")
->(Other "*") }
{ (Identifier)
->(Identifier) })))))

View File

@ -7,12 +7,11 @@
->(Identifier) })
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MathOperator
{ (Identifier)
->(Identifier) }
{ (Other "*")
->(Other "+") }
{ (Identifier)
->(Identifier) }))))))
(Return
(MathOperator
{ (Identifier)
->(Identifier) }
{ (Other "*")
->(Other "+") }
{ (Identifier)
->(Identifier) })))))

View File

@ -6,9 +6,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MathOperator
(Identifier)
(Other "+")
(Identifier)))))))
(Return
(MathOperator
(Identifier)
(Other "+")
(Identifier))))))

View File

@ -6,9 +6,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MathOperator
(Identifier)
(Other "*")
(Identifier)))))))
(Return
(MathOperator
(Identifier)
(Other "*")
(Identifier))))))

View File

@ -2,6 +2,5 @@
(ExpressionStatements
(Function
(Params)
(ExpressionStatements
(Return
(StringLiteral))))))+}
(Return
(StringLiteral)))))+}

View File

@ -2,6 +2,5 @@
(ExpressionStatements
(Function
(Params)
(ExpressionStatements
(Return
(StringLiteral))))))+}
(Return
(StringLiteral)))))+}

View File

@ -2,6 +2,5 @@
(ExpressionStatements
(Function
(Params)
(ExpressionStatements
(Return
(StringLiteral))))))-}
(Return
(StringLiteral)))))-}

View File

@ -2,6 +2,5 @@
(ExpressionStatements
(Function
(Params)
(ExpressionStatements
(Return
(StringLiteral))))))-}
(Return
(StringLiteral)))))-}

View File

@ -2,7 +2,6 @@
(ExpressionStatements
(Function
(Params)
(ExpressionStatements
(Return
{ (StringLiteral)
->(StringLiteral) })))))
(Return
{ (StringLiteral)
->(StringLiteral) }))))

View File

@ -2,7 +2,6 @@
(ExpressionStatements
(Function
(Params)
(ExpressionStatements
(Return
{ (StringLiteral)
->(StringLiteral) })))))
(Return
{ (StringLiteral)
->(StringLiteral) }))))

View File

@ -2,6 +2,5 @@
(ExpressionStatements
(Function
(Params)
(ExpressionStatements
(Return
(StringLiteral))))))
(Return
(StringLiteral)))))

View File

@ -2,6 +2,5 @@
(ExpressionStatements
(Function
(Params)
(ExpressionStatements
(Return
(StringLiteral))))))
(Return
(StringLiteral)))))

View File

@ -1,10 +1,10 @@
{+(Program
(ExpressionStatements
(Function
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(ExpressionStatements
(Return
(Identifier))))))+}
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Return
(Identifier)))))+}

View File

@ -1,10 +1,10 @@
{+(Program
(ExpressionStatements
(Function
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(ExpressionStatements
(Return
(Identifier))))))+}
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Return
(Identifier)))))+}

View File

@ -1,10 +1,10 @@
{-(Program
(ExpressionStatements
(Function
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(ExpressionStatements
(Return
(Identifier))))))-}
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Return
(Identifier)))))-}

View File

@ -1,10 +1,10 @@
{-(Program
(ExpressionStatements
(Function
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(ExpressionStatements
(Return
(Identifier))))))-}
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Return
(Identifier)))))-}

View File

@ -1,11 +1,11 @@
(Program
(ExpressionStatements
(Function
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(ExpressionStatements
(Return
{ (Identifier)
->(Identifier) })))))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Return
{ (Identifier)
->(Identifier) }))))

View File

@ -1,11 +1,11 @@
(Program
(ExpressionStatements
(Function
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(ExpressionStatements
(Return
{ (Identifier)
->(Identifier) })))))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Return
{ (Identifier)
->(Identifier) }))))

View File

@ -1,10 +1,10 @@
(Program
(ExpressionStatements
(Function
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(ExpressionStatements
(Return
(Identifier))))))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Return
(Identifier)))))

View File

@ -1,10 +1,10 @@
(Program
(ExpressionStatements
(Function
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(ExpressionStatements
(Return
(Identifier))))))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Return
(Identifier)))))

View File

@ -7,8 +7,7 @@
(Params
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MemberAccess
(Identifier)
(Identifier))))))))+}
(Return
(MemberAccess
(Identifier)
(Identifier)))))))+}

View File

@ -7,8 +7,7 @@
(Params
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MemberAccess
(Identifier)
(Identifier))))))))+}
(Return
(MemberAccess
(Identifier)
(Identifier)))))))+}

View File

@ -7,8 +7,7 @@
(Params
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MemberAccess
(Identifier)
(Identifier))))))))-}
(Return
(MemberAccess
(Identifier)
(Identifier)))))))-}

View File

@ -7,8 +7,7 @@
(Params
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MemberAccess
(Identifier)
(Identifier))))))))-}
(Return
(MemberAccess
(Identifier)
(Identifier)))))))-}

View File

@ -8,10 +8,9 @@
(Params
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MemberAccess
{ (Identifier)
->(Identifier) }
{ (Identifier)
->(Identifier) })))))))
(Return
(MemberAccess
{ (Identifier)
->(Identifier) }
{ (Identifier)
->(Identifier) }))))))

View File

@ -8,10 +8,9 @@
(Params
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MemberAccess
{ (Identifier)
->(Identifier) }
{ (Identifier)
->(Identifier) })))))))
(Return
(MemberAccess
{ (Identifier)
->(Identifier) }
{ (Identifier)
->(Identifier) }))))))

View File

@ -7,8 +7,7 @@
(Params
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MemberAccess
(Identifier)
(Identifier))))))))
(Return
(MemberAccess
(Identifier)
(Identifier)))))))

View File

@ -7,8 +7,7 @@
(Params
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(Return
(MemberAccess
(Identifier)
(Identifier))))))))
(Return
(MemberAccess
(Identifier)
(Identifier)))))))

View File

@ -39,13 +39,11 @@
(Identifier))
(Export
(Function
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Function
(Identifier)
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Other "export_specifier"
(Identifier)

View File

@ -40,12 +40,10 @@
(Export
(Function
(Identifier)
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Function
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Other "export_specifier"
(Identifier)

View File

@ -39,13 +39,11 @@
(Identifier))
(Export
(Function
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Function
(Identifier)
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Other "export_specifier"
(Identifier)

View File

@ -40,12 +40,10 @@
(Export
(Function
(Identifier)
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Function
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Other "export_specifier"
(Identifier)

View File

@ -44,33 +44,8 @@
{+(Export
(Function
(Identifier)
(Params)
(ExpressionStatements)))+}
{+(Export
(Function
(Params)
(ExpressionStatements)))+}
{+(Export
(Other "export_specifier"
(Identifier)
(Identifier)))+}
{+(Export
(StringLiteral))+}
(Export
{+(StringLiteral)+}
(Other "export_specifier"
{ (Identifier)
->(Identifier) }
{-(Identifier)-})
(Other "export_specifier"
{ (Identifier)
->(Identifier) }
{-(Identifier)-})
(Other "export_specifier"
{ (Identifier)
->(Identifier) }))
{+(Export
(StringLiteral)
(Params)))+}
{-(Export
(Other "export_specifier"
(Identifier)
(Identifier))
@ -78,7 +53,7 @@
(Identifier)
(Identifier))
(Other "export_specifier"
(Identifier)))+}
(Identifier)))-}
{-(Export
(VarDecl
(Identifier))
@ -99,15 +74,36 @@
(Identifier)))-}
{-(Export
(Identifier))-}
{-(Export
(Function
(Params)
(ExpressionStatements)))-}
{-(Export
(Export
(Function
(Params)))
(Export
{-(Function
(Identifier)
(Params)
(ExpressionStatements)))-}
(Params))-}
{+(Other "export_specifier"
(Identifier)
(Identifier))+})
{+(Export
(StringLiteral))+}
{+(Export
(StringLiteral)
(Other "export_specifier"
(Identifier))
(Other "export_specifier"
(Identifier))
(Other "export_specifier"
(Identifier)))+}
{+(Export
(StringLiteral)
(Other "export_specifier"
(Identifier)
(Identifier))
(Other "export_specifier"
(Identifier)
(Identifier))
(Other "export_specifier"
(Identifier)))+}
{-(Export
(Other "export_specifier"
(Identifier)

View File

@ -56,65 +56,51 @@
(Export
{ (Identifier)
->(Identifier) })
{+(Export
{-(Export
(Function
(Params)
(ExpressionStatements)))+}
(Identifier)
(Params)))-}
(Export
(Function
(Params)))
{+(Export
(Function
(Identifier)
(Params)))+}
(Export
(Other "export_specifier"
{ (Identifier)
->(Identifier) }
(Params)
{ (ExpressionStatements)
->(ExpressionStatements) }))
{ (Identifier)
->(Identifier) }))
(Export
{-(Function
(Params)
(ExpressionStatements))-}
{+(Other "export_specifier"
(Identifier)
(Identifier))+})
{+(Export
(StringLiteral))+}
{+(Export
(StringLiteral)
{ (StringLiteral)
->(StringLiteral) })
(Export
{ (StringLiteral)
->(StringLiteral) }
(Other "export_specifier"
(Identifier))
{ (Identifier)
->(Identifier) })
(Other "export_specifier"
(Identifier))
{ (Identifier)
->(Identifier) })
(Other "export_specifier"
(Identifier)))+}
{+(Export
(StringLiteral)
{ (Identifier)
->(Identifier) }))
(Export
{ (StringLiteral)
->(StringLiteral) }
(Other "export_specifier"
(Identifier)
(Identifier))
{ (Identifier)
->(Identifier) }
{ (Identifier)
->(Identifier) })
(Other "export_specifier"
(Identifier)
(Identifier))
{ (Identifier)
->(Identifier) }
{ (Identifier)
->(Identifier) })
(Other "export_specifier"
(Identifier)))+}
{-(Export
(Other "export_specifier"
(Identifier)
(Identifier)))-}
{-(Export
(StringLiteral))-}
{-(Export
(StringLiteral)
(Other "export_specifier"
(Identifier))
(Other "export_specifier"
(Identifier))
(Other "export_specifier"
(Identifier)))-}
{-(Export
(StringLiteral)
(Other "export_specifier"
(Identifier)
(Identifier))
(Other "export_specifier"
(Identifier)
(Identifier))
(Other "export_specifier"
(Identifier)))-})
{ (Identifier)
->(Identifier) })))

View File

@ -39,13 +39,11 @@
(Identifier))
(Export
(Function
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Function
(Identifier)
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Other "export_specifier"
(Identifier)

View File

@ -40,12 +40,10 @@
(Export
(Function
(Identifier)
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Function
(Params)
(ExpressionStatements)))
(Params)))
(Export
(Other "export_specifier"
(Identifier)

View File

@ -11,11 +11,10 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier))))
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier)))
(Boolean))))+}

View File

@ -11,11 +11,10 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier))))
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier)))
(Boolean))))+}

View File

@ -11,11 +11,10 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier))))
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier)))
(Boolean))))-}

View File

@ -11,11 +11,10 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier))))
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier)))
(Boolean))))-}

View File

@ -14,14 +14,13 @@
{+(Other "required_parameter"
(Identifier))+})
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
{ (Identifier)
->(Identifier) }))
(Return
(FunctionCall
(Identifier)
(Identifier)
{ (Identifier)
->(Identifier) })))
->(Identifier) }))
(Return
{ (Identifier)
->(Identifier) }))
{ (Boolean)
->(Boolean) })))

View File

@ -13,14 +13,13 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
{ (Identifier)
->(Identifier) }))
(Return
(FunctionCall
(Identifier)
(Identifier)
{ (Identifier)
->(Identifier) })))
->(Identifier) }))
(Return
{ (Identifier)
->(Identifier) }))
{ (Boolean)
->(Boolean) })))

View File

@ -11,11 +11,10 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier))))
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier)))
(Boolean))))

View File

@ -11,11 +11,10 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier))))
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(Return
(Identifier)))
(Boolean))))

View File

@ -1 +1 @@
function(arg1, arg2) { arg2; };
function<A>(arg1, arg2): string { arg2; };

View File

@ -1 +1 @@
function(arg1, arg2) { arg1; };
function(arg1, arg2): int { arg1; };

View File

@ -1,10 +1,14 @@
{+(Program
(Function
(Other "type_parameters"
(Other "type_parameter"
(Identifier)))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Ty
(Other "predefined_type"))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))+}
(Identifier))))+}

View File

@ -5,6 +5,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(Ty
(Other "type_reference"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))+}
(Identifier))))+}

View File

@ -1,10 +1,14 @@
{-(Program
(Function
(Other "type_parameters"
(Other "type_parameter"
(Identifier)))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Ty
(Other "predefined_type"))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))-}
(Identifier))))-}

View File

@ -5,6 +5,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(Ty
(Other "type_reference"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))-}
(Identifier))))-}

View File

@ -1,11 +1,22 @@
(Program
(Function
(Params
{+(Other "required_parameter"
(Identifier))+}
{+(Other "required_parameter"
(Identifier))+}
{-(Other "type_parameter"
(Identifier))-})
{ (Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
->(Ty
(Other "type_reference"
(Identifier))) }
{-(Ty
(Other "predefined_type"))-}
(ExpressionStatements
(ExpressionStatements
{ (Identifier)
->(Identifier) }))))
{ (Identifier)
->(Identifier) })))

View File

@ -1,11 +1,22 @@
(Program
(Function
(Params
(Other "type_parameters"
{+(Other "type_parameter"
(Identifier))+}
{-(Other "required_parameter"
(Identifier))-}
{-(Other "required_parameter"
(Identifier))-})
{ (Ty
(Other "type_reference"
(Identifier)))
->(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Identifier))) }
{+(Ty
(Other "predefined_type"))+}
(ExpressionStatements
(ExpressionStatements
{ (Identifier)
->(Identifier) }))))
{ (Identifier)
->(Identifier) })))

View File

@ -1,10 +1,14 @@
(Program
(Function
(Other "type_parameters"
(Other "type_parameter"
(Identifier)))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(Ty
(Other "predefined_type"))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))
(Identifier))))

View File

@ -5,6 +5,8 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(Ty
(Other "type_reference"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))
(Identifier))))

View File

@ -1,13 +1,13 @@
{+(Program
(Function
(Identifier)
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Yield))
(ExpressionStatements
(Yield
(Identifier))))))+}
(Yield))
(ExpressionStatements
(Yield
(Identifier)))))+}

View File

@ -1,13 +1,13 @@
{+(Program
(Function
(Identifier)
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Yield))
(ExpressionStatements
(Yield
(Identifier))))))+}
(Yield))
(ExpressionStatements
(Yield
(Identifier)))))+}

View File

@ -1,13 +1,13 @@
{-(Program
(Function
(Identifier)
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Yield))
(ExpressionStatements
(Yield
(Identifier))))))-}
(Yield))
(ExpressionStatements
(Yield
(Identifier)))))-}

View File

@ -1,13 +1,13 @@
{-(Program
(Function
(Identifier)
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Yield))
(ExpressionStatements
(Yield
(Identifier))))))-}
(Yield))
(ExpressionStatements
(Yield
(Identifier)))))-}

View File

@ -2,13 +2,13 @@
(Function
{ (Identifier)
->(Identifier) }
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Yield))
(ExpressionStatements
(Yield
(Identifier))))))
(Yield))
(ExpressionStatements
(Yield
(Identifier)))))

View File

@ -2,13 +2,13 @@
(Function
{ (Identifier)
->(Identifier) }
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Yield))
(ExpressionStatements
(Yield
(Identifier))))))
(Yield))
(ExpressionStatements
(Yield
(Identifier)))))

View File

@ -1,13 +1,13 @@
(Program
(Function
(Identifier)
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Yield))
(ExpressionStatements
(Yield
(Identifier))))))
(Yield))
(ExpressionStatements
(Yield
(Identifier)))))

View File

@ -1,13 +1,13 @@
(Program
(Function
(Identifier)
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier))
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Yield))
(ExpressionStatements
(Yield
(Identifier))))))
(Yield))
(ExpressionStatements
(Yield
(Identifier)))))

View File

@ -7,5 +7,4 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))+}
(Identifier))))+}

View File

@ -2,6 +2,5 @@
(Function
(Identifier)
(Params)
(ExpressionStatements
(Return
(Boolean)))))+}
(Return
(Boolean))))+}

View File

@ -7,5 +7,4 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))-}
(Identifier))))-}

View File

@ -2,6 +2,5 @@
(Function
(Identifier)
(Params)
(ExpressionStatements
(Return
(Boolean)))))-}
(Return
(Boolean))))-}

View File

@ -8,8 +8,7 @@
(Other "required_parameter"
(Identifier)))
->(Params) }
(ExpressionStatements
{+(Return
(Boolean))+}
{-(ExpressionStatements
(Identifier))-})))
{+(Return
(Boolean))+}
{-(ExpressionStatements
(Identifier))-}))

View File

@ -8,8 +8,7 @@
(Identifier))
(Other "required_parameter"
(Identifier))) }
(ExpressionStatements
{+(ExpressionStatements
(Identifier))+}
{-(Return
(Boolean))-})))
{+(ExpressionStatements
(Identifier))+}
{-(Return
(Boolean))-}))

View File

@ -7,5 +7,4 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Identifier)))))
(Identifier))))

View File

@ -2,6 +2,5 @@
(Function
(Identifier)
(Params)
(ExpressionStatements
(Return
(Boolean)))))
(Return
(Boolean))))

View File

@ -7,11 +7,10 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(DoWhile
(DoWhile
(ExpressionStatements
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier))))
(Identifier))))))+}
(FunctionCall
(Identifier)
(Identifier))))
(Identifier)))))+}

View File

@ -7,11 +7,10 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(DoWhile
(DoWhile
(ExpressionStatements
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier))))
(Identifier))))))+}
(FunctionCall
(Identifier)
(Identifier))))
(Identifier)))))+}

View File

@ -7,11 +7,10 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(DoWhile
(DoWhile
(ExpressionStatements
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier))))
(Identifier))))))-}
(FunctionCall
(Identifier)
(Identifier))))
(Identifier)))))-}

View File

@ -7,11 +7,10 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(DoWhile
(DoWhile
(ExpressionStatements
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier))))
(Identifier))))))-}
(FunctionCall
(Identifier)
(Identifier))))
(Identifier)))))-}

View File

@ -7,13 +7,12 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(DoWhile
(DoWhile
(ExpressionStatements
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
{ (Identifier)
->(Identifier) })))
{ (Identifier)
->(Identifier) })))))
(FunctionCall
(Identifier)
{ (Identifier)
->(Identifier) })))
{ (Identifier)
->(Identifier) }))))

View File

@ -7,13 +7,12 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(DoWhile
(DoWhile
(ExpressionStatements
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
{ (Identifier)
->(Identifier) })))
{ (Identifier)
->(Identifier) })))))
(FunctionCall
(Identifier)
{ (Identifier)
->(Identifier) })))
{ (Identifier)
->(Identifier) }))))

View File

@ -7,11 +7,10 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(DoWhile
(DoWhile
(ExpressionStatements
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier))))
(Identifier))))))
(FunctionCall
(Identifier)
(Identifier))))
(Identifier)))))

View File

@ -7,11 +7,10 @@
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(DoWhile
(DoWhile
(ExpressionStatements
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier))))
(Identifier))))))
(FunctionCall
(Identifier)
(Identifier))))
(Identifier)))))

View File

@ -8,22 +8,20 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Function
(Identifier)
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier))))))))))+}
(Function
(Identifier)
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier))))))))+}

View File

@ -8,22 +8,20 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Function
(Identifier)
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier))))))))))+}
(Function
(Identifier)
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier))))))))+}

View File

@ -8,22 +8,20 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Function
(Identifier)
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier))))))))))-}
(Function
(Identifier)
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier))))))))-}

View File

@ -8,22 +8,20 @@
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(Function
(Identifier)
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier))))))))))-}
(Function
(Identifier)
(Params
(Other "required_parameter"
(Identifier))
(Other "required_parameter"
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier)))
(ExpressionStatements
(FunctionCall
(Identifier)
(Identifier)
(Identifier))))))))-}

Some files were not shown because too many files have changed in this diff Show More