// Copyright 2024 CloudWeGo Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by thriftgo (0.3.15). DO NOT EDIT.

package thrift_reflection

import (
	"database/sql"
	"database/sql/driver"
	"fmt"
	"github.com/cloudwego/thriftgo/generator/golang/extension/meta"
)

type ConstValueType int64

const (
	ConstValueType_DOUBLE     ConstValueType = 0
	ConstValueType_INT        ConstValueType = 1
	ConstValueType_STRING     ConstValueType = 2
	ConstValueType_BOOL       ConstValueType = 3
	ConstValueType_LIST       ConstValueType = 4
	ConstValueType_MAP        ConstValueType = 5
	ConstValueType_IDENTIFIER ConstValueType = 6
)

func (p ConstValueType) String() string {
	switch p {
	case ConstValueType_DOUBLE:
		return "DOUBLE"
	case ConstValueType_INT:
		return "INT"
	case ConstValueType_STRING:
		return "STRING"
	case ConstValueType_BOOL:
		return "BOOL"
	case ConstValueType_LIST:
		return "LIST"
	case ConstValueType_MAP:
		return "MAP"
	case ConstValueType_IDENTIFIER:
		return "IDENTIFIER"
	}
	return "<UNSET>"
}

func ConstValueTypeFromString(s string) (ConstValueType, error) {
	switch s {
	case "DOUBLE":
		return ConstValueType_DOUBLE, nil
	case "INT":
		return ConstValueType_INT, nil
	case "STRING":
		return ConstValueType_STRING, nil
	case "BOOL":
		return ConstValueType_BOOL, nil
	case "LIST":
		return ConstValueType_LIST, nil
	case "MAP":
		return ConstValueType_MAP, nil
	case "IDENTIFIER":
		return ConstValueType_IDENTIFIER, nil
	}
	return ConstValueType(0), fmt.Errorf("not a valid ConstValueType string")
}

func ConstValueTypePtr(v ConstValueType) *ConstValueType { return &v }
func (p *ConstValueType) Scan(value interface{}) (err error) {
	var result sql.NullInt64
	err = result.Scan(value)
	*p = ConstValueType(result.Int64)
	return
}

func (p *ConstValueType) Value() (driver.Value, error) {
	if p == nil {
		return nil, nil
	}
	return int64(*p), nil
}

type TypeDescriptor struct {
	Filepath  string            `thrift:"filepath,1,required" json:"filepath"`
	Name      string            `thrift:"name,2,required" json:"name"`
	KeyType   *TypeDescriptor   `thrift:"key_type,3,optional" json:"key_type,omitempty"`
	ValueType *TypeDescriptor   `thrift:"value_type,4,optional" json:"value_type,omitempty"`
	Extra     map[string]string `thrift:"extra,5,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewTypeDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
		0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75,
		0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x5, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb,
		0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x8, 0x0,
		0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0,
		0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x6e, 0x61, 0x6d,
		0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8,
		0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc,
		0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4,
		0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70,
		0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5,
		0x65, 0x78, 0x74, 0x72, 0x61, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb,
		0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0,
	})
}

func NewTypeDescriptor() *TypeDescriptor {
	return &TypeDescriptor{}
}

func (p *TypeDescriptor) InitDefault() {
}

func (p *TypeDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *TypeDescriptor) GetName() (v string) {
	return p.Name
}

var TypeDescriptor_KeyType_DEFAULT *TypeDescriptor

func (p *TypeDescriptor) GetKeyType() (v *TypeDescriptor) {
	if !p.IsSetKeyType() {
		return TypeDescriptor_KeyType_DEFAULT
	}
	return p.KeyType
}

var TypeDescriptor_ValueType_DEFAULT *TypeDescriptor

func (p *TypeDescriptor) GetValueType() (v *TypeDescriptor) {
	if !p.IsSetValueType() {
		return TypeDescriptor_ValueType_DEFAULT
	}
	return p.ValueType
}

var TypeDescriptor_Extra_DEFAULT map[string]string

func (p *TypeDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return TypeDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *TypeDescriptor) IsSetKeyType() bool {
	return p.KeyType != nil
}

func (p *TypeDescriptor) IsSetValueType() bool {
	return p.ValueType != nil
}

func (p *TypeDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *TypeDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("TypeDescriptor(%+v)", *p)
}

var fieldIDToName_TypeDescriptor = map[int16]string{
	1: "filepath",
	2: "name",
	3: "key_type",
	4: "value_type",
	5: "extra",
}

type ConstDescriptor struct {
	Filepath    string                `thrift:"filepath,1,required" json:"filepath"`
	Name        string                `thrift:"name,2,required" json:"name"`
	Type        *TypeDescriptor       `thrift:"type,3,required" json:"type"`
	Value       *ConstValueDescriptor `thrift:"value,4,required" json:"value"`
	Annotations map[string][]string   `thrift:"annotations,5,required" json:"annotations"`
	Comments    string                `thrift:"comments,6,required" json:"comments"`
	Extra       map[string]string     `thrift:"extra,7,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewConstDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x44, 0x65, 0x73, 0x63,
		0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72,
		0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x7, 0x6, 0x0, 0x1, 0x0, 0x1,
		0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x8,
		0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb,
		0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x6e, 0x61,
		0x6d, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0,
		0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0,
		0x4, 0x74, 0x79, 0x70, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4, 0xb, 0x0, 0x2,
		0x0, 0x0, 0x0, 0x5, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1,
		0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0,
		0x5, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xb, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
		0x6f, 0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc,
		0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0,
		0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x6, 0xb, 0x0, 0x2, 0x0,
		0x0, 0x0, 0x8, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0,
		0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0,
		0x1, 0x0, 0x7, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x65, 0x78, 0x74, 0x72, 0x61, 0x8,
		0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd,
		0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0,
		0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0,
	})
}

