compiler: support basic inlining

This commit is contained in:
Evgeniy Stratonikov 2021-02-04 15:41:00 +03:00
parent 1f238ce6fd
commit 1ae0d022dd
9 changed files with 258 additions and 4 deletions

32
pkg/compiler/testdata/inline/inline.go vendored Normal file
View file

@ -0,0 +1,32 @@
package inline
import (
"github.com/nspcc-dev/neo-go/pkg/compiler/testdata/inline/a"
"github.com/nspcc-dev/neo-go/pkg/compiler/testdata/inline/b"
)
func NoArgsNoReturn() {}
func NoArgsReturn1() int {
return 1
}
func Sum(a, b int) int {
return a + b
}
func sum(x, y int) int {
return x + y
}
func SumSquared(a, b int) int {
return sum(a, b) * (a + b)
}
var A = 1
func GetSumSameName() int {
return a.GetA() + b.GetA() + A
}
func DropInsideInline() int {
sum(1, 2)
sum(3, 4)
return 7
}