Code Monkey home page Code Monkey logo

nocolor's People

Contributors

i582 avatar unserialize avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nocolor's Issues

Invoking a constructor doesn't match an error rule

Describe the bug
When I write $m = new Model, this is not seen as a dependency regardless of the @color tag above the Model class.

To Reproduce
PHP code:

/** @color controller */
class Controller {
  static function act() {
    $m = new Model;
  }
}

/** @color model */
class Model {
  function act() {}
}

palette.yaml:

demo:
- controller model: restricted dependency

Expected behavior
An error.

Actual behavior
No error.

BTW, if I insert a call $m->act() after the constructor call, this error is shown

fatal error: concurrent map writes

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
A minimal example on which the problem is reproduced will be very useful.

Запускается в gitlab
./nocolor check --php7 ./src

Expected behavior
A clear and concise description of what you expected to happen.

OS (Linux, Windows, or macOS):

Linux

Additional context
Add any other context about the problem here.

./nocolor version
NoColor, version 1.1.0: built on: 2021.08.20 19:22:09 OS: MacBook-Pro-Petr.local arm64 Commit: c709a2d

2023/10/16 12:06:34 Started
2023/10/16 12:06:35 Indexing [./src]
fatal error: concurrent map writes
goroutine 79 [running]:
runtime.throw(0xbeb8f9, 0x15)
/usr/local/go/src/runtime/panic.go:1117 +0x72 fp=0xc0093182d8 sp=0xc0093182a8 pc=0x437d72
runtime.mapdelete_faststr(0xadf560, 0xc000122f90, 0xc00b2e1020, 0x28)
/usr/local/go/src/runtime/map_faststr.go:306 +0x3de fp=0xc009318340 sp=0xc0093182d8 pc=0x414a1e
github.com/VKCOM/noverify/src/types.Map.Erase(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/types/map.go:351
github.com/VKCOM/noverify/src/linter.(*andWalker).EnterNode(0xc003666fc0, 0xca3ef8, 0xc0084042d0, 0x0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/and_walker.go:106 +0xa09 fp=0xc009318478 sp=0xc009318340 pc=0x91b129
github.com/VKCOM/noverify/src/ir.(*InstanceOfExpr).Walk(0xc0084042d0, 0xca4b28, 0xc003666fc0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1045 +0x4b fp=0xc0093184a8 sp=0xc009318478 pc=0x56fceb
github.com/VKCOM/noverify/src/ir.(*BooleanNotExpr).Walk(0xc002f64580, 0xca4b28, 0xc003666fc0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:383 +0xb2 fp=0xc0093184d8 sp=0xc0093184a8 pc=0x56bdb2
github.com/VKCOM/noverify/src/linter.(*blockWalker).handleIf.func3()
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:1543 +0xe2 fp=0xc009318580 sp=0xc0093184d8 pc=0x9692c2
github.com/VKCOM/noverify/src/linter.(*blockWalker).withSpecificContext(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:660
github.com/VKCOM/noverify/src/linter.(*blockWalker).handleIf(0xc003659550, 0xc007b4c120, 0xc007b4c100)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:1536 +0x203 fp=0xc009318788 sp=0xc009318580 pc=0x9259c3
github.com/VKCOM/noverify/src/linter.(*blockWalker).EnterNode(0xc003659550, 0xca3e80, 0xc007b4c120, 0xc007b4cab0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:359 +0x1207 fp=0xc009318878 sp=0xc009318788 pc=0x91dd67
github.com/VKCOM/noverify/src/ir.(*IfStmt).Walk(0xc007b4c120, 0xca4b50, 0xc003659550)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1009 +0x4b fp=0xc0093188c0 sp=0xc009318878 pc=0x56f9ab
github.com/VKCOM/noverify/src/linter.(*rootWalker).handleFuncStmts(0xc009d55080, 0xc008404c60, 0x1, 0x1, 0x0, 0x0, 0x0, 0xc003666d80, 0x4, 0x4, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:668 +0x478 fp=0xc009318a00 sp=0xc0093188c0 pc=0x951b38
github.com/VKCOM/noverify/src/linter.(*rootWalker).enterClassMethod(0xc009d55080, 0xc00525ce10, 0xc00525ce10)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:1157 +0x7d6 fp=0xc009318fa0 sp=0xc009318a00 pc=0x9555f6
github.com/VKCOM/noverify/src/linter.(*rootWalker).EnterNode(0xc009d55080, 0xca37f0, 0xc00525ce10, 0xc009319618)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:278 +0x1ac5 fp=0xc0093195d0 sp=0xc009318fa0 pc=0x94f2e5
github.com/VKCOM/noverify/src/ir.(*ClassMethodStmt).Walk(0xc00525ce10, 0xca4b78, 0xc009d55080)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:490 +0x4b fp=0xc009319628 sp=0xc0093195d0 pc=0x56c82b
github.com/VKCOM/noverify/src/ir.(*ClassStmt).Walk(0xc0036594a0, 0xca4b78, 0xc009d55080)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:534 +0x189 fp=0xc009319680 sp=0xc009319628 pc=0x56cbe9
github.com/VKCOM/noverify/src/ir.(*Root).Walk(0xc0084040f0, 0xca4b78, 0xc009d55080)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1533 +0xac fp=0xc0093196c8 sp=0xc009319680 pc=0x5729cc
github.com/VKCOM/noverify/src/linter.(*Worker).analyzeFile(0xc003d4d040, 0xc004ad5620, 0xc0084040f0, 0x1f3, 0x1f3, 0xc004ad5620)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:295 +0x398 fp=0xc009319828 sp=0xc0093196c8 pc=0x967158
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc003d4d040, 0xc007000060, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:142 +0x5ce fp=0xc0093199d0 sp=0xc009319828 pc=0x9656ee
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc003d4d040, 0xc007cf6dc0, 0x96, 0xc007000060, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93 fp=0xc009319ab0 sp=0xc0093199d0 pc=0x965e33
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc003d4d040, 0xc007000060, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c fp=0xc009319cc0 sp=0xc009319ab0 pc=0x9665ac
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc003d4d040, 0xc007000060, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5 fp=0xc009319e70 sp=0xc009319cc0 pc=0x966cd5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0xd)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e fp=0xc009319fa8 sp=0xc009319e70 pc=0x96b17e
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1371 +0x1 fp=0xc009319fb0 sp=0xc009319fa8 pc=0x470d61
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc0066b5fa8)
/usr/local/go/src/runtime/sema.go:56 +0x45
sync.(*WaitGroup).Wait(0xc0066b5fa0)
/usr/local/go/src/sync/waitgroup.go:130 +0x65
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles(0xc0001920c0, 0xc0029c2b80, 0x0, 0x0, 0x0, 0x0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:110 +0x289
github.com/VKCOM/noverify/src/linter.(*Linter).AnalyzeFiles(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:62
github.com/VKCOM/noverify/src/cmd.mainNoExit(0xc0001a0480, 0x0, 0x0, 0x0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/cmd/main.go:213 +0x537
github.com/VKCOM/noverify/src/cmd.Check(0xc0001a0480, 0xc0001920a8, 0xc00014b6c0, 0xb84be5)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/cmd/check.go:43 +0x26f
github.com/vkcom/nocolor/cmd.Check(0xc0001a0480, 0xc0001920a8, 0xa2ce00, 0x0, 0x0)
/Users/petrmakhnev/nocolor/cmd/check.go:44 +0x12f
github.com/vkcom/nocolor/cmd.Main.func2.5(0xc0001a0480, 0xc00012c020, 0x2, 0x2)
/Users/petrmakhnev/nocolor/cmd/main.go:160 +0x34
github.com/VKCOM/noverify/src/cmd.(*App).Run(0xc0004813c0, 0xc000184ae0, 0xa, 0x1, 0xbf26fd)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/cmd/cli.go:354 +0x57f
github.com/VKCOM/noverify/src/cmd.Run(0xc000184ae0, 0xc0001fe7f0, 0xc0002aa000, 0x125d160)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/cmd/main.go:128 +0x2bb
github.com/vkcom/nocolor/cmd.Main()
/Users/petrmakhnev/nocolor/cmd/main.go:61 +0x1e9
main.main()
/Users/petrmakhnev/nocolor/main.go:8 +0x25
goroutine 42 [select]:
github.com/VKCOM/noverify/src/linter.MemoryLimiterThread(0xa00000)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/limits.go:33 +0xf3
created by github.com/VKCOM/noverify/src/cmd.mainNoExit
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/cmd/main.go:198 +0x313
goroutine 65 [chan send]:
github.com/VKCOM/noverify/src/workspace.readFilenames.func1(0xc006944b80, 0x36, 0xcab820, 0xc0028b2700, 0x0, 0x0, 0xc002f519c8, 0x4a0a14)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/workspace/files.go:108 +0x7df
io/fs.walkDir(0xc9f8a0, 0xc0028b5b50, 0xc006944b80, 0x36, 0xcab820, 0xc0028b2700, 0xc002f51ee8, 0x0, 0x0)
/usr/local/go/src/io/fs/walk.go:66 +0x77
io/fs.walkDir(0xc9f8a0, 0xc0028b5b50, 0xc007d56b20, 0x19, 0xcab820, 0xc001bca980, 0xc002f51ee8, 0x0, 0x0)
/usr/local/go/src/io/fs/walk.go:85 +0x2a5
io/fs.walkDir(0xc9f8a0, 0xc0028b5b50, 0xc003af6cf0, 0x13, 0xcab820, 0xc00454f100, 0xc002f51ee8, 0x0, 0x0)
/usr/local/go/src/io/fs/walk.go:85 +0x2a5
io/fs.walkDir(0xc9f8a0, 0xc0028b5b50, 0xc00ad3a730, 0x6, 0xcab820, 0xc002a09f00, 0xc002f51ee8, 0x0, 0x0)
/usr/local/go/src/io/fs/walk.go:85 +0x2a5
io/fs.walkDir(0xc9f8a0, 0xc0028b5b50, 0xb83ad0, 0x1, 0xcab740, 0xc0028b5b60, 0xc002f51ee8, 0x0, 0x40b57b)
/usr/local/go/src/io/fs/walk.go:85 +0x2a5
io/fs.WalkDir(0xc9f8a0, 0xc0028b5b50, 0xb83ad0, 0x1, 0xc002a2eee8, 0x0, 0xb0b6a0)
/usr/local/go/src/io/fs/walk.go:112 +0x1b9
github.com/VKCOM/noverify/src/workspace.readFilenames(0xc0029c0c00, 0xc001fba0c0, 0x22, 0x0, 0xc000481a00, 0x4, 0x4)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/workspace/files.go:72 +0x265
github.com/VKCOM/noverify/src/workspace.ReadFilenames.func1(0xc0029c0c00)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/workspace/files.go:17 +0xa8
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func2(0xc0029c2b80, 0xc0029c0c00)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:85 +0x30
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:84 +0x17f
goroutine 66 [runnable]:
github.com/VKCOM/noverify/src/linter.(*blockWalker).addStatement(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:147
github.com/VKCOM/noverify/src/linter.(*rootWalker).handleFuncStmts(0xc001ab9760, 0xc007c11950, 0x1, 0x1, 0x0, 0x0, 0x0, 0xc00a0ce460, 0x5, 0x5, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:667 +0x655
github.com/VKCOM/noverify/src/linter.(*rootWalker).enterClassMethod(0xc001ab9760, 0xc00384f770, 0xc00384f770)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:1157 +0x7d6
github.com/VKCOM/noverify/src/linter.(*rootWalker).EnterNode(0xc001ab9760, 0xca37f0, 0xc00384f770, 0xca4801)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:278 +0x1ac5
github.com/VKCOM/noverify/src/ir.(*ClassMethodStmt).Walk(0xc00384f770, 0xca4b78, 0xc001ab9760)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:490 +0x4b
github.com/VKCOM/noverify/src/ir.(*ClassStmt).Walk(0xc0037642c0, 0xca4b78, 0xc001ab9760)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:534 +0x189
github.com/VKCOM/noverify/src/ir.(*Root).Walk(0xc007c10d80, 0xca4b78, 0xc001ab9760)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1533 +0xac
github.com/VKCOM/noverify/src/linter.(*Worker).analyzeFile(0xc0001decd0, 0xc00a39ad20, 0xc007c10d80, 0x218, 0x218, 0xc00a39ad20)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:295 +0x398
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc0001decd0, 0xc005e9e660, 0x58, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:142 +0x5ce
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc0001decd0, 0xc008b132c0, 0x93, 0xc005e9e660, 0x58, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc0001decd0, 0xc005e9e660, 0x58, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc0001decd0, 0xc005e9e660, 0x58, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 67 [runnable]:
github.com/VKCOM/php-parser/internal/php7.yylex1(0xca4da8, 0xc00665a480, 0xc002790800, 0xe008, 0xa)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/php7/php7.go:1893 +0x225
github.com/VKCOM/php-parser/internal/php7.(*yyParserImpl).Parse(0xc002790800, 0xca4da8, 0xc00665a480, 0x0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/php7/php7.go:2003 +0x32819
github.com/VKCOM/php-parser/internal/php7.yyParse(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/php7/php7.go:1929
github.com/VKCOM/php-parser/internal/php7.(*Parser).Parse(0xc00665a480, 0xc00665a480)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/php7/parser.go:51 +0x73
github.com/VKCOM/php-parser/pkg/parser.Parse(0xc005067800, 0x626, 0x626, 0xc00012b580, 0xc007f75450, 0x0, 0x0, 0xc0023318a0, 0x442a6a)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/pkg/parser/parser.go:52 +0x885
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc0001ded20, 0xc005e9e6c0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:125 +0x4b5
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc0001ded20, 0xc0070eb360, 0x97, 0xc005e9e6c0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc0001ded20, 0xc005e9e6c0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc0001ded20, 0xc005e9e6c0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x1)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 68 [runnable]:
github.com/VKCOM/noverify/src/meta.(*Scope).Clone(0xc006b4c070, 0x1)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/meta/scope.go:324 +0x108
github.com/VKCOM/noverify/src/linter.copyBlockContext(0xc008807880, 0xca7350)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block_context.go:76 +0x45
github.com/VKCOM/noverify/src/linter.(*blockWalker).handleIf(0xc0020d2dc0, 0xc007c4b290, 0xc007c4b200)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:1534 +0x139
github.com/VKCOM/noverify/src/linter.(*blockWalker).EnterNode(0xc0020d2dc0, 0xca3e80, 0xc007c4b290, 0xc008800120)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:359 +0x1207
github.com/VKCOM/noverify/src/ir.(*IfStmt).Walk(0xc007c4b290, 0xca4b50, 0xc0020d2dc0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1009 +0x4b
github.com/VKCOM/noverify/src/linter.(*rootWalker).handleFuncStmts(0xc009bd94a0, 0xc0086f5110, 0x1, 0x1, 0x0, 0x0, 0x0, 0xc009d20050, 0x5, 0x5, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:668 +0x478
github.com/VKCOM/noverify/src/linter.(*rootWalker).enterClassMethod(0xc009bd94a0, 0xc002e804b0, 0xc002e804b0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:1157 +0x7d6
github.com/VKCOM/noverify/src/linter.(*rootWalker).EnterNode(0xc009bd94a0, 0xca37f0, 0xc002e804b0, 0xc0039ef618)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:278 +0x1ac5
github.com/VKCOM/noverify/src/ir.(*ClassMethodStmt).Walk(0xc002e804b0, 0xca4b78, 0xc009bd94a0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:490 +0x4b
github.com/VKCOM/noverify/src/ir.(*ClassStmt).Walk(0xc0020d2d10, 0xca4b78, 0xc009bd94a0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:534 +0x189
github.com/VKCOM/noverify/src/ir.(*Root).Walk(0xc0086f4450, 0xca4b78, 0xc009bd94a0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1533 +0xac
github.com/VKCOM/noverify/src/linter.(*Worker).analyzeFile(0xc004532000, 0xc00008ce40, 0xc0086f4450, 0x373, 0x373, 0xc00008ce40)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:295 +0x398
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc004532000, 0xc004a84bd0, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:142 +0x5ce
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc004532000, 0xc004d97080, 0xa3, 0xc004a84bd0, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc004532000, 0xc004a84bd0, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc004532000, 0xc004a84bd0, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x2)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 69 [runnable]:
github.com/VKCOM/noverify/src/linter.(*parseWaiter).Finish(0xc0027558a8)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/limits.go:62 +0x39
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc006eb2730, 0xc008124620, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc007f3dfb0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:156 +0x77a
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc006eb2730, 0xc00a11d540, 0x9e, 0xc008124620, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc006eb2730, 0xc008124620, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc006eb2730, 0xc008124620, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x3)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 70 [runnable]:
github.com/VKCOM/php-parser/internal/php7.(*yyParserImpl).Parse(0xc00301b400, 0xca4da8, 0xc007ff47e0, 0x0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/php7/php7.go:2600 +0x1cb7
github.com/VKCOM/php-parser/internal/php7.yyParse(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/php7/php7.go:1929
github.com/VKCOM/php-parser/internal/php7.(*Parser).Parse(0xc007ff47e0, 0xc007ff47e0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/php7/parser.go:51 +0x73
github.com/VKCOM/php-parser/pkg/parser.Parse(0xc0060f8c80, 0xc15, 0xc15, 0xc00012b580, 0xc003d1a0a0, 0x0, 0x0, 0xc001b238a0, 0x442a6a)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/pkg/parser/parser.go:52 +0x885
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc0059b7130, 0xc005ff7980, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:125 +0x4b5
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc0059b7130, 0xc003d958c0, 0x8f, 0xc005ff7980, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc0059b7130, 0xc005ff7980, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc0059b7130, 0xc005ff7980, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x4)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 71 [runnable]:
github.com/VKCOM/noverify/src/ir.(*Identifier).IterateTokens(0xc0026f4c80, 0xc0026f5860)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/iterate.go:887 +0x5b
github.com/VKCOM/noverify/src/linter.(*blockWalker).handleComments(0xc00262d3f0, 0xca3e58, 0xc0026f4c80)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:223 +0xc3
github.com/VKCOM/noverify/src/linter.(*blockWalker).EnterNode(0xc00262d3f0, 0xca3e58, 0xc0026f4c80, 0xc00a228400)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:284 +0x12b
github.com/VKCOM/noverify/src/ir.(*Identifier).Walk(0xc0026f4c80, 0xca4b50, 0xc00262d3f0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1002 +0x47
github.com/VKCOM/noverify/src/linter.(*blockWalker).handleMethodCall(0xc00262d3f0, 0xc007e8c180, 0xc007e8c180)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:1014 +0x11d
github.com/VKCOM/noverify/src/linter.(*blockWalker).EnterNode(0xc00262d3f0, 0xca4100, 0xc007e8c180, 0xc001a0c110)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:367 +0x87d
github.com/VKCOM/noverify/src/ir.(*MethodCallExpr).Walk(0xc007e8c180, 0xca4b50, 0xc00262d3f0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1196 +0x4b
github.com/VKCOM/noverify/src/linter.(*blockWalker).handleAssign(0xc00262d3f0, 0xc0084f2510, 0xc0084f2510)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:1996 +0x90
github.com/VKCOM/noverify/src/linter.(*blockWalker).EnterNode(0xc00262d3f0, 0xca32f0, 0xc0084f2510, 0xc00959f860)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:325 +0x1087
github.com/VKCOM/noverify/src/ir.(*Assign).Walk(0xc0084f2510, 0xca4b50, 0xc00262d3f0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:92 +0x4b
github.com/VKCOM/noverify/src/ir.(*ExpressionStmt).Walk(0xc0026f4c20, 0xca4b50, 0xc00262d3f0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:821 +0xb2
github.com/VKCOM/noverify/src/ir.(*StmtList).Walk(0xc0084f20c0, 0xca4b50, 0xc00262d3f0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1677 +0xac
github.com/VKCOM/noverify/src/linter.(*blockWalker).handleIf.func4(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:1555
github.com/VKCOM/noverify/src/linter.(*blockWalker).withSpecificContext(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:660
github.com/VKCOM/noverify/src/linter.(*blockWalker).handleIf(0xc00262d3f0, 0xc008201d40, 0xc008201d00)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:1554 +0x316
github.com/VKCOM/noverify/src/linter.(*blockWalker).EnterNode(0xc00262d3f0, 0xca3e80, 0xc008201d40, 0xc00a17f200)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/block.go:359 +0x1207
github.com/VKCOM/noverify/src/ir.(*IfStmt).Walk(0xc008201d40, 0xca4b50, 0xc00262d3f0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1009 +0x4b
github.com/VKCOM/noverify/src/linter.(*rootWalker).handleFuncStmts(0xc00a14f340, 0xc0084f3830, 0x1, 0x1, 0x0, 0x0, 0x0, 0xc005e80a00, 0x5, 0x5, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:668 +0x478
github.com/VKCOM/noverify/src/linter.(*rootWalker).enterClassMethod(0xc00a14f340, 0xc007d5e2d0, 0xc007d5e2d0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:1157 +0x7d6
github.com/VKCOM/noverify/src/linter.(*rootWalker).EnterNode(0xc00a14f340, 0xca37f0, 0xc007d5e2d0, 0xca4801)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:278 +0x1ac5
github.com/VKCOM/noverify/src/ir.(*ClassMethodStmt).Walk(0xc007d5e2d0, 0xca4b78, 0xc00a14f340)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:490 +0x4b
github.com/VKCOM/noverify/src/ir.(*ClassStmt).Walk(0xc00262d340, 0xca4b78, 0xc00a14f340)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:534 +0x189
github.com/VKCOM/noverify/src/ir.(*Root).Walk(0xc00754d680, 0xca4b78, 0xc00a14f340)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1533 +0xac
github.com/VKCOM/noverify/src/linter.(*Worker).analyzeFile(0xc00855c1e0, 0xc00180eae0, 0xc00754d680, 0x5e0, 0x5e0, 0xc00180eae0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:295 +0x398
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc00855c1e0, 0xc0006da8c0, 0x65, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:142 +0x5ce
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc00855c1e0, 0xc007912f00, 0xa0, 0xc0006da8c0, 0x65, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc00855c1e0, 0xc0006da8c0, 0x65, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc00855c1e0, 0xc0006da8c0, 0x65, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x5)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 72 [runnable]:
github.com/VKCOM/noverify/src/linter.(*parseWaiter).Finish(0xc0018358a8)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/limits.go:62 +0x39
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc00855c230, 0xc004a84a80, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc00828f710, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:156 +0x77a
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc00855c230, 0xc006d1d3f0, 0xa5, 0xc004a84a80, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc00855c230, 0xc004a84a80, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc00855c230, 0xc004a84a80, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x6)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 73 [runnable]:
github.com/VKCOM/noverify/src/linter.(*rootWalker).Report(0xc002940840, 0xca3e58, 0xc0033bc880, 0x3, 0xbdf0e3, 0xd, 0xbf5177, 0x23, 0xc007db2b98, 0x1, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:404 +0x37f
github.com/VKCOM/noverify/src/linter.(*rootWalker).enterClassMethod(0xc002940840, 0xc006a133b0, 0xc006a133b0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:1091 +0x136f
github.com/VKCOM/noverify/src/linter.(*rootWalker).EnterNode(0xc002940840, 0xca37f0, 0xc006a133b0, 0xca48d0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:278 +0x1ac5
github.com/VKCOM/noverify/src/ir.(*ClassMethodStmt).Walk(0xc006a133b0, 0xca4b78, 0xc002940840)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:490 +0x4b
github.com/VKCOM/noverify/src/ir.(*ClassStmt).Walk(0xc002904fd0, 0xca4b78, 0xc002940840)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:534 +0x189
github.com/VKCOM/noverify/src/ir.(*Root).Walk(0xc0083db860, 0xca4b78, 0xc002940840)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1533 +0xac
github.com/VKCOM/noverify/src/linter.(*Worker).analyzeFile(0xc0001dec80, 0xc0062cefc0, 0xc0083db860, 0x59f, 0x59f, 0xc0062cefc0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:295 +0x398
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc0001dec80, 0xc005e9e600, 0x59, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:142 +0x5ce
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc0001dec80, 0xc0017dafa0, 0x94, 0xc005e9e600, 0x59, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc0001dec80, 0xc005e9e600, 0x59, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc0001dec80, 0xc005e9e600, 0x59, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x7)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 74 [runnable]:
syscall.Syscall6(0x101, 0xffffffffffffff9c, 0xc002168dc0, 0x80000, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x2)
/usr/local/go/src/syscall/asm_linux_amd64.s:43 +0x5
syscall.openat(0xffffffffffffff9c, 0xc002168c80, 0x96, 0x80000, 0x0, 0x97, 0x0, 0x0)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:68 +0xc7
syscall.Open(...)
/usr/local/go/src/syscall/syscall_linux.go:152
os.openFileNolog(0xc002168c80, 0x96, 0x0, 0x0, 0x652d2750, 0xc02a26481a, 0xabe73e192f1a7)
/usr/local/go/src/os/file_unix.go:216 +0x8f
os.OpenFile(0xc002168c80, 0x96, 0x0, 0xc000000000, 0x96, 0xc008cb70c0, 0x20)
/usr/local/go/src/os/file.go:331 +0x65
os.Open(...)
/usr/local/go/src/os/file.go:311
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc00855c190, 0xc005ff79e0, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:213 +0x41b
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc00855c190, 0xc005ff79e0, 0x5b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x8)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 75 [runnable]:
github.com/vkcom/nocolor/internal/symbols.(*Functions).Add(0xc0001fe7c0, 0xc0099560f0)
/Users/petrmakhnev/nocolor/internal/symbols/function.go:86 +0xd5
github.com/vkcom/nocolor/internal/walkers.(*GlobalContext).UpdateMeta(0xc0001920a8, 0xc002a25688, 0x0, 0x0)
/Users/petrmakhnev/nocolor/internal/walkers/context.go:76 +0x159
github.com/vkcom/nocolor/internal/walkers.(*RootIndexer).AfterLeaveFile(0xc002a25680)
/Users/petrmakhnev/nocolor/internal/walkers/root_indexer.go:57 +0x45
github.com/VKCOM/noverify/src/linter.(*rootWalker).afterLeaveFile(0xc000953760)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/root.go:2396 +0x77
github.com/VKCOM/noverify/src/linter.(*Worker).analyzeFile(0xc00855c140, 0xc00a598540, 0xc00b31be00, 0x2ac, 0x2ac, 0xc00a598540)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:299 +0x3be
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc00855c140, 0xc005eda8c0, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:142 +0x5ce
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc00855c140, 0xc0049c7720, 0x9e, 0xc005eda8c0, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc00855c140, 0xc005eda8c0, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc00855c140, 0xc005eda8c0, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0x9)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 76 [runnable]:
syscall.Syscall(0x0, 0x15, 0xc00429c000, 0x8000, 0x1ff, 0x8000, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:20 +0x5
syscall.read(0x15, 0xc00429c000, 0x8000, 0x8000, 0x0, 0xc0019a79f0, 0x40db1b)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:686 +0x5a
syscall.Read(...)
/usr/local/go/src/syscall/syscall_unix.go:187
internal/poll.ignoringEINTRIO(...)
/usr/local/go/src/internal/poll/fd_unix.go:581
internal/poll.(*FD).Read(0xc00300f5c0, 0xc00429c000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:162 +0x145
os.(*File).read(...)
/usr/local/go/src/os/file_posix.go:31
os.(*File).Read(0xc00648ef40, 0xc00429c000, 0x8000, 0x8000, 0x0, 0xc0019a7a00, 0x4b4f65)
/usr/local/go/src/os/file.go:117 +0x77
io.copyBuffer(0x7f3deb3c2198, 0xc002af0ae0, 0xc9ee80, 0xc00648ef40, 0xc00429c000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:423 +0x12c
io.Copy(...)
/usr/local/go/src/io/io.go:382
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc00679a140, 0xc0049883c0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:189 +0x7e7
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc00679a140, 0xc0049883c0, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0xa)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 77 [runnable]:
syscall.Syscall(0x0, 0x7, 0xc003ec0000, 0x8000, 0x3d9, 0x8000, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:20 +0x5
syscall.read(0x7, 0xc003ec0000, 0x8000, 0x8000, 0x0, 0xc00270f9f0, 0x40db1b)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:686 +0x5a
syscall.Read(...)
/usr/local/go/src/syscall/syscall_unix.go:187
internal/poll.ignoringEINTRIO(...)
/usr/local/go/src/internal/poll/fd_unix.go:581
internal/poll.(*FD).Read(0xc002f30a80, 0xc003ec0000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:162 +0x145
os.(*File).read(...)
/usr/local/go/src/os/file_posix.go:31
os.(*File).Read(0xc00000f9d8, 0xc003ec0000, 0x8000, 0x8000, 0x0, 0xc00270fa00, 0x4b4f65)
/usr/local/go/src/os/file.go:117 +0x77
io.copyBuffer(0x7f3deb3c2198, 0xc006789860, 0xc9ee80, 0xc00000f9d8, 0xc003ec0000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:423 +0x12c
io.Copy(...)
/usr/local/go/src/io/io.go:382
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc00679a0f0, 0xc004a84d90, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:189 +0x7e7
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc00679a0f0, 0xc004a84d90, 0x63, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0xb)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 78 [runnable]:
github.com/VKCOM/php-parser/pkg/position.NewPool(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/pkg/position/pool.go:11
github.com/VKCOM/php-parser/internal/position.NewBuilder(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/position/position.go:25
github.com/VKCOM/php-parser/internal/php7.NewParser(...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/internal/php7/parser.go:26
github.com/VKCOM/php-parser/pkg/parser.Parse(0xc0073ee900, 0x21c, 0x21c, 0xc00012b580, 0xc007345c40, 0x0, 0x0, 0x128ed28, 0x442a6a)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/pkg/parser/parser.go:51 +0x7c5
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc00679a190, 0xc004f8c780, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:125 +0x4b5
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc00679a190, 0xc002695600, 0xae, 0xc004f8c780, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc00679a190, 0xc004f8c780, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc00679a190, 0xc004f8c780, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0xc)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 80 [runnable]:
syscall.Syscall(0x5, 0x21, 0xc00757b7c8, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:20 +0x5
syscall.Fstat(0x21, 0xc00757b7c8, 0x40e278, 0xc8)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:1082 +0x50
internal/poll.(*FD).Fstat.func1(...)
/usr/local/go/src/internal/poll/fd_unix.go:474
internal/poll.ignoringEINTR(...)
/usr/local/go/src/internal/poll/fd_posix.go:74
internal/poll.(*FD).Fstat(0xc00300f620, 0xc00757b7c8, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:473 +0xbf
os.(*File).Stat(0xc00648ef48, 0x50, 0x0, 0xc000000000, 0xc00648ef48)
/usr/local/go/src/os/stat_unix.go:20 +0x65
github.com/VKCOM/noverify/src/inputs.defaultSourceInput.NewReader(0xc006ff5180, 0x50, 0xc0095f1850, 0x418b73, 0x7f3deaf973b0, 0x0)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/inputs/inputs.go:54 +0x15c
github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc006eb26e0, 0xc006ff5180, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:105 +0xbd1
github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc006eb26e0, 0xc00571b050, 0x8b, 0xc006ff5180, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc006eb26e0, 0xc006ff5180, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc006eb26e0, 0xc006ff5180, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0xe)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f
goroutine 81 [runnable]:
syscall.Syscall(0x0, 0x11, 0xc003eca000, 0x8000, 0x18e, 0x8000, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:20 +0x5
syscall.read(0x11, 0xc003eca000, 0x8000, 0x8000, 0x0, 0xc0093679f0, 0x40db1b)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:686 +0x5a
syscall.Read(...)
/usr/local/go/src/syscall/syscall_unix.go:187
internal/poll.ignoringEINTRIO(...)
/usr/local/go/src/internal/poll/fd_unix.go:581
internal/poll.(*FD).Read(0xc004301080, 0xc003eca000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:162 +0x145
os.(*File).read(...)
/usr/local/go/src/os/file_posix.go:31
os.(*File).Read(0xc007985210, 0xc003eca000, 0x8000, 0x8000, 0x0, 0xc009367a00, 0x4b4f65)
/usr/local/go/src/os/file.go:117 +0x77
io.copyBuffer(0x7f3deb3c2198, 0xc003031e00, 0xc9ee80, 0xc007985210, 0xc003eca000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:423 +0x12c
io.Copy(...)
/usr/local/go/src/io/io.go:382
github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc006eb2640, 0xc005eda690, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:189 +0x7e7
github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc006eb2640, 0xc005eda690, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5
github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc0029c0c00, 0xc0001920c0, 0x0, 0xc0029c0c00, 0xc0029c0c60, 0xc0066b5fa0, 0xf)
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e
created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles
/Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f

Запретить использование функции, без явного разрешения

Установил 1.1.0

Пробую запретить использовать функцию везде кроме разрешенных мест

analyze:
- no-use: "error"
- ignore no-use: ""

Но приходит ошибка в самом объявлении функции

Error at the stage of checking colors
backend/helpers/BackendKernel.php:108 in function backend\helpers\BackendKernel::app

no-use => error
This color rule is broken, call chain:
backend\helpers\BackendKernel::app@no-use

/**
 * @color no-use
 */
public static function app(string $class): object

если повесить на класс BackendKernel ignore то и в других местах начинает проходить чек

allow analysis of magic calls

Is your feature request related to a problem? Please describe.

Remember, that PHP is an interpreted language and allows constructions that can't be statically analyzed. If you write something like SomeClass::$any_function() or new $class_name, NoColor can't do anything about it.

Describe the solution you'd like

The amazing PHPStan by Ondřej Mirtes solves this using an extension structure to dynamically verify 'magic' calls

Describe alternatives you've considered

N/A

Additional context

This issue is more of an FYI than anything else, but I'd be willing to look into making this work if that's something that'd be appreciated.

Flexible symbol discovery

Is your feature request related to a problem? Please describe.

Deptrac matches names by regexps, NoColor needs PHPDoc tags

Describe the solution you'd like

image

Describe alternatives you've considered
N/A

Additional context
Again, mostly a loose thought, but having the option to mark classes by regex and annotations would be nice. Using one over the other shouldn't really interfere, it's just the discovery process that needs to be decoupled. Again: open for discussion/collaboration on this if it's a feature that'd be appreciated.

runtime error: invalid memory address or nil pointer dereference

Describe the bug
A clear and concise description of what the bug is.
запустить nocolor - получить ошибку
To Reproduce
Steps to reproduce the behavior:
A minimal example on which the problem is reproduced will be very useful.

Stack trace: goroutine 30 [running]: runtime/debug.Stack(0xc0054a5370, 0xae1e20, 0x11557a0) /usr/local/go/src/runtime/debug/stack.go:24 +0x9f github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents.func1(0xc02ed1bc00, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0054a5a40) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:94 +0x76 panic(0xae1e20, 0x11557a0) /usr/local/go/src/runtime/panic.go:965 +0x1b9 github.com/VKCOM/noverify/src/ir.(*Heredoc).Walk(0xc033e0cc40, 0xca4b78, 0xc032669080) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:983 +0x8e github.com/VKCOM/noverify/src/ir.(*Assign).Walk(0xc033e12510, 0xca4b78, 0xc032669080) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:99 +0xc2 github.com/VKCOM/noverify/src/ir.(*ExpressionStmt).Walk(0xc033e143e0, 0xca4b78, 0xc032669080) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:821 +0xb2 github.com/VKCOM/noverify/src/ir.(*Root).Walk(0xc033e0bd70, 0xca4b78, 0xc032669080) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/ir/walk.go:1533 +0xac github.com/VKCOM/noverify/src/linter.(*Worker).analyzeFile(0xc00e4ee0a0, 0xc0326151a0, 0xc033e0bd70, 0xa44, 0xa44, 0xc0326151a0) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:295 +0x398 github.com/VKCOM/noverify/src/linter.(*Worker).ParseContents(0xc00e4ee0a0, 0xc02ed1bc00, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:142 +0x5ce github.com/VKCOM/noverify/src/linter.(*Worker).parseWithCache(0xc00e4ee0a0, 0xc032eb83c0, 0xbc, 0xc02ed1bc00, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:160 +0x93 github.com/VKCOM/noverify/src/linter.(*Worker).IndexFile(0xc00e4ee0a0, 0xc02ed1bc00, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:215 +0x66c github.com/VKCOM/noverify/src/linter.(*Worker).doParseFile(0xc00e4ee0a0, 0xc02ed1bc00, 0x7d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/worker.go:250 +0x4d5 github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles.func3(0xc00cd3af00, 0xc00019a690, 0x0, 0xc00cd3af60, 0xc00cd3afc0, 0xc00fb43380, 0x3) /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:104 +0x21e created by github.com/VKCOM/noverify/src/linter.(*Linter).analyzeFiles /Users/petrmakhnev/go/pkg/mod/github.com/!v!k!c!o!m/[email protected]/src/linter/linter.go:94 +0x25f 2023/04/24 06:07:33 Failed parsing /var/www/crm/vendor/symplify/easy-coding-standard/vendor/squizlabs/php_codesniffer/tests/Core/Tokenizer/HeredocStringTest.inc: Panic while parsing /var/www/crm/vendor/symplify/easy-coding-standard/vendor/squizlabs/php_codesniffer/tests/Core/Tokenizer/HeredocStringTest.inc: runtime error: invalid memory address or nil pointer dereference
Expected behavior
A clear and concise description of what you expected to happen.

OS (Linux, Windows, or macOS):
Linux
Additional context
./nocolor version
NoColor, version 1.1.0: built on: 2021.08.20 19:22:09 OS: MacBook-Pro-Petr.local arm64 Commit: c709a2d

Similar tool for Typescript

Hi,

This is a very interesting tool. Do you know if there is anything similar that can be used in the Typescript project? I tried searching around but wasn't able to find anything.

@color of method isn't merged to @color of the class

Describe the bug
I have a class with @color and its method with another @color.
I expect the method to have both colors (in order class-color + method-color), but it works somehow differently.

To Reproduce
PHP code

/** @color controller */
class Controller {
  /** @color allow-model-call */
  static function act() {
    Model::act();
  }
}

/** @color model */
class Model {
  static function act() {}
}

palette.yaml

demo:
- controller model: restricted dependency
- controller allow-model-call model: ""

Expected behavior
No error (the second rule should be matched);

Actual behavior
An error (the first rule is matched)
BTW, if I add @color allow-model-call as a second color to the Controller class itself, everything works as expected. So, the problem is only in class+method case.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.