func NewConstDescriptor() *ConstDescriptor {
	return &ConstDescriptor{}
}

func (p *ConstDescriptor) InitDefault() {
}

func (p *ConstDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *ConstDescriptor) GetName() (v string) {
	return p.Name
}

var ConstDescriptor_Type_DEFAULT *TypeDescriptor

func (p *ConstDescriptor) GetType() (v *TypeDescriptor) {
	if !p.IsSetType() {
		return ConstDescriptor_Type_DEFAULT
	}
	return p.Type
}

var ConstDescriptor_Value_DEFAULT *ConstValueDescriptor

func (p *ConstDescriptor) GetValue() (v *ConstValueDescriptor) {
	if !p.IsSetValue() {
		return ConstDescriptor_Value_DEFAULT
	}
	return p.Value
}

func (p *ConstDescriptor) GetAnnotations() (v map[string][]string) {
	return p.Annotations
}

func (p *ConstDescriptor) GetComments() (v string) {
	return p.Comments
}

var ConstDescriptor_Extra_DEFAULT map[string]string

func (p *ConstDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return ConstDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *ConstDescriptor) IsSetType() bool {
	return p.Type != nil
}

func (p *ConstDescriptor) IsSetValue() bool {
	return p.Value != nil
}

func (p *ConstDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *ConstDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("ConstDescriptor(%+v)", *p)
}

var fieldIDToName_ConstDescriptor = map[int16]string{
	1: "filepath",
	2: "name",
	3: "type",
	4: "value",
	5: "annotations",
	6: "comments",
	7: "extra",
}

