Documentation
¶
Index ¶
- Constants
- func AS3DefaultValue(field *protogen.Field, currentProtoPackage string) string
- func AS3Type(field *protogen.Field, currentProtoPackage string) string
- func EnumClassName(enum *protogen.Enum) string
- func EnumName(enum *protogen.EnumValue) string
- func FieldDefaultName(field *protogen.Field) string
- func FieldName(field *protogen.Field) string
- func FieldNamePascal(field *protogen.Field) string
- func FieldNumberName(field *protogen.Field) string
- func IsAS3ReservedWord(word string) bool
- func MessageClassName(message *protogen.Message) string
- func OneofCaseName(oneof *protogen.Oneof) string
- func QualifiedMessageClassName(message *protogen.Message) string
- func RPCMethodName(method *protogen.Method) string
- func ServiceClassName(service *protogen.Service) string
- func WireTypeForField(field *protogen.Field) protowire.Type
- type Generator
- type IndentWriter
- func (w *IndentWriter) BlankLine()
- func (w *IndentWriter) Dedent()
- func (w *IndentWriter) EnsureBlankLine()
- func (w *IndentWriter) Err() error
- func (w *IndentWriter) Indent()
- func (w *IndentWriter) Line(format string, args ...any)
- func (w *IndentWriter) Reset(dst io.Writer)
- func (w *IndentWriter) Write(format string, args ...any)
- func (w *IndentWriter) WriteIndent()
- type MessageNames
- func (n *MessageNames) Default(field *protogen.Field) string
- func (n *MessageNames) DefaultMaker(field *protogen.Field) string
- func (n *MessageNames) Field(field *protogen.Field) string
- func (n *MessageNames) FieldNumber(field *protogen.Field) string
- func (n *MessageNames) OneofCase(oneof *protogen.Oneof) string
- type Options
Constants ¶
const DefaultIndent = " "
DefaultIndent is the default indentation string used by IndentWriter. It is set to four spaces.
Variables ¶
This section is empty.
Functions ¶
func AS3DefaultValue ¶
AS3DefaultValue returns the default ActionScript expression for field.
func EnumClassName ¶
EnumClassName returns the AS3 class name for a protobuf enum.
func FieldDefaultName ¶
FieldDefaultName returns the AS3 declared-default constant name for a field.
func FieldNamePascal ¶
FieldNamePascal returns the AS3 PascalCase identifier for a protobuf field.
func FieldNumberName ¶
FieldNumberName returns the AS3 field-number constant name for a protobuf field.
func IsAS3ReservedWord ¶
IsAS3ReservedWord reports whether word is reserved in ActionScript 3.
func MessageClassName ¶
MessageClassName returns the AS3 class name for a protobuf message.
func OneofCaseName ¶
OneofCaseName returns the AS3 oneof case field name for a protobuf oneof.
func QualifiedMessageClassName ¶
QualifiedMessageClassName returns the package-qualified AS3 class name, used for every reference to the class (its declaration stays bare): a bare name is ambiguous whenever it collides with a global like Date, even inside the class's own file.
func RPCMethodName ¶
RPCMethodName returns the AS3 method name for a protobuf RPC method.
func ServiceClassName ¶
ServiceClassName returns the AS3 RPC client class name for a protobuf service.
Types ¶
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator emits ActionScript 3 code from protobuf descriptors.
func NewGenerator ¶
NewGenerator creates a generator with normalized options.
type IndentWriter ¶
type IndentWriter struct {
// contains filtered or unexported fields
}
func NewIndentWriter ¶
func NewIndentWriter(dst io.Writer, indent string) IndentWriter
func (*IndentWriter) BlankLine ¶
func (w *IndentWriter) BlankLine()
func (*IndentWriter) Dedent ¶
func (w *IndentWriter) Dedent()
func (*IndentWriter) EnsureBlankLine ¶
func (w *IndentWriter) EnsureBlankLine()
EnsureBlankLine pads the output until it ends with a blank line, so a caller can separate two sections without knowing whether either one wrote anything. It is a no-op at the start of the stream, which keeps leading blank lines out of a block.
func (*IndentWriter) Err ¶
func (w *IndentWriter) Err() error
func (*IndentWriter) Indent ¶
func (w *IndentWriter) Indent()
func (*IndentWriter) Line ¶
func (w *IndentWriter) Line(format string, args ...any)
func (*IndentWriter) Reset ¶
func (w *IndentWriter) Reset(dst io.Writer)
func (*IndentWriter) Write ¶
func (w *IndentWriter) Write(format string, args ...any)
func (*IndentWriter) WriteIndent ¶
func (w *IndentWriter) WriteIndent()
type MessageNames ¶
type MessageNames struct {
// contains filtered or unexported fields
}
MessageNames stores collision-safe generated names for one message.
func NewMessageNames ¶
func NewMessageNames(message *protogen.Message) *MessageNames
NewMessageNames creates stable names for generated members in a message class.
func (*MessageNames) Default ¶
func (n *MessageNames) Default(field *protogen.Field) string
Default returns the AS3 declared-default constant name for field.
func (*MessageNames) DefaultMaker ¶
func (n *MessageNames) DefaultMaker(field *protogen.Field) string
DefaultMaker returns the builder function name for a bytes field's declared-default constant.
func (*MessageNames) Field ¶
func (n *MessageNames) Field(field *protogen.Field) string
Field returns the AS3 instance field name for field.
func (*MessageNames) FieldNumber ¶
func (n *MessageNames) FieldNumber(field *protogen.Field) string
FieldNumber returns the AS3 field-number constant name for field.