func (p *cgoPackage) findMissingCGoNames(cursor *astutil.Cursor) bool {
	switch node := cursor.Node().(type) {
	case *ast.SelectorExpr:
		x, ok := node.X.(*ast.Ident)
		if !ok {
			return true
		}
		if x.Name == "C" {
			name := node.Sel.Name
			if _, ok := builtinAliases[name]; ok {
				name = "_Cgo_" + name
			}
			p.missingSymbols[name] = struct{}{}
		}
	}
	return true
}
// findMissingCGoNames traverses the AST and finds all C.something names. Only
// these symbols are extracted from the parsed C AST and converted to the Go
// equivalent.
findMissingCGoNames traverses the AST and finds all C.something names. Only
these symbols are extracted from the parsed C AST and converted to the Go
equivalent.
// findMissingCGoNames traverses the AST and finds all C . something names . Only // these symbols are extracted from the parsed C AST and converted to the Go // equivalent .
func (p *cgoPackage) findMissingCGoNames(cursor *astutil.Cursor) bool {
	switch node := cursor.Node().(type) {
	case *ast.SelectorExpr:
		x, ok := node.X.(*ast.Ident)
		if !ok {
			return true
		}
		if x.Name == "C" {
			name := node.Sel.Name
			if _, ok := builtinAliases[name]; ok {
				name = "_Cgo_" + name
			}
			p.missingSymbols[name] = struct{}{}
		}
	}
	return true
}
func ( p * cgoPackage ) findMissingCGoNames ( cursor * astutil . Cursor ) bool { switch node := cursor . Node ( ) . ( type ) { case * ast . SelectorExpr : x , ok := node . X . ( * ast . Ident ) if ! ok { return true } if x . Name == " " { name := node . Sel . Name if _ , ok := builtinAliases [ name ] ; ok { name = " " + name } p . missingSymbols [ name ] = struct { } { } } } return true }
findMissingCGoNames traverses the AST and finds all C.something names.
findMissingCGoNames traverses the AST and finds all C . something names .