type ConstValueDescriptor struct {
	Type            ConstValueType                                  `thrift:"type,1,required" json:"type"`
	ValueDouble     float64                                         `thrift:"value_double,2,required" json:"value_double"`
	ValueInt        int64                                           `thrift:"value_int,3,required" json:"value_int"`
	ValueString     string                                          `thrift:"value_string,4,required" json:"value_string"`
	ValueBool       bool                                            `thrift:"value_bool,5,required" json:"value_bool"`
	ValueList       []*ConstValueDescriptor                         `thrift:"value_list,6,optional" json:"value_list,omitempty"`
	ValueMap        map[*ConstValueDescriptor]*ConstValueDescriptor `thrift:"value_map,7,optional" json:"value_map,omitempty"`
	ValueIdentifier string                                          `thrift:"value_identifier,8,required" json:"value_identifier"`
	Extra           map[string]string                               `thrift:"extra,9,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewConstValueDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x14, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75,
		0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x9,
		0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x74, 0x79, 0x70, 0x65,
		0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0x8, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xc, 0x76,
		0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0,
		0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x6, 0x0,
		0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x9, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f,
		0x69, 0x6e, 0x74, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0xc, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x8, 0x0,
		0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0,
		0x0, 0x6, 0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x76, 0x61, 0x6c,
		0x75, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0,
		0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x6, 0xb,
		0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74,
		0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0,
		0x1, 0x0, 0x7, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x9, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f,
		0x6d, 0x61, 0x70, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc,
		0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0,
		0x8, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x10, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64,
		0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc,
		0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x9,
		0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x65, 0x78, 0x74, 0x72, 0x61, 0x8, 0x0, 0x3, 0x0,
		0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2,
		0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0x0, 0x0, 0x0,
	})
}

func NewConstValueDescriptor() *ConstValueDescriptor {
	return &ConstValueDescriptor{}
}

func (p *ConstValueDescriptor) InitDefault() {
}

func (p *ConstValueDescriptor) GetType() (v ConstValueType) {
	return p.Type
}

func (p *ConstValueDescriptor) GetValueDouble() (v float64) {
	return p.ValueDouble
}

func (p *ConstValueDescriptor) GetValueInt() (v int64) {
	return p.ValueInt
}

func (p *ConstValueDescriptor) GetValueString() (v string) {
	return p.ValueString
}

func (p *ConstValueDescriptor) GetValueBool() (v bool) {
	return p.ValueBool
}

var ConstValueDescriptor_ValueList_DEFAULT []*ConstValueDescriptor

func (p *ConstValueDescriptor) GetValueList() (v []*ConstValueDescriptor) {
	if !p.IsSetValueList() {
		return ConstValueDescriptor_ValueList_DEFAULT
	}
	return p.ValueList
}

var ConstValueDescriptor_ValueMap_DEFAULT map[*ConstValueDescriptor]*ConstValueDescriptor

func (p *ConstValueDescriptor) GetValueMap() (v map[*ConstValueDescriptor]*ConstValueDescriptor) {
	if !p.IsSetValueMap() {
		return ConstValueDescriptor_ValueMap_DEFAULT
	}
	return p.ValueMap
}

func (p *ConstValueDescriptor) GetValueIdentifier() (v string) {
	return p.ValueIdentifier
}

var ConstValueDescriptor_Extra_DEFAULT map[string]string

func (p *ConstValueDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return ConstValueDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *ConstValueDescriptor) IsSetValueList() bool {
	return p.ValueList != nil
}

func (p *ConstValueDescriptor) IsSetValueMap() bool {
	return p.ValueMap != nil
}

func (p *ConstValueDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *ConstValueDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("ConstValueDescriptor(%+v)", *p)
}

var fieldIDToName_ConstValueDescriptor = map[int16]string{
	1: "type",
	2: "value_double",
	3: "value_int",
	4: "value_string",
	5: "value_bool",
	6: "value_list",
	7: "value_map",
	8: "value_identifier",
	9: "extra",
}

type TypedefDescriptor struct {
	Filepath    string              `thrift:"filepath,1,required" json:"filepath"`
	Type        *TypeDescriptor     `thrift:"type,2,required" json:"type"`
	Alias       string              `thrift:"alias,3,required" json:"alias"`
	Annotations map[string][]string `thrift:"annotations,4,required" json:"annotations"`
	Comments    string              `thrift:"comments,5,required" json:"comments"`
	Extra       map[string]string   `thrift:"extra,6,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewTypedefDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x11, 0x54, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x44, 0x65,
		0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73,
		0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x6, 0x6, 0x0, 0x1,
		0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74,
		0x68, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4,
		0x74, 0x79, 0x70, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0,
		0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0,
		0x0, 0x0, 0x5, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc,
		0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4,
		0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xb, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
		0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0,
		0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0,
		0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0x8, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0,
		0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1,
		0x0, 0x6, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x65, 0x78, 0x74, 0x72, 0x61, 0x8, 0x0,
		0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc,
		0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0,
	})
}

func NewTypedefDescriptor() *TypedefDescriptor {
	return &TypedefDescriptor{}
}

func (p *TypedefDescriptor) InitDefault() {
}

