This was we don't get noisy baselines just because a different phase of the compiler reported the diagnostic. This helps with Yui's refactoring work to move grammar checks into the type checker.
1745 lines
No EOL
111 KiB
Text
1745 lines
No EOL
111 KiB
Text
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(4,1): error TS6053: File 'tests/cases/conformance/parser/ecmascript5/typescript.ts' not found.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(12,38): error TS2304: Cannot find name 'ASTList'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(12,62): error TS2304: Cannot find name 'TypeLink'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(16,37): error TS2304: Cannot find name 'TypeLink'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(16,45): error TS1150: 'new T[]' cannot be used to create an array. Use 'new Array<T>()' instead.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(21,36): error TS2304: Cannot find name 'TypeLink'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(29,29): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(29,45): error TS2304: Cannot find name 'TypeDeclaration'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(34,43): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(34,54): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(34,68): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(35,25): error TS2304: Cannot find name 'ValueLocation'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(36,30): error TS2304: Cannot find name 'TypeLink'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(41,17): error TS2304: Cannot find name 'FieldSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(43,31): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(43,54): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(49,58): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(50,29): error TS2304: Cannot find name 'Signature'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(51,36): error TS2304: Cannot find name 'TypeLink'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(55,30): error TS2304: Cannot find name 'SignatureGroup'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(59,66): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(59,80): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(60,31): error TS2304: Cannot find name 'SignatureGroup'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(61,18): error TS2304: Cannot find name 'Signature'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(68,23): error TS2304: Cannot find name 'Signature'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(73,34): error TS2304: Cannot find name 'TypeLink'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(83,24): error TS2304: Cannot find name 'ScopeChain'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(84,18): error TS2304: Cannot find name 'IHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(85,20): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(88,67): error TS2304: Cannot find name 'ScopeChain'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(88,80): error TS2304: Cannot find name 'Symbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(98,41): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(98,76): error TS2304: Cannot find name 'Symbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(99,21): error TS2304: Cannot find name 'Symbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(101,18): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(102,30): error TS2304: Cannot find name 'Identifier'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(103,33): error TS2304: Cannot find name 'isQuoted'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(123,18): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(124,35): error TS2304: Cannot find name 'BinaryExpression'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(150,48): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(150,61): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(150,75): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(152,25): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(153,22): error TS2304: Cannot find name 'ModuleType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(154,27): error TS2304: Cannot find name 'ImportDeclaration'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(155,26): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(155,55): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(165,28): error TS2304: Cannot find name 'ModuleType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(169,26): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(186,48): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(186,61): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(186,75): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(189,25): error TS2304: Cannot find name 'ModuleDeclaration'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(189,46): error TS2304: Cannot find name 'ModuleDeclaration'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(191,25): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(191,54): error TS2304: Cannot find name 'ModuleFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(192,22): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(192,51): error TS2304: Cannot find name 'ModuleFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(194,26): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(194,55): error TS2304: Cannot find name 'ModuleFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(195,25): error TS2304: Cannot find name 'Identifier'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(197,25): error TS2304: Cannot find name 'isQuoted'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(200,25): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(201,22): error TS2304: Cannot find name 'ModuleType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(202,51): error TS2304: Cannot find name 'SymbolKind'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(205,41): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(205,59): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(205,83): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(205,106): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(206,48): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(206,66): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(206,90): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(206,113): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(207,31): error TS2304: Cannot find name 'ModuleType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(209,42): error TS2304: Cannot find name 'TypeFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(211,39): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(211,57): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(211,81): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(211,104): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(212,46): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(212,64): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(212,88): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(212,111): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(216,30): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(231,72): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(234,27): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(238,80): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(239,37): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(239,55): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(239,105): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(242,94): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(243,44): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(243,62): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(243,119): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(246,68): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(247,31): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(247,49): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(247,93): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(250,82): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(251,38): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(251,56): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(251,107): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(253,27): error TS2304: Cannot find name 'ModuleType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(255,38): error TS2304: Cannot find name 'TypeFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(272,33): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(276,33): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(280,9): error TS2304: Cannot find name 'pushTypeCollectionScope'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(289,47): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(289,60): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(289,74): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(291,26): error TS2304: Cannot find name 'ClassDeclaration'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(293,24): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(294,27): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(295,25): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(296,27): error TS2304: Cannot find name 'Identifier'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(298,25): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(298,53): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(299,26): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(299,54): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(301,29): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(304,23): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(314,51): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(315,19): error TS2304: Cannot find name 'FuncDecl'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(317,31): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(321,41): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(325,41): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(340,29): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(342,32): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(345,37): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(345,55): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(345,79): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(345,102): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(346,44): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(346,62): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(346,86): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(346,109): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(348,40): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(348,58): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(348,82): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(348,105): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(349,47): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(349,65): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(349,89): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(349,112): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(350,30): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(360,37): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(364,37): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(368,37): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(387,46): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(389,54): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(389,72): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(389,96): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(389,119): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(391,41): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(391,59): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(391,83): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(391,106): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(392,48): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(392,66): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(392,90): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(392,113): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(403,115): error TS2304: Cannot find name 'FuncDecl'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(410,32): error TS2304: Cannot find name 'TypeFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(411,35): error TS2304: Cannot find name 'TypeFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(414,9): error TS2304: Cannot find name 'pushTypeCollectionScope'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(419,51): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(419,64): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(419,78): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(421,30): error TS2304: Cannot find name 'InterfaceDeclaration'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(422,30): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(423,28): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(424,26): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(424,58): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(429,31): error TS2304: Cannot find name 'Identifier'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(430,28): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(432,33): error TS2304: Cannot find name 'Type'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(433,35): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(439,41): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(439,59): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(439,83): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(439,106): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(440,48): error TS2304: Cannot find name 'ScopedMembers'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(440,66): error TS2304: Cannot find name 'DualStringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(440,90): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(440,113): error TS2304: Cannot find name 'StringHashTable'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(457,38): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(461,38): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(468,9): error TS2304: Cannot find name 'pushTypeCollectionScope'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(473,49): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(473,62): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(473,76): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(475,24): error TS2304: Cannot find name 'ArgDecl'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(476,13): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(476,39): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(476,57): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(477,29): error TS2304: Cannot find name 'ValueLocation'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(478,29): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(478,55): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(480,21): error TS2304: Cannot find name 'FieldSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(482,34): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(482,60): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(492,30): error TS2304: Cannot find name 'getTypeLink'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(498,49): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(498,62): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(498,76): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(500,24): error TS2304: Cannot find name 'VarDecl'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(501,25): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(501,51): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(502,26): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(502,52): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(504,26): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(504,52): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(505,24): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(505,50): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(506,25): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(506,51): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(507,26): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(507,52): error TS2304: Cannot find name 'ASTFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(518,22): error TS2304: Cannot find name 'FieldSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(531,29): error TS2304: Cannot find name 'ValueLocation'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(533,21): error TS2304: Cannot find name 'FieldSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(535,53): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(535,75): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(539,38): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(545,38): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(550,17): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(550,43): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(566,17): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(566,43): error TS2304: Cannot find name 'VarFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(567,38): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(570,30): error TS2304: Cannot find name 'getTypeLink'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(577,50): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(577,63): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(577,77): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(585,25): error TS2304: Cannot find name 'FuncDecl'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(586,20): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(588,26): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(588,53): error TS2304: Cannot find name 'FncFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(588,73): error TS2304: Cannot find name 'FncFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(589,24): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(589,51): error TS2304: Cannot find name 'FncFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(590,25): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(590,52): error TS2304: Cannot find name 'FncFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(592,26): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(592,40): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(593,29): error TS2304: Cannot find name 'SymbolScope'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(595,43): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(595,72): error TS2304: Cannot find name 'ASTFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(600,30): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(600,57): error TS2304: Cannot find name 'FncFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(601,29): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(613,46): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(614,15): error TS2304: Cannot find name 'FuncDecl'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(620,13): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(620,40): error TS2304: Cannot find name 'FncFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(630,30): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(637,34): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(646,53): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(646,80): error TS2304: Cannot find name 'FncFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(646,101): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(646,122): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(674,38): error TS2304: Cannot find name 'SymbolKind'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(700,34): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(704,34): error TS2304: Cannot find name 'TypeSymbol'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(710,69): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(710,93): error TS2304: Cannot find name 'FuncDecl'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(710,136): error TS2304: Cannot find name 'FuncDecl'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(724,22): error TS2304: Cannot find name 'hasFlag'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(724,83): error TS2304: Cannot find name 'FncFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(729,44): error TS2304: Cannot find name 'SymbolKind'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(736,55): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(747,47): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(751,65): error TS2304: Cannot find name 'SymbolKind'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(752,32): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(756,43): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(761,28): error TS2304: Cannot find name 'SymbolFlags'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(767,42): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(767,55): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(767,68): error TS2304: Cannot find name 'IAstWalker'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(768,22): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(772,29): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(773,25): error TS2304: Cannot find name 'Script'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(773,35): error TS2304: Cannot find name 'Script'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(777,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(780,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(783,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(786,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(789,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(792,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(795,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(800,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(803,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(806,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(818,43): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(818,56): error TS2304: Cannot find name 'AST'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(818,69): error TS2304: Cannot find name 'IAstWalker'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(819,22): error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(821,29): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(822,13): error TS2304: Cannot find name 'popTypeCollectionScope'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(824,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(825,13): error TS2304: Cannot find name 'popTypeCollectionScope'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(827,34): error TS2304: Cannot find name 'NodeType'.
|
|
tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(828,13): error TS2304: Cannot find name 'popTypeCollectionScope'.
|
|
|
|
|
|
==== tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts (303 errors) ====
|
|
// Copyright (c) Microsoft. All rights reserved. Licensed under the Apache License, Version 2.0.
|
|
// See LICENSE.txt in the project root for complete license information.
|
|
|
|
///<reference path='typescript.ts' />
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS6053: File 'typescript.ts' not found.
|
|
|
|
module TypeScript {
|
|
export class Continuation {
|
|
public exceptionBlock = -1;
|
|
constructor (public normalBlock: number) { }
|
|
}
|
|
|
|
function getBaseTypeLinks(bases: ASTList, baseTypeLinks: TypeLink[]) {
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ASTList'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeLink'.
|
|
if (bases) {
|
|
var len = bases.members.length;
|
|
if (baseTypeLinks == null) {
|
|
baseTypeLinks = new TypeLink[];
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeLink'.
|
|
~~
|
|
!!! error TS1150: 'new T[]' cannot be used to create an array. Use 'new Array<T>()' instead.
|
|
}
|
|
for (var i = 0; i < len; i++) {
|
|
var baseExpr = bases.members[i];
|
|
var name = baseExpr;
|
|
var typeLink = new TypeLink();
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeLink'.
|
|
typeLink.ast = name;
|
|
baseTypeLinks[baseTypeLinks.length] = typeLink;
|
|
}
|
|
}
|
|
return baseTypeLinks;
|
|
}
|
|
|
|
function getBases(type: Type, typeDecl: TypeDeclaration) {
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeDeclaration'.
|
|
type.extendsTypeLinks = getBaseTypeLinks(typeDecl.extendsList, type.extendsTypeLinks);
|
|
type.implementsTypeLinks = getBaseTypeLinks(typeDecl.implementsList, type.implementsTypeLinks);
|
|
}
|
|
|
|
function addPrototypeField(classType: Type, ast: AST, context: TypeCollectionContext) {
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var field = new ValueLocation();
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ValueLocation'.
|
|
field.typeLink = new TypeLink();
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeLink'.
|
|
field.typeLink.ast = ast;
|
|
field.typeLink.type = classType.instanceType;
|
|
|
|
var fieldSymbol =
|
|
new FieldSymbol("prototype", ast.minChar,
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FieldSymbol'.
|
|
context.checker.locationInfo.unitIndex, true, field);
|
|
fieldSymbol.flags |= (SymbolFlags.Property | SymbolFlags.BuiltIn);
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
field.symbol = fieldSymbol;
|
|
fieldSymbol.declAST = ast;
|
|
classType.members.addPublicMember("prototype", fieldSymbol);
|
|
}
|
|
|
|
export function createNewConstructGroupForType(type: Type) {
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
var signature = new Signature();
|
|
~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'Signature'.
|
|
signature.returnType = new TypeLink();
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeLink'.
|
|
signature.returnType.type = type.instanceType;
|
|
signature.parameters = [];
|
|
|
|
type.construct = new SignatureGroup();
|
|
~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SignatureGroup'.
|
|
type.construct.addSignature(signature);
|
|
}
|
|
|
|
export function cloneParentConstructGroupForChildType(child: Type, parent: Type) {
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
child.construct = new SignatureGroup();
|
|
~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SignatureGroup'.
|
|
var sig: Signature = null;
|
|
~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'Signature'.
|
|
|
|
if (!parent.construct) {
|
|
createNewConstructGroupForType(parent);
|
|
}
|
|
|
|
for (var i = 0; i < parent.construct.signatures.length; i++) {
|
|
sig = new Signature();
|
|
~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'Signature'.
|
|
sig.parameters = parent.construct.signatures[i].parameters;
|
|
sig.nonOptionalParameterCount = parent.construct.signatures[i].nonOptionalParameterCount;
|
|
sig.typeCheckStatus = parent.construct.signatures[i].typeCheckStatus;
|
|
sig.declAST = parent.construct.signatures[i].declAST;
|
|
sig.returnType = new TypeLink();
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeLink'.
|
|
sig.returnType.type = child.instanceType;
|
|
child.construct.addSignature(sig);
|
|
}
|
|
|
|
}
|
|
|
|
export var globalId = "__GLO";
|
|
|
|
export interface IAliasScopeContext {
|
|
topLevelScope: ScopeChain;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopeChain'.
|
|
members: IHashTable;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'IHashTable'.
|
|
tcContext: TypeCollectionContext;
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
}
|
|
|
|
function findTypeSymbolInScopeChain(name: string, scopeChain: ScopeChain): Symbol {
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopeChain'.
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'Symbol'.
|
|
var symbol = scopeChain.scope.find(name, false, true);
|
|
|
|
if (symbol == null && scopeChain.previous) {
|
|
symbol = findTypeSymbolInScopeChain(name, scopeChain.previous);
|
|
}
|
|
|
|
return symbol;
|
|
}
|
|
|
|
function findSymbolFromAlias(alias: AST, context: IAliasScopeContext): Symbol {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'Symbol'.
|
|
var symbol: Symbol = null;
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'Symbol'.
|
|
switch (alias.nodeType) {
|
|
case NodeType.Name:
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
var name = (<Identifier>alias).text;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'Identifier'.
|
|
var isDynamic = isQuoted(name);
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'isQuoted'.
|
|
|
|
var findSym = (id: string) => {
|
|
if (context.members) {
|
|
return context.members.lookup(name);
|
|
}
|
|
else {
|
|
return findTypeSymbolInScopeChain(name, context.topLevelScope);
|
|
}
|
|
}
|
|
|
|
if (isDynamic) {
|
|
symbol = context.tcContext.checker.findSymbolForDynamicModule(name, context.tcContext.script.locationInfo.filename, findSym);
|
|
}
|
|
else {
|
|
symbol = findSym(name);
|
|
}
|
|
|
|
break;
|
|
|
|
case NodeType.Dot:
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
var dottedExpr = <BinaryExpression>alias;
|
|
~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'BinaryExpression'.
|
|
var op1Sym = findSymbolFromAlias(dottedExpr.operand1, context);
|
|
|
|
if (op1Sym && op1Sym.getType()) {
|
|
symbol = findSymbolFromAlias(dottedExpr.operand2, context);
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (symbol) {
|
|
var symType = symbol.getType();
|
|
if (symType) {
|
|
var members = symType.members;
|
|
if (members) {
|
|
context.members = members.publicMembers;
|
|
}
|
|
}
|
|
}
|
|
|
|
return symbol;
|
|
}
|
|
|
|
export function preCollectImportTypes(ast: AST, parent: AST, context: TypeCollectionContext) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var scopeChain = context.scopeChain;
|
|
var typeSymbol: TypeSymbol = null;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
var modType: ModuleType = null;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleType'.
|
|
var importDecl = <ImportDeclaration>ast;
|
|
~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ImportDeclaration'.
|
|
var isExported = hasFlag(importDecl.varFlags, VarFlags.Exported);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
|
|
// REVIEW: technically, this call isn't strictly necessary, since we'll find the type during the call to resolveTypeMembers
|
|
var aliasedModSymbol = findSymbolFromAlias(importDecl.alias, { topLevelScope: scopeChain, members: null, tcContext: context });
|
|
var isGlobal = context.scopeChain.container == context.checker.gloMod;
|
|
|
|
if (aliasedModSymbol) {
|
|
var aliasedModType = aliasedModSymbol.getType();
|
|
|
|
if (aliasedModType) {
|
|
modType = <ModuleType>aliasedModType;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleType'.
|
|
}
|
|
}
|
|
|
|
typeSymbol = new TypeSymbol(importDecl.id.text, importDecl.minChar,
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
context.checker.locationInfo.unitIndex, modType);
|
|
|
|
typeSymbol.aliasLink = importDecl;
|
|
|
|
if (context.scopeChain.moduleDecl) {
|
|
typeSymbol.declModule = context.scopeChain.moduleDecl;
|
|
}
|
|
typeSymbol.declAST = importDecl;
|
|
importDecl.id.sym = typeSymbol;
|
|
scopeChain.scope.enter(scopeChain.container, ast, typeSymbol,
|
|
context.checker.errorReporter, isExported || isGlobal, true, false);
|
|
scopeChain.scope.enter(scopeChain.container, ast, typeSymbol,
|
|
context.checker.errorReporter, isExported || isGlobal, false, false);
|
|
return true;
|
|
}
|
|
|
|
export function preCollectModuleTypes(ast: AST, parent: AST, context: TypeCollectionContext) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var scopeChain = context.scopeChain;
|
|
|
|
var moduleDecl: ModuleDeclaration = <ModuleDeclaration>ast;
|
|
~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleDeclaration'.
|
|
~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleDeclaration'.
|
|
|
|
var isAmbient = hasFlag(moduleDecl.modFlags, ModuleFlags.Ambient);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleFlags'.
|
|
var isEnum = hasFlag(moduleDecl.modFlags, ModuleFlags.IsEnum);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleFlags'.
|
|
var isGlobal = context.scopeChain.container == context.checker.gloMod;
|
|
var isExported = hasFlag(moduleDecl.modFlags, ModuleFlags.Exported);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleFlags'.
|
|
var modName = (<Identifier>moduleDecl.name).text;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'Identifier'.
|
|
|
|
var isDynamic = isQuoted(modName);
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'isQuoted'.
|
|
|
|
var symbol = scopeChain.scope.findLocal(modName, false, false);
|
|
var typeSymbol: TypeSymbol = null;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
var modType: ModuleType = null;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleType'.
|
|
if ((symbol == null) || (symbol.kind() != SymbolKind.Type)) {
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolKind'.
|
|
|
|
if (modType == null) {
|
|
var enclosedTypes = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
var ambientEnclosedTypes = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
modType = new ModuleType(enclosedTypes, ambientEnclosedTypes);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleType'.
|
|
if (isEnum) {
|
|
modType.typeFlags |= TypeFlags.IsEnum;
|
|
~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeFlags'.
|
|
}
|
|
modType.members = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
modType.ambientMembers = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
modType.setHasImplementation();
|
|
}
|
|
|
|
typeSymbol = new TypeSymbol(modName, moduleDecl.minChar,
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
context.checker.locationInfo.unitIndex, modType);
|
|
|
|
if (context.scopeChain.moduleDecl) {
|
|
typeSymbol.declModule = context.scopeChain.moduleDecl;
|
|
}
|
|
typeSymbol.declAST = moduleDecl;
|
|
typeSymbol.prettyName = moduleDecl.prettyName;
|
|
scopeChain.scope.enter(scopeChain.container, ast, typeSymbol,
|
|
context.checker.errorReporter, isExported || isGlobal, true, isAmbient);
|
|
scopeChain.scope.enter(scopeChain.container, ast, typeSymbol,
|
|
context.checker.errorReporter, isExported || isGlobal, false, isAmbient);
|
|
modType.symbol = typeSymbol;
|
|
}
|
|
else {
|
|
if (symbol && symbol.declAST && symbol.declAST.nodeType != NodeType.ModuleDeclaration) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
context.checker.errorReporter.simpleError(moduleDecl, "Conflicting symbol name for module '" + modName + "'");
|
|
}
|
|
typeSymbol = <TypeSymbol>symbol;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
|
|
// initialize new private scope for the type
|
|
var publicEnclosedTypes = typeSymbol.type.getAllEnclosedTypes().publicMembers;
|
|
var publicEnclosedTypesTable = (publicEnclosedTypes == null) ? new StringHashTable() : publicEnclosedTypes;
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
var enclosedTypes = new ScopedMembers(new DualStringHashTable(publicEnclosedTypesTable, new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
|
|
var publicEnclosedAmbientTypes = typeSymbol.type.getAllAmbientEnclosedTypes().publicMembers;
|
|
var publicAmbientEnclosedTypesTable = (publicEnclosedAmbientTypes == null) ? new StringHashTable() : publicEnclosedAmbientTypes;
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
var ambientEnclosedTypes = new ScopedMembers(new DualStringHashTable(publicAmbientEnclosedTypesTable, new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
|
|
var publicMembers = typeSymbol.type.members.publicMembers;
|
|
var publicMembersTable = (publicMembers == null) ? new StringHashTable() : publicMembers;
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
var members = new ScopedMembers(new DualStringHashTable(publicMembersTable, new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
|
|
var publicAmbientMembers = typeSymbol.type.ambientMembers.publicMembers;
|
|
var publicAmbientMembersTable = (publicAmbientMembers == null) ? new StringHashTable() : publicAmbientMembers;
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
var ambientMembers = new ScopedMembers(new DualStringHashTable(publicAmbientMembersTable, new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
|
|
modType = new ModuleType(enclosedTypes, ambientEnclosedTypes);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ModuleType'.
|
|
if (isEnum) {
|
|
modType.typeFlags |= TypeFlags.IsEnum;
|
|
~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeFlags'.
|
|
}
|
|
modType.members = members;
|
|
modType.ambientMembers = ambientMembers;
|
|
modType.setHasImplementation();
|
|
modType.symbol = typeSymbol;
|
|
|
|
typeSymbol.addLocation(moduleDecl.minChar);
|
|
typeSymbol.expansions.push(modType);
|
|
|
|
}
|
|
if (context.scopeChain.moduleDecl) {
|
|
context.scopeChain.moduleDecl.recordNonInterface();
|
|
}
|
|
// REVIEW: If multiple disparate module decls for the same module don't agree
|
|
// in export privileges, how should we handle it?
|
|
if (isExported) {
|
|
typeSymbol.flags |= SymbolFlags.Exported;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
if ((context.scopeChain.moduleDecl) ||
|
|
(context.scopeChain.container == context.checker.gloMod)) {
|
|
typeSymbol.flags |= SymbolFlags.ModuleMember;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
moduleDecl.mod = modType;
|
|
pushTypeCollectionScope(typeSymbol, modType.members,
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'pushTypeCollectionScope'.
|
|
modType.ambientMembers,
|
|
modType.enclosedTypes,
|
|
modType.ambientEnclosedTypes,
|
|
context, null, null, moduleDecl);
|
|
|
|
return true;
|
|
}
|
|
|
|
export function preCollectClassTypes(ast: AST, parent: AST, context: TypeCollectionContext) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var scopeChain = context.scopeChain;
|
|
var classDecl = <ClassDeclaration>ast;
|
|
~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ClassDeclaration'.
|
|
|
|
var classType: Type;
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
var instanceType: Type;
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
var typeSymbol: TypeSymbol = null;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
var className = (<Identifier>classDecl.name).text;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'Identifier'.
|
|
var alreadyInScope = false;
|
|
var isAmbient = hasFlag(classDecl.varFlags, VarFlags.Ambient);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var isExported = hasFlag(classDecl.varFlags, VarFlags.Exported);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var isGlobal = context.scopeChain.container == context.checker.gloMod;
|
|
var containerMod = <TypeSymbol>scopeChain.container;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
var foundValSymbol = false;
|
|
|
|
typeSymbol = <TypeSymbol>scopeChain.scope.findLocal(className, false, true);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
|
|
// check the value space, since an override may have been declared with the type's name
|
|
// REVIEW-CLASSES
|
|
if (!typeSymbol) {
|
|
var valTypeSymbol = scopeChain.scope.findLocal(className, false, false);
|
|
|
|
if (valTypeSymbol &&
|
|
valTypeSymbol.isType() &&
|
|
valTypeSymbol.declAST &&
|
|
valTypeSymbol.declAST.nodeType == NodeType.FuncDecl &&
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
(<FuncDecl>valTypeSymbol.declAST).isSignature()) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FuncDecl'.
|
|
|
|
typeSymbol = <TypeSymbol>valTypeSymbol;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
foundValSymbol = true;
|
|
|
|
if (isExported) {
|
|
typeSymbol.flags |= SymbolFlags.Exported;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
if (isAmbient) {
|
|
typeSymbol.flags |= SymbolFlags.Ambient;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
// the class was never entered into type space, so add it
|
|
context.scopeChain.scope.enter(context.scopeChain.container, ast, typeSymbol,
|
|
context.checker.errorReporter, isExported || isGlobal, true, isAmbient);
|
|
}
|
|
}
|
|
|
|
if (typeSymbol && !foundValSymbol && (typeSymbol.declAST != classDecl)) {
|
|
typeSymbol = null;
|
|
}
|
|
|
|
if (typeSymbol == null) {
|
|
var valueSymbol = scopeChain.scope.findLocal(className, false, false);
|
|
classType = new Type();
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
classType.setHasImplementation();
|
|
instanceType = new Type();
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
instanceType.setHasImplementation();
|
|
classType.instanceType = instanceType;
|
|
classType.members = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
classType.ambientMembers = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
addPrototypeField(classType, classDecl, context);
|
|
instanceType.members = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
instanceType.ambientMembers = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
typeSymbol = new TypeSymbol(className, classDecl.minChar,
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
context.checker.locationInfo.unitIndex, classType);
|
|
typeSymbol.declAST = classDecl;
|
|
typeSymbol.instanceType = instanceType;
|
|
classType.symbol = typeSymbol;
|
|
instanceType.symbol = typeSymbol;
|
|
|
|
if (context.scopeChain.moduleDecl) {
|
|
context.scopeChain.moduleDecl.recordNonInterface();
|
|
typeSymbol.declModule = context.scopeChain.moduleDecl;
|
|
typeSymbol.flags |= SymbolFlags.ModuleMember;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
if (isExported) {
|
|
typeSymbol.flags |= SymbolFlags.Exported;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
if (isAmbient) {
|
|
typeSymbol.flags |= SymbolFlags.Ambient;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
ast.type = classType;
|
|
|
|
// class in both name spaces (type for instance type; constructor representative in value space)
|
|
context.scopeChain.scope.enter(context.scopeChain.container, ast, typeSymbol,
|
|
context.checker.errorReporter, isExported || isGlobal, true, isAmbient);
|
|
|
|
if (valueSymbol == null) {
|
|
context.scopeChain.scope.enter(context.scopeChain.container, ast, typeSymbol,
|
|
context.checker.errorReporter, isExported || isGlobal, false, isAmbient);
|
|
}
|
|
}
|
|
else {
|
|
classType = typeSymbol.type;
|
|
|
|
// If the instance type is null, a call overload was likely declared before the class constructor
|
|
if (classType.instanceType == null) {
|
|
classType.instanceType = new Type();
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
classType.instanceType.setHasImplementation();
|
|
classType.instanceType.members = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
classType.instanceType.symbol = classType.symbol;
|
|
classType.members = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
classType.ambientMembers = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
}
|
|
|
|
instanceType = classType.instanceType;
|
|
ast.type = classType;
|
|
}
|
|
|
|
// if the class has no declared constructor, either create a default signature or adapt
|
|
// it's base class's signature group
|
|
if (!classDecl.constructorDecl) {
|
|
|
|
if (typeSymbol && typeSymbol.declAST && typeSymbol.declAST.type && typeSymbol.declAST.type.call && !(<FuncDecl>typeSymbol.declAST).isOverload) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FuncDecl'.
|
|
context.checker.errorReporter.duplicateIdentifier(typeSymbol.declAST, typeSymbol.name);
|
|
}
|
|
|
|
createNewConstructGroupForType(classDecl.type);
|
|
}
|
|
|
|
classType.typeFlags |= TypeFlags.IsClass;
|
|
~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeFlags'.
|
|
instanceType.typeFlags |= TypeFlags.IsClass;
|
|
~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeFlags'.
|
|
|
|
getBases(instanceType, classDecl);
|
|
pushTypeCollectionScope(typeSymbol, instanceType.members, instanceType.ambientMembers, null, null,
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'pushTypeCollectionScope'.
|
|
context, instanceType, classType, null);
|
|
return true;
|
|
}
|
|
|
|
export function preCollectInterfaceTypes(ast: AST, parent: AST, context: TypeCollectionContext) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var scopeChain = context.scopeChain;
|
|
var interfaceDecl = <InterfaceDeclaration>ast;
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'InterfaceDeclaration'.
|
|
var interfaceSymbol: TypeSymbol = null;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
var interfaceType: Type = null;
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
var isExported = hasFlag(interfaceDecl.varFlags, VarFlags.Exported);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var isGlobal = context.scopeChain.container == context.checker.gloMod;
|
|
var alreadyInScope = true;
|
|
|
|
alreadyInScope = false;
|
|
var interfaceName = (<Identifier>interfaceDecl.name).text;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'Identifier'.
|
|
interfaceSymbol = <TypeSymbol>scopeChain.scope.findLocal(interfaceName, false, true);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
if (interfaceSymbol == null) {
|
|
interfaceType = new Type();
|
|
~~~~
|
|
!!! error TS2304: Cannot find name 'Type'.
|
|
interfaceSymbol = new TypeSymbol(interfaceName,
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
ast.minChar,
|
|
context.checker.locationInfo.unitIndex,
|
|
interfaceType);
|
|
interfaceType.symbol = interfaceSymbol;
|
|
// REVIEW: Shouldn't allocate another table for interface privates
|
|
interfaceType.members = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
interfaceType.ambientMembers = new ScopedMembers(new DualStringHashTable(new StringHashTable(), new StringHashTable()));
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ScopedMembers'.
|
|
~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'DualStringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'StringHashTable'.
|
|
interfaceSymbol.declAST = interfaceDecl;
|
|
interfaceSymbol.declModule = context.scopeChain.moduleDecl;
|
|
}
|
|
else {
|
|
alreadyInScope = true;
|
|
interfaceType = interfaceSymbol.type;
|
|
}
|
|
|
|
if (!interfaceType) {
|
|
interfaceType = context.checker.anyType;
|
|
}
|
|
|
|
ast.type = interfaceType;
|
|
getBases(interfaceType, interfaceDecl);
|
|
|
|
if (isExported) {
|
|
interfaceSymbol.flags |= SymbolFlags.Exported;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
if (context.scopeChain.moduleDecl) {
|
|
interfaceSymbol.flags |= SymbolFlags.ModuleMember;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
if (!alreadyInScope) {
|
|
context.scopeChain.scope.enter(context.scopeChain.container, ast,
|
|
interfaceSymbol, context.checker.errorReporter, isGlobal || isExported, true, false); // REVIEW: Technically, interfaces should be ambient
|
|
}
|
|
pushTypeCollectionScope(interfaceSymbol, interfaceType.members, interfaceType.ambientMembers, null, null,
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'pushTypeCollectionScope'.
|
|
context, interfaceType, null, null);
|
|
return true;
|
|
}
|
|
|
|
export function preCollectArgDeclTypes(ast: AST, parent: AST, context: TypeCollectionContext) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var scopeChain = context.scopeChain;
|
|
var argDecl = <ArgDecl>ast;
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ArgDecl'.
|
|
if (hasFlag(argDecl.varFlags, VarFlags.Public | VarFlags.Private)) {
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var field = new ValueLocation();
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ValueLocation'.
|
|
var isPrivate = hasFlag(argDecl.varFlags, VarFlags.Private);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var fieldSymbol =
|
|
new FieldSymbol(argDecl.id.text, argDecl.minChar,
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FieldSymbol'.
|
|
context.checker.locationInfo.unitIndex,
|
|
!hasFlag(argDecl.varFlags, VarFlags.Readonly),
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
field);
|
|
fieldSymbol.transferVarFlags(argDecl.varFlags);
|
|
field.symbol = fieldSymbol;
|
|
fieldSymbol.declAST = ast;
|
|
argDecl.parameterPropertySym = fieldSymbol;
|
|
|
|
context.scopeChain.scope.enter(context.scopeChain.container, ast,
|
|
fieldSymbol, context.checker.errorReporter, !isPrivate, false, false);
|
|
|
|
field.typeLink = getTypeLink(argDecl.typeExpr, context.checker, argDecl.init == null);
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'getTypeLink'.
|
|
argDecl.sym = fieldSymbol;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
export function preCollectVarDeclTypes(ast: AST, parent: AST, context: TypeCollectionContext) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var scopeChain = context.scopeChain;
|
|
var varDecl = <VarDecl>ast;
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarDecl'.
|
|
var isAmbient = hasFlag(varDecl.varFlags, VarFlags.Ambient);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var isExported = hasFlag(varDecl.varFlags, VarFlags.Exported);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var isGlobal = context.scopeChain.container == context.checker.gloMod;
|
|
var isProperty = hasFlag(varDecl.varFlags, VarFlags.Property);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var isStatic = hasFlag(varDecl.varFlags, VarFlags.Static);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var isPrivate = hasFlag(varDecl.varFlags, VarFlags.Private);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
var isOptional = hasFlag(varDecl.id.flags, ASTFlags.OptionalName);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ASTFlags'.
|
|
|
|
if (context.scopeChain.moduleDecl) {
|
|
context.scopeChain.moduleDecl.recordNonInterface();
|
|
}
|
|
if (isProperty ||
|
|
isExported ||
|
|
(context.scopeChain.container == context.checker.gloMod) ||
|
|
context.scopeChain.moduleDecl) {
|
|
if (isAmbient) {
|
|
var existingSym =
|
|
<FieldSymbol>scopeChain.scope.findLocal(varDecl.id.text, false, false);
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FieldSymbol'.
|
|
if (existingSym) {
|
|
varDecl.sym = existingSym;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// Defensive error detection...
|
|
if (varDecl.id == null) {
|
|
context.checker.errorReporter.simpleError(varDecl, "Expected variable identifier at this location");
|
|
return false;
|
|
}
|
|
|
|
var field = new ValueLocation();
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ValueLocation'.
|
|
var fieldSymbol =
|
|
new FieldSymbol(varDecl.id.text, varDecl.minChar,
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FieldSymbol'.
|
|
context.checker.locationInfo.unitIndex,
|
|
(varDecl.varFlags & VarFlags.Readonly) == VarFlags.None,
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
field);
|
|
fieldSymbol.transferVarFlags(varDecl.varFlags);
|
|
if (isOptional) {
|
|
fieldSymbol.flags |= SymbolFlags.Optional;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
field.symbol = fieldSymbol;
|
|
fieldSymbol.declAST = ast;
|
|
if ((context.scopeChain.moduleDecl) ||
|
|
(context.scopeChain.container == context.checker.gloMod)) {
|
|
fieldSymbol.flags |= SymbolFlags.ModuleMember;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
fieldSymbol.declModule = context.scopeChain.moduleDecl;
|
|
}
|
|
|
|
// if it's static, enter it into the class's member list directly
|
|
if (hasFlag(varDecl.varFlags, VarFlags.Property) && isStatic && context.scopeChain.classType) {
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
if (!context.scopeChain.classType.members.publicMembers.add(varDecl.id.text, fieldSymbol)) {
|
|
context.checker.errorReporter.duplicateIdentifier(ast, fieldSymbol.name);
|
|
}
|
|
fieldSymbol.container = context.scopeChain.classType.symbol;
|
|
}
|
|
else {
|
|
context.scopeChain.scope.enter(context.scopeChain.container,
|
|
ast,
|
|
fieldSymbol,
|
|
context.checker.errorReporter,
|
|
!isPrivate && (isProperty || isExported || isGlobal || isStatic),
|
|
false,
|
|
isAmbient);
|
|
}
|
|
|
|
if (hasFlag(varDecl.varFlags, VarFlags.Exported)) {
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'VarFlags'.
|
|
fieldSymbol.flags |= SymbolFlags.Exported;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
field.typeLink = getTypeLink(varDecl.typeExpr, context.checker,
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'getTypeLink'.
|
|
varDecl.init == null);
|
|
varDecl.sym = fieldSymbol;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
export function preCollectFuncDeclTypes(ast: AST, parent: AST, context: TypeCollectionContext) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var scopeChain = context.scopeChain;
|
|
|
|
// REVIEW: This will have to change when we move to "export"
|
|
if (context.scopeChain.moduleDecl) {
|
|
context.scopeChain.moduleDecl.recordNonInterface();
|
|
}
|
|
|
|
var funcDecl = <FuncDecl>ast;
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FuncDecl'.
|
|
var fgSym: TypeSymbol = null;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
var nameText = funcDecl.getNameText();
|
|
var isExported = hasFlag(funcDecl.fncFlags, FncFlags.Exported | FncFlags.ClassPropertyMethodExported);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FncFlags'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FncFlags'.
|
|
var isStatic = hasFlag(funcDecl.fncFlags, FncFlags.Static);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FncFlags'.
|
|
var isPrivate = hasFlag(funcDecl.fncFlags, FncFlags.Private);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FncFlags'.
|
|
var isConstructor = funcDecl.isConstructMember() || funcDecl.isConstructor;
|
|
var containerSym:TypeSymbol = <TypeSymbol> (((funcDecl.isMethod() && isStatic) || funcDecl.isAccessor()) && context.scopeChain.classType ? context.scopeChain.classType.symbol : context.scopeChain.container);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
var containerScope: SymbolScope = context.scopeChain.scope;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolScope'.
|
|
var isGlobal = containerSym == context.checker.gloMod;
|
|
var isOptional = funcDecl.name && hasFlag(funcDecl.name.flags, ASTFlags.OptionalName);
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'ASTFlags'.
|
|
var go = false;
|
|
var foundSymbol = false;
|
|
|
|
// If this is a class constructor, the "container" is actually the class declaration
|
|
if (isConstructor && hasFlag(funcDecl.fncFlags, FncFlags.ClassMethod)) {
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FncFlags'.
|
|
containerSym = <TypeSymbol>containerSym.container;
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
containerScope = scopeChain.previous.scope;
|
|
}
|
|
|
|
funcDecl.unitIndex = context.checker.locationInfo.unitIndex;
|
|
|
|
// If the parent is the constructor, and this isn't an instance method, skip it.
|
|
// That way, we'll set the type during scope assignment, and can be sure that the
|
|
// function will be placed in the constructor-local scope
|
|
if (!funcDecl.isConstructor &&
|
|
containerSym &&
|
|
containerSym.declAST &&
|
|
containerSym.declAST.nodeType == NodeType.FuncDecl &&
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
(<FuncDecl>containerSym.declAST).isConstructor &&
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FuncDecl'.
|
|
!funcDecl.isMethod()) {
|
|
return go;
|
|
}
|
|
|
|
// Interfaces and overloads
|
|
if (hasFlag(funcDecl.fncFlags, FncFlags.Signature)) {
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FncFlags'.
|
|
var instType = context.scopeChain.thisType;
|
|
|
|
// If the function is static, search in the class type's
|
|
if (nameText && nameText != "__missing") {
|
|
if (isStatic) {
|
|
fgSym = containerSym.type.members.allMembers.lookup(nameText);
|
|
}
|
|
else {
|
|
// REVIEW: This logic should be symmetric with preCollectClassTypes
|
|
fgSym = <TypeSymbol>containerScope.findLocal(nameText, false, false);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
|
|
// If we could not find the function symbol in the value context, look
|
|
// in the type context.
|
|
// This would be the case, for example, if a class constructor override
|
|
// were declared before a call override for a given class
|
|
if (fgSym == null) {
|
|
fgSym = <TypeSymbol>containerScope.findLocal(nameText, false, true);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
}
|
|
}
|
|
|
|
if (fgSym) {
|
|
foundSymbol = true;
|
|
|
|
// We'll combine ambient and non-ambient funcdecls during typecheck (for contextual typing).,
|
|
// So, if they don't agree, don't use the symbol we've found
|
|
if (!funcDecl.isSignature() && (hasFlag(funcDecl.fncFlags, FncFlags.Ambient) != hasFlag(fgSym.flags, SymbolFlags.Ambient))) {
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FncFlags'.
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
fgSym = null;
|
|
}
|
|
}
|
|
}
|
|
|
|
// a function with this symbol has not yet been declared in this scope
|
|
// REVIEW: In the code below, we need to ensure that only function overloads are considered
|
|
// (E.g., if a vardecl has the same id as a function or class, we may use the vardecl symbol
|
|
// as the overload.) Defensively, however, the vardecl won't have a type yet, so it should
|
|
// suffice to just check for a null type when considering the overload symbol in
|
|
// createFunctionSignature
|
|
if (fgSym == null) {
|
|
if (!(funcDecl.isSpecialFn())) {
|
|
fgSym = context.checker.createFunctionSignature(funcDecl, containerSym, containerScope, null, !foundSymbol).declAST.type.symbol;
|
|
}
|
|
else {
|
|
fgSym = context.checker.createFunctionSignature(funcDecl, containerSym, containerScope, containerSym, false).declAST.type.symbol;
|
|
}
|
|
|
|
// set the symbol's declAST, which will point back to the first declaration (symbol or otherwise)
|
|
// related to this symbol
|
|
if (fgSym.declAST == null || !funcDecl.isSpecialFn()) {
|
|
fgSym.declAST = ast;
|
|
}
|
|
}
|
|
else { // there exists a symbol with this name
|
|
|
|
if ((fgSym.kind() == SymbolKind.Type)) {
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolKind'.
|
|
|
|
fgSym = context.checker.createFunctionSignature(funcDecl, containerSym, containerScope, fgSym, false).declAST.type.symbol;
|
|
}
|
|
else {
|
|
context.checker.errorReporter.simpleError(funcDecl, "Function or method '" + funcDecl.name.actualText + "' already declared as a property");
|
|
}
|
|
}
|
|
|
|
if (funcDecl.isSpecialFn() && !isStatic) {
|
|
funcDecl.type = instType ? instType : fgSym.type;
|
|
}
|
|
else {
|
|
funcDecl.type = fgSym.type;
|
|
}
|
|
}
|
|
else {
|
|
// declarations
|
|
|
|
if (nameText) {
|
|
if (isStatic) {
|
|
fgSym = containerSym.type.members.allMembers.lookup(nameText);
|
|
}
|
|
else {
|
|
// in the constructor case, we want to check the parent scope for overloads
|
|
if (funcDecl.isConstructor && context.scopeChain.previous) {
|
|
fgSym = <TypeSymbol>context.scopeChain.previous.scope.findLocal(nameText, false, false);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
}
|
|
|
|
if (fgSym == null) {
|
|
fgSym = <TypeSymbol>containerScope.findLocal(nameText, false, false);
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeSymbol'.
|
|
}
|
|
}
|
|
if (fgSym) {
|
|
foundSymbol = true;
|
|
|
|
if (!isConstructor && fgSym.declAST.nodeType == NodeType.FuncDecl && !(<FuncDecl>fgSym.declAST).isAccessor() && !(<FuncDecl>fgSym.declAST).isSignature()) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FuncDecl'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FuncDecl'.
|
|
fgSym = null;
|
|
foundSymbol = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
// REVIEW: Move this check into the typecheck phase? It's only being run over properties...
|
|
if (fgSym &&
|
|
!fgSym.isAccessor() &&
|
|
fgSym.type &&
|
|
fgSym.type.construct &&
|
|
fgSym.type.construct.signatures != [] &&
|
|
(fgSym.type.construct.signatures[0].declAST == null ||
|
|
!hasFlag(fgSym.type.construct.signatures[0].declAST.fncFlags, FncFlags.Ambient)) &&
|
|
~~~~~~~
|
|
!!! error TS2304: Cannot find name 'hasFlag'.
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'FncFlags'.
|
|
!funcDecl.isConstructor) {
|
|
context.checker.errorReporter.simpleError(funcDecl, "Functions may not have class overloads");
|
|
}
|
|
|
|
if (fgSym && !(fgSym.kind() == SymbolKind.Type) && funcDecl.isMethod() && !funcDecl.isAccessor() && !funcDecl.isConstructor) {
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolKind'.
|
|
context.checker.errorReporter.simpleError(funcDecl, "Function or method '" + funcDecl.name.actualText + "' already declared as a property");
|
|
fgSym.type = context.checker.anyType;
|
|
}
|
|
var sig = context.checker.createFunctionSignature(funcDecl, containerSym, containerScope, fgSym, !foundSymbol);
|
|
|
|
// it's a getter or setter function
|
|
if (((!fgSym || fgSym.declAST.nodeType != NodeType.FuncDecl) && funcDecl.isAccessor()) || (fgSym && fgSym.isAccessor())) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
funcDecl.accessorSymbol = context.checker.createAccessorSymbol(funcDecl, fgSym, containerSym.type, (funcDecl.isMethod() && isStatic), true, containerScope, containerSym);
|
|
}
|
|
|
|
funcDecl.type.symbol.declAST = ast;
|
|
if (funcDecl.isConstructor) { // REVIEW: Remove when classes completely replace oldclass
|
|
go = true;
|
|
};
|
|
}
|
|
if (isExported) {
|
|
if (funcDecl.type.call) {
|
|
funcDecl.type.symbol.flags |= SymbolFlags.Exported;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
// Accessors are set to 'exported' above
|
|
if (fgSym && !fgSym.isAccessor() && fgSym.kind() == SymbolKind.Type && fgSym.type.call) {
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolKind'.
|
|
fgSym.flags |= SymbolFlags.Exported;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
}
|
|
if (context.scopeChain.moduleDecl && !funcDecl.isSpecialFn()) {
|
|
funcDecl.type.symbol.flags |= SymbolFlags.ModuleMember;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
funcDecl.type.symbol.declModule = context.scopeChain.moduleDecl;
|
|
}
|
|
|
|
if (fgSym && isOptional) {
|
|
fgSym.flags |= SymbolFlags.Optional;
|
|
~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'SymbolFlags'.
|
|
}
|
|
|
|
return go;
|
|
}
|
|
|
|
export function preCollectTypes(ast: AST, parent: AST, walker: IAstWalker) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'IAstWalker'.
|
|
var context: TypeCollectionContext = walker.state;
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
var go = false;
|
|
var scopeChain = context.scopeChain;
|
|
|
|
if (ast.nodeType == NodeType.Script) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
var script: Script = <Script>ast;
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'Script'.
|
|
~~~~~~
|
|
!!! error TS2304: Cannot find name 'Script'.
|
|
context.script = script;
|
|
go = true;
|
|
}
|
|
else if (ast.nodeType == NodeType.List) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = true;
|
|
}
|
|
else if (ast.nodeType == NodeType.ImportDeclaration) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = preCollectImportTypes(ast, parent, context);
|
|
}
|
|
else if (ast.nodeType == NodeType.With) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = false;
|
|
}
|
|
else if (ast.nodeType == NodeType.ModuleDeclaration) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = preCollectModuleTypes(ast, parent, context);
|
|
}
|
|
else if (ast.nodeType == NodeType.ClassDeclaration) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = preCollectClassTypes(ast, parent, context);
|
|
}
|
|
else if (ast.nodeType == NodeType.Block) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = true;
|
|
}
|
|
else if (ast.nodeType == NodeType.InterfaceDeclaration) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = preCollectInterfaceTypes(ast, parent, context);
|
|
}
|
|
// This will be a constructor arg because this pass only traverses
|
|
// constructor arg lists
|
|
else if (ast.nodeType == NodeType.ArgDecl) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = preCollectArgDeclTypes(ast, parent, context);
|
|
}
|
|
else if (ast.nodeType == NodeType.VarDecl) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = preCollectVarDeclTypes(ast, parent, context);
|
|
}
|
|
else if (ast.nodeType == NodeType.FuncDecl) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
go = preCollectFuncDeclTypes(ast, parent, context);
|
|
}
|
|
else {
|
|
if (ast.isStatementOrExpression() && context.scopeChain.moduleDecl) {
|
|
context.scopeChain.moduleDecl.recordNonInterface();
|
|
}
|
|
}
|
|
walker.options.goChildren = go;
|
|
return ast;
|
|
}
|
|
|
|
export function postCollectTypes(ast: AST, parent: AST, walker: IAstWalker) {
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~
|
|
!!! error TS2304: Cannot find name 'AST'.
|
|
~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'IAstWalker'.
|
|
var context: TypeCollectionContext = walker.state;
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'TypeCollectionContext'.
|
|
|
|
if (ast.nodeType == NodeType.ModuleDeclaration) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
popTypeCollectionScope(context);
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'popTypeCollectionScope'.
|
|
}
|
|
else if (ast.nodeType == NodeType.ClassDeclaration) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
popTypeCollectionScope(context);
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'popTypeCollectionScope'.
|
|
}
|
|
else if (ast.nodeType == NodeType.InterfaceDeclaration) {
|
|
~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'NodeType'.
|
|
popTypeCollectionScope(context);
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS2304: Cannot find name 'popTypeCollectionScope'.
|
|
}
|
|
return ast;
|
|
}
|
|
|
|
} |