(node)
| 77 | done() |
| 78 | |
| 79 | function onnode (node) { |
| 80 | // case: path = require('path') |
| 81 | if (isRequirePath(node)) { |
| 82 | evars.path = path |
| 83 | } else if (isRequireGlslify(node, dir)) { |
| 84 | var p = node.parent.parent, pp = p.parent |
| 85 | if (isReqCallExpression(p, pp)) { |
| 86 | // case: require('glslify')(...) |
| 87 | pending++ |
| 88 | callexpr(p, done) |
| 89 | } else if (p.type === 'AssignmentExpression') { |
| 90 | // case: var glvar; |
| 91 | // glvar = require('glslify') |
| 92 | glvar = p.left.name |
| 93 | } else if (p.type === 'VariableDeclarator') { |
| 94 | // case: var glvar = require('glslify') |
| 95 | glvar = p.id.name |
| 96 | } else if (isReqCallFile(p, pp)) { |
| 97 | // case: require('glslify').file(...) |
| 98 | pending++ |
| 99 | callfile(pp, pp.callee.object.source(), done) |
| 100 | } else if (isReqCallCompile(p, pp)) { |
| 101 | // case: require('glslify').compile(...) |
| 102 | pending++ |
| 103 | callcompile(pp, pp.callee.object.source(), done) |
| 104 | } else if (p.type === 'TaggedTemplateExpression') { |
| 105 | // case: require('glslify')`...` |
| 106 | pending++ |
| 107 | tagexpr(p, done) |
| 108 | } |
| 109 | } else if (isCallExpression(node, glvar)) { |
| 110 | // case: glvar(...) |
| 111 | pending++ |
| 112 | callexpr(node.parent, done) |
| 113 | } else if (isTagExpression(node, glvar)) { |
| 114 | // case: glvar`...` |
| 115 | pending++ |
| 116 | tagexpr(node, done) |
| 117 | } else if (isCallFile(node, glvar)) { |
| 118 | // case: glvar.file(...) |
| 119 | pending++ |
| 120 | callfile(node.parent.parent, glvar, done) |
| 121 | } else if (isCallCompile(node, glvar)) { |
| 122 | // case: glvar.compile(...) |
| 123 | pending++ |
| 124 | callcompile(node.parent.parent, glvar, done) |
| 125 | } |
| 126 | } |
| 127 | |
| 128 | function tagexpr (node, cb) { |
| 129 | var q = node.quasi |
nothing calls this directly
no test coverage detected
searching dependent graphs…