func (p *TypedefDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

var TypedefDescriptor_Type_DEFAULT *TypeDescriptor

func (p *TypedefDescriptor) GetType() (v *TypeDescriptor) {
	if !p.IsSetType() {
		return TypedefDescriptor_Type_DEFAULT
	}
	return p.Type
}

func (p *TypedefDescriptor) GetAlias() (v string) {
	return p.Alias
}

func (p *TypedefDescriptor) GetAnnotations() (v map[string][]string) {
	return p.Annotations
}

func (p *TypedefDescriptor) GetComments() (v string) {
	return p.Comments
}

var TypedefDescriptor_Extra_DEFAULT map[string]string

func (p *TypedefDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return TypedefDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *TypedefDescriptor) IsSetType() bool {
	return p.Type != nil
}

func (p *TypedefDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *TypedefDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("TypedefDescriptor(%+v)", *p)
}

var fieldIDToName_TypedefDescriptor = map[int16]string{
	1: "filepath",
	2: "type",
	3: "alias",
	4: "annotations",
	5: "comments",
	6: "extra",
}

type EnumDescriptor struct {
	Filepath    string                 `thrift:"filepath,1,required" json:"filepath"`
	Name        string                 `thrift:"name,2,required" json:"name"`
	Values      []*EnumValueDescriptor `thrift:"values,3,required" json:"values"`
	Annotations map[string][]string    `thrift:"annotations,4,required" json:"annotations"`
	Comments    string                 `thrift:"comments,5,required" json:"comments"`
	Extra       map[string]string      `thrift:"extra,6,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewEnumDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72,
		0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75,
		0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x6, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb,
		0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x8, 0x0,
		0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0,
		0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x6e, 0x61, 0x6d,
		0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6,
		0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4,
		0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xb,
		0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0,
		0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0, 0x6,
		0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
		0x6e, 0x74, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x6, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0x5, 0x65, 0x78, 0x74, 0x72, 0x61, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0,
		0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0,
		0x0,
	})
}

func NewEnumDescriptor() *EnumDescriptor {
	return &EnumDescriptor{}
}

func (p *EnumDescriptor) InitDefault() {
}

func (p *EnumDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *EnumDescriptor) GetName() (v string) {
	return p.Name
}

func (p *EnumDescriptor) GetValues() (v []*EnumValueDescriptor) {
	return p.Values
}

func (p *EnumDescriptor) GetAnnotations() (v map[string][]string) {
	return p.Annotations
}

func (p *EnumDescriptor) GetComments() (v string) {
	return p.Comments
}

var EnumDescriptor_Extra_DEFAULT map[string]string

func (p *EnumDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return EnumDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *EnumDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *EnumDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("EnumDescriptor(%+v)", *p)
}

var fieldIDToName_EnumDescriptor = map[int16]string{
	1: "filepath",
	2: "name",
	3: "values",
	4: "annotations",
	5: "comments",
	6: "extra",
}

type EnumValueDescriptor struct {
	Filepath    string              `thrift:"filepath,1,required" json:"filepath"`
	Name        string              `thrift:"name,2,required" json:"name"`
	Value       int64               `thrift:"value,3,required" json:"value"`
	Annotations map[string][]string `thrift:"annotations,4,required" json:"annotations"`
	Comments    string              `thrift:"comments,5,required" json:"comments"`
	Extra       map[string]string   `thrift:"extra,6,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewEnumValueDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65,
		0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0,
		0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x6, 0x6,
		0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70,
		0x61, 0x74, 0x68, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0x4, 0x6e, 0x61, 0x6d, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4,
		0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0,
		0x2, 0x0, 0x0, 0x0, 0x5, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0,
		0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x6, 0x0, 0x1,
		0x0, 0x4, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xb, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
		0x69, 0x6f, 0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0,
		0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0,
		0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2,
		0x0, 0x0, 0x0, 0x8, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x8, 0x0, 0x3, 0x0,
		0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6,
		0x0, 0x1, 0x0, 0x6, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x65, 0x78, 0x74, 0x72, 0x61,
		0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0,
	})
}

func NewEnumValueDescriptor() *EnumValueDescriptor {
	return &EnumValueDescriptor{}
}

func (p *EnumValueDescriptor) InitDefault() {
}

func (p *EnumValueDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *EnumValueDescriptor) GetName() (v string) {
	return p.Name
}

