Versions in this module Expand all Collapse all v1 v1.0.1 May 28, 2024 v1.0.0 Apr 30, 2024 v0 v0.1.0 Apr 30, 2024 Changes in this version + const ACS_BYTE_COUNT + const AND + const ANNOTATION + const APPOBJECT + const BOOLEAN + const BROADCAST + const BYTE + const CALLBACK + const CALL_AS + const CASE + const CAST + const CHAR + const CHARACTER_LITERAL + const COCLASS + const CONST + const DEFAULT + const DEFAULT_VALUE + const DISABLE_CONSISTENCY_CHECK + const DISPINTERFACE + const DOUBLE + const DUAL + const ENDPOINT + const ENUM + const EQ + const ERROR_STATUS_T + const EXCEPTIONS + const FALSE + const FIRST_IS + const FLOAT + const FORMAT + const FORMAT_MULTI_SIZE + const FORMAT_NULL_TERMINATED + const FORMAT_RUNE + const FORMAT_UTF8 + const GE + const GOEXT_LAYOUT + const GOEXT_NO_SIZE_LIMIT + const GT + const HANDLE + const HANDLE_T + const HELP_STRING + const HIDDEN + const HYPER + const ID + const IDEMPOTENT + const IDENT + const IGNORE + const IID_IS + const IMPORT + const IN + const INT + const INT16 + const INT32 + const INT3264 + const INT64 + const INT8 + const INTERFACE + const INT_LITERAL + const ISO_LATIN_1 + const ISO_MULTILINGUAL + const ISO_UCS + const LAST_IS + const LE + const LENGTH_IS + const LIBRARY + const LOCAL + const LOGICAL_AND + const LOGICAL_OR + const LONG + const LSH + const LT + const MAX_IS + const MAYBE + const METHODS + const MIN_IS + const MS_UNION + const NE + const NONEXTENSIBLE + const NULL + const OBJECT + const ODL + const OLEAUTOMATION + const OPTIONAL + const OR + const OUT + const PAD + const PIPE + const POINTER + const POINTER_DEFAULT + const POINTER_PTR + const POINTER_REF + const POINTER_UNIQUE + const PRAGMA_CPP_QUOTE + const PRAGMA_DEFINE + const PROPERTIES + const PROPGET + const PROPPUT + const PROPPUTREF + const PUBLIC + const RANGE + const REFLECT_DELETIONS + const RESTRICTED + const RETVAL + const RNG + const RPCEofCode + const RPCErrCode + const RPCFlag + const RPCInitialStackSize + const RPCLast + const RPCPrivate + const RSH + const SAFEARRAY + const SHORT + const SIGNED + const SIZEOF + const SIZE_IS + const SMALL + const SOURCE + const STRICT_CONTEXT_HANDLE + const STRING + const STRING_LITERAL + const STRUCT + const SWITCH + const SWITCH_IS + const SWITCH_TYPE + const TERNARY + const TRANSMIT_AS + const TRUE + const TYPEDEF + const TYPE_STRICT_CONTEXT_HANDLE + const UMINUS + const UMUL + const UNEG + const UNION + const UNOT + const UNSIGNED + const UPLUS + const USAGE_CONTEXT_HANDLE + const USAGE_STRING + const UUID + const V1_ENUM + const VERSION + const VOID + const WCHAR_T + const WIRE_MARSHAL + const XOR + var ErrEOF = errors.New("unexpected EOF") + var NameTok = map[string]int + var RPCAct = [...]int16 + var RPCChk = [...]int16 + var RPCDebug = 0 + var RPCDef = [...]int16 + var RPCErrorMessages = [...]struct{ ... } + var RPCErrorVerbose = false + var RPCExca = [...]int16 + var RPCPact = [...]int16 + var RPCPgo = [...]int16 + var RPCR1 = [...]uint8 + var RPCR2 = [...]int8 + var RPCStatenames = [...]string + var RPCTok1 = [...]uint8 + var RPCTok2 = [...]uint8 + var RPCTok3 = [...]int8 + var RPCToknames = [...]string + var ReservedTok = map[int]struct + var SQBReservedTok = map[int]struct + var TokName = map[int]string + func CanEval(es ...Expr) bool + func FileStore(p string, f *File) + func FindFile(f string) (string, string, error) + func FindPath() []string + func Hash(s string) int + func IsBoolOp(op int) bool + func MD5(text string) string + func PrimitiveTypeSize(kind Kind) int + func RPCErrorMessage(state, lookAhead int) string + func RPCParse(RPClex RPCLexer) int + func RPCStatname(s int) string + func RPCTokname(c int) string + func RPClex1(lex RPCLexer, lval *RPCSymType) (char, token int) + func SetSwitchType(fields []*Field) + func TagName(kind Kind, tag string) string + func TypeSize(s TypeStore, t *Type) int + type Args struct + func (a *Args) LookupExpr(string) (Expr, bool) + type Array struct + Bound ArrayBound + func (a *Array) MarshalJSON() ([]byte, error) + func (a Array) IsFixed() bool + func (a Array) Size() int64 + type ArrayBound struct + Lower int64 + Upper int64 + type Charset int + const CharsetISO_Latin_1 + const CharsetISO_Multilingual + const CharsetISO_UCS + const CharsetNone + func (c Charset) String() (ret string) + type ComClass struct + Attrs *ComClassAttr + Interfaces []*ComInterface + Name string + type ComClassAttr struct + AppObject bool + func (a *ComClassAttr) MarshalJSON() ([]byte, error) + func (a *ComClassAttr) String() string + type ComInterface struct + Attrs *ComInterfaceAttr + Name string + Type *Type + type ComInterfaceAttr struct + Default bool + Source bool + func (a *ComInterfaceAttr) MarshalJSON() ([]byte, error) + func (a *ComInterfaceAttr) String() string + type Const struct + Name string + Type Kind + Value Expr + type Dim struct + Dimension int + FirstIs Expr + IsMultiSize bool + IsNullTerminated bool + IsString bool + IsUTF8 bool + LastIs Expr + LengthIs Expr + MaxIs Expr + MinIs Expr + NoSizeLimit bool + SizeIs Expr + func (d Dim) Empty() bool + func (d Dim) Size() Size + func (d Dim) String() string + type Direction struct + In bool + Out bool + func (d Direction) String() string + type DispatchInterface struct + Attrs *DispatchInterfaceAttr + Body DispatchInterfaceBody + Name string + type DispatchInterfaceAttr struct + func (a *DispatchInterfaceAttr) MarshalJSON() ([]byte, error) + func (a *DispatchInterfaceAttr) String() string + type DispatchInterfaceBody struct + Methods []*Operation + Properties []*Field + type Element struct + ID int + Value string + type Enum struct + Elems []*Element + Is32 bool + type Export struct + Aliases []string + Const *Const + Name string + Position int + Type *Type + type Expr struct + Expr *ExprTree + Value interface{} + func NewExpr(op int, valuer func() (interface{}, bool), es ...Expr) (Expr, bool) + func NewIdent(v string) Expr + func NewValue(v interface{}) Expr + func (cond Expr) Ter(lval, rval Expr) (Expr, bool) + func (e Expr) BigInt() (*big.Int, bool) + func (e Expr) Bool() bool + func (e Expr) CanEval() bool + func (e Expr) Char() (rune, bool) + func (e Expr) Coerce(kind Kind) (Expr, error) + func (e Expr) Eval(l ExprStore) (Expr, bool) + func (e Expr) Expression(namer ...func(string) string) string + func (e Expr) Int64() (int64, bool) + func (e Expr) IsIdent() bool + func (e Expr) IsZero() bool + func (e Expr) MarshalJSON() ([]byte, error) + func (e Expr) Null() bool + func (e Expr) Resolve(in Expr) (Expr, bool) + func (e Expr) Str() (string, bool) + func (e Expr) String() string + func (e Expr) Uint64() (uint64, bool) + func (lval Expr) Add(rval Expr) (Expr, bool) + func (lval Expr) And(rval Expr) (Expr, bool) + func (lval Expr) Div(rval Expr) (Expr, bool) + func (lval Expr) Eq(rval Expr) (Expr, bool) + func (lval Expr) Ge(rval Expr) (Expr, bool) + func (lval Expr) Gt(rval Expr) (Expr, bool) + func (lval Expr) Le(rval Expr) (Expr, bool) + func (lval Expr) LogicalAnd(rval Expr) (Expr, bool) + func (lval Expr) LogicalOr(rval Expr) (Expr, bool) + func (lval Expr) Lsh(rval Expr) (Expr, bool) + func (lval Expr) Lt(rval Expr) (Expr, bool) + func (lval Expr) Mul(rval Expr) (Expr, bool) + func (lval Expr) Ne(rval Expr) (Expr, bool) + func (lval Expr) Or(rval Expr) (Expr, bool) + func (lval Expr) Rem(rval Expr) (Expr, bool) + func (lval Expr) Rsh(rval Expr) (Expr, bool) + func (lval Expr) Sub(rval Expr) (Expr, bool) + func (lval Expr) Xor(rval Expr) (Expr, bool) + func (val Expr) Empty() bool + func (val Expr) Ident() Expr + func (val Expr) Neg() (Expr, bool) + func (val Expr) Negative() (Expr, bool) + func (val Expr) Not() (Expr, bool) + func (val Expr) Positive() (Expr, bool) + func (val Expr) Ptr() (Expr, bool) + func (val Expr) ResolveTo(to Expr) (Expr, bool) + type ExprStore interface + LookupExpr func(string) (Expr, bool) + func NewArgs(args ...interface{}) ExprStore + type ExprTree struct + Cond *ExprTree + Lval *ExprTree + Op int + Rval *ExprTree + Value interface{} + func (e *ExprTree) Eval(l ExprStore) (Expr, bool) + func (e *ExprTree) Resolve(expr *ExprTree) (Expr, *ExprTree, bool) + func (e *ExprTree) ResolveTo(to Expr) (Expr, bool) + func (t *ExprTree) Expression(namer ...func(string) string) string + func (t *ExprTree) String() string + type Exprs []Expr + type Field struct + Attrs *FieldAttr + DefaultValue Expr + Name string + Position int + Type *Type + func (f *Field) IsHandle() bool + func (f *Field) IsString() bool + func (f *Field) Scopes() []*Scope + type FieldAttr struct + FirstIs []Expr + Format Format + Ignore bool + LastIs []Expr + Layout []*Field + LengthIs []Expr + MaxIs []Expr + MinIs []Expr + NoSizeLimit bool + Pointer PointerType + Range *Range + Safearray *Type + SizeIs []Expr + SwitchIs Expr + SwitchType *Type + Usage Usage + func (a *FieldAttr) MarshalJSON() ([]byte, error) + func (a *FieldAttr) String() string + func (f *FieldAttr) Dim() []Dim + func (f *FieldAttr) SizeAttr() *SizeAttr + func (f *FieldAttr) TypeAttr() *TypeAttr + type File struct + ComClasses []*ComClass + DispatchInterfaces []*DispatchInterface + Export map[string]*Export + FullPath string + GoPkg string + Imports []string + Interfaces []*Interface + Libraries []*Library + Path string + func FileLoad(p string) (*File, bool) + func Files() []*File + func NewFile(p, pkg string) *File + func Parse(s string) (*File, error) + func (f *File) Exports() []*Export + func (f *File) GoPackage(tn string) (string, bool) + func (f *File) IsLocal(tn string) bool + func (f *File) Load() (*File, error) + func (f *File) LookupAlias(n string) []string + func (f *File) LookupType(n string) (*Type, bool) + type Format struct + MultiSize bool + NullTerminated bool + Rune bool + UTF8 bool + func (f Format) String() string + type Func struct + Params []*Param + type Interface struct + Attrs *InterfaceAttr + Base *Interface + BaseName string + Body InterfaceBody + Name string + func (iff *Interface) Exports() []*Export + func (iff *Interface) IsObject() bool + type InterfaceAttr struct + Dual bool + Endpoints []string + Exceptions []string + HelpString string + Hidden bool + Local bool + MSUnion bool + Nonextensible bool + ODL bool + OLEAutomation bool + Object bool + PointerDefault PointerType + UUID *uuid.UUID + Version *Version + func (a *InterfaceAttr) MarshalJSON() ([]byte, error) + func (a *InterfaceAttr) String() string + type InterfaceBody struct + Export map[string]*Export + Imports []string + Operations []*Operation + func (b InterfaceBody) Exports() []*Export + type Kind int + const TypeArray + const TypeAttribute + const TypeBoolean + const TypeCUnion + const TypeChar + const TypeCharset + const TypeDispInterface + const TypeEnum + const TypeError + const TypeFloat32 + const TypeFloat64 + const TypeFunc + const TypeHandle + const TypeInt16 + const TypeInt32 + const TypeInt32_64 + const TypeInt64 + const TypeInt8 + const TypeInterface + const TypeInvalid + const TypePipe + const TypePointer + const TypeRef + const TypeString + const TypeStruct + const TypeTag + const TypeUChar + const TypeUint16 + const TypeUint32 + const TypeUint32_64 + const TypeUint64 + const TypeUint8 + const TypeUnion + const TypeVoid + const TypeWChar + func (k Kind) Signed() bool + func (t Kind) MarshalJSON() ([]byte, error) + func (t Kind) String() (ret string) + type Lexer struct + func NewLexer(s string) *Lexer + func (l *Lexer) Error(s string) + func (l *Lexer) Errorf(frmt string, args ...interface{}) + func (l *Lexer) Lex(lval *RPCSymType) int + func (l *Lexer) Push(s string) + func (l *Lexer) TokName(c int) (string, bool) + type Library struct + Attrs *LibraryAttr + Body LibraryBody + Name string + type LibraryAttr struct + func (a *LibraryAttr) MarshalJSON() ([]byte, error) + func (a *LibraryAttr) String() string + type LibraryBody struct + ComClasses []*ComClass + type Operation struct + Attrs *OperationAttr + Name string + OpNum int + Params []*Param + Type *Type + func (o *Operation) GetName() string + type OperationAttr struct + Broadcast bool + CallAs string + Callback bool + Format Format + ID Expr + Idempotent bool + Maybe bool + Pointer PointerType + PropGet bool + PropPut bool + PropPutRef bool + ReflectDeletions bool + Restricted bool + Usage Usage + func (a *OperationAttr) MarshalJSON() ([]byte, error) + func (a *OperationAttr) String() string + type Param struct + Attrs *ParamAttr + Name string + Type *Type + func (p *Param) IsHandle() bool + type ParamAttr struct + Annotation string + DefaultValue Expr + Direction Direction + DisableConsistencyCheck bool + IIDIs Expr + Optional bool + Retval bool + func (a *ParamAttr) MarshalJSON() ([]byte, error) + func (a *ParamAttr) String() string + type Parser struct + func NewParser(s string) *Parser + func (p *Parser) Defer(ref *Type) + func (p *Parser) LookupConst(n string) (*Const, bool) + func (p *Parser) LookupExpr(n string) (Expr, bool) + func (p *Parser) LookupType(n string) (*Type, bool) + func (p *Parser) Store(n string, val Expr, typ ...Kind) + type PointerType int + const PointerTypeNone + const PointerTypePtr + const PointerTypeRef + const PointerTypeRefWeak + const PointerTypeUnique + func (p PointerType) String() string + type RPCLexer interface + Error func(s string) + Lex func(lval *RPCSymType) int + type RPCParser interface + Lookahead func() int + Parse func(RPCLexer) int + func RPCNewParser() RPCParser + type RPCParserImpl struct + func (RPCrcvr *RPCParserImpl) Parse(RPClex RPCLexer) int + func (p *RPCParserImpl) Lookahead() int + type RPCSymType struct + ArrayBound ArrayBound + Attr pAttr + AttrType pAttrType + Char rune + ComClass ComClass + ComInterface *ComInterface + ComInterfaces []*ComInterface + Const *Const + Declarator *pDeclarator + Declarators []*pDeclarator + DispatchInterface DispatchInterface + DispatchInterfaceBody DispatchInterfaceBody + Export []*Export + Expr Expr + Exprs Exprs + Field *Field + Fields []*Field + File File + Ident string + Int *big.Int + Int64 int64 + Interface Interface + InterfaceBody InterfaceBody + Kind Kind + Library Library + Operation *Operation + Operations []*Operation + Param *Param + Params []*Param + Range *Range + String string + Strings []string + TagID pTagID + TagIDs []pTagID + Token int + Type *Type + Typedef *pTypedef + UUID *uuid.UUID + UnionCase *UnionCase + UnionCases []*UnionCase + UnionSwitch *UnionSwitch + Version *Version + type Range struct + Max int64 + Min int64 + type Scope struct + Attr *TypeAttr + Types []*ScopedType + type ScopedType struct + Dim Dim + Pointer int + type Size struct + MaxIs Expr + MinIs Expr + SizeIs Expr + func (d Size) Empty() bool + func (d Size) Is() (expr Expr) + type SizeAttr struct + MaxIs []Expr + MinIs []Expr + SizeIs []Expr + type Struct struct + Fields []*Field + func (s *Struct) LastField() *Field + type Type struct + Alias string + Array *Array + Attrs *TypeAttr + Charset Charset + Elem *Type + Enum *Enum + Func *Func + Interface *Interface + Kind Kind + Name string + Struct *Struct + Tag string + Union *Union + func InterfaceToExport(iff *Interface) *Type + func LookupType(n string) *Type + func (a *Type) MarshalJSON() ([]byte, error) + func (t *Type) Append(tt *Type) *Type + func (t *Type) AppendAfterPointer(tt *Type) *Type + func (t *Type) Base() *Type + func (t *Type) Is(kind Kind) bool + func (t *Type) IsPrimitiveType() bool + func (t *Type) Scopes() []*Scope + func (t *Type) TypeName() string + type TypeAttr struct + Alias string + DisableConsistencyCheck bool + Format Format + Handle bool + Names []string + Pad uint64 + Parent string + Pointer PointerType + Pointers []PointerType + Public bool + Range *Range + SwitchType *Type + TransmitAs *Type + Usage Usage + V1Enum bool + WireMarshal string + func (a *TypeAttr) MarshalJSON() ([]byte, error) + func (a *TypeAttr) String() string + func (t *TypeAttr) EnumType() Kind + func (t *TypeAttr) Merge(tt *TypeAttr) *TypeAttr + type TypeStore interface + LookupType func(n string) (*Type, bool) + type Union struct + Body []*UnionCase + Switch *UnionSwitch + func (u *Union) IsEncapsulated() bool + type UnionCase struct + Arms []*Field + IsDefault bool + Labels []interface{} + Position int + func (u *UnionCase) String() string + type UnionSwitch struct + Name string + Type *Type + type Usage struct + ContextHandle bool + IsString bool + func (u Usage) String() string + type Version struct + Major uint16 + Minor uint16 + func (v *Version) String() string