proto3-suite-0.3.0.0: A low level library for writing out data in the Protocol Buffers wire format

Safe HaskellNone
LanguageHaskell2010

Proto3.Suite.DotProto.AST

Contents

Description

Fairly straightforward AST encoding of the .proto grammar

Synopsis

Types

newtype FieldName Source #

The name of some field

Constructors

FieldName 

Fields

data DotProtoImportQualifier Source #

Instances
Eq DotProtoImportQualifier Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Ord DotProtoImportQualifier Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Show DotProtoImportQualifier Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Arbitrary DotProtoImportQualifier Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Pretty DotProtoImportQualifier Source # 
Instance details

Defined in Proto3.Suite.DotProto.Rendering

data DotProtoOption Source #

An option id/value pair, can be attached to many types of statements

data DotProtoMeta Source #

Tracks misc metadata about the AST

Constructors

DotProtoMeta 

Fields

  • metaModulePath :: Path

    The "module path" associated with the .proto file from which this AST was parsed. The "module path" is derived from the `--includeDir`-relative .proto filename passed to parseProtoFile. See toModulePath for details on how module path values are constructed. See modulePathModName to see how it is used during code generation.

data DotProto Source #

This data structure represents a .proto file The actual source order of protobuf statements isn't meaningful so statements are sorted by type during parsing. A .proto file with more than one package declaration is considered invalid.

Instances
Eq DotProto Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Show DotProto Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Arbitrary DotProto Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

data Packing Source #

Constructors

PackedField 
UnpackedField 
Instances
Eq Packing Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Methods

(==) :: Packing -> Packing -> Bool #

(/=) :: Packing -> Packing -> Bool #

Show Packing Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Arbitrary Packing Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

newtype Path Source #

Constructors

Path 

Fields

Instances
Eq Path Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Methods

(==) :: Path -> Path -> Bool #

(/=) :: Path -> Path -> Bool #

Ord Path Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Methods

compare :: Path -> Path -> Ordering #

(<) :: Path -> Path -> Bool #

(<=) :: Path -> Path -> Bool #

(>) :: Path -> Path -> Bool #

(>=) :: Path -> Path -> Bool #

max :: Path -> Path -> Path #

min :: Path -> Path -> Path #

Show Path Source # 
Instance details

Defined in Proto3.Suite.DotProto.AST

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

data DotProtoType Source #

This type is an almagamation of the modifiers used in types. It corresponds to a syntax role but not a semantic role, not all modifiers are meaningful in every type context.