func (p *EnumValueDescriptor) GetValue() (v int64) {
	return p.Value
}

func (p *EnumValueDescriptor) GetAnnotations() (v map[string][]string) {
	return p.Annotations
}

func (p *EnumValueDescriptor) GetComments() (v string) {
	return p.Comments
}

var EnumValueDescriptor_Extra_DEFAULT map[string]string

func (p *EnumValueDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return EnumValueDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *EnumValueDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *EnumValueDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("EnumValueDescriptor(%+v)", *p)
}

var fieldIDToName_EnumValueDescriptor = map[int16]string{
	1: "filepath",
	2: "name",
	3: "value",
	4: "annotations",
	5: "comments",
	6: "extra",
}

type FieldDescriptor struct {
	Filepath     string                `thrift:"filepath,1,required" json:"filepath"`
	Name         string                `thrift:"name,2,required" json:"name"`
	Type         *TypeDescriptor       `thrift:"type,3,required" json:"type"`
	Requiredness string                `thrift:"requiredness,4,required" json:"requiredness"`
	ID           int32                 `thrift:"id,5,required" json:"id"`
	DefaultValue *ConstValueDescriptor `thrift:"default_value,6,optional" json:"default_value,omitempty"`
	Annotations  map[string][]string   `thrift:"annotations,7,required" json:"annotations"`
	Comments     string                `thrift:"comments,8,required" json:"comments"`
	Extra        map[string]string     `thrift:"extra,9,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewFieldDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63,
		0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72,
		0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x9, 0x6, 0x0, 0x1, 0x0, 0x1,
		0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x8,
		0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb,
		0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x6e, 0x61,
		0x6d, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0,
		0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0,
		0x4, 0x74, 0x79, 0x70, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4, 0xb, 0x0, 0x2,
		0x0, 0x0, 0x0, 0xc, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73,
		0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x69,
		0x64, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0x8, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x6, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xd,
		0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x8, 0x0, 0x3,
		0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0,
		0x6, 0x0, 0x1, 0x0, 0x7, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xb, 0x61, 0x6e, 0x6e, 0x6f,
		0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0,
		0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3,
		0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x8,
		0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x8,
		0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb,
		0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x9, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x65, 0x78,
		0x74, 0x72, 0x61, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc,
		0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0,
	})
}

func NewFieldDescriptor() *FieldDescriptor {
	return &FieldDescriptor{}
}

func (p *FieldDescriptor) InitDefault() {
}

func (p *FieldDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *FieldDescriptor) GetName() (v string) {
	return p.Name
}

var FieldDescriptor_Type_DEFAULT *TypeDescriptor

func (p *FieldDescriptor) GetType() (v *TypeDescriptor) {
	if !p.IsSetType() {
		return FieldDescriptor_Type_DEFAULT
	}
	return p.Type
}

func (p *FieldDescriptor) GetRequiredness() (v string) {
	return p.Requiredness
}

func (p *FieldDescriptor) GetID() (v int32) {
	return p.ID
}

var FieldDescriptor_DefaultValue_DEFAULT *ConstValueDescriptor

func (p *FieldDescriptor) GetDefaultValue() (v *ConstValueDescriptor) {
	if !p.IsSetDefaultValue() {
		return FieldDescriptor_DefaultValue_DEFAULT
	}
	return p.DefaultValue
}

func (p *FieldDescriptor) GetAnnotations() (v map[string][]string) {
	return p.Annotations
}

func (p *FieldDescriptor) GetComments() (v string) {
	return p.Comments
}

var FieldDescriptor_Extra_DEFAULT map[string]string

func (p *FieldDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return FieldDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *FieldDescriptor) IsSetType() bool {
	return p.Type != nil
}

func (p *FieldDescriptor) IsSetDefaultValue() bool {
	return p.DefaultValue != nil
}

func (p *FieldDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *FieldDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("FieldDescriptor(%+v)", *p)
}

var fieldIDToName_FieldDescriptor = map[int16]string{
	1: "filepath",
	2: "name",
	3: "type",
	4: "requiredness",
	5: "id",
	6: "default_value",
	7: "annotations",
	8: "comments",
	9: "extra",
}

type StructDescriptor struct {
	Filepath    string              `thrift:"filepath,1,required" json:"filepath"`
	Name        string              `thrift:"name,2,required" json:"name"`
	Fields      []*FieldDescriptor  `thrift:"fields,3,required" json:"fields"`
	Annotations map[string][]string `thrift:"annotations,4,required" json:"annotations"`
	Comments    string              `thrift:"comments,5,required" json:"comments"`
	Extra       map[string]string   `thrift:"extra,6,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewStructDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x10, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73,
		0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74,
		0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x6, 0x6, 0x0, 0x1, 0x0,
		0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68,
		0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x6e,
		0x61, 0x6d, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0x6, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc,
		0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0,
		0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0xb, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x8, 0x0, 0x3,
		0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0,
		0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0,
		0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0,
		0x0, 0x6, 0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x63, 0x6f, 0x6d,
		0x6d, 0x65, 0x6e, 0x74, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x6, 0xb, 0x0, 0x2,
		0x0, 0x0, 0x0, 0x5, 0x65, 0x78, 0x74, 0x72, 0x61, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2,
		0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0,
		0x0, 0x0, 0x0,
	})
}

func NewStructDescriptor() *StructDescriptor {
	return &StructDescriptor{}
}

func (p *StructDescriptor) InitDefault() {
}

func (p *StructDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *StructDescriptor) GetName() (v string) {
	return p.Name
}

func (p *StructDescriptor) GetFields() (v []*FieldDescriptor) {
	return p.Fields
}

func (p *StructDescriptor) GetAnnotations() (v map[string][]string) {
	return p.Annotations
}

func (p *StructDescriptor) GetComments() (v string) {
	return p.Comments
}

var StructDescriptor_Extra_DEFAULT map[string]string

func (p *StructDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return StructDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *StructDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *StructDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("StructDescriptor(%+v)", *p)
}

var fieldIDToName_StructDescriptor = map[int16]string{
	1: "filepath",
	2: "name",
	3: "fields",
	4: "annotations",
	5: "comments",
	6: "extra",
}

type MethodDescriptor struct {
	Filepath        string              `thrift:"filepath,1,required" json:"filepath"`
	Name            string              `thrift:"name,2,required" json:"name"`
	Response        *TypeDescriptor     `thrift:"response,3,optional" json:"response,omitempty"`
	Args            []*FieldDescriptor  `thrift:"args,4,required" json:"args"`
	Annotations     map[string][]string `thrift:"annotations,5,required" json:"annotations"`
	Comments        string              `thrift:"comments,6,required" json:"comments"`
	ThrowExceptions []*FieldDescriptor  `thrift:"throw_exceptions,7,required" json:"throw_exceptions"`
	IsOneway        bool                `thrift:"is_oneway,8,required" json:"is_oneway"`
	Extra           map[string]string   `thrift:"extra,9,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewMethodDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x10, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73,
		0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74,
		0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x9, 0x6, 0x0, 0x1, 0x0,
		0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68,
		0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x6e,
		0x61, 0x6d, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0x8, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0,
		0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1,
		0x0, 0x4, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, 0x61, 0x72, 0x67, 0x73, 0x8, 0x0, 0x3,
		0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0,
		0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x5,
		0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xb, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
		0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0,
		0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0,
		0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x6, 0xb, 0x0, 0x2, 0x0, 0x0,
		0x0, 0x8, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0,
		0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1,
		0x0, 0x7, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x5f, 0x65,
		0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1,
		0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1,
		0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x8, 0xb, 0x0, 0x2, 0x0,
		0x0, 0x0, 0x9, 0x69, 0x73, 0x5f, 0x6f, 0x6e, 0x65, 0x77, 0x61, 0x79, 0x8, 0x0, 0x3, 0x0,
		0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x6,
		0x0, 0x1, 0x0, 0x9, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x65, 0x78, 0x74, 0x72, 0x61,
		0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0,
	})
}

func NewMethodDescriptor() *MethodDescriptor {
	return &MethodDescriptor{}
}

func (p *MethodDescriptor) InitDefault() {
}

func (p *MethodDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *MethodDescriptor) GetName() (v string) {
	return p.Name
}

var MethodDescriptor_Response_DEFAULT *TypeDescriptor

func (p *MethodDescriptor) GetResponse() (v *TypeDescriptor) {
	if !p.IsSetResponse() {
		return MethodDescriptor_Response_DEFAULT
	}
	return p.Response
}

func (p *MethodDescriptor) GetArgs() (v []*FieldDescriptor) {
	return p.Args
}

func (p *MethodDescriptor) GetAnnotations() (v map[string][]string) {
	return p.Annotations
}

func (p *MethodDescriptor) GetComments() (v string) {
	return p.Comments
}

func (p *MethodDescriptor) GetThrowExceptions() (v []*FieldDescriptor) {
	return p.ThrowExceptions
}

func (p *MethodDescriptor) GetIsOneway() (v bool) {
	return p.IsOneway
}

var MethodDescriptor_Extra_DEFAULT map[string]string

func (p *MethodDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return MethodDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *MethodDescriptor) IsSetResponse() bool {
	return p.Response != nil
}

func (p *MethodDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *MethodDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("MethodDescriptor(%+v)", *p)
}

var fieldIDToName_MethodDescriptor = map[int16]string{
	1: "filepath",
	2: "name",
	3: "response",
	4: "args",
	5: "annotations",
	6: "comments",
	7: "throw_exceptions",
	8: "is_oneway",
	9: "extra",
}

type ServiceDescriptor struct {
	Filepath    string              `thrift:"filepath,1,required" json:"filepath"`
	Name        string              `thrift:"name,2,required" json:"name"`
	Methods     []*MethodDescriptor `thrift:"methods,3,required" json:"methods"`
	Annotations map[string][]string `thrift:"annotations,4,required" json:"annotations"`
	Comments    string              `thrift:"comments,5,required" json:"comments"`
	Extra       map[string]string   `thrift:"extra,6,optional" json:"extra,omitempty"`
	Base        string              `thrift:"base,7,optional" json:"base,omitempty"`
}

func init() {
	meta.RegisterStruct(NewServiceDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x11, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65,
		0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73,
		0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x7, 0x6, 0x0, 0x1,
		0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74,
		0x68, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4,
		0x6e, 0x61, 0x6d, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0,
		0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0,
		0x0, 0x0, 0x7, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0,
		0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0,
		0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4, 0xb, 0x0, 0x2,
		0x0, 0x0, 0x0, 0xb, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x8,
		0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd,
		0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0,
		0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0,
		0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x63,
		0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0,
		0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x6, 0xb,
		0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x65, 0x78, 0x74, 0x72, 0x61, 0x8, 0x0, 0x3, 0x0, 0x0,
		0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xb, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x7, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4,
		0x62, 0x61, 0x73, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0,
		0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0,
	})
}

func NewServiceDescriptor() *ServiceDescriptor {
	return &ServiceDescriptor{

		Base: "",
	}
}

func (p *ServiceDescriptor) InitDefault() {
	p.Base = ""
}

func (p *ServiceDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *ServiceDescriptor) GetName() (v string) {
	return p.Name
}

func (p *ServiceDescriptor) GetMethods() (v []*MethodDescriptor) {
	return p.Methods
}

func (p *ServiceDescriptor) GetAnnotations() (v map[string][]string) {
	return p.Annotations
}

func (p *ServiceDescriptor) GetComments() (v string) {
	return p.Comments
}

var ServiceDescriptor_Extra_DEFAULT map[string]string

func (p *ServiceDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return ServiceDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

var ServiceDescriptor_Base_DEFAULT string = ""

func (p *ServiceDescriptor) GetBase() (v string) {
	if !p.IsSetBase() {
		return ServiceDescriptor_Base_DEFAULT
	}
	return p.Base
}

func (p *ServiceDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *ServiceDescriptor) IsSetBase() bool {
	return p.Base != ServiceDescriptor_Base_DEFAULT
}

func (p *ServiceDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("ServiceDescriptor(%+v)", *p)
}

var fieldIDToName_ServiceDescriptor = map[int16]string{
	1: "filepath",
	2: "name",
	3: "methods",
	4: "annotations",
	5: "comments",
	6: "extra",
	7: "base",
}

type FileDescriptor struct {
	Filepath   string               `thrift:"filepath,1,required" json:"filepath"`
	Includes   map[string]string    `thrift:"includes,2,required" json:"includes"`
	Namespaces map[string]string    `thrift:"namespaces,3,required" json:"namespaces"`
	Services   []*ServiceDescriptor `thrift:"services,4,required" json:"services"`
	Structs    []*StructDescriptor  `thrift:"structs,5,required" json:"structs"`
	Exceptions []*StructDescriptor  `thrift:"exceptions,6,required" json:"exceptions"`
	Enums      []*EnumDescriptor    `thrift:"enums,7,required" json:"enums"`
	Typedefs   []*TypedefDescriptor `thrift:"typedefs,8,required" json:"typedefs"`
	Unions     []*StructDescriptor  `thrift:"unions,9,required" json:"unions"`
	Consts     []*ConstDescriptor   `thrift:"consts,10,required" json:"consts"`
	Extra      map[string]string    `thrift:"extra,11,optional" json:"extra,omitempty"`
}

func init() {
	meta.RegisterStruct(NewFileDescriptor, []byte{
		0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
		0x69, 0x70, 0x74, 0x6f, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75,
		0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0xb, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb,
		0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x8, 0x0,
		0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0,
		0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x69, 0x6e, 0x63,
		0x6c, 0x75, 0x64, 0x65, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb,
		0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x6, 0x0,
		0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
		0x61, 0x63, 0x65, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0,
		0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0,
		0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1,
		0x0, 0x4, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
		0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6,
		0x0, 0x1, 0x0, 0x5, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, 0x73, 0x74, 0x72, 0x75, 0x63,
		0x74, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0,
		0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0,
		0x6, 0x0, 0x1, 0x0, 0x6, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x65, 0x78, 0x63, 0x65,
		0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4,
		0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x7, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x5,
		0x65, 0x6e, 0x75, 0x6d, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0, 0x4, 0x8,
		0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc,
		0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x8, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x74,
		0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0,
		0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x9, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0,
		0x6, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0,
		0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0xa, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0,
		0x6, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0xc, 0x0,
		0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0,
		0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0xb, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0,
		0x5, 0x65, 0x78, 0x74, 0x72, 0x61, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4,
		0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0,
		0xb, 0x0, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x0,
	})
}

func NewFileDescriptor() *FileDescriptor {
	return &FileDescriptor{}
}

func (p *FileDescriptor) InitDefault() {
}

func (p *FileDescriptor) GetFilepath() (v string) {
	return p.Filepath
}

func (p *FileDescriptor) GetIncludes() (v map[string]string) {
	return p.Includes
}

func (p *FileDescriptor) GetNamespaces() (v map[string]string) {
	return p.Namespaces
}

func (p *FileDescriptor) GetServices() (v []*ServiceDescriptor) {
	return p.Services
}

func (p *FileDescriptor) GetStructs() (v []*StructDescriptor) {
	return p.Structs
}

func (p *FileDescriptor) GetExceptions() (v []*StructDescriptor) {
	return p.Exceptions
}

func (p *FileDescriptor) GetEnums() (v []*EnumDescriptor) {
	return p.Enums
}

func (p *FileDescriptor) GetTypedefs() (v []*TypedefDescriptor) {
	return p.Typedefs
}

func (p *FileDescriptor) GetUnions() (v []*StructDescriptor) {
	return p.Unions
}

func (p *FileDescriptor) GetConsts() (v []*ConstDescriptor) {
	return p.Consts
}

var FileDescriptor_Extra_DEFAULT map[string]string

func (p *FileDescriptor) GetExtra() (v map[string]string) {
	if !p.IsSetExtra() {
		return FileDescriptor_Extra_DEFAULT
	}
	return p.Extra
}

func (p *FileDescriptor) IsSetExtra() bool {
	return p.Extra != nil
}

func (p *FileDescriptor) String() string {
	if p == nil {
		return "<nil>"
	}
	return fmt.Sprintf("FileDescriptor(%+v)", *p)
}

var fieldIDToName_FileDescriptor = map[int16]string{
	1:  "filepath",
	2:  "includes",
	3:  "namespaces",
	4:  "services",
	5:  "structs",
	6:  "exceptions",
	7:  "enums",
	8:  "typedefs",
	9:  "unions",
	10: "consts",
	11: "extra",
}
