mirror of
https://github.com/github/codeql.git
synced 2026-01-28 22:02:57 +01:00
Add Go autoformatting to the 'autoformat' make target and to CI
Existing gofmt complaints are fixed, and files that specifically test queries that relate to badly formatting code are tagged as such.
This commit is contained in:
4
.github/workflows/codeqltest.yml
vendored
4
.github/workflows/codeqltest.yml
vendored
@@ -33,8 +33,8 @@ jobs:
|
||||
- name: Build
|
||||
run: env PATH=$PATH:$HOME/codeql make
|
||||
|
||||
- name: Check that all QL code is autoformatted
|
||||
run: env PATH=$PATH:$HOME/codeql make AUTOFORMAT=--check-only autoformat
|
||||
- name: Check that all QL and Go code is autoformatted
|
||||
run: env PATH=$PATH:$HOME/codeql make QL_AUTOFORMAT=--check-only GO_AUTOFORMAT=-d autoformat
|
||||
|
||||
- name: Test
|
||||
run: env PATH=$PATH:$HOME/codeql make test
|
||||
|
||||
6
Makefile
6
Makefile
@@ -27,12 +27,14 @@ clean:
|
||||
rm -rf tools/bin tools/linux64 tools/osx64 tools/win64 tools/net tools/opencsv
|
||||
rm -rf $(EXTRACTOR_PACK_OUT) build/stats build/testdb
|
||||
|
||||
AUTOFORMAT=-qq -i
|
||||
QL_AUTOFORMAT=-qq -i
|
||||
GO_AUTOFORMAT=-w # Update files in-place
|
||||
|
||||
DATAFLOW_BRANCH=master
|
||||
|
||||
autoformat:
|
||||
find ql/src -name *.ql -or -name *.qll | xargs codeql query format $(AUTOFORMAT)
|
||||
find ql/src -name "*.ql" -or -name "*.qll" | xargs codeql query format $(QL_AUTOFORMAT)
|
||||
git ls-files | grep \\.go$ | xargs grep -L "//\s*autoformat-ignore" | xargs gofmt $(GO_AUTOFORMAT)
|
||||
|
||||
tools: $(addsuffix $(EXE),$(addprefix tools/bin/,$(BINARIES))) tools/tokenizer.jar
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package main
|
||||
|
||||
// autoformat-ignore (gofmt chokes on invalid programs)
|
||||
|
||||
// Example file with a syntax error to demonstrate use of "expect frontend errors" directive
|
||||
|
||||
// codeql test: expect frontend errors
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
| tst.go:4:7:4:12 | 0b1011 | 11 | 11 |
|
||||
| tst.go:5:7:5:12 | 0B1011 | 11 | 11 |
|
||||
| tst.go:6:7:6:11 | 0o660 | 432 | 432 |
|
||||
| tst.go:7:7:7:11 | 0O660 | 432 | 432 |
|
||||
| tst.go:8:7:8:16 | 0x1.p-1021 | 0x1.p-1021 | 1/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152 |
|
||||
| tst.go:9:7:9:16 | 0X1.p-1021 | 0X1.p-1021 | 1/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152 |
|
||||
| tst.go:10:7:10:15 | 1_000_000 | 1000000 | 1000000 |
|
||||
| tst.go:11:7:11:18 | 0b_0101_0110 | 86 | 86 |
|
||||
| tst.go:12:7:12:17 | 3.1415_9265 | 3.1415_9265 | 62831853/20000000 |
|
||||
| tst.go:6:7:6:12 | 0b1011 | 11 | 11 |
|
||||
| tst.go:7:7:7:12 | 0B1011 | 11 | 11 |
|
||||
| tst.go:8:7:8:11 | 0o660 | 432 | 432 |
|
||||
| tst.go:9:7:9:11 | 0O660 | 432 | 432 |
|
||||
| tst.go:10:7:10:16 | 0x1.p-1021 | 0x1.p-1021 | 1/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152 |
|
||||
| tst.go:11:7:11:16 | 0X1.p-1021 | 0X1.p-1021 | 1/22471164185778948846616314884862809170224712236778832159178760144716584475687620391588559665300942002640014234983924169707348721101802077811605928829934265547220986678108185659537777450155761764931635369010625721104768835292807860184239138817603404645418813835573287279993405742309964538104419541203028017152 |
|
||||
| tst.go:12:7:12:15 | 1_000_000 | 1000000 | 1000000 |
|
||||
| tst.go:13:7:13:18 | 0b_0101_0110 | 86 | 86 |
|
||||
| tst.go:14:7:14:17 | 3.1415_9265 | 3.1415_9265 | 62831853/20000000 |
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package main
|
||||
|
||||
// autoformat-ignore (we intentionally test unusual capitalisations of 0B, 0O and other such prefixes)
|
||||
|
||||
const (
|
||||
b1 = 0b1011
|
||||
b2 = 0B1011
|
||||
|
||||
@@ -3,5 +3,7 @@ package main
|
||||
// This file tests that the extractor does not crash on files that do not
|
||||
// end in a newline, so it is important not to autoformat this file.
|
||||
|
||||
// autoformat-ignore
|
||||
|
||||
func main() {
|
||||
}
|
||||
@@ -27,48 +27,48 @@
|
||||
| consts.go:47:16:47:18 | 1.0 | 1.0 |
|
||||
| consts.go:48:16:48:19 | "hi" | "hi" |
|
||||
| literals.go:3:8:3:12 | "fmt" | "fmt" |
|
||||
| literals.go:6:2:6:10 | "decimal" | "decimal" |
|
||||
| literals.go:6:17:6:18 | 42 | 42 |
|
||||
| literals.go:7:2:7:8 | "octal" | "octal" |
|
||||
| literals.go:7:17:7:20 | 0600 | 0600 |
|
||||
| literals.go:8:2:8:14 | "hexadecimal" | "hexadecimal" |
|
||||
| literals.go:8:17:8:24 | 0xcaffee | 0xcaffee |
|
||||
| literals.go:12:2:12:3 | 0. | 0. |
|
||||
| literals.go:13:2:13:6 | 72.40 | 72.40 |
|
||||
| literals.go:14:2:14:7 | 072.40 | 072.40 |
|
||||
| literals.go:15:2:15:8 | 2.71828 | 2.71828 |
|
||||
| literals.go:16:2:16:6 | 1.e+0 | 1.e+0 |
|
||||
| literals.go:17:2:17:12 | 6.67428e-11 | 6.67428e-11 |
|
||||
| literals.go:18:2:18:4 | 1E6 | 1E6 |
|
||||
| literals.go:19:2:19:4 | .25 | .25 |
|
||||
| literals.go:20:2:20:10 | .12345E+5 | .12345E+5 |
|
||||
| literals.go:24:2:24:3 | 0i | 0i |
|
||||
| literals.go:25:2:25:5 | 011i | 011i |
|
||||
| literals.go:26:2:26:4 | 0.i | 0.i |
|
||||
| literals.go:27:2:27:9 | 2.71828i | 2.71828i |
|
||||
| literals.go:28:2:28:7 | 1.e+0i | 1.e+0i |
|
||||
| literals.go:29:2:29:13 | 6.67428e-11i | 6.67428e-11i |
|
||||
| literals.go:30:2:30:5 | 1E6i | 1E6i |
|
||||
| literals.go:31:2:31:5 | .25i | .25i |
|
||||
| literals.go:32:2:32:11 | .12345E+5i | .12345E+5i |
|
||||
| literals.go:36:2:36:4 | 'a' | 'a' |
|
||||
| literals.go:37:2:37:5 | '\u00e4' | '\u00e4' |
|
||||
| literals.go:38:2:38:6 | '\u672c' | '\u672c' |
|
||||
| literals.go:39:2:39:5 | '\\t' | '\\t' |
|
||||
| literals.go:40:2:40:7 | '\\007' | '\\007' |
|
||||
| literals.go:41:2:41:7 | '\\377' | '\\377' |
|
||||
| literals.go:42:2:42:7 | '\\x07' | '\\x07' |
|
||||
| literals.go:43:2:43:7 | '\\xff' | '\\xff' |
|
||||
| literals.go:44:2:44:9 | '\\u12e4' | '\\u12e4' |
|
||||
| literals.go:45:2:45:13 | '\\U00101234' | '\\U00101234' |
|
||||
| literals.go:46:2:46:5 | '\\'' | '\\'' |
|
||||
| literals.go:50:2:50:6 | `abc` | `abc` |
|
||||
| literals.go:51:2:52:3 | `\\n,\n\\n` | `\\n,\n\\n` |
|
||||
| literals.go:53:2:53:5 | "\\n" | "\\n" |
|
||||
| literals.go:54:2:54:5 | "\\"" | "\\"" |
|
||||
| literals.go:55:2:55:18 | "Hello, world!\\n" | "Hello, world!\\n" |
|
||||
| literals.go:56:2:56:12 | "\u65e5\u672c\u8a9e" | "\u65e5\u672c\u8a9e" |
|
||||
| literals.go:57:2:57:22 | "\\u65e5\u672c\\U00008a9e" | "\\u65e5\u672c\\U00008a9e" |
|
||||
| literals.go:58:2:58:13 | "\\xff\\u00FF" | "\\xff\\u00FF" |
|
||||
| literals.go:67:22:67:27 | "\ud83d\udcff" | "\ud83d\udcff" |
|
||||
| literals.go:67:31:67:32 | "" | "" |
|
||||
| literals.go:8:2:8:10 | "decimal" | "decimal" |
|
||||
| literals.go:8:17:8:18 | 42 | 42 |
|
||||
| literals.go:9:2:9:8 | "octal" | "octal" |
|
||||
| literals.go:9:17:9:20 | 0600 | 0600 |
|
||||
| literals.go:10:2:10:14 | "hexadecimal" | "hexadecimal" |
|
||||
| literals.go:10:17:10:24 | 0xcaffee | 0xcaffee |
|
||||
| literals.go:14:2:14:3 | 0. | 0. |
|
||||
| literals.go:15:2:15:6 | 72.40 | 72.40 |
|
||||
| literals.go:16:2:16:7 | 072.40 | 072.40 |
|
||||
| literals.go:17:2:17:8 | 2.71828 | 2.71828 |
|
||||
| literals.go:18:2:18:6 | 1.e+0 | 1.e+0 |
|
||||
| literals.go:19:2:19:12 | 6.67428e-11 | 6.67428e-11 |
|
||||
| literals.go:20:2:20:4 | 1E6 | 1E6 |
|
||||
| literals.go:21:2:21:4 | .25 | .25 |
|
||||
| literals.go:22:2:22:10 | .12345E+5 | .12345E+5 |
|
||||
| literals.go:26:2:26:3 | 0i | 0i |
|
||||
| literals.go:27:2:27:5 | 011i | 011i |
|
||||
| literals.go:28:2:28:4 | 0.i | 0.i |
|
||||
| literals.go:29:2:29:9 | 2.71828i | 2.71828i |
|
||||
| literals.go:30:2:30:7 | 1.e+0i | 1.e+0i |
|
||||
| literals.go:31:2:31:13 | 6.67428e-11i | 6.67428e-11i |
|
||||
| literals.go:32:2:32:5 | 1E6i | 1E6i |
|
||||
| literals.go:33:2:33:5 | .25i | .25i |
|
||||
| literals.go:34:2:34:11 | .12345E+5i | .12345E+5i |
|
||||
| literals.go:38:2:38:4 | 'a' | 'a' |
|
||||
| literals.go:39:2:39:5 | '\u00e4' | '\u00e4' |
|
||||
| literals.go:40:2:40:6 | '\u672c' | '\u672c' |
|
||||
| literals.go:41:2:41:5 | '\\t' | '\\t' |
|
||||
| literals.go:42:2:42:7 | '\\007' | '\\007' |
|
||||
| literals.go:43:2:43:7 | '\\377' | '\\377' |
|
||||
| literals.go:44:2:44:7 | '\\x07' | '\\x07' |
|
||||
| literals.go:45:2:45:7 | '\\xff' | '\\xff' |
|
||||
| literals.go:46:2:46:9 | '\\u12e4' | '\\u12e4' |
|
||||
| literals.go:47:2:47:13 | '\\U00101234' | '\\U00101234' |
|
||||
| literals.go:48:2:48:5 | '\\'' | '\\'' |
|
||||
| literals.go:52:2:52:6 | `abc` | `abc` |
|
||||
| literals.go:53:2:54:3 | `\\n,\n\\n` | `\\n,\n\\n` |
|
||||
| literals.go:55:2:55:5 | "\\n" | "\\n" |
|
||||
| literals.go:56:2:56:5 | "\\"" | "\\"" |
|
||||
| literals.go:57:2:57:18 | "Hello, world!\\n" | "Hello, world!\\n" |
|
||||
| literals.go:58:2:58:12 | "\u65e5\u672c\u8a9e" | "\u65e5\u672c\u8a9e" |
|
||||
| literals.go:59:2:59:22 | "\\u65e5\u672c\\U00008a9e" | "\\u65e5\u672c\\U00008a9e" |
|
||||
| literals.go:60:2:60:13 | "\\xff\\u00FF" | "\\xff\\u00FF" |
|
||||
| literals.go:69:22:69:27 | "\ud83d\udcff" | "\ud83d\udcff" |
|
||||
| literals.go:69:31:69:32 | "" | "" |
|
||||
|
||||
@@ -27,48 +27,48 @@
|
||||
| consts.go:47:16:47:18 | 1.0 | 1.0 |
|
||||
| consts.go:48:16:48:19 | "hi" | hi |
|
||||
| literals.go:3:8:3:12 | "fmt" | fmt |
|
||||
| literals.go:6:2:6:10 | "decimal" | decimal |
|
||||
| literals.go:6:17:6:18 | 42 | 42 |
|
||||
| literals.go:7:2:7:8 | "octal" | octal |
|
||||
| literals.go:7:17:7:20 | 0600 | 384 |
|
||||
| literals.go:8:2:8:14 | "hexadecimal" | hexadecimal |
|
||||
| literals.go:8:17:8:24 | 0xcaffee | 13303790 |
|
||||
| literals.go:12:2:12:3 | 0. | 0. |
|
||||
| literals.go:13:2:13:6 | 72.40 | 72.40 |
|
||||
| literals.go:14:2:14:7 | 072.40 | 072.40 |
|
||||
| literals.go:15:2:15:8 | 2.71828 | 2.71828 |
|
||||
| literals.go:16:2:16:6 | 1.e+0 | 1.e+0 |
|
||||
| literals.go:17:2:17:12 | 6.67428e-11 | 6.67428e-11 |
|
||||
| literals.go:18:2:18:4 | 1E6 | 1E6 |
|
||||
| literals.go:19:2:19:4 | .25 | .25 |
|
||||
| literals.go:20:2:20:10 | .12345E+5 | .12345E+5 |
|
||||
| literals.go:24:2:24:3 | 0i | 0i |
|
||||
| literals.go:25:2:25:5 | 011i | 011i |
|
||||
| literals.go:26:2:26:4 | 0.i | 0.i |
|
||||
| literals.go:27:2:27:9 | 2.71828i | 2.71828i |
|
||||
| literals.go:28:2:28:7 | 1.e+0i | 1.e+0i |
|
||||
| literals.go:29:2:29:13 | 6.67428e-11i | 6.67428e-11i |
|
||||
| literals.go:30:2:30:5 | 1E6i | 1E6i |
|
||||
| literals.go:31:2:31:5 | .25i | .25i |
|
||||
| literals.go:32:2:32:11 | .12345E+5i | .12345E+5i |
|
||||
| literals.go:36:2:36:4 | 'a' | a |
|
||||
| literals.go:37:2:37:5 | '\u00e4' | \u00e4 |
|
||||
| literals.go:38:2:38:6 | '\u672c' | \u672c |
|
||||
| literals.go:39:2:39:5 | '\\t' | \t |
|
||||
| literals.go:40:2:40:7 | '\\007' | \u0007 |
|
||||
| literals.go:41:2:41:7 | '\\377' | \ufffd |
|
||||
| literals.go:42:2:42:7 | '\\x07' | \u0007 |
|
||||
| literals.go:43:2:43:7 | '\\xff' | \ufffd |
|
||||
| literals.go:44:2:44:9 | '\\u12e4' | \u12e4 |
|
||||
| literals.go:45:2:45:13 | '\\U00101234' | \udbc4\ude34 |
|
||||
| literals.go:46:2:46:5 | '\\'' | ' |
|
||||
| literals.go:50:2:50:6 | `abc` | abc |
|
||||
| literals.go:51:2:52:3 | `\\n,\n\\n` | \\n,\n\\n |
|
||||
| literals.go:53:2:53:5 | "\\n" | \n |
|
||||
| literals.go:54:2:54:5 | "\\"" | " |
|
||||
| literals.go:55:2:55:18 | "Hello, world!\\n" | Hello, world!\n |
|
||||
| literals.go:56:2:56:12 | "\u65e5\u672c\u8a9e" | \u65e5\u672c\u8a9e |
|
||||
| literals.go:57:2:57:22 | "\\u65e5\u672c\\U00008a9e" | \u65e5\u672c\u8a9e |
|
||||
| literals.go:58:2:58:13 | "\\xff\\u00FF" | \ufffd\u00ff |
|
||||
| literals.go:67:22:67:27 | "\ud83d\udcff" | \ud83d\udcff |
|
||||
| literals.go:67:31:67:32 | "" | |
|
||||
| literals.go:8:2:8:10 | "decimal" | decimal |
|
||||
| literals.go:8:17:8:18 | 42 | 42 |
|
||||
| literals.go:9:2:9:8 | "octal" | octal |
|
||||
| literals.go:9:17:9:20 | 0600 | 384 |
|
||||
| literals.go:10:2:10:14 | "hexadecimal" | hexadecimal |
|
||||
| literals.go:10:17:10:24 | 0xcaffee | 13303790 |
|
||||
| literals.go:14:2:14:3 | 0. | 0. |
|
||||
| literals.go:15:2:15:6 | 72.40 | 72.40 |
|
||||
| literals.go:16:2:16:7 | 072.40 | 072.40 |
|
||||
| literals.go:17:2:17:8 | 2.71828 | 2.71828 |
|
||||
| literals.go:18:2:18:6 | 1.e+0 | 1.e+0 |
|
||||
| literals.go:19:2:19:12 | 6.67428e-11 | 6.67428e-11 |
|
||||
| literals.go:20:2:20:4 | 1E6 | 1E6 |
|
||||
| literals.go:21:2:21:4 | .25 | .25 |
|
||||
| literals.go:22:2:22:10 | .12345E+5 | .12345E+5 |
|
||||
| literals.go:26:2:26:3 | 0i | 0i |
|
||||
| literals.go:27:2:27:5 | 011i | 011i |
|
||||
| literals.go:28:2:28:4 | 0.i | 0.i |
|
||||
| literals.go:29:2:29:9 | 2.71828i | 2.71828i |
|
||||
| literals.go:30:2:30:7 | 1.e+0i | 1.e+0i |
|
||||
| literals.go:31:2:31:13 | 6.67428e-11i | 6.67428e-11i |
|
||||
| literals.go:32:2:32:5 | 1E6i | 1E6i |
|
||||
| literals.go:33:2:33:5 | .25i | .25i |
|
||||
| literals.go:34:2:34:11 | .12345E+5i | .12345E+5i |
|
||||
| literals.go:38:2:38:4 | 'a' | a |
|
||||
| literals.go:39:2:39:5 | '\u00e4' | \u00e4 |
|
||||
| literals.go:40:2:40:6 | '\u672c' | \u672c |
|
||||
| literals.go:41:2:41:5 | '\\t' | \t |
|
||||
| literals.go:42:2:42:7 | '\\007' | \u0007 |
|
||||
| literals.go:43:2:43:7 | '\\377' | \ufffd |
|
||||
| literals.go:44:2:44:7 | '\\x07' | \u0007 |
|
||||
| literals.go:45:2:45:7 | '\\xff' | \ufffd |
|
||||
| literals.go:46:2:46:9 | '\\u12e4' | \u12e4 |
|
||||
| literals.go:47:2:47:13 | '\\U00101234' | \udbc4\ude34 |
|
||||
| literals.go:48:2:48:5 | '\\'' | ' |
|
||||
| literals.go:52:2:52:6 | `abc` | abc |
|
||||
| literals.go:53:2:54:3 | `\\n,\n\\n` | \\n,\n\\n |
|
||||
| literals.go:55:2:55:5 | "\\n" | \n |
|
||||
| literals.go:56:2:56:5 | "\\"" | " |
|
||||
| literals.go:57:2:57:18 | "Hello, world!\\n" | Hello, world!\n |
|
||||
| literals.go:58:2:58:12 | "\u65e5\u672c\u8a9e" | \u65e5\u672c\u8a9e |
|
||||
| literals.go:59:2:59:22 | "\\u65e5\u672c\\U00008a9e" | \u65e5\u672c\u8a9e |
|
||||
| literals.go:60:2:60:13 | "\\xff\\u00FF" | \ufffd\u00ff |
|
||||
| literals.go:69:22:69:27 | "\ud83d\udcff" | \ud83d\udcff |
|
||||
| literals.go:69:31:69:32 | "" | |
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
| literals.go:5:15:9:1 | map literal | 0 | key | literals.go:6:2:6:10 | "decimal" |
|
||||
| literals.go:5:15:9:1 | map literal | 0 | value | literals.go:6:17:6:18 | 42 |
|
||||
| literals.go:5:15:9:1 | map literal | 1 | key | literals.go:7:2:7:8 | "octal" |
|
||||
| literals.go:5:15:9:1 | map literal | 1 | value | literals.go:7:17:7:20 | 0600 |
|
||||
| literals.go:5:15:9:1 | map literal | 2 | key | literals.go:8:2:8:14 | "hexadecimal" |
|
||||
| literals.go:5:15:9:1 | map literal | 2 | value | literals.go:8:17:8:24 | 0xcaffee |
|
||||
| literals.go:11:17:21:1 | slice literal | 0 | value | literals.go:12:2:12:3 | 0. |
|
||||
| literals.go:11:17:21:1 | slice literal | 1 | value | literals.go:13:2:13:6 | 72.40 |
|
||||
| literals.go:11:17:21:1 | slice literal | 2 | value | literals.go:14:2:14:7 | 072.40 |
|
||||
| literals.go:11:17:21:1 | slice literal | 3 | value | literals.go:15:2:15:8 | 2.71828 |
|
||||
| literals.go:11:17:21:1 | slice literal | 4 | value | literals.go:16:2:16:6 | 1.e+0 |
|
||||
| literals.go:11:17:21:1 | slice literal | 5 | value | literals.go:17:2:17:12 | 6.67428e-11 |
|
||||
| literals.go:11:17:21:1 | slice literal | 6 | value | literals.go:18:2:18:4 | 1E6 |
|
||||
| literals.go:11:17:21:1 | slice literal | 7 | value | literals.go:19:2:19:4 | .25 |
|
||||
| literals.go:11:17:21:1 | slice literal | 8 | value | literals.go:20:2:20:10 | .12345E+5 |
|
||||
| literals.go:23:16:33:1 | slice literal | 0 | value | literals.go:24:2:24:3 | 0i |
|
||||
| literals.go:23:16:33:1 | slice literal | 1 | value | literals.go:25:2:25:5 | 011i |
|
||||
| literals.go:23:16:33:1 | slice literal | 2 | value | literals.go:26:2:26:4 | 0.i |
|
||||
| literals.go:23:16:33:1 | slice literal | 3 | value | literals.go:27:2:27:9 | 2.71828i |
|
||||
| literals.go:23:16:33:1 | slice literal | 4 | value | literals.go:28:2:28:7 | 1.e+0i |
|
||||
| literals.go:23:16:33:1 | slice literal | 5 | value | literals.go:29:2:29:13 | 6.67428e-11i |
|
||||
| literals.go:23:16:33:1 | slice literal | 6 | value | literals.go:30:2:30:5 | 1E6i |
|
||||
| literals.go:23:16:33:1 | slice literal | 7 | value | literals.go:31:2:31:5 | .25i |
|
||||
| literals.go:23:16:33:1 | slice literal | 8 | value | literals.go:32:2:32:11 | .12345E+5i |
|
||||
| literals.go:35:16:47:1 | slice literal | 0 | value | literals.go:36:2:36:4 | 'a' |
|
||||
| literals.go:35:16:47:1 | slice literal | 1 | value | literals.go:37:2:37:5 | '\u00e4' |
|
||||
| literals.go:35:16:47:1 | slice literal | 2 | value | literals.go:38:2:38:6 | '\u672c' |
|
||||
| literals.go:35:16:47:1 | slice literal | 3 | value | literals.go:39:2:39:5 | '\\t' |
|
||||
| literals.go:35:16:47:1 | slice literal | 4 | value | literals.go:40:2:40:7 | '\\007' |
|
||||
| literals.go:35:16:47:1 | slice literal | 5 | value | literals.go:41:2:41:7 | '\\377' |
|
||||
| literals.go:35:16:47:1 | slice literal | 6 | value | literals.go:42:2:42:7 | '\\x07' |
|
||||
| literals.go:35:16:47:1 | slice literal | 7 | value | literals.go:43:2:43:7 | '\\xff' |
|
||||
| literals.go:35:16:47:1 | slice literal | 8 | value | literals.go:44:2:44:9 | '\\u12e4' |
|
||||
| literals.go:35:16:47:1 | slice literal | 9 | value | literals.go:45:2:45:13 | '\\U00101234' |
|
||||
| literals.go:35:16:47:1 | slice literal | 10 | value | literals.go:46:2:46:5 | '\\'' |
|
||||
| literals.go:49:15:59:1 | slice literal | 0 | value | literals.go:50:2:50:6 | `abc` |
|
||||
| literals.go:49:15:59:1 | slice literal | 1 | value | literals.go:51:2:52:3 | `\\n,\n\\n` |
|
||||
| literals.go:49:15:59:1 | slice literal | 2 | value | literals.go:53:2:53:5 | "\\n" |
|
||||
| literals.go:49:15:59:1 | slice literal | 3 | value | literals.go:54:2:54:5 | "\\"" |
|
||||
| literals.go:49:15:59:1 | slice literal | 4 | value | literals.go:55:2:55:18 | "Hello, world!\\n" |
|
||||
| literals.go:49:15:59:1 | slice literal | 5 | value | literals.go:56:2:56:12 | "\u65e5\u672c\u8a9e" |
|
||||
| literals.go:49:15:59:1 | slice literal | 6 | value | literals.go:57:2:57:22 | "\\u65e5\u672c\\U00008a9e" |
|
||||
| literals.go:49:15:59:1 | slice literal | 7 | value | literals.go:58:2:58:13 | "\\xff\\u00FF" |
|
||||
| literals.go:7:15:11:1 | map literal | 0 | key | literals.go:8:2:8:10 | "decimal" |
|
||||
| literals.go:7:15:11:1 | map literal | 0 | value | literals.go:8:17:8:18 | 42 |
|
||||
| literals.go:7:15:11:1 | map literal | 1 | key | literals.go:9:2:9:8 | "octal" |
|
||||
| literals.go:7:15:11:1 | map literal | 1 | value | literals.go:9:17:9:20 | 0600 |
|
||||
| literals.go:7:15:11:1 | map literal | 2 | key | literals.go:10:2:10:14 | "hexadecimal" |
|
||||
| literals.go:7:15:11:1 | map literal | 2 | value | literals.go:10:17:10:24 | 0xcaffee |
|
||||
| literals.go:13:17:23:1 | slice literal | 0 | value | literals.go:14:2:14:3 | 0. |
|
||||
| literals.go:13:17:23:1 | slice literal | 1 | value | literals.go:15:2:15:6 | 72.40 |
|
||||
| literals.go:13:17:23:1 | slice literal | 2 | value | literals.go:16:2:16:7 | 072.40 |
|
||||
| literals.go:13:17:23:1 | slice literal | 3 | value | literals.go:17:2:17:8 | 2.71828 |
|
||||
| literals.go:13:17:23:1 | slice literal | 4 | value | literals.go:18:2:18:6 | 1.e+0 |
|
||||
| literals.go:13:17:23:1 | slice literal | 5 | value | literals.go:19:2:19:12 | 6.67428e-11 |
|
||||
| literals.go:13:17:23:1 | slice literal | 6 | value | literals.go:20:2:20:4 | 1E6 |
|
||||
| literals.go:13:17:23:1 | slice literal | 7 | value | literals.go:21:2:21:4 | .25 |
|
||||
| literals.go:13:17:23:1 | slice literal | 8 | value | literals.go:22:2:22:10 | .12345E+5 |
|
||||
| literals.go:25:16:35:1 | slice literal | 0 | value | literals.go:26:2:26:3 | 0i |
|
||||
| literals.go:25:16:35:1 | slice literal | 1 | value | literals.go:27:2:27:5 | 011i |
|
||||
| literals.go:25:16:35:1 | slice literal | 2 | value | literals.go:28:2:28:4 | 0.i |
|
||||
| literals.go:25:16:35:1 | slice literal | 3 | value | literals.go:29:2:29:9 | 2.71828i |
|
||||
| literals.go:25:16:35:1 | slice literal | 4 | value | literals.go:30:2:30:7 | 1.e+0i |
|
||||
| literals.go:25:16:35:1 | slice literal | 5 | value | literals.go:31:2:31:13 | 6.67428e-11i |
|
||||
| literals.go:25:16:35:1 | slice literal | 6 | value | literals.go:32:2:32:5 | 1E6i |
|
||||
| literals.go:25:16:35:1 | slice literal | 7 | value | literals.go:33:2:33:5 | .25i |
|
||||
| literals.go:25:16:35:1 | slice literal | 8 | value | literals.go:34:2:34:11 | .12345E+5i |
|
||||
| literals.go:37:16:49:1 | slice literal | 0 | value | literals.go:38:2:38:4 | 'a' |
|
||||
| literals.go:37:16:49:1 | slice literal | 1 | value | literals.go:39:2:39:5 | '\u00e4' |
|
||||
| literals.go:37:16:49:1 | slice literal | 2 | value | literals.go:40:2:40:6 | '\u672c' |
|
||||
| literals.go:37:16:49:1 | slice literal | 3 | value | literals.go:41:2:41:5 | '\\t' |
|
||||
| literals.go:37:16:49:1 | slice literal | 4 | value | literals.go:42:2:42:7 | '\\007' |
|
||||
| literals.go:37:16:49:1 | slice literal | 5 | value | literals.go:43:2:43:7 | '\\377' |
|
||||
| literals.go:37:16:49:1 | slice literal | 6 | value | literals.go:44:2:44:7 | '\\x07' |
|
||||
| literals.go:37:16:49:1 | slice literal | 7 | value | literals.go:45:2:45:7 | '\\xff' |
|
||||
| literals.go:37:16:49:1 | slice literal | 8 | value | literals.go:46:2:46:9 | '\\u12e4' |
|
||||
| literals.go:37:16:49:1 | slice literal | 9 | value | literals.go:47:2:47:13 | '\\U00101234' |
|
||||
| literals.go:37:16:49:1 | slice literal | 10 | value | literals.go:48:2:48:5 | '\\'' |
|
||||
| literals.go:51:15:61:1 | slice literal | 0 | value | literals.go:52:2:52:6 | `abc` |
|
||||
| literals.go:51:15:61:1 | slice literal | 1 | value | literals.go:53:2:54:3 | `\\n,\n\\n` |
|
||||
| literals.go:51:15:61:1 | slice literal | 2 | value | literals.go:55:2:55:5 | "\\n" |
|
||||
| literals.go:51:15:61:1 | slice literal | 3 | value | literals.go:56:2:56:5 | "\\"" |
|
||||
| literals.go:51:15:61:1 | slice literal | 4 | value | literals.go:57:2:57:18 | "Hello, world!\\n" |
|
||||
| literals.go:51:15:61:1 | slice literal | 5 | value | literals.go:58:2:58:12 | "\u65e5\u672c\u8a9e" |
|
||||
| literals.go:51:15:61:1 | slice literal | 6 | value | literals.go:59:2:59:22 | "\\u65e5\u672c\\U00008a9e" |
|
||||
| literals.go:51:15:61:1 | slice literal | 7 | value | literals.go:60:2:60:13 | "\\xff\\u00FF" |
|
||||
|
||||
@@ -59,22 +59,22 @@
|
||||
| consts.go:48:2:48:2 | m |
|
||||
| consts.go:48:4:48:11 | mystring |
|
||||
| literals.go:1:9:1:12 | main |
|
||||
| literals.go:5:5:5:11 | intlits |
|
||||
| literals.go:5:19:5:24 | string |
|
||||
| literals.go:5:26:5:28 | int |
|
||||
| literals.go:11:5:11:13 | floatlits |
|
||||
| literals.go:11:19:11:25 | float64 |
|
||||
| literals.go:23:5:23:12 | imaglits |
|
||||
| literals.go:23:18:23:26 | complex64 |
|
||||
| literals.go:35:5:35:12 | runelits |
|
||||
| literals.go:35:18:35:20 | int |
|
||||
| literals.go:49:5:49:11 | strlits |
|
||||
| literals.go:49:17:49:22 | string |
|
||||
| literals.go:61:6:61:13 | literals |
|
||||
| literals.go:62:6:62:6 | _ |
|
||||
| literals.go:62:9:62:11 | str |
|
||||
| literals.go:62:22:62:28 | strlits |
|
||||
| literals.go:63:3:63:5 | fmt |
|
||||
| literals.go:63:7:63:13 | Println |
|
||||
| literals.go:63:15:63:17 | str |
|
||||
| literals.go:67:5:67:18 | non_bmp_strlit |
|
||||
| literals.go:7:5:7:11 | intlits |
|
||||
| literals.go:7:19:7:24 | string |
|
||||
| literals.go:7:26:7:28 | int |
|
||||
| literals.go:13:5:13:13 | floatlits |
|
||||
| literals.go:13:19:13:25 | float64 |
|
||||
| literals.go:25:5:25:12 | imaglits |
|
||||
| literals.go:25:18:25:26 | complex64 |
|
||||
| literals.go:37:5:37:12 | runelits |
|
||||
| literals.go:37:18:37:20 | int |
|
||||
| literals.go:51:5:51:11 | strlits |
|
||||
| literals.go:51:17:51:22 | string |
|
||||
| literals.go:63:6:63:13 | literals |
|
||||
| literals.go:64:6:64:6 | _ |
|
||||
| literals.go:64:9:64:11 | str |
|
||||
| literals.go:64:22:64:28 | strlits |
|
||||
| literals.go:65:3:65:5 | fmt |
|
||||
| literals.go:65:7:65:13 | Println |
|
||||
| literals.go:65:15:65:17 | str |
|
||||
| literals.go:69:5:69:18 | non_bmp_strlit |
|
||||
|
||||
@@ -2,6 +2,8 @@ package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
// autoformat-ignore (we intentionally test unconventional capitalisation of literals like 1E1i)
|
||||
|
||||
var intlits = map[string]int{
|
||||
"decimal": 42,
|
||||
"octal": 0600,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,8 @@ import "fmt"
|
||||
|
||||
// NOTE: after auto-formatting this file, make sure to put back the empty statement on line 15 below
|
||||
|
||||
// autoformat-ignore (in line with the NOTE above)
|
||||
|
||||
// simple statements and for loops
|
||||
func test5(b bool) {
|
||||
{
|
||||
|
||||
@@ -933,297 +933,297 @@
|
||||
| stmts8.go:13:2:13:13 | return statement | stmts8.go:14:1:14:1 | exit |
|
||||
| stmts8.go:13:9:13:13 | false | stmts8.go:13:2:13:13 | return statement |
|
||||
| stmts.go:0:0:0:0 | entry | stmts.go:3:1:3:12 | skip |
|
||||
| stmts.go:3:1:3:12 | skip | stmts.go:8:6:8:10 | skip |
|
||||
| stmts.go:8:1:8:1 | entry | stmts.go:8:12:8:12 | argument corresponding to b |
|
||||
| stmts.go:8:1:41:1 | function declaration | stmts.go:44:6:44:10 | skip |
|
||||
| stmts.go:8:6:8:10 | skip | stmts.go:8:1:41:1 | function declaration |
|
||||
| stmts.go:8:12:8:12 | argument corresponding to b | stmts.go:8:12:8:12 | initialization of b |
|
||||
| stmts.go:8:12:8:12 | initialization of b | stmts.go:10:7:10:7 | b |
|
||||
| stmts.go:10:6:10:7 | !... | stmts.go:10:7:10:7 | !... is false |
|
||||
| stmts.go:10:6:10:7 | !... | stmts.go:10:7:10:7 | !... is true |
|
||||
| stmts.go:10:7:10:7 | !... is false | stmts.go:13:3:14:3 | skip |
|
||||
| stmts.go:10:7:10:7 | !... is true | stmts.go:11:4:11:13 | skip |
|
||||
| stmts.go:10:7:10:7 | b | stmts.go:10:6:10:7 | !... |
|
||||
| stmts.go:11:4:11:13 | skip | stmts.go:21:6:21:9 | true |
|
||||
| stmts.go:13:3:14:3 | skip | stmts.go:15:3:15:3 | skip |
|
||||
| stmts.go:15:3:15:3 | skip | stmts.go:18:2:18:12 | selection of Println |
|
||||
| stmts.go:18:2:18:12 | selection of Println | stmts.go:18:14:18:17 | "Hi" |
|
||||
| stmts.go:18:2:18:18 | call to Println | stmts.go:21:6:21:9 | true |
|
||||
| stmts.go:18:2:18:18 | call to Println | stmts.go:41:1:41:1 | exit |
|
||||
| stmts.go:18:14:18:17 | "Hi" | stmts.go:18:2:18:18 | call to Println |
|
||||
| stmts.go:21:6:21:9 | true | stmts.go:21:9:21:9 | true is true |
|
||||
| stmts.go:21:9:21:9 | true is false | stmts.go:37:2:37:2 | skip |
|
||||
| stmts.go:21:9:21:9 | true is true | stmts.go:22:7:22:7 | skip |
|
||||
| stmts.go:22:7:22:7 | assignment to i | stmts.go:22:15:22:15 | i |
|
||||
| stmts.go:22:7:22:7 | skip | stmts.go:22:12:22:12 | 0 |
|
||||
| stmts.go:22:12:22:12 | 0 | stmts.go:22:7:22:7 | assignment to i |
|
||||
| stmts.go:22:15:22:15 | i | stmts.go:22:19:22:20 | 10 |
|
||||
| stmts.go:22:15:22:20 | ...<... | stmts.go:22:20:22:20 | ...<... is false |
|
||||
| stmts.go:22:15:22:20 | ...<... | stmts.go:22:20:22:20 | ...<... is true |
|
||||
| stmts.go:22:19:22:20 | 10 | stmts.go:22:15:22:20 | ...<... |
|
||||
| stmts.go:22:20:22:20 | ...<... is false | stmts.go:21:6:21:9 | true |
|
||||
| stmts.go:22:20:22:20 | ...<... is true | stmts.go:23:7:23:7 | skip |
|
||||
| stmts.go:22:23:22:23 | i | stmts.go:22:23:22:25 | 1 |
|
||||
| stmts.go:22:23:22:25 | 1 | stmts.go:22:23:22:25 | rhs of increment statement |
|
||||
| stmts.go:22:23:22:25 | increment statement | stmts.go:22:15:22:15 | i |
|
||||
| stmts.go:22:23:22:25 | rhs of increment statement | stmts.go:22:23:22:25 | increment statement |
|
||||
| stmts.go:23:7:23:7 | assignment to j | stmts.go:23:19:23:19 | j |
|
||||
| stmts.go:23:7:23:7 | skip | stmts.go:23:12:23:12 | i |
|
||||
| stmts.go:23:12:23:12 | i | stmts.go:23:16:23:16 | 1 |
|
||||
| stmts.go:23:12:23:16 | ...-... | stmts.go:23:7:23:7 | assignment to j |
|
||||
| stmts.go:23:16:23:16 | 1 | stmts.go:23:12:23:16 | ...-... |
|
||||
| stmts.go:23:19:23:19 | j | stmts.go:23:23:23:23 | 5 |
|
||||
| stmts.go:23:19:23:23 | ...>... | stmts.go:23:23:23:23 | ...>... is false |
|
||||
| stmts.go:23:19:23:23 | ...>... | stmts.go:23:23:23:23 | ...>... is true |
|
||||
| stmts.go:23:23:23:23 | 5 | stmts.go:23:19:23:23 | ...>... |
|
||||
| stmts.go:23:23:23:23 | ...>... is false | stmts.go:25:14:25:14 | i |
|
||||
| stmts.go:23:23:23:23 | ...>... is true | stmts.go:24:5:24:15 | skip |
|
||||
| stmts.go:24:5:24:15 | skip | stmts.go:37:2:37:2 | skip |
|
||||
| stmts.go:25:14:25:14 | i | stmts.go:25:18:25:18 | 3 |
|
||||
| stmts.go:25:14:25:18 | ...<... | stmts.go:25:18:25:18 | ...<... is false |
|
||||
| stmts.go:25:14:25:18 | ...<... | stmts.go:25:18:25:18 | ...<... is true |
|
||||
| stmts.go:25:18:25:18 | 3 | stmts.go:25:14:25:18 | ...<... |
|
||||
| stmts.go:25:18:25:18 | ...<... is false | stmts.go:27:14:27:14 | i |
|
||||
| stmts.go:25:18:25:18 | ...<... is true | stmts.go:26:5:26:9 | skip |
|
||||
| stmts.go:26:5:26:9 | skip | stmts.go:21:6:21:9 | true |
|
||||
| stmts.go:27:14:27:14 | i | stmts.go:27:19:27:19 | 9 |
|
||||
| stmts.go:27:14:27:19 | ...!=... | stmts.go:27:19:27:19 | ...!=... is false |
|
||||
| stmts.go:27:14:27:19 | ...!=... | stmts.go:27:19:27:19 | ...!=... is true |
|
||||
| stmts.go:27:14:27:19 | ...!=... | stmts.go:41:1:41:1 | exit |
|
||||
| stmts.go:27:19:27:19 | 9 | stmts.go:27:14:27:19 | ...!=... |
|
||||
| stmts.go:27:19:27:19 | ...!=... is false | stmts.go:29:14:29:14 | i |
|
||||
| stmts.go:27:19:27:19 | ...!=... is true | stmts.go:28:5:28:18 | skip |
|
||||
| stmts.go:28:5:28:18 | skip | stmts.go:21:6:21:9 | true |
|
||||
| stmts.go:29:14:29:14 | i | stmts.go:29:19:29:19 | 4 |
|
||||
| stmts.go:29:14:29:19 | ...>=... | stmts.go:29:19:29:19 | ...>=... is false |
|
||||
| stmts.go:29:14:29:19 | ...>=... | stmts.go:29:19:29:19 | ...>=... is true |
|
||||
| stmts.go:29:19:29:19 | 4 | stmts.go:29:14:29:19 | ...>=... |
|
||||
| stmts.go:29:19:29:19 | ...>=... is false | stmts.go:32:5:32:12 | skip |
|
||||
| stmts.go:29:19:29:19 | ...>=... is true | stmts.go:30:5:30:14 | skip |
|
||||
| stmts.go:30:5:30:14 | skip | stmts.go:21:6:21:9 | true |
|
||||
| stmts.go:32:5:32:12 | skip | stmts.go:22:23:22:23 | i |
|
||||
| stmts.go:37:2:37:2 | assignment to k | stmts.go:39:3:39:12 | skip |
|
||||
| stmts.go:37:2:37:2 | skip | stmts.go:37:7:37:7 | 9 |
|
||||
| stmts.go:37:7:37:7 | 9 | stmts.go:37:2:37:2 | assignment to k |
|
||||
| stmts.go:38:10:38:10 | k | stmts.go:38:10:38:12 | 1 |
|
||||
| stmts.go:38:10:38:12 | 1 | stmts.go:38:10:38:12 | rhs of increment statement |
|
||||
| stmts.go:38:10:38:12 | increment statement | stmts.go:39:3:39:12 | skip |
|
||||
| stmts.go:38:10:38:12 | rhs of increment statement | stmts.go:38:10:38:12 | increment statement |
|
||||
| stmts.go:39:3:39:12 | skip | stmts.go:21:6:21:9 | true |
|
||||
| stmts.go:44:1:44:1 | entry | stmts.go:44:12:44:14 | argument corresponding to ch1 |
|
||||
| stmts.go:44:1:60:1 | function declaration | stmts.go:63:6:63:10 | skip |
|
||||
| stmts.go:44:6:44:10 | skip | stmts.go:44:1:60:1 | function declaration |
|
||||
| stmts.go:44:12:44:14 | argument corresponding to ch1 | stmts.go:44:12:44:14 | initialization of ch1 |
|
||||
| stmts.go:44:12:44:14 | initialization of ch1 | stmts.go:44:26:44:28 | argument corresponding to ch2 |
|
||||
| stmts.go:44:26:44:28 | argument corresponding to ch2 | stmts.go:44:26:44:28 | initialization of ch2 |
|
||||
| stmts.go:44:26:44:28 | initialization of ch2 | stmts.go:45:6:45:6 | skip |
|
||||
| stmts.go:45:6:45:6 | assignment to a | stmts.go:46:6:46:6 | skip |
|
||||
| stmts.go:45:6:45:6 | skip | stmts.go:45:6:45:6 | zero value for a |
|
||||
| stmts.go:45:6:45:6 | zero value for a | stmts.go:45:6:45:6 | assignment to a |
|
||||
| stmts.go:46:6:46:6 | assignment to w | stmts.go:49:9:49:11 | ch1 |
|
||||
| stmts.go:46:6:46:6 | skip | stmts.go:46:6:46:6 | zero value for w |
|
||||
| stmts.go:46:6:46:6 | zero value for w | stmts.go:46:6:46:6 | assignment to w |
|
||||
| stmts.go:48:2:57:2 | select statement | stmts.go:49:7:49:11 | <-... |
|
||||
| stmts.go:48:2:57:2 | select statement | stmts.go:51:17:51:21 | <-... |
|
||||
| stmts.go:48:2:57:2 | select statement | stmts.go:55:3:55:13 | selection of Println |
|
||||
| stmts.go:48:2:57:2 | select statement | stmts.go:56:7:56:15 | send statement |
|
||||
| stmts.go:49:7:49:11 | <-... | stmts.go:50:3:50:13 | selection of Println |
|
||||
| stmts.go:49:9:49:11 | ch1 | stmts.go:51:19:51:21 | ch2 |
|
||||
| stmts.go:50:3:50:13 | selection of Println | stmts.go:50:15:50:30 | "Heard from ch1" |
|
||||
| stmts.go:50:3:50:31 | call to Println | stmts.go:59:2:59:10 | select statement |
|
||||
| stmts.go:50:3:50:31 | call to Println | stmts.go:60:1:60:1 | exit |
|
||||
| stmts.go:50:15:50:30 | "Heard from ch1" | stmts.go:50:3:50:31 | call to Println |
|
||||
| stmts.go:51:7:51:7 | a | stmts.go:51:9:51:9 | 0 |
|
||||
| stmts.go:51:7:51:10 | assignment to element | stmts.go:51:7:51:21 | ... = ...[1] |
|
||||
| stmts.go:51:7:51:10 | skip | stmts.go:51:13:51:13 | skip |
|
||||
| stmts.go:51:7:51:10 | skip | stmts.go:60:1:60:1 | exit |
|
||||
| stmts.go:51:7:51:21 | ... = ...[0] | stmts.go:51:7:51:10 | assignment to element |
|
||||
| stmts.go:51:7:51:21 | ... = ...[1] | stmts.go:51:13:51:13 | assignment to w |
|
||||
| stmts.go:51:9:51:9 | 0 | stmts.go:51:7:51:10 | skip |
|
||||
| stmts.go:51:13:51:13 | assignment to w | stmts.go:52:3:52:13 | selection of Println |
|
||||
| stmts.go:51:13:51:13 | skip | stmts.go:51:7:51:21 | ... = ...[0] |
|
||||
| stmts.go:51:17:51:21 | <-... | stmts.go:51:7:51:7 | a |
|
||||
| stmts.go:51:19:51:21 | ch2 | stmts.go:56:7:56:9 | ch1 |
|
||||
| stmts.go:52:3:52:13 | selection of Println | stmts.go:52:15:52:15 | a |
|
||||
| stmts.go:52:3:52:16 | call to Println | stmts.go:53:3:53:13 | selection of Println |
|
||||
| stmts.go:52:3:52:16 | call to Println | stmts.go:60:1:60:1 | exit |
|
||||
| stmts.go:52:15:52:15 | a | stmts.go:52:3:52:16 | call to Println |
|
||||
| stmts.go:53:3:53:13 | selection of Println | stmts.go:53:15:53:15 | w |
|
||||
| stmts.go:53:3:53:16 | call to Println | stmts.go:59:2:59:10 | select statement |
|
||||
| stmts.go:53:3:53:16 | call to Println | stmts.go:60:1:60:1 | exit |
|
||||
| stmts.go:53:15:53:15 | w | stmts.go:53:3:53:16 | call to Println |
|
||||
| stmts.go:55:3:55:13 | selection of Println | stmts.go:55:3:55:15 | call to Println |
|
||||
| stmts.go:55:3:55:15 | call to Println | stmts.go:59:2:59:10 | select statement |
|
||||
| stmts.go:55:3:55:15 | call to Println | stmts.go:60:1:60:1 | exit |
|
||||
| stmts.go:56:2:56:16 | skip | stmts.go:59:2:59:10 | select statement |
|
||||
| stmts.go:56:7:56:9 | ch1 | stmts.go:56:14:56:15 | 42 |
|
||||
| stmts.go:56:7:56:15 | send statement | stmts.go:56:2:56:16 | skip |
|
||||
| stmts.go:56:7:56:15 | send statement | stmts.go:60:1:60:1 | exit |
|
||||
| stmts.go:56:14:56:15 | 42 | stmts.go:48:2:57:2 | select statement |
|
||||
| stmts.go:63:1:63:1 | entry | stmts.go:63:12:63:12 | argument corresponding to x |
|
||||
| stmts.go:63:1:70:1 | function declaration | stmts.go:73:6:73:10 | skip |
|
||||
| stmts.go:63:6:63:10 | skip | stmts.go:63:1:70:1 | function declaration |
|
||||
| stmts.go:63:12:63:12 | argument corresponding to x | stmts.go:63:12:63:12 | initialization of x |
|
||||
| stmts.go:63:12:63:12 | initialization of x | stmts.go:64:5:64:5 | x |
|
||||
| stmts.go:64:5:64:5 | x | stmts.go:64:9:64:9 | 0 |
|
||||
| stmts.go:64:5:64:9 | ...>... | stmts.go:64:9:64:9 | ...>... is false |
|
||||
| stmts.go:64:5:64:9 | ...>... | stmts.go:64:9:64:9 | ...>... is true |
|
||||
| stmts.go:64:9:64:9 | 0 | stmts.go:64:5:64:9 | ...>... |
|
||||
| stmts.go:64:9:64:9 | ...>... is false | stmts.go:67:9:67:34 | function literal |
|
||||
| stmts.go:64:9:64:9 | ...>... is true | stmts.go:65:9:65:33 | function literal |
|
||||
| stmts.go:65:3:65:35 | defer statement | stmts.go:69:9:69:10 | 42 |
|
||||
| stmts.go:65:9:65:9 | entry | stmts.go:65:18:65:28 | selection of Println |
|
||||
| stmts.go:65:9:65:33 | function literal | stmts.go:65:3:65:35 | defer statement |
|
||||
| stmts.go:65:9:65:35 | function call | stmts.go:70:1:70:1 | exit |
|
||||
| stmts.go:65:18:65:28 | selection of Println | stmts.go:65:30:65:30 | x |
|
||||
| stmts.go:65:18:65:31 | call to Println | stmts.go:65:33:65:33 | exit |
|
||||
| stmts.go:65:30:65:30 | x | stmts.go:65:18:65:31 | call to Println |
|
||||
| stmts.go:67:3:67:36 | defer statement | stmts.go:69:9:69:10 | 42 |
|
||||
| stmts.go:3:1:3:12 | skip | stmts.go:10:6:10:10 | skip |
|
||||
| stmts.go:10:1:10:1 | entry | stmts.go:10:12:10:12 | argument corresponding to b |
|
||||
| stmts.go:10:1:43:1 | function declaration | stmts.go:46:6:46:10 | skip |
|
||||
| stmts.go:10:6:10:10 | skip | stmts.go:10:1:43:1 | function declaration |
|
||||
| stmts.go:10:12:10:12 | argument corresponding to b | stmts.go:10:12:10:12 | initialization of b |
|
||||
| stmts.go:10:12:10:12 | initialization of b | stmts.go:12:7:12:7 | b |
|
||||
| stmts.go:12:6:12:7 | !... | stmts.go:12:7:12:7 | !... is false |
|
||||
| stmts.go:12:6:12:7 | !... | stmts.go:12:7:12:7 | !... is true |
|
||||
| stmts.go:12:7:12:7 | !... is false | stmts.go:15:3:16:3 | skip |
|
||||
| stmts.go:12:7:12:7 | !... is true | stmts.go:13:4:13:13 | skip |
|
||||
| stmts.go:12:7:12:7 | b | stmts.go:12:6:12:7 | !... |
|
||||
| stmts.go:13:4:13:13 | skip | stmts.go:23:6:23:9 | true |
|
||||
| stmts.go:15:3:16:3 | skip | stmts.go:17:3:17:3 | skip |
|
||||
| stmts.go:17:3:17:3 | skip | stmts.go:20:2:20:12 | selection of Println |
|
||||
| stmts.go:20:2:20:12 | selection of Println | stmts.go:20:14:20:17 | "Hi" |
|
||||
| stmts.go:20:2:20:18 | call to Println | stmts.go:23:6:23:9 | true |
|
||||
| stmts.go:20:2:20:18 | call to Println | stmts.go:43:1:43:1 | exit |
|
||||
| stmts.go:20:14:20:17 | "Hi" | stmts.go:20:2:20:18 | call to Println |
|
||||
| stmts.go:23:6:23:9 | true | stmts.go:23:9:23:9 | true is true |
|
||||
| stmts.go:23:9:23:9 | true is false | stmts.go:39:2:39:2 | skip |
|
||||
| stmts.go:23:9:23:9 | true is true | stmts.go:24:7:24:7 | skip |
|
||||
| stmts.go:24:7:24:7 | assignment to i | stmts.go:24:15:24:15 | i |
|
||||
| stmts.go:24:7:24:7 | skip | stmts.go:24:12:24:12 | 0 |
|
||||
| stmts.go:24:12:24:12 | 0 | stmts.go:24:7:24:7 | assignment to i |
|
||||
| stmts.go:24:15:24:15 | i | stmts.go:24:19:24:20 | 10 |
|
||||
| stmts.go:24:15:24:20 | ...<... | stmts.go:24:20:24:20 | ...<... is false |
|
||||
| stmts.go:24:15:24:20 | ...<... | stmts.go:24:20:24:20 | ...<... is true |
|
||||
| stmts.go:24:19:24:20 | 10 | stmts.go:24:15:24:20 | ...<... |
|
||||
| stmts.go:24:20:24:20 | ...<... is false | stmts.go:23:6:23:9 | true |
|
||||
| stmts.go:24:20:24:20 | ...<... is true | stmts.go:25:7:25:7 | skip |
|
||||
| stmts.go:24:23:24:23 | i | stmts.go:24:23:24:25 | 1 |
|
||||
| stmts.go:24:23:24:25 | 1 | stmts.go:24:23:24:25 | rhs of increment statement |
|
||||
| stmts.go:24:23:24:25 | increment statement | stmts.go:24:15:24:15 | i |
|
||||
| stmts.go:24:23:24:25 | rhs of increment statement | stmts.go:24:23:24:25 | increment statement |
|
||||
| stmts.go:25:7:25:7 | assignment to j | stmts.go:25:19:25:19 | j |
|
||||
| stmts.go:25:7:25:7 | skip | stmts.go:25:12:25:12 | i |
|
||||
| stmts.go:25:12:25:12 | i | stmts.go:25:16:25:16 | 1 |
|
||||
| stmts.go:25:12:25:16 | ...-... | stmts.go:25:7:25:7 | assignment to j |
|
||||
| stmts.go:25:16:25:16 | 1 | stmts.go:25:12:25:16 | ...-... |
|
||||
| stmts.go:25:19:25:19 | j | stmts.go:25:23:25:23 | 5 |
|
||||
| stmts.go:25:19:25:23 | ...>... | stmts.go:25:23:25:23 | ...>... is false |
|
||||
| stmts.go:25:19:25:23 | ...>... | stmts.go:25:23:25:23 | ...>... is true |
|
||||
| stmts.go:25:23:25:23 | 5 | stmts.go:25:19:25:23 | ...>... |
|
||||
| stmts.go:25:23:25:23 | ...>... is false | stmts.go:27:14:27:14 | i |
|
||||
| stmts.go:25:23:25:23 | ...>... is true | stmts.go:26:5:26:15 | skip |
|
||||
| stmts.go:26:5:26:15 | skip | stmts.go:39:2:39:2 | skip |
|
||||
| stmts.go:27:14:27:14 | i | stmts.go:27:18:27:18 | 3 |
|
||||
| stmts.go:27:14:27:18 | ...<... | stmts.go:27:18:27:18 | ...<... is false |
|
||||
| stmts.go:27:14:27:18 | ...<... | stmts.go:27:18:27:18 | ...<... is true |
|
||||
| stmts.go:27:18:27:18 | 3 | stmts.go:27:14:27:18 | ...<... |
|
||||
| stmts.go:27:18:27:18 | ...<... is false | stmts.go:29:14:29:14 | i |
|
||||
| stmts.go:27:18:27:18 | ...<... is true | stmts.go:28:5:28:9 | skip |
|
||||
| stmts.go:28:5:28:9 | skip | stmts.go:23:6:23:9 | true |
|
||||
| stmts.go:29:14:29:14 | i | stmts.go:29:19:29:19 | 9 |
|
||||
| stmts.go:29:14:29:19 | ...!=... | stmts.go:29:19:29:19 | ...!=... is false |
|
||||
| stmts.go:29:14:29:19 | ...!=... | stmts.go:29:19:29:19 | ...!=... is true |
|
||||
| stmts.go:29:14:29:19 | ...!=... | stmts.go:43:1:43:1 | exit |
|
||||
| stmts.go:29:19:29:19 | 9 | stmts.go:29:14:29:19 | ...!=... |
|
||||
| stmts.go:29:19:29:19 | ...!=... is false | stmts.go:31:14:31:14 | i |
|
||||
| stmts.go:29:19:29:19 | ...!=... is true | stmts.go:30:5:30:18 | skip |
|
||||
| stmts.go:30:5:30:18 | skip | stmts.go:23:6:23:9 | true |
|
||||
| stmts.go:31:14:31:14 | i | stmts.go:31:19:31:19 | 4 |
|
||||
| stmts.go:31:14:31:19 | ...>=... | stmts.go:31:19:31:19 | ...>=... is false |
|
||||
| stmts.go:31:14:31:19 | ...>=... | stmts.go:31:19:31:19 | ...>=... is true |
|
||||
| stmts.go:31:19:31:19 | 4 | stmts.go:31:14:31:19 | ...>=... |
|
||||
| stmts.go:31:19:31:19 | ...>=... is false | stmts.go:34:5:34:12 | skip |
|
||||
| stmts.go:31:19:31:19 | ...>=... is true | stmts.go:32:5:32:14 | skip |
|
||||
| stmts.go:32:5:32:14 | skip | stmts.go:23:6:23:9 | true |
|
||||
| stmts.go:34:5:34:12 | skip | stmts.go:24:23:24:23 | i |
|
||||
| stmts.go:39:2:39:2 | assignment to k | stmts.go:41:3:41:12 | skip |
|
||||
| stmts.go:39:2:39:2 | skip | stmts.go:39:7:39:7 | 9 |
|
||||
| stmts.go:39:7:39:7 | 9 | stmts.go:39:2:39:2 | assignment to k |
|
||||
| stmts.go:40:10:40:10 | k | stmts.go:40:10:40:12 | 1 |
|
||||
| stmts.go:40:10:40:12 | 1 | stmts.go:40:10:40:12 | rhs of increment statement |
|
||||
| stmts.go:40:10:40:12 | increment statement | stmts.go:41:3:41:12 | skip |
|
||||
| stmts.go:40:10:40:12 | rhs of increment statement | stmts.go:40:10:40:12 | increment statement |
|
||||
| stmts.go:41:3:41:12 | skip | stmts.go:23:6:23:9 | true |
|
||||
| stmts.go:46:1:46:1 | entry | stmts.go:46:12:46:14 | argument corresponding to ch1 |
|
||||
| stmts.go:46:1:62:1 | function declaration | stmts.go:65:6:65:10 | skip |
|
||||
| stmts.go:46:6:46:10 | skip | stmts.go:46:1:62:1 | function declaration |
|
||||
| stmts.go:46:12:46:14 | argument corresponding to ch1 | stmts.go:46:12:46:14 | initialization of ch1 |
|
||||
| stmts.go:46:12:46:14 | initialization of ch1 | stmts.go:46:26:46:28 | argument corresponding to ch2 |
|
||||
| stmts.go:46:26:46:28 | argument corresponding to ch2 | stmts.go:46:26:46:28 | initialization of ch2 |
|
||||
| stmts.go:46:26:46:28 | initialization of ch2 | stmts.go:47:6:47:6 | skip |
|
||||
| stmts.go:47:6:47:6 | assignment to a | stmts.go:48:6:48:6 | skip |
|
||||
| stmts.go:47:6:47:6 | skip | stmts.go:47:6:47:6 | zero value for a |
|
||||
| stmts.go:47:6:47:6 | zero value for a | stmts.go:47:6:47:6 | assignment to a |
|
||||
| stmts.go:48:6:48:6 | assignment to w | stmts.go:51:9:51:11 | ch1 |
|
||||
| stmts.go:48:6:48:6 | skip | stmts.go:48:6:48:6 | zero value for w |
|
||||
| stmts.go:48:6:48:6 | zero value for w | stmts.go:48:6:48:6 | assignment to w |
|
||||
| stmts.go:50:2:59:2 | select statement | stmts.go:51:7:51:11 | <-... |
|
||||
| stmts.go:50:2:59:2 | select statement | stmts.go:53:17:53:21 | <-... |
|
||||
| stmts.go:50:2:59:2 | select statement | stmts.go:57:3:57:13 | selection of Println |
|
||||
| stmts.go:50:2:59:2 | select statement | stmts.go:58:7:58:15 | send statement |
|
||||
| stmts.go:51:7:51:11 | <-... | stmts.go:52:3:52:13 | selection of Println |
|
||||
| stmts.go:51:9:51:11 | ch1 | stmts.go:53:19:53:21 | ch2 |
|
||||
| stmts.go:52:3:52:13 | selection of Println | stmts.go:52:15:52:30 | "Heard from ch1" |
|
||||
| stmts.go:52:3:52:31 | call to Println | stmts.go:61:2:61:10 | select statement |
|
||||
| stmts.go:52:3:52:31 | call to Println | stmts.go:62:1:62:1 | exit |
|
||||
| stmts.go:52:15:52:30 | "Heard from ch1" | stmts.go:52:3:52:31 | call to Println |
|
||||
| stmts.go:53:7:53:7 | a | stmts.go:53:9:53:9 | 0 |
|
||||
| stmts.go:53:7:53:10 | assignment to element | stmts.go:53:7:53:21 | ... = ...[1] |
|
||||
| stmts.go:53:7:53:10 | skip | stmts.go:53:13:53:13 | skip |
|
||||
| stmts.go:53:7:53:10 | skip | stmts.go:62:1:62:1 | exit |
|
||||
| stmts.go:53:7:53:21 | ... = ...[0] | stmts.go:53:7:53:10 | assignment to element |
|
||||
| stmts.go:53:7:53:21 | ... = ...[1] | stmts.go:53:13:53:13 | assignment to w |
|
||||
| stmts.go:53:9:53:9 | 0 | stmts.go:53:7:53:10 | skip |
|
||||
| stmts.go:53:13:53:13 | assignment to w | stmts.go:54:3:54:13 | selection of Println |
|
||||
| stmts.go:53:13:53:13 | skip | stmts.go:53:7:53:21 | ... = ...[0] |
|
||||
| stmts.go:53:17:53:21 | <-... | stmts.go:53:7:53:7 | a |
|
||||
| stmts.go:53:19:53:21 | ch2 | stmts.go:58:7:58:9 | ch1 |
|
||||
| stmts.go:54:3:54:13 | selection of Println | stmts.go:54:15:54:15 | a |
|
||||
| stmts.go:54:3:54:16 | call to Println | stmts.go:55:3:55:13 | selection of Println |
|
||||
| stmts.go:54:3:54:16 | call to Println | stmts.go:62:1:62:1 | exit |
|
||||
| stmts.go:54:15:54:15 | a | stmts.go:54:3:54:16 | call to Println |
|
||||
| stmts.go:55:3:55:13 | selection of Println | stmts.go:55:15:55:15 | w |
|
||||
| stmts.go:55:3:55:16 | call to Println | stmts.go:61:2:61:10 | select statement |
|
||||
| stmts.go:55:3:55:16 | call to Println | stmts.go:62:1:62:1 | exit |
|
||||
| stmts.go:55:15:55:15 | w | stmts.go:55:3:55:16 | call to Println |
|
||||
| stmts.go:57:3:57:13 | selection of Println | stmts.go:57:3:57:15 | call to Println |
|
||||
| stmts.go:57:3:57:15 | call to Println | stmts.go:61:2:61:10 | select statement |
|
||||
| stmts.go:57:3:57:15 | call to Println | stmts.go:62:1:62:1 | exit |
|
||||
| stmts.go:58:2:58:16 | skip | stmts.go:61:2:61:10 | select statement |
|
||||
| stmts.go:58:7:58:9 | ch1 | stmts.go:58:14:58:15 | 42 |
|
||||
| stmts.go:58:7:58:15 | send statement | stmts.go:58:2:58:16 | skip |
|
||||
| stmts.go:58:7:58:15 | send statement | stmts.go:62:1:62:1 | exit |
|
||||
| stmts.go:58:14:58:15 | 42 | stmts.go:50:2:59:2 | select statement |
|
||||
| stmts.go:65:1:65:1 | entry | stmts.go:65:12:65:12 | argument corresponding to x |
|
||||
| stmts.go:65:1:72:1 | function declaration | stmts.go:75:6:75:10 | skip |
|
||||
| stmts.go:65:6:65:10 | skip | stmts.go:65:1:72:1 | function declaration |
|
||||
| stmts.go:65:12:65:12 | argument corresponding to x | stmts.go:65:12:65:12 | initialization of x |
|
||||
| stmts.go:65:12:65:12 | initialization of x | stmts.go:66:5:66:5 | x |
|
||||
| stmts.go:66:5:66:5 | x | stmts.go:66:9:66:9 | 0 |
|
||||
| stmts.go:66:5:66:9 | ...>... | stmts.go:66:9:66:9 | ...>... is false |
|
||||
| stmts.go:66:5:66:9 | ...>... | stmts.go:66:9:66:9 | ...>... is true |
|
||||
| stmts.go:66:9:66:9 | 0 | stmts.go:66:5:66:9 | ...>... |
|
||||
| stmts.go:66:9:66:9 | ...>... is false | stmts.go:69:9:69:34 | function literal |
|
||||
| stmts.go:66:9:66:9 | ...>... is true | stmts.go:67:9:67:33 | function literal |
|
||||
| stmts.go:67:3:67:35 | defer statement | stmts.go:71:9:71:10 | 42 |
|
||||
| stmts.go:67:9:67:9 | entry | stmts.go:67:18:67:28 | selection of Println |
|
||||
| stmts.go:67:9:67:34 | function literal | stmts.go:67:3:67:36 | defer statement |
|
||||
| stmts.go:67:9:67:36 | function call | stmts.go:70:1:70:1 | exit |
|
||||
| stmts.go:67:18:67:28 | selection of Println | stmts.go:67:31:67:31 | x |
|
||||
| stmts.go:67:18:67:32 | call to Println | stmts.go:67:34:67:34 | exit |
|
||||
| stmts.go:67:30:67:31 | -... | stmts.go:67:18:67:32 | call to Println |
|
||||
| stmts.go:67:31:67:31 | x | stmts.go:67:30:67:31 | -... |
|
||||
| stmts.go:69:2:69:10 | return statement | stmts.go:65:9:65:35 | function call |
|
||||
| stmts.go:69:2:69:10 | return statement | stmts.go:67:9:67:36 | function call |
|
||||
| stmts.go:69:9:69:10 | 42 | stmts.go:69:2:69:10 | return statement |
|
||||
| stmts.go:73:1:73:1 | entry | stmts.go:73:12:73:12 | argument corresponding to x |
|
||||
| stmts.go:73:1:107:1 | function declaration | stmts.go:110:6:110:10 | skip |
|
||||
| stmts.go:73:6:73:10 | skip | stmts.go:73:1:107:1 | function declaration |
|
||||
| stmts.go:73:12:73:12 | argument corresponding to x | stmts.go:73:12:73:12 | initialization of x |
|
||||
| stmts.go:73:12:73:12 | initialization of x | stmts.go:74:9:74:9 | x |
|
||||
| stmts.go:74:9:74:9 | x | stmts.go:77:9:77:9 | skip |
|
||||
| stmts.go:77:9:77:9 | assignment to y | stmts.go:77:17:77:17 | y |
|
||||
| stmts.go:77:9:77:9 | skip | stmts.go:77:14:77:14 | x |
|
||||
| stmts.go:77:14:77:14 | x | stmts.go:77:9:77:9 | assignment to y |
|
||||
| stmts.go:77:17:77:17 | y | stmts.go:77:21:77:22 | 19 |
|
||||
| stmts.go:77:17:77:22 | ...-... | stmts.go:79:3:79:7 | test5 |
|
||||
| stmts.go:77:21:77:22 | 19 | stmts.go:77:17:77:22 | ...-... |
|
||||
| stmts.go:79:3:79:7 | test5 | stmts.go:79:9:79:13 | false |
|
||||
| stmts.go:79:3:79:14 | call to test5 | stmts.go:107:1:107:1 | exit |
|
||||
| stmts.go:79:9:79:13 | false | stmts.go:79:3:79:14 | call to test5 |
|
||||
| stmts.go:82:9:82:9 | x | stmts.go:83:7:83:7 | 1 |
|
||||
| stmts.go:82:9:82:9 | x | stmts.go:88:9:88:9 | x |
|
||||
| stmts.go:83:2:83:8 | skip | stmts.go:88:9:88:9 | x |
|
||||
| stmts.go:83:7:83:7 | 1 | stmts.go:83:7:83:7 | case 1 |
|
||||
| stmts.go:83:7:83:7 | case 1 | stmts.go:83:2:83:8 | skip |
|
||||
| stmts.go:83:7:83:7 | case 1 | stmts.go:84:7:84:7 | 2 |
|
||||
| stmts.go:84:7:84:7 | 2 | stmts.go:84:7:84:7 | case 2 |
|
||||
| stmts.go:84:7:84:7 | case 2 | stmts.go:84:10:84:10 | 3 |
|
||||
| stmts.go:84:7:84:7 | case 2 | stmts.go:85:3:85:7 | test5 |
|
||||
| stmts.go:84:10:84:10 | 3 | stmts.go:84:10:84:10 | case 3 |
|
||||
| stmts.go:84:10:84:10 | case 3 | stmts.go:85:3:85:7 | test5 |
|
||||
| stmts.go:84:10:84:10 | case 3 | stmts.go:88:9:88:9 | x |
|
||||
| stmts.go:85:3:85:7 | test5 | stmts.go:85:9:85:12 | true |
|
||||
| stmts.go:85:9:85:12 | true | stmts.go:85:3:85:13 | call to test5 |
|
||||
| stmts.go:88:9:88:9 | x | stmts.go:89:7:89:7 | 1 |
|
||||
| stmts.go:88:9:88:9 | x | stmts.go:96:9:96:9 | x |
|
||||
| stmts.go:89:7:89:7 | 1 | stmts.go:89:7:89:7 | case 1 |
|
||||
| stmts.go:89:7:89:7 | case 1 | stmts.go:90:3:90:7 | test5 |
|
||||
| stmts.go:89:7:89:7 | case 1 | stmts.go:92:7:92:11 | ...-... |
|
||||
| stmts.go:90:3:90:7 | test5 | stmts.go:90:9:90:13 | false |
|
||||
| stmts.go:90:9:90:13 | false | stmts.go:90:3:90:14 | call to test5 |
|
||||
| stmts.go:91:3:91:13 | skip | stmts.go:93:3:93:7 | test5 |
|
||||
| stmts.go:92:7:92:11 | ...-... | stmts.go:92:7:92:11 | case ...-... |
|
||||
| stmts.go:92:7:92:11 | case ...-... | stmts.go:93:3:93:7 | test5 |
|
||||
| stmts.go:92:7:92:11 | case ...-... | stmts.go:96:9:96:9 | x |
|
||||
| stmts.go:93:3:93:7 | test5 | stmts.go:93:9:93:12 | true |
|
||||
| stmts.go:93:9:93:12 | true | stmts.go:93:3:93:13 | call to test5 |
|
||||
| stmts.go:96:9:96:9 | x | stmts.go:98:7:98:7 | 2 |
|
||||
| stmts.go:97:2:97:9 | skip | stmts.go:102:2:102:2 | true |
|
||||
| stmts.go:98:7:98:7 | 2 | stmts.go:98:7:98:7 | case 2 |
|
||||
| stmts.go:98:7:98:7 | case 2 | stmts.go:97:2:97:9 | skip |
|
||||
| stmts.go:98:7:98:7 | case 2 | stmts.go:99:3:99:7 | test5 |
|
||||
| stmts.go:99:3:99:7 | test5 | stmts.go:99:9:99:12 | true |
|
||||
| stmts.go:99:9:99:12 | true | stmts.go:99:3:99:13 | call to test5 |
|
||||
| stmts.go:102:2:102:2 | true | stmts.go:105:7:105:10 | true |
|
||||
| stmts.go:105:7:105:10 | case true | stmts.go:105:10:105:10 | true is false |
|
||||
| stmts.go:105:7:105:10 | case true | stmts.go:105:10:105:10 | true is true |
|
||||
| stmts.go:105:7:105:10 | true | stmts.go:105:7:105:10 | case true |
|
||||
| stmts.go:105:10:105:10 | true is false | stmts.go:104:3:104:7 | skip |
|
||||
| stmts.go:105:10:105:10 | true is true | stmts.go:105:2:105:11 | skip |
|
||||
| stmts.go:110:1:110:1 | entry | stmts.go:110:12:110:12 | argument corresponding to x |
|
||||
| stmts.go:110:1:123:1 | function declaration | stmts.go:126:6:126:11 | skip |
|
||||
| stmts.go:110:6:110:10 | skip | stmts.go:110:1:123:1 | function declaration |
|
||||
| stmts.go:110:12:110:12 | argument corresponding to x | stmts.go:110:12:110:12 | initialization of x |
|
||||
| stmts.go:110:12:110:12 | initialization of x | stmts.go:111:9:111:9 | skip |
|
||||
| stmts.go:111:9:111:9 | assignment to y | stmts.go:112:7:112:11 | case error |
|
||||
| stmts.go:111:9:111:9 | assignment to y | stmts.go:119:9:119:9 | skip |
|
||||
| stmts.go:111:9:111:9 | skip | stmts.go:111:14:111:14 | x |
|
||||
| stmts.go:111:14:111:14 | x | stmts.go:111:14:111:21 | type assertion |
|
||||
| stmts.go:111:14:111:21 | type assertion | stmts.go:111:9:111:9 | assignment to y |
|
||||
| stmts.go:112:7:112:11 | case error | stmts.go:112:14:112:19 | case string |
|
||||
| stmts.go:112:7:112:11 | case error | stmts.go:113:3:113:13 | selection of Println |
|
||||
| stmts.go:112:14:112:19 | case string | stmts.go:113:3:113:13 | selection of Println |
|
||||
| stmts.go:112:14:112:19 | case string | stmts.go:114:7:114:13 | case float32 |
|
||||
| stmts.go:113:3:113:13 | selection of Println | stmts.go:113:15:113:15 | y |
|
||||
| stmts.go:113:3:113:16 | call to Println | stmts.go:119:9:119:9 | skip |
|
||||
| stmts.go:113:3:113:16 | call to Println | stmts.go:123:1:123:1 | exit |
|
||||
| stmts.go:113:15:113:15 | y | stmts.go:113:3:113:16 | call to Println |
|
||||
| stmts.go:114:7:114:13 | case float32 | stmts.go:115:3:115:7 | test5 |
|
||||
| stmts.go:114:7:114:13 | case float32 | stmts.go:119:9:119:9 | skip |
|
||||
| stmts.go:115:3:115:7 | test5 | stmts.go:115:9:115:12 | true |
|
||||
| stmts.go:115:3:115:13 | call to test5 | stmts.go:123:1:123:1 | exit |
|
||||
| stmts.go:115:9:115:12 | true | stmts.go:115:3:115:13 | call to test5 |
|
||||
| stmts.go:116:3:116:7 | test5 | stmts.go:116:9:116:13 | false |
|
||||
| stmts.go:116:9:116:13 | false | stmts.go:116:3:116:14 | call to test5 |
|
||||
| stmts.go:119:9:119:9 | assignment to y | stmts.go:119:17:119:17 | y |
|
||||
| stmts.go:119:9:119:9 | skip | stmts.go:119:14:119:14 | x |
|
||||
| stmts.go:119:14:119:14 | x | stmts.go:119:9:119:9 | assignment to y |
|
||||
| stmts.go:119:17:119:17 | y | stmts.go:119:17:119:24 | type assertion |
|
||||
| stmts.go:119:17:119:24 | type assertion | stmts.go:121:3:121:7 | test5 |
|
||||
| stmts.go:121:3:121:7 | test5 | stmts.go:121:9:121:13 | false |
|
||||
| stmts.go:121:3:121:14 | call to test5 | stmts.go:123:1:123:1 | exit |
|
||||
| stmts.go:121:9:121:13 | false | stmts.go:121:3:121:14 | call to test5 |
|
||||
| stmts.go:126:1:126:1 | entry | stmts.go:126:13:126:13 | argument corresponding to f |
|
||||
| stmts.go:126:1:128:1 | function declaration | stmts.go:131:6:131:11 | skip |
|
||||
| stmts.go:126:6:126:11 | skip | stmts.go:126:1:128:1 | function declaration |
|
||||
| stmts.go:126:13:126:13 | argument corresponding to f | stmts.go:126:13:126:13 | initialization of f |
|
||||
| stmts.go:126:13:126:13 | initialization of f | stmts.go:127:5:127:5 | f |
|
||||
| stmts.go:127:2:127:7 | go statement | stmts.go:128:1:128:1 | exit |
|
||||
| stmts.go:127:5:127:5 | f | stmts.go:127:2:127:7 | go statement |
|
||||
| stmts.go:131:1:131:1 | entry | stmts.go:131:13:131:14 | argument corresponding to xs |
|
||||
| stmts.go:131:1:145:1 | function declaration | stmts.go:0:0:0:0 | exit |
|
||||
| stmts.go:131:6:131:11 | skip | stmts.go:131:1:145:1 | function declaration |
|
||||
| stmts.go:131:13:131:14 | argument corresponding to xs | stmts.go:131:13:131:14 | initialization of xs |
|
||||
| stmts.go:131:13:131:14 | initialization of xs | stmts.go:132:17:132:18 | xs |
|
||||
| stmts.go:132:2:137:2 | range statement[0] | stmts.go:132:6:132:6 | assignment to x |
|
||||
| stmts.go:132:6:132:6 | assignment to x | stmts.go:133:6:133:6 | x |
|
||||
| stmts.go:132:6:132:6 | skip | stmts.go:132:2:137:2 | range statement[0] |
|
||||
| stmts.go:132:17:132:18 | next key-value pair in range | stmts.go:132:6:132:6 | skip |
|
||||
| stmts.go:132:17:132:18 | next key-value pair in range | stmts.go:139:20:139:21 | xs |
|
||||
| stmts.go:132:17:132:18 | xs | stmts.go:132:17:132:18 | next key-value pair in range |
|
||||
| stmts.go:133:6:133:6 | x | stmts.go:133:10:133:10 | 5 |
|
||||
| stmts.go:133:6:133:10 | ...>... | stmts.go:133:10:133:10 | ...>... is false |
|
||||
| stmts.go:133:6:133:10 | ...>... | stmts.go:133:10:133:10 | ...>... is true |
|
||||
| stmts.go:133:10:133:10 | 5 | stmts.go:133:6:133:10 | ...>... |
|
||||
| stmts.go:133:10:133:10 | ...>... is false | stmts.go:136:3:136:11 | selection of Print |
|
||||
| stmts.go:133:10:133:10 | ...>... is true | stmts.go:134:4:134:11 | skip |
|
||||
| stmts.go:134:4:134:11 | skip | stmts.go:132:17:132:18 | next key-value pair in range |
|
||||
| stmts.go:136:3:136:11 | selection of Print | stmts.go:136:13:136:13 | x |
|
||||
| stmts.go:136:3:136:14 | call to Print | stmts.go:132:17:132:18 | next key-value pair in range |
|
||||
| stmts.go:136:3:136:14 | call to Print | stmts.go:145:1:145:1 | exit |
|
||||
| stmts.go:136:13:136:13 | x | stmts.go:136:3:136:14 | call to Print |
|
||||
| stmts.go:139:2:141:2 | range statement[0] | stmts.go:139:2:141:2 | range statement[1] |
|
||||
| stmts.go:139:2:141:2 | range statement[1] | stmts.go:139:6:139:6 | assignment to i |
|
||||
| stmts.go:139:6:139:6 | assignment to i | stmts.go:139:9:139:9 | assignment to v |
|
||||
| stmts.go:139:6:139:6 | skip | stmts.go:139:9:139:9 | skip |
|
||||
| stmts.go:139:9:139:9 | assignment to v | stmts.go:140:3:140:11 | selection of Print |
|
||||
| stmts.go:139:9:139:9 | skip | stmts.go:139:2:141:2 | range statement[0] |
|
||||
| stmts.go:139:20:139:21 | next key-value pair in range | stmts.go:139:6:139:6 | skip |
|
||||
| stmts.go:139:20:139:21 | next key-value pair in range | stmts.go:143:12:143:13 | xs |
|
||||
| stmts.go:139:20:139:21 | xs | stmts.go:139:20:139:21 | next key-value pair in range |
|
||||
| stmts.go:140:3:140:11 | selection of Print | stmts.go:140:13:140:13 | i |
|
||||
| stmts.go:140:3:140:17 | call to Print | stmts.go:139:20:139:21 | next key-value pair in range |
|
||||
| stmts.go:140:3:140:17 | call to Print | stmts.go:145:1:145:1 | exit |
|
||||
| stmts.go:140:13:140:13 | i | stmts.go:140:16:140:16 | v |
|
||||
| stmts.go:140:16:140:16 | v | stmts.go:140:3:140:17 | call to Print |
|
||||
| stmts.go:143:12:143:13 | next key-value pair in range | stmts.go:143:15:144:2 | skip |
|
||||
| stmts.go:143:12:143:13 | next key-value pair in range | stmts.go:145:1:145:1 | exit |
|
||||
| stmts.go:143:12:143:13 | xs | stmts.go:143:12:143:13 | next key-value pair in range |
|
||||
| stmts.go:143:15:144:2 | skip | stmts.go:143:12:143:13 | next key-value pair in range |
|
||||
| stmts.go:67:9:67:33 | function literal | stmts.go:67:3:67:35 | defer statement |
|
||||
| stmts.go:67:9:67:35 | function call | stmts.go:72:1:72:1 | exit |
|
||||
| stmts.go:67:18:67:28 | selection of Println | stmts.go:67:30:67:30 | x |
|
||||
| stmts.go:67:18:67:31 | call to Println | stmts.go:67:33:67:33 | exit |
|
||||
| stmts.go:67:30:67:30 | x | stmts.go:67:18:67:31 | call to Println |
|
||||
| stmts.go:69:3:69:36 | defer statement | stmts.go:71:9:71:10 | 42 |
|
||||
| stmts.go:69:9:69:9 | entry | stmts.go:69:18:69:28 | selection of Println |
|
||||
| stmts.go:69:9:69:34 | function literal | stmts.go:69:3:69:36 | defer statement |
|
||||
| stmts.go:69:9:69:36 | function call | stmts.go:72:1:72:1 | exit |
|
||||
| stmts.go:69:18:69:28 | selection of Println | stmts.go:69:31:69:31 | x |
|
||||
| stmts.go:69:18:69:32 | call to Println | stmts.go:69:34:69:34 | exit |
|
||||
| stmts.go:69:30:69:31 | -... | stmts.go:69:18:69:32 | call to Println |
|
||||
| stmts.go:69:31:69:31 | x | stmts.go:69:30:69:31 | -... |
|
||||
| stmts.go:71:2:71:10 | return statement | stmts.go:67:9:67:35 | function call |
|
||||
| stmts.go:71:2:71:10 | return statement | stmts.go:69:9:69:36 | function call |
|
||||
| stmts.go:71:9:71:10 | 42 | stmts.go:71:2:71:10 | return statement |
|
||||
| stmts.go:75:1:75:1 | entry | stmts.go:75:12:75:12 | argument corresponding to x |
|
||||
| stmts.go:75:1:109:1 | function declaration | stmts.go:112:6:112:10 | skip |
|
||||
| stmts.go:75:6:75:10 | skip | stmts.go:75:1:109:1 | function declaration |
|
||||
| stmts.go:75:12:75:12 | argument corresponding to x | stmts.go:75:12:75:12 | initialization of x |
|
||||
| stmts.go:75:12:75:12 | initialization of x | stmts.go:76:9:76:9 | x |
|
||||
| stmts.go:76:9:76:9 | x | stmts.go:79:9:79:9 | skip |
|
||||
| stmts.go:79:9:79:9 | assignment to y | stmts.go:79:17:79:17 | y |
|
||||
| stmts.go:79:9:79:9 | skip | stmts.go:79:14:79:14 | x |
|
||||
| stmts.go:79:14:79:14 | x | stmts.go:79:9:79:9 | assignment to y |
|
||||
| stmts.go:79:17:79:17 | y | stmts.go:79:21:79:22 | 19 |
|
||||
| stmts.go:79:17:79:22 | ...-... | stmts.go:81:3:81:7 | test5 |
|
||||
| stmts.go:79:21:79:22 | 19 | stmts.go:79:17:79:22 | ...-... |
|
||||
| stmts.go:81:3:81:7 | test5 | stmts.go:81:9:81:13 | false |
|
||||
| stmts.go:81:3:81:14 | call to test5 | stmts.go:109:1:109:1 | exit |
|
||||
| stmts.go:81:9:81:13 | false | stmts.go:81:3:81:14 | call to test5 |
|
||||
| stmts.go:84:9:84:9 | x | stmts.go:85:7:85:7 | 1 |
|
||||
| stmts.go:84:9:84:9 | x | stmts.go:90:9:90:9 | x |
|
||||
| stmts.go:85:2:85:8 | skip | stmts.go:90:9:90:9 | x |
|
||||
| stmts.go:85:7:85:7 | 1 | stmts.go:85:7:85:7 | case 1 |
|
||||
| stmts.go:85:7:85:7 | case 1 | stmts.go:85:2:85:8 | skip |
|
||||
| stmts.go:85:7:85:7 | case 1 | stmts.go:86:7:86:7 | 2 |
|
||||
| stmts.go:86:7:86:7 | 2 | stmts.go:86:7:86:7 | case 2 |
|
||||
| stmts.go:86:7:86:7 | case 2 | stmts.go:86:10:86:10 | 3 |
|
||||
| stmts.go:86:7:86:7 | case 2 | stmts.go:87:3:87:7 | test5 |
|
||||
| stmts.go:86:10:86:10 | 3 | stmts.go:86:10:86:10 | case 3 |
|
||||
| stmts.go:86:10:86:10 | case 3 | stmts.go:87:3:87:7 | test5 |
|
||||
| stmts.go:86:10:86:10 | case 3 | stmts.go:90:9:90:9 | x |
|
||||
| stmts.go:87:3:87:7 | test5 | stmts.go:87:9:87:12 | true |
|
||||
| stmts.go:87:9:87:12 | true | stmts.go:87:3:87:13 | call to test5 |
|
||||
| stmts.go:90:9:90:9 | x | stmts.go:91:7:91:7 | 1 |
|
||||
| stmts.go:90:9:90:9 | x | stmts.go:98:9:98:9 | x |
|
||||
| stmts.go:91:7:91:7 | 1 | stmts.go:91:7:91:7 | case 1 |
|
||||
| stmts.go:91:7:91:7 | case 1 | stmts.go:92:3:92:7 | test5 |
|
||||
| stmts.go:91:7:91:7 | case 1 | stmts.go:94:7:94:11 | ...-... |
|
||||
| stmts.go:92:3:92:7 | test5 | stmts.go:92:9:92:13 | false |
|
||||
| stmts.go:92:9:92:13 | false | stmts.go:92:3:92:14 | call to test5 |
|
||||
| stmts.go:93:3:93:13 | skip | stmts.go:95:3:95:7 | test5 |
|
||||
| stmts.go:94:7:94:11 | ...-... | stmts.go:94:7:94:11 | case ...-... |
|
||||
| stmts.go:94:7:94:11 | case ...-... | stmts.go:95:3:95:7 | test5 |
|
||||
| stmts.go:94:7:94:11 | case ...-... | stmts.go:98:9:98:9 | x |
|
||||
| stmts.go:95:3:95:7 | test5 | stmts.go:95:9:95:12 | true |
|
||||
| stmts.go:95:9:95:12 | true | stmts.go:95:3:95:13 | call to test5 |
|
||||
| stmts.go:98:9:98:9 | x | stmts.go:100:7:100:7 | 2 |
|
||||
| stmts.go:99:2:99:9 | skip | stmts.go:104:2:104:2 | true |
|
||||
| stmts.go:100:7:100:7 | 2 | stmts.go:100:7:100:7 | case 2 |
|
||||
| stmts.go:100:7:100:7 | case 2 | stmts.go:99:2:99:9 | skip |
|
||||
| stmts.go:100:7:100:7 | case 2 | stmts.go:101:3:101:7 | test5 |
|
||||
| stmts.go:101:3:101:7 | test5 | stmts.go:101:9:101:12 | true |
|
||||
| stmts.go:101:9:101:12 | true | stmts.go:101:3:101:13 | call to test5 |
|
||||
| stmts.go:104:2:104:2 | true | stmts.go:107:7:107:10 | true |
|
||||
| stmts.go:107:7:107:10 | case true | stmts.go:107:10:107:10 | true is false |
|
||||
| stmts.go:107:7:107:10 | case true | stmts.go:107:10:107:10 | true is true |
|
||||
| stmts.go:107:7:107:10 | true | stmts.go:107:7:107:10 | case true |
|
||||
| stmts.go:107:10:107:10 | true is false | stmts.go:106:3:106:7 | skip |
|
||||
| stmts.go:107:10:107:10 | true is true | stmts.go:107:2:107:11 | skip |
|
||||
| stmts.go:112:1:112:1 | entry | stmts.go:112:12:112:12 | argument corresponding to x |
|
||||
| stmts.go:112:1:125:1 | function declaration | stmts.go:128:6:128:11 | skip |
|
||||
| stmts.go:112:6:112:10 | skip | stmts.go:112:1:125:1 | function declaration |
|
||||
| stmts.go:112:12:112:12 | argument corresponding to x | stmts.go:112:12:112:12 | initialization of x |
|
||||
| stmts.go:112:12:112:12 | initialization of x | stmts.go:113:9:113:9 | skip |
|
||||
| stmts.go:113:9:113:9 | assignment to y | stmts.go:114:7:114:11 | case error |
|
||||
| stmts.go:113:9:113:9 | assignment to y | stmts.go:121:9:121:9 | skip |
|
||||
| stmts.go:113:9:113:9 | skip | stmts.go:113:14:113:14 | x |
|
||||
| stmts.go:113:14:113:14 | x | stmts.go:113:14:113:21 | type assertion |
|
||||
| stmts.go:113:14:113:21 | type assertion | stmts.go:113:9:113:9 | assignment to y |
|
||||
| stmts.go:114:7:114:11 | case error | stmts.go:114:14:114:19 | case string |
|
||||
| stmts.go:114:7:114:11 | case error | stmts.go:115:3:115:13 | selection of Println |
|
||||
| stmts.go:114:14:114:19 | case string | stmts.go:115:3:115:13 | selection of Println |
|
||||
| stmts.go:114:14:114:19 | case string | stmts.go:116:7:116:13 | case float32 |
|
||||
| stmts.go:115:3:115:13 | selection of Println | stmts.go:115:15:115:15 | y |
|
||||
| stmts.go:115:3:115:16 | call to Println | stmts.go:121:9:121:9 | skip |
|
||||
| stmts.go:115:3:115:16 | call to Println | stmts.go:125:1:125:1 | exit |
|
||||
| stmts.go:115:15:115:15 | y | stmts.go:115:3:115:16 | call to Println |
|
||||
| stmts.go:116:7:116:13 | case float32 | stmts.go:117:3:117:7 | test5 |
|
||||
| stmts.go:116:7:116:13 | case float32 | stmts.go:121:9:121:9 | skip |
|
||||
| stmts.go:117:3:117:7 | test5 | stmts.go:117:9:117:12 | true |
|
||||
| stmts.go:117:3:117:13 | call to test5 | stmts.go:125:1:125:1 | exit |
|
||||
| stmts.go:117:9:117:12 | true | stmts.go:117:3:117:13 | call to test5 |
|
||||
| stmts.go:118:3:118:7 | test5 | stmts.go:118:9:118:13 | false |
|
||||
| stmts.go:118:9:118:13 | false | stmts.go:118:3:118:14 | call to test5 |
|
||||
| stmts.go:121:9:121:9 | assignment to y | stmts.go:121:17:121:17 | y |
|
||||
| stmts.go:121:9:121:9 | skip | stmts.go:121:14:121:14 | x |
|
||||
| stmts.go:121:14:121:14 | x | stmts.go:121:9:121:9 | assignment to y |
|
||||
| stmts.go:121:17:121:17 | y | stmts.go:121:17:121:24 | type assertion |
|
||||
| stmts.go:121:17:121:24 | type assertion | stmts.go:123:3:123:7 | test5 |
|
||||
| stmts.go:123:3:123:7 | test5 | stmts.go:123:9:123:13 | false |
|
||||
| stmts.go:123:3:123:14 | call to test5 | stmts.go:125:1:125:1 | exit |
|
||||
| stmts.go:123:9:123:13 | false | stmts.go:123:3:123:14 | call to test5 |
|
||||
| stmts.go:128:1:128:1 | entry | stmts.go:128:13:128:13 | argument corresponding to f |
|
||||
| stmts.go:128:1:130:1 | function declaration | stmts.go:133:6:133:11 | skip |
|
||||
| stmts.go:128:6:128:11 | skip | stmts.go:128:1:130:1 | function declaration |
|
||||
| stmts.go:128:13:128:13 | argument corresponding to f | stmts.go:128:13:128:13 | initialization of f |
|
||||
| stmts.go:128:13:128:13 | initialization of f | stmts.go:129:5:129:5 | f |
|
||||
| stmts.go:129:2:129:7 | go statement | stmts.go:130:1:130:1 | exit |
|
||||
| stmts.go:129:5:129:5 | f | stmts.go:129:2:129:7 | go statement |
|
||||
| stmts.go:133:1:133:1 | entry | stmts.go:133:13:133:14 | argument corresponding to xs |
|
||||
| stmts.go:133:1:147:1 | function declaration | stmts.go:0:0:0:0 | exit |
|
||||
| stmts.go:133:6:133:11 | skip | stmts.go:133:1:147:1 | function declaration |
|
||||
| stmts.go:133:13:133:14 | argument corresponding to xs | stmts.go:133:13:133:14 | initialization of xs |
|
||||
| stmts.go:133:13:133:14 | initialization of xs | stmts.go:134:17:134:18 | xs |
|
||||
| stmts.go:134:2:139:2 | range statement[0] | stmts.go:134:6:134:6 | assignment to x |
|
||||
| stmts.go:134:6:134:6 | assignment to x | stmts.go:135:6:135:6 | x |
|
||||
| stmts.go:134:6:134:6 | skip | stmts.go:134:2:139:2 | range statement[0] |
|
||||
| stmts.go:134:17:134:18 | next key-value pair in range | stmts.go:134:6:134:6 | skip |
|
||||
| stmts.go:134:17:134:18 | next key-value pair in range | stmts.go:141:20:141:21 | xs |
|
||||
| stmts.go:134:17:134:18 | xs | stmts.go:134:17:134:18 | next key-value pair in range |
|
||||
| stmts.go:135:6:135:6 | x | stmts.go:135:10:135:10 | 5 |
|
||||
| stmts.go:135:6:135:10 | ...>... | stmts.go:135:10:135:10 | ...>... is false |
|
||||
| stmts.go:135:6:135:10 | ...>... | stmts.go:135:10:135:10 | ...>... is true |
|
||||
| stmts.go:135:10:135:10 | 5 | stmts.go:135:6:135:10 | ...>... |
|
||||
| stmts.go:135:10:135:10 | ...>... is false | stmts.go:138:3:138:11 | selection of Print |
|
||||
| stmts.go:135:10:135:10 | ...>... is true | stmts.go:136:4:136:11 | skip |
|
||||
| stmts.go:136:4:136:11 | skip | stmts.go:134:17:134:18 | next key-value pair in range |
|
||||
| stmts.go:138:3:138:11 | selection of Print | stmts.go:138:13:138:13 | x |
|
||||
| stmts.go:138:3:138:14 | call to Print | stmts.go:134:17:134:18 | next key-value pair in range |
|
||||
| stmts.go:138:3:138:14 | call to Print | stmts.go:147:1:147:1 | exit |
|
||||
| stmts.go:138:13:138:13 | x | stmts.go:138:3:138:14 | call to Print |
|
||||
| stmts.go:141:2:143:2 | range statement[0] | stmts.go:141:2:143:2 | range statement[1] |
|
||||
| stmts.go:141:2:143:2 | range statement[1] | stmts.go:141:6:141:6 | assignment to i |
|
||||
| stmts.go:141:6:141:6 | assignment to i | stmts.go:141:9:141:9 | assignment to v |
|
||||
| stmts.go:141:6:141:6 | skip | stmts.go:141:9:141:9 | skip |
|
||||
| stmts.go:141:9:141:9 | assignment to v | stmts.go:142:3:142:11 | selection of Print |
|
||||
| stmts.go:141:9:141:9 | skip | stmts.go:141:2:143:2 | range statement[0] |
|
||||
| stmts.go:141:20:141:21 | next key-value pair in range | stmts.go:141:6:141:6 | skip |
|
||||
| stmts.go:141:20:141:21 | next key-value pair in range | stmts.go:145:12:145:13 | xs |
|
||||
| stmts.go:141:20:141:21 | xs | stmts.go:141:20:141:21 | next key-value pair in range |
|
||||
| stmts.go:142:3:142:11 | selection of Print | stmts.go:142:13:142:13 | i |
|
||||
| stmts.go:142:3:142:17 | call to Print | stmts.go:141:20:141:21 | next key-value pair in range |
|
||||
| stmts.go:142:3:142:17 | call to Print | stmts.go:147:1:147:1 | exit |
|
||||
| stmts.go:142:13:142:13 | i | stmts.go:142:16:142:16 | v |
|
||||
| stmts.go:142:16:142:16 | v | stmts.go:142:3:142:17 | call to Print |
|
||||
| stmts.go:145:12:145:13 | next key-value pair in range | stmts.go:145:15:146:2 | skip |
|
||||
| stmts.go:145:12:145:13 | next key-value pair in range | stmts.go:147:1:147:1 | exit |
|
||||
| stmts.go:145:12:145:13 | xs | stmts.go:145:12:145:13 | next key-value pair in range |
|
||||
| stmts.go:145:15:146:2 | skip | stmts.go:145:12:145:13 | next key-value pair in range |
|
||||
| tst.go:0:0:0:0 | entry | tst.go:3:6:3:10 | skip |
|
||||
| tst.go:3:1:3:1 | entry | tst.go:3:12:3:12 | argument corresponding to x |
|
||||
| tst.go:3:1:12:1 | function declaration | tst.go:14:6:14:11 | skip |
|
||||
@@ -1278,11 +1278,11 @@
|
||||
| tst.go:18:38:18:38 | ...<... is false | tst.go:21:1:21:1 | exit |
|
||||
| tst.go:18:38:18:38 | ...<... is true | tst.go:18:2:18:39 | skip |
|
||||
| tst.go:23:1:23:1 | entry | tst.go:24:2:24:2 | true |
|
||||
| tst.go:23:1:25:1 | function declaration | tst.go:27:6:27:11 | skip |
|
||||
| tst.go:23:6:23:11 | skip | tst.go:23:1:25:1 | function declaration |
|
||||
| tst.go:24:2:24:2 | true | tst.go:25:1:25:1 | exit |
|
||||
| tst.go:27:1:27:1 | entry | tst.go:28:2:28:2 | true |
|
||||
| tst.go:27:1:31:1 | function declaration | tst.go:0:0:0:0 | exit |
|
||||
| tst.go:27:6:27:11 | skip | tst.go:27:1:31:1 | function declaration |
|
||||
| tst.go:28:2:28:2 | true | tst.go:29:2:29:9 | skip |
|
||||
| tst.go:29:2:29:9 | skip | tst.go:31:1:31:1 | exit |
|
||||
| tst.go:23:1:26:1 | function declaration | tst.go:28:6:28:11 | skip |
|
||||
| tst.go:23:6:23:11 | skip | tst.go:23:1:26:1 | function declaration |
|
||||
| tst.go:24:2:24:2 | true | tst.go:26:1:26:1 | exit |
|
||||
| tst.go:28:1:28:1 | entry | tst.go:29:2:29:2 | true |
|
||||
| tst.go:28:1:32:1 | function declaration | tst.go:0:0:0:0 | exit |
|
||||
| tst.go:28:6:28:11 | skip | tst.go:28:1:32:1 | function declaration |
|
||||
| tst.go:29:2:29:2 | true | tst.go:30:2:30:9 | skip |
|
||||
| tst.go:30:2:30:9 | skip | tst.go:32:1:32:1 | exit |
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
| noretfunctions.go:20:6:20:22 | noRetUsesLogFatal | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
| noretfunctions.go:24:6:24:23 | noRetUsesLogFatalf | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
| stmts7.go:10:6:10:15 | canRecover | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
| stmts.go:8:6:8:10 | test5 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
| stmts.go:44:6:44:10 | test6 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
| stmts.go:110:6:110:10 | test9 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
| stmts.go:10:6:10:10 | test5 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
| stmts.go:46:6:46:10 | test6 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
| stmts.go:112:6:112:10 | test9 | package github.com/github/codeql-go/ql/test/library-tests/semmle/go/controlflow/ControlFlowGraph |
|
||||
|
||||
@@ -4,6 +4,8 @@ import "fmt"
|
||||
|
||||
// NOTE: after auto-formatting this file, make sure to put back the empty statement on line 15 below
|
||||
|
||||
// autoformat-ignore (in line with the NOTE above)
|
||||
|
||||
// simple statements and for loops
|
||||
func test5(b bool) {
|
||||
{
|
||||
|
||||
@@ -21,7 +21,8 @@ func check2(value int64) {
|
||||
}
|
||||
|
||||
func check3() {
|
||||
switch { }
|
||||
switch {
|
||||
}
|
||||
}
|
||||
|
||||
func check4() {
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
| AlertSuppressionExample.go:11:42:11:74 | comment | lgtm[go/hardcoded-credentials] | lgtm[go/hardcoded-credentials] | AlertSuppressionExample.go:11:1:11:74 | suppression range |
|
||||
| tst.go:5:8:5:14 | comment | lgtm | lgtm | tst.go:5:1:5:14 | suppression range |
|
||||
| tst.go:6:8:6:39 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:6:1:6:39 | suppression range |
|
||||
| tst.go:7:8:7:39 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:7:1:7:39 | suppression range |
|
||||
| tst.go:8:8:8:63 | comment | lgtm[go/redundant-assignment, go/redundant-operation] | lgtm[go/redundant-assignment, go/redundant-operation] | tst.go:8:1:8:63 | suppression range |
|
||||
| tst.go:9:8:9:29 | comment | lgtm[@tag:nullness] | lgtm[@tag:nullness] | tst.go:9:1:9:29 | suppression range |
|
||||
| tst.go:10:8:10:53 | comment | lgtm[@tag:nullness,go/redundant-assignment] | lgtm[@tag:nullness,go/redundant-assignment] | tst.go:10:1:10:53 | suppression range |
|
||||
| tst.go:11:8:11:35 | comment | lgtm[@expires:2017-06-11] | lgtm[@expires:2017-06-11] | tst.go:11:1:11:35 | suppression range |
|
||||
| tst.go:12:8:12:70 | comment | lgtm[go/redundant-operation] because I know better than lgtm | lgtm[go/redundant-operation] | tst.go:12:1:12:70 | suppression range |
|
||||
| tst.go:13:8:13:25 | comment | lgtm: blah blah | lgtm | tst.go:13:1:13:25 | suppression range |
|
||||
| tst.go:14:8:14:39 | comment | lgtm blah blah #falsepositive | lgtm | tst.go:14:1:14:39 | suppression range |
|
||||
| tst.go:15:8:15:39 | comment | lgtm [go/redundant-operation] | lgtm [go/redundant-operation] | tst.go:15:1:15:39 | suppression range |
|
||||
| tst.go:16:8:16:17 | comment | lgtm | lgtm | tst.go:16:1:16:17 | suppression range |
|
||||
| tst.go:17:8:17:16 | comment | lgtm[] | lgtm[] | tst.go:17:1:17:16 | suppression range |
|
||||
| tst.go:19:8:19:13 | comment | lgtm | lgtm | tst.go:19:1:19:13 | suppression range |
|
||||
| tst.go:20:8:20:14 | comment | \tlgtm | lgtm | tst.go:20:1:20:14 | suppression range |
|
||||
| tst.go:21:8:21:40 | comment | lgtm\t[go/redundant-assignment] | lgtm\t[go/redundant-assignment] | tst.go:21:1:21:40 | suppression range |
|
||||
| tst.go:24:8:24:19 | comment | foo; lgtm | lgtm | tst.go:24:1:24:19 | suppression range |
|
||||
| tst.go:25:8:25:44 | comment | foo; lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:25:1:25:44 | suppression range |
|
||||
| tst.go:27:8:27:43 | comment | foo lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:27:1:27:43 | suppression range |
|
||||
| tst.go:29:8:29:47 | comment | foo lgtm[go/redundant-assignment] bar | lgtm[go/redundant-assignment] | tst.go:29:1:29:47 | suppression range |
|
||||
| tst.go:30:8:30:15 | comment | LGTM! | LGTM | tst.go:30:1:30:15 | suppression range |
|
||||
| tst.go:31:8:31:39 | comment | LGTM[go/redundant-assignment] | LGTM[go/redundant-assignment] | tst.go:31:1:31:39 | suppression range |
|
||||
| tst.go:32:8:32:72 | comment | lgtm[go/redundant-assignment] and lgtm[go/redundant-operation] | lgtm[go/redundant-assignment] | tst.go:32:1:32:72 | suppression range |
|
||||
| tst.go:32:8:32:72 | comment | lgtm[go/redundant-assignment] and lgtm[go/redundant-operation] | lgtm[go/redundant-operation] | tst.go:32:1:32:72 | suppression range |
|
||||
| tst.go:33:8:33:45 | comment | lgtm[go/redundant-assignment]; lgtm | lgtm | tst.go:33:1:33:45 | suppression range |
|
||||
| tst.go:33:8:33:45 | comment | lgtm[go/redundant-assignment]; lgtm | lgtm[go/redundant-assignment] | tst.go:33:1:33:45 | suppression range |
|
||||
| tst.go:34:8:34:19 | comment | lgtm[] | lgtm[] | tst.go:34:1:34:19 | suppression range |
|
||||
| tst.go:35:8:35:42 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:35:1:35:42 | suppression range |
|
||||
| tst.go:41:8:41:56 | comment | lgtm[@tag:nullness,go/redundant-assignment] | lgtm[@tag:nullness,go/redundant-assignment] | tst.go:41:1:41:56 | suppression range |
|
||||
| tst.go:42:8:42:32 | comment | lgtm[@tag:nullness] | lgtm[@tag:nullness] | tst.go:42:1:42:32 | suppression range |
|
||||
| tstWindows.go:5:8:5:14 | comment | lgtm | lgtm | tstWindows.go:5:1:5:14 | suppression range |
|
||||
| tstWindows.go:6:8:6:39 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:6:1:6:39 | suppression range |
|
||||
| tstWindows.go:7:8:7:39 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:7:1:7:39 | suppression range |
|
||||
| tstWindows.go:8:8:8:63 | comment | lgtm[go/redundant-assignment, go/redundant-operation] | lgtm[go/redundant-assignment, go/redundant-operation] | tstWindows.go:8:1:8:63 | suppression range |
|
||||
| tstWindows.go:9:8:9:29 | comment | lgtm[@tag:nullness] | lgtm[@tag:nullness] | tstWindows.go:9:1:9:29 | suppression range |
|
||||
| tstWindows.go:10:8:10:53 | comment | lgtm[@tag:nullness,go/redundant-assignment] | lgtm[@tag:nullness,go/redundant-assignment] | tstWindows.go:10:1:10:53 | suppression range |
|
||||
| tstWindows.go:11:8:11:35 | comment | lgtm[@expires:2017-06-11] | lgtm[@expires:2017-06-11] | tstWindows.go:11:1:11:35 | suppression range |
|
||||
| tstWindows.go:12:8:12:70 | comment | lgtm[go/redundant-operation] because I know better than lgtm | lgtm[go/redundant-operation] | tstWindows.go:12:1:12:70 | suppression range |
|
||||
| tstWindows.go:13:8:13:25 | comment | lgtm: blah blah | lgtm | tstWindows.go:13:1:13:25 | suppression range |
|
||||
| tstWindows.go:14:8:14:39 | comment | lgtm blah blah #falsepositive | lgtm | tstWindows.go:14:1:14:39 | suppression range |
|
||||
| tstWindows.go:15:8:15:39 | comment | lgtm [go/redundant-operation] | lgtm [go/redundant-operation] | tstWindows.go:15:1:15:39 | suppression range |
|
||||
| tstWindows.go:16:8:16:17 | comment | lgtm | lgtm | tstWindows.go:16:1:16:17 | suppression range |
|
||||
| tstWindows.go:17:8:17:16 | comment | lgtm[] | lgtm[] | tstWindows.go:17:1:17:16 | suppression range |
|
||||
| tstWindows.go:19:8:19:13 | comment | lgtm | lgtm | tstWindows.go:19:1:19:13 | suppression range |
|
||||
| tstWindows.go:20:8:20:14 | comment | \tlgtm | lgtm | tstWindows.go:20:1:20:14 | suppression range |
|
||||
| tstWindows.go:21:8:21:40 | comment | lgtm\t[go/redundant-assignment] | lgtm\t[go/redundant-assignment] | tstWindows.go:21:1:21:40 | suppression range |
|
||||
| tstWindows.go:24:8:24:19 | comment | foo; lgtm | lgtm | tstWindows.go:24:1:24:19 | suppression range |
|
||||
| tstWindows.go:25:8:25:44 | comment | foo; lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:25:1:25:44 | suppression range |
|
||||
| tstWindows.go:27:8:27:43 | comment | foo lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:27:1:27:43 | suppression range |
|
||||
| tstWindows.go:29:8:29:47 | comment | foo lgtm[go/redundant-assignment] bar | lgtm[go/redundant-assignment] | tstWindows.go:29:1:29:47 | suppression range |
|
||||
| tstWindows.go:30:8:30:15 | comment | LGTM! | LGTM | tstWindows.go:30:1:30:15 | suppression range |
|
||||
| tstWindows.go:31:8:31:39 | comment | LGTM[go/redundant-assignment] | LGTM[go/redundant-assignment] | tstWindows.go:31:1:31:39 | suppression range |
|
||||
| tstWindows.go:32:8:32:72 | comment | lgtm[go/redundant-assignment] and lgtm[go/redundant-operation] | lgtm[go/redundant-assignment] | tstWindows.go:32:1:32:72 | suppression range |
|
||||
| tstWindows.go:32:8:32:72 | comment | lgtm[go/redundant-assignment] and lgtm[go/redundant-operation] | lgtm[go/redundant-operation] | tstWindows.go:32:1:32:72 | suppression range |
|
||||
| tstWindows.go:33:8:33:45 | comment | lgtm[go/redundant-assignment]; lgtm | lgtm | tstWindows.go:33:1:33:45 | suppression range |
|
||||
| tstWindows.go:33:8:33:45 | comment | lgtm[go/redundant-assignment]; lgtm | lgtm[go/redundant-assignment] | tstWindows.go:33:1:33:45 | suppression range |
|
||||
| tstWindows.go:34:8:34:19 | comment | lgtm[] | lgtm[] | tstWindows.go:34:1:34:19 | suppression range |
|
||||
| tstWindows.go:35:8:35:42 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:35:1:35:42 | suppression range |
|
||||
| tstWindows.go:41:8:41:56 | comment | lgtm[@tag:nullness,go/redundant-assignment] | lgtm[@tag:nullness,go/redundant-assignment] | tstWindows.go:41:1:41:56 | suppression range |
|
||||
| tstWindows.go:42:8:42:32 | comment | lgtm[@tag:nullness] | lgtm[@tag:nullness] | tstWindows.go:42:1:42:32 | suppression range |
|
||||
| tst.go:7:8:7:14 | comment | lgtm | lgtm | tst.go:7:1:7:14 | suppression range |
|
||||
| tst.go:8:8:8:39 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:8:1:8:39 | suppression range |
|
||||
| tst.go:9:8:9:39 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:9:1:9:39 | suppression range |
|
||||
| tst.go:10:8:10:63 | comment | lgtm[go/redundant-assignment, go/redundant-operation] | lgtm[go/redundant-assignment, go/redundant-operation] | tst.go:10:1:10:63 | suppression range |
|
||||
| tst.go:11:8:11:29 | comment | lgtm[@tag:nullness] | lgtm[@tag:nullness] | tst.go:11:1:11:29 | suppression range |
|
||||
| tst.go:12:8:12:53 | comment | lgtm[@tag:nullness,go/redundant-assignment] | lgtm[@tag:nullness,go/redundant-assignment] | tst.go:12:1:12:53 | suppression range |
|
||||
| tst.go:13:8:13:35 | comment | lgtm[@expires:2017-06-11] | lgtm[@expires:2017-06-11] | tst.go:13:1:13:35 | suppression range |
|
||||
| tst.go:14:8:14:70 | comment | lgtm[go/redundant-operation] because I know better than lgtm | lgtm[go/redundant-operation] | tst.go:14:1:14:70 | suppression range |
|
||||
| tst.go:15:8:15:25 | comment | lgtm: blah blah | lgtm | tst.go:15:1:15:25 | suppression range |
|
||||
| tst.go:16:8:16:39 | comment | lgtm blah blah #falsepositive | lgtm | tst.go:16:1:16:39 | suppression range |
|
||||
| tst.go:17:8:17:39 | comment | lgtm [go/redundant-operation] | lgtm [go/redundant-operation] | tst.go:17:1:17:39 | suppression range |
|
||||
| tst.go:18:8:18:17 | comment | lgtm | lgtm | tst.go:18:1:18:17 | suppression range |
|
||||
| tst.go:19:8:19:16 | comment | lgtm[] | lgtm[] | tst.go:19:1:19:16 | suppression range |
|
||||
| tst.go:21:8:21:13 | comment | lgtm | lgtm | tst.go:21:1:21:13 | suppression range |
|
||||
| tst.go:22:8:22:14 | comment | \tlgtm | lgtm | tst.go:22:1:22:14 | suppression range |
|
||||
| tst.go:23:8:23:40 | comment | lgtm\t[go/redundant-assignment] | lgtm\t[go/redundant-assignment] | tst.go:23:1:23:40 | suppression range |
|
||||
| tst.go:26:8:26:19 | comment | foo; lgtm | lgtm | tst.go:26:1:26:19 | suppression range |
|
||||
| tst.go:27:8:27:44 | comment | foo; lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:27:1:27:44 | suppression range |
|
||||
| tst.go:29:8:29:43 | comment | foo lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:29:1:29:43 | suppression range |
|
||||
| tst.go:31:8:31:47 | comment | foo lgtm[go/redundant-assignment] bar | lgtm[go/redundant-assignment] | tst.go:31:1:31:47 | suppression range |
|
||||
| tst.go:32:8:32:15 | comment | LGTM! | LGTM | tst.go:32:1:32:15 | suppression range |
|
||||
| tst.go:33:8:33:39 | comment | LGTM[go/redundant-assignment] | LGTM[go/redundant-assignment] | tst.go:33:1:33:39 | suppression range |
|
||||
| tst.go:34:8:34:72 | comment | lgtm[go/redundant-assignment] and lgtm[go/redundant-operation] | lgtm[go/redundant-assignment] | tst.go:34:1:34:72 | suppression range |
|
||||
| tst.go:34:8:34:72 | comment | lgtm[go/redundant-assignment] and lgtm[go/redundant-operation] | lgtm[go/redundant-operation] | tst.go:34:1:34:72 | suppression range |
|
||||
| tst.go:35:8:35:45 | comment | lgtm[go/redundant-assignment]; lgtm | lgtm | tst.go:35:1:35:45 | suppression range |
|
||||
| tst.go:35:8:35:45 | comment | lgtm[go/redundant-assignment]; lgtm | lgtm[go/redundant-assignment] | tst.go:35:1:35:45 | suppression range |
|
||||
| tst.go:36:8:36:19 | comment | lgtm[] | lgtm[] | tst.go:36:1:36:19 | suppression range |
|
||||
| tst.go:37:8:37:42 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tst.go:37:1:37:42 | suppression range |
|
||||
| tst.go:43:8:43:56 | comment | lgtm[@tag:nullness,go/redundant-assignment] | lgtm[@tag:nullness,go/redundant-assignment] | tst.go:43:1:43:56 | suppression range |
|
||||
| tst.go:44:8:44:32 | comment | lgtm[@tag:nullness] | lgtm[@tag:nullness] | tst.go:44:1:44:32 | suppression range |
|
||||
| tstWindows.go:7:8:7:14 | comment | lgtm | lgtm | tstWindows.go:7:1:7:14 | suppression range |
|
||||
| tstWindows.go:8:8:8:39 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:8:1:8:39 | suppression range |
|
||||
| tstWindows.go:9:8:9:39 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:9:1:9:39 | suppression range |
|
||||
| tstWindows.go:10:8:10:63 | comment | lgtm[go/redundant-assignment, go/redundant-operation] | lgtm[go/redundant-assignment, go/redundant-operation] | tstWindows.go:10:1:10:63 | suppression range |
|
||||
| tstWindows.go:11:8:11:29 | comment | lgtm[@tag:nullness] | lgtm[@tag:nullness] | tstWindows.go:11:1:11:29 | suppression range |
|
||||
| tstWindows.go:12:8:12:53 | comment | lgtm[@tag:nullness,go/redundant-assignment] | lgtm[@tag:nullness,go/redundant-assignment] | tstWindows.go:12:1:12:53 | suppression range |
|
||||
| tstWindows.go:13:8:13:35 | comment | lgtm[@expires:2017-06-11] | lgtm[@expires:2017-06-11] | tstWindows.go:13:1:13:35 | suppression range |
|
||||
| tstWindows.go:14:8:14:70 | comment | lgtm[go/redundant-operation] because I know better than lgtm | lgtm[go/redundant-operation] | tstWindows.go:14:1:14:70 | suppression range |
|
||||
| tstWindows.go:15:8:15:25 | comment | lgtm: blah blah | lgtm | tstWindows.go:15:1:15:25 | suppression range |
|
||||
| tstWindows.go:16:8:16:39 | comment | lgtm blah blah #falsepositive | lgtm | tstWindows.go:16:1:16:39 | suppression range |
|
||||
| tstWindows.go:17:8:17:39 | comment | lgtm [go/redundant-operation] | lgtm [go/redundant-operation] | tstWindows.go:17:1:17:39 | suppression range |
|
||||
| tstWindows.go:18:8:18:17 | comment | lgtm | lgtm | tstWindows.go:18:1:18:17 | suppression range |
|
||||
| tstWindows.go:19:8:19:16 | comment | lgtm[] | lgtm[] | tstWindows.go:19:1:19:16 | suppression range |
|
||||
| tstWindows.go:21:8:21:13 | comment | lgtm | lgtm | tstWindows.go:21:1:21:13 | suppression range |
|
||||
| tstWindows.go:22:8:22:14 | comment | \tlgtm | lgtm | tstWindows.go:22:1:22:14 | suppression range |
|
||||
| tstWindows.go:23:8:23:40 | comment | lgtm\t[go/redundant-assignment] | lgtm\t[go/redundant-assignment] | tstWindows.go:23:1:23:40 | suppression range |
|
||||
| tstWindows.go:26:8:26:19 | comment | foo; lgtm | lgtm | tstWindows.go:26:1:26:19 | suppression range |
|
||||
| tstWindows.go:27:8:27:44 | comment | foo; lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:27:1:27:44 | suppression range |
|
||||
| tstWindows.go:29:8:29:43 | comment | foo lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:29:1:29:43 | suppression range |
|
||||
| tstWindows.go:31:8:31:47 | comment | foo lgtm[go/redundant-assignment] bar | lgtm[go/redundant-assignment] | tstWindows.go:31:1:31:47 | suppression range |
|
||||
| tstWindows.go:32:8:32:15 | comment | LGTM! | LGTM | tstWindows.go:32:1:32:15 | suppression range |
|
||||
| tstWindows.go:33:8:33:39 | comment | LGTM[go/redundant-assignment] | LGTM[go/redundant-assignment] | tstWindows.go:33:1:33:39 | suppression range |
|
||||
| tstWindows.go:34:8:34:72 | comment | lgtm[go/redundant-assignment] and lgtm[go/redundant-operation] | lgtm[go/redundant-assignment] | tstWindows.go:34:1:34:72 | suppression range |
|
||||
| tstWindows.go:34:8:34:72 | comment | lgtm[go/redundant-assignment] and lgtm[go/redundant-operation] | lgtm[go/redundant-operation] | tstWindows.go:34:1:34:72 | suppression range |
|
||||
| tstWindows.go:35:8:35:45 | comment | lgtm[go/redundant-assignment]; lgtm | lgtm | tstWindows.go:35:1:35:45 | suppression range |
|
||||
| tstWindows.go:35:8:35:45 | comment | lgtm[go/redundant-assignment]; lgtm | lgtm[go/redundant-assignment] | tstWindows.go:35:1:35:45 | suppression range |
|
||||
| tstWindows.go:36:8:36:19 | comment | lgtm[] | lgtm[] | tstWindows.go:36:1:36:19 | suppression range |
|
||||
| tstWindows.go:37:8:37:42 | comment | lgtm[go/redundant-assignment] | lgtm[go/redundant-assignment] | tstWindows.go:37:1:37:42 | suppression range |
|
||||
| tstWindows.go:43:8:43:56 | comment | lgtm[@tag:nullness,go/redundant-assignment] | lgtm[@tag:nullness,go/redundant-assignment] | tstWindows.go:43:1:43:56 | suppression range |
|
||||
| tstWindows.go:44:8:44:32 | comment | lgtm[@tag:nullness] | lgtm[@tag:nullness] | tstWindows.go:44:1:44:32 | suppression range |
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package main
|
||||
|
||||
// autoformat-ignore (avoid gofmt changing line-endings, which should be specifically LFs here)
|
||||
|
||||
func main() {
|
||||
x := 42
|
||||
x = x // lgtm
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package main
|
||||
|
||||
// autoformat-ignore (otherwise gofmt will replace CRLF line-endings with LFs under Unix-like environments)
|
||||
|
||||
func winMain() {
|
||||
x := 42
|
||||
x = x // lgtm
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
| WhitespaceContradictsPrecedence.go:4:9:4:18 | ...<<... | & is evaluated before <<, but whitespace suggests the opposite. |
|
||||
| main.go:12:9:12:16 | ...+... | >> is evaluated before +, but whitespace suggests the opposite. |
|
||||
| WhitespaceContradictsPrecedence.go:6:9:6:18 | ...<<... | & is evaluated before <<, but whitespace suggests the opposite. |
|
||||
| main.go:14:9:14:16 | ...+... | >> is evaluated before +, but whitespace suggests the opposite. |
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package main
|
||||
|
||||
// autoformat-ignore (otherwise gofmt will fix the spacing to reflect precedence)
|
||||
|
||||
func isBitSetBad(x int, pos uint) bool {
|
||||
return x & 1<<pos != 0
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package main
|
||||
|
||||
// autoformat-ignore (otherwise gofmt will insist on its particular spacing)
|
||||
|
||||
func isBitSetGood(x int, pos uint) bool {
|
||||
return x & (1<<pos) != 0
|
||||
}
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
package main
|
||||
|
||||
// autoformat-ignore (otherwise gofmt will fix spacing to reflect precedence)
|
||||
|
||||
func ok1(x int) int {
|
||||
return x + x>>1;
|
||||
return x + x>>1;
|
||||
}
|
||||
|
||||
func ok2(x int) int {
|
||||
return x + x >> 1;
|
||||
return x + x >> 1;
|
||||
}
|
||||
|
||||
func bad(x int) int {
|
||||
return x+x >> 1;
|
||||
return x+x >> 1;
|
||||
}
|
||||
|
||||
func ok3(x int) int {
|
||||
return x + (x>>1);
|
||||
return x + (x>>1);
|
||||
}
|
||||
|
||||
func ok4(x int, y int, z int) int {
|
||||
@@ -25,13 +27,13 @@ func ok5(x int, y int, z int) int {
|
||||
}
|
||||
|
||||
func ok6(x int) int {
|
||||
return x + x>> 1;
|
||||
return x + x>> 1;
|
||||
}
|
||||
|
||||
func ok7(x int, y int, z int) int {
|
||||
return x + y - z;
|
||||
}
|
||||
|
||||
|
||||
func ok8(x int, y int, z int) int {
|
||||
return x + y-z;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user