GoPLS Viewer

Home|gopls/cmd/signature-fuzzer/internal/fuzz-generator/stringparm.go
1// Copyright 2021 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package generator
6
7import (
8    "bytes"
9)
10
11// stringparm describes a parameter of string type; it implements the
12// "parm" interface
13type stringparm struct {
14    tag string
15    isBlank
16    addrTakenHow
17    isGenValFunc
18    skipCompare
19}
20
21func (p stringparmDeclare(b *bytes.Bufferprefix stringsuffix stringcaller bool) {
22    b.WriteString(prefix + " string" + suffix)
23}
24
25func (p stringparmGenElemRef(elidx intpath string) (stringparm) {
26    return path, &p
27}
28
29var letters = []rune("�꿦3򂨃f6ꂅ8ˋ<􂊇񊶿(z̽|ϣᇊ񁗇򟄼q񧲥筁{ЂƜĽ")
30
31func (p stringparmGenValue(s *genstatef *funcdefvalue intcaller bool) (stringint) {
32    ns := len(letters) - 9
33    nel := int(s.wr.Intn(8))
34    st := int(s.wr.Intn(int64(ns)))
35    en := st + nel
36    if en > ns {
37        en = ns
38    }
39    return "\"" + string(letters[st:en]) + "\""value + 1
40}
41
42func (p stringparmIsControl() bool {
43    return false
44}
45
46func (p stringparmNumElements() int {
47    return 1
48}
49
50func (p stringparmString() string {
51    return "string"
52}
53
54func (p stringparmTypeName() string {
55    return "string"
56}
57
58func (p stringparmQualName() string {
59    return "string"
60}
61
62func (p stringparmHasPointer() bool {
63    return false
64}
65
MembersX
stringparm
stringparm.GenElemRef.p
stringparm.GenValue.p
stringparm.GenValue.s
stringparm.Declare.suffix
stringparm.GenValue.f
stringparm.QualName
stringparm.HasPointer.p
stringparm.Declare.b
stringparm.GenValue.caller
stringparm.NumElements.p
stringparm.NumElements
stringparm.TypeName.p
stringparm.QualName.p
stringparm.GenElemRef.elidx
stringparm.IsControl
stringparm.HasPointer
stringparm.tag
stringparm.Declare.caller
stringparm.String.p
stringparm.Declare.p
stringparm.Declare.prefix
stringparm.GenElemRef.path
stringparm.GenValue
stringparm.GenValue.value
stringparm.GenValue.nel
stringparm.GenValue.st
stringparm.GenElemRef
stringparm.IsControl.p
stringparm.String
stringparm.TypeName
stringparm.Declare
Members
X