]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.regabi] cmd/compile: refactoring typecheck arith
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Tue, 29 Dec 2020 05:09:51 +0000 (12:09 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Tue, 29 Dec 2020 07:55:55 +0000 (07:55 +0000)
commite34c44a7c46d63a96e262f837670052759cd4569
treed0b397fa9a77a4a1b4e07d6bf9e10906d5ca4c3c
parenta5ec920160da51166ee22ac0e5335f51a5d36d8e
[dev.regabi] cmd/compile: refactoring typecheck arith

Currently, the tcArith logic is complicated and involes many
un-necessary checks for some ir.Op. This CL refactors how it works:

 - Add a new tcShiftOp function, which only does necessary works for
   typechecking OLSH/ORSH. That ends up moving OLSH/ORSH to a separated
   case in typecheck1.

 - Move OASOP to separated case, so its logic is detached from tcArith.

 - Move OANDAND/OOROR to separated case, which does some validation
   dedicated to logical operators only.

Passes toolstash -cmp.

Change-Id: I0db7b7c7a3e52d6f9e9d87eee6967871f1c32200
Reviewed-on: https://go-review.googlesource.com/c/go/+/279442
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/typecheck/expr.go
src/cmd/compile/internal/typecheck/typecheck.go