federicobond / solcheck

A Solidity linter written in JS
GNU General Public License v3.0
32 stars 7 forks source link

TypeError: Cannot read property '0' of undefined #12

Closed maurelian closed 7 years ago

maurelian commented 7 years ago

To replicate:

$ git clone https://github.com/0xProject/contracts.git
$ git checkout frozen
$ solcheck contracts/*

/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/lib/source-code.js:14
    return this.text.substring(node.range[0] - beforeCount, node.range[1] + afterCount + 1);
                                         ^

TypeError: Cannot read property '0' of undefined
    at SourceCode.getText (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/lib/source-code.js:14:42)
    at checkAndAddName (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/lib/rules/similar-names.js:18:46)
    at Object.VariableDeclaration (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/lib/rules/similar-names.js:40:9)
    at visit (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/node_modules/solidity-parser-antlr/src/index.js:83:30)
    at node.forEach.child (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/node_modules/solidity-parser-antlr/src/index.js:75:27)
    at Array.forEach (native)
    at visit (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/node_modules/solidity-parser-antlr/src/index.js:75:10)
    at visit (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/node_modules/solidity-parser-antlr/src/index.js:90:7)
    at visit (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/node_modules/solidity-parser-antlr/src/index.js:90:7)
    at node.forEach.child (/Users/primary/.nvm/versions/node/v8.2.1/lib/node_modules/solcheck/node_modules/solidity-parser-antlr/src/index.js:75:27)
federicobond commented 7 years ago

Fixed in https://github.com/federicobond/solidity-parser-antlr/commit/53df42b1c72fae27908123a0898664a885315a19. You may need to remove the dependency from node_modules/ and run npm install again.

maurelian commented 7 years ago

Nice! I got my first linter output, it looks great!