(pragmas, range, kind, match)
| 39042 | } |
| 39043 | } |
| 39044 | function addPragmaForMatch(pragmas, range, kind, match) { |
| 39045 | if (!match) |
| 39046 | return; |
| 39047 | var name = match[1].toLowerCase(); // Technically unsafe cast, but we do it so they below check to make it safe typechecks |
| 39048 | var pragma = ts.commentPragmas[name]; |
| 39049 | if (!pragma || !(pragma.kind & kind)) { |
| 39050 | return; |
| 39051 | } |
| 39052 | var args = match[2]; // Split on spaces and match up positionally with definition |
| 39053 | var argument = getNamedPragmaArguments(pragma, args); |
| 39054 | if (argument === "fail") |
| 39055 | return; // Missing required argument, fail to parse it |
| 39056 | pragmas.push({ name: name, args: { arguments: argument, range: range } }); |
| 39057 | return; |
| 39058 | } |
| 39059 | function getNamedPragmaArguments(pragma, text) { |
| 39060 | if (!text) |
| 39061 | return {}; |
no test coverage detected