используя пакет go / types, как реализовать утверждение типа? - PullRequest
0 голосов
/ 18 ноября 2018

Используя go/types пакет доступен здесь для интерпретации исходного кода программы go ast, как я могу реализовать утверждение типа относительно типа выражения?

В приведенном ниже источникеКод, который я проверяю ast для поиска выражений вызова, я извлекаю первый аргумент для проверки его типа

var p *loader.Program
ast.Inspect(f, func(n ast.Node) bool {
    if call, ok := n.(*ast.CallExpr); ok {
        if p.TypeOf(call.Args[0]).String() == "context.Context" { ... }
    }
})

Как я могу использовать функции, предоставляемые в стандартной библиотеке, такие как types.AssertableTo, types.ConvertibleTo и т. Д. Для улучшения предоставленного фрагмента?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...