| // Copyright 2019 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 deepcomplete |
| |
| import "context" //@item(ctxPackage, "context", "\"context\"", "package") |
| |
| type deepA struct { |
| b deepB //@item(deepBField, "b", "deepB", "field") |
| } |
| |
| type deepB struct { |
| } |
| |
| func wantsDeepB(deepB) {} |
| |
| func _() { |
| var a deepA //@item(deepAVar, "a", "deepA", "var") |
| a.b //@item(deepABField, "a.b", "deepB", "field") |
| wantsDeepB(a) //@complete(")", deepABField, deepAVar) |
| |
| deepA{a} //@snippet("}", deepABField, "a.b", "a.b") |
| } |
| |
| func wantsContext(context.Context) {} |
| |
| func _() { |
| context.Background() //@item(ctxBackground, "context.Background()", "context.Context", "func") |
| context.TODO() //@item(ctxTODO, "context.TODO()", "context.Context", "func") |
| /* context.WithValue(parent context.Context, key interface{}, val interface{}) */ //@item(ctxWithValue, "context.WithValue(parent context.Context, key interface{}, val interface{})", "context.Context", "func") |
| |
| wantsContext(c) //@complete(")", ctxBackground, ctxTODO, ctxWithValue, ctxPackage) |
| } |
| |
| func _() { |
| type deepCircle struct { |
| *deepCircle |
| } |
| var circle deepCircle //@item(deepCircle, "circle", "deepCircle", "var") |
| circle.deepCircle //@item(deepCircleField, "circle.deepCircle", "*deepCircle", "field") |
| var _ deepCircle = ci //@complete(" //", deepCircle, deepCircleField) |
| } |
| |
| func _() { |
| type deepEmbedC struct { |
| } |
| type deepEmbedB struct { |
| deepEmbedC |
| } |
| type deepEmbedA struct { |
| deepEmbedB |
| } |
| |
| wantsC := func(deepEmbedC) {} |
| |
| var a deepEmbedA //@item(deepEmbedA, "a", "deepEmbedA", "var") |
| a.deepEmbedB //@item(deepEmbedB, "a.deepEmbedB", "deepEmbedB", "field") |
| a.deepEmbedC //@item(deepEmbedC, "a.deepEmbedC", "deepEmbedC", "field") |
| wantsC(a) //@complete(")", deepEmbedC, deepEmbedA, deepEmbedB) |
| } |