Alan Donovan
Alan Donovan
Today I learned two fun facts: 1. in MySQL, although `now()` is a datetime, `now() + 0` is an integer formed from all of the decimal digits in the date....
This PR changes short_var_declaration to accept only a list of identifiers on the left side. This prevents an (expression_list (identifier)) query from spuriously matching an identifier in a declaration. Also:...
This change causes the parser to materialize expression_statement nodes for calls and receive expressions that appear as a statement, so that every child of a block is a statement (or...
Accept type_parameter_declarations, which are not the same as parameter_declarations: the identifier list is non-optional, and the last element is a constraint, not a type. Also, simplify the grammar by merging...
The go/analysis Fact mechanism allows an analysis to associate information with the symbols defined by one package so that it may be retrieved during analysis of another package that imports...
Nice work! You might be interested in these other libraries and tools that construct the call graph of a Go program: golang.org/x/tools/go/callgraph represents the call graph of a Go program...
The [`Int`](https://pkg.go.dev/math/big#Int) type in the [`math/big`](https://pkg.go.dev/math/big) package represents an arbitrary-precision integer. Today, it provides methods called `Int64` and `Uint64`, which return the integer in the `int64` and `uint64` (machine) representations....
https://go.dev/cl/562244 adds support to gopls for classifying control labels as a semantic token class (`"label"`). Strangely, given that JavaScript uses labels just the same way as Go in break and...
### Proposal Details Some analyzers need information about the module to which a package belongs, such as its version of Go. We have already exposed this information in x/tools/go/packages (and...