// Copyright 2017 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main func init() { addTestCases(cftypeTests, cftypefix) } var cftypeTests = []testCase{ { Name: "cftype.localVariable", In: `package main import "C" func f() { var x C.CFTypeRef = nil x = nil x, x = nil, nil } `, Out: `package main import "C" func f() { var x C.CFTypeRef = 0 x = 0 x, x = 0, 0 } `, }, { Name: "cftype.globalVariable", In: `package main import "C" var x C.CFTypeRef = nil func f() { x = nil } `, Out: `package main import "C" var x C.CFTypeRef = 0 func f() { x = 0 } `, }, { Name: "cftype.EqualArgument", In: `package main import "C" var x C.CFTypeRef var y = x == nil var z = x != nil `, Out: `package main import "C" var x C.CFTypeRef var y = x == 0 var z = x != 0 `, }, { Name: "cftype.StructField", In: `package main import "C" type T struct { x C.CFTypeRef } var t = T{x: nil} `, Out: `package main import "C" type T struct { x C.CFTypeRef } var t = T{x: 0} `, }, { Name: "cftype.FunctionArgument", In: `package main import "C" func f(x C.CFTypeRef) { } func g() { f(nil) } `, Out: `package main import "C" func f(x C.CFTypeRef) { } func g() { f(0) } `, }, { Name: "cftype.ArrayElement", In: `package main import "C" var x = [3]C.CFTypeRef{nil, nil, nil} `, Out: `package main import "C" var x = [3]C.CFTypeRef{0, 0, 0} `, }, { Name: "cftype.SliceElement", In: `package main import "C" var x = []C.CFTypeRef{nil, nil, nil} `, Out: `package main import "C" var x = []C.CFTypeRef{0, 0, 0} `, }, { Name: "cftype.MapKey", In: `package main import "C" var x = map[C.CFTypeRef]int{nil: 0} `, Out: `package main import "C" var x = map[C.CFTypeRef]int{0: 0} `, }, { Name: "cftype.MapValue", In: `package main import "C" var x = map[int]C.CFTypeRef{0: nil} `, Out: `package main import "C" var x = map[int]C.CFTypeRef{0: 0} `, }, { Name: "cftype.Conversion1", In: `package main import "C" var x C.CFTypeRef var y = (*unsafe.Pointer)(&x) `, Out: `package main import "C" var x C.CFTypeRef var y = (*unsafe.Pointer)(unsafe.Pointer(&x)) `, }, { Name: "cftype.Conversion2", In: `package main import "C" var x unsafe.Pointer var y = (*C.CFTypeRef)(&x) `, Out: `package main import "C" var x unsafe.Pointer var y = (*C.CFTypeRef)(unsafe.Pointer(&x)) `, }, }