tgo: Print IR on panic (sometimes)
Этот коммит содержится в:
родитель
cafdcecb60
коммит
bb60912fa1
1 изменённых файлов: 10 добавлений и 4 удалений
14
tgo.go
14
tgo.go
|
@ -1601,10 +1601,16 @@ func Compile(pkgName, runtimePath, outpath, target string, printIR bool) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compile Go code to IR.
|
// Compile Go code to IR.
|
||||||
parseErr := c.Parse(pkgName, buildTags)
|
parseErr := func() error {
|
||||||
if printIR {
|
if printIR {
|
||||||
fmt.Println(c.IR())
|
// Run this even if c.Parse() panics.
|
||||||
}
|
defer func() {
|
||||||
|
fmt.Println("IR until the error:")
|
||||||
|
fmt.Println(c.IR())
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
return c.Parse(pkgName, buildTags)
|
||||||
|
}()
|
||||||
if parseErr != nil {
|
if parseErr != nil {
|
||||||
return parseErr
|
return parseErr
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче