pb

package
v0.5.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2021 License: Apache-2.0 Imports: 3 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BinaryExpression_Operator_name = map[int32]string{
	0:  "UNKNOWN",
	1:  "MATCHES",
	2:  "CONTAINS",
	3:  "AT",
	4:  "IN",
	5:  "LT",
	6:  "GT",
	7:  "LE",
	8:  "GE",
	9:  "EQ",
	10: "NEQ",
	11: "INTEGER_FUNCTION",
	12: "PLUS",
	13: "MINUS",
	14: "TIMES",
	15: "DIV",
	16: "MOD",
	17: "XOR",
	18: "BITWISE_AND",
	19: "BITWISE_OR",
	20: "SHIFT_LEFT",
	21: "SHIFT_RIGHT",
	22: "ICONTAINS",
	23: "STARTSWITH",
	24: "ISTARTSWITH",
	25: "ENDSWITH",
	26: "IENDSWITH",
}
View Source
var BinaryExpression_Operator_value = map[string]int32{
	"UNKNOWN":          0,
	"MATCHES":          1,
	"CONTAINS":         2,
	"AT":               3,
	"IN":               4,
	"LT":               5,
	"GT":               6,
	"LE":               7,
	"GE":               8,
	"EQ":               9,
	"NEQ":              10,
	"INTEGER_FUNCTION": 11,
	"PLUS":             12,
	"MINUS":            13,
	"TIMES":            14,
	"DIV":              15,
	"MOD":              16,
	"XOR":              17,
	"BITWISE_AND":      18,
	"BITWISE_OR":       19,
	"SHIFT_LEFT":       20,
	"SHIFT_RIGHT":      21,
	"ICONTAINS":        22,
	"STARTSWITH":       23,
	"ISTARTSWITH":      24,
	"ENDSWITH":         25,
	"IENDSWITH":        26,
}
View Source
var ForKeyword_name = map[int32]string{
	1: "ALL",
	2: "ANY",
}
View Source
var ForKeyword_value = map[string]int32{
	"ALL": 1,
	"ANY": 2,
}
View Source
var Keyword_name = map[int32]string{
	1: "UNKNOWN",
	2: "ENTRYPOINT",
	3: "FILESIZE",
}
View Source
var Keyword_value = map[string]int32{
	"UNKNOWN":    1,
	"ENTRYPOINT": 2,
	"FILESIZE":   3,
}
View Source
var StringSetKeyword_name = map[int32]string{
	1: "THEM",
}
View Source
var StringSetKeyword_value = map[string]int32{
	"THEM": 1,
}
View Source
var UnaryExpression_Operator_name = map[int32]string{
	0: "UNKNOWN",
	1: "UNARY_MINUS",
	2: "BITWISE_NOT",
}
View Source
var UnaryExpression_Operator_value = map[string]int32{
	"UNKNOWN":     0,
	"UNARY_MINUS": 1,
	"BITWISE_NOT": 2,
}

Functions

This section is empty.

Types

type BinaryExpression

type BinaryExpression struct {
	// Operator. Required.
	Operator *BinaryExpression_Operator `protobuf:"varint,1,opt,name=operator,enum=BinaryExpression_Operator" json:"operator,omitempty"`
	// Left expression. Required.
	Left *Expression `protobuf:"bytes,2,opt,name=left" json:"left,omitempty"`
	// Right expression. Required.
	Right                *Expression `protobuf:"bytes,3,opt,name=right" json:"right,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Binary expression, consisting of two expressions joined by an operator.

func (*BinaryExpression) Descriptor

func (*BinaryExpression) Descriptor() ([]byte, []int)

func (*BinaryExpression) GetLeft

func (m *BinaryExpression) GetLeft() *Expression

func (*BinaryExpression) GetOperator

func (*BinaryExpression) GetRight

func (m *BinaryExpression) GetRight() *Expression

func (*BinaryExpression) ProtoMessage

func (*BinaryExpression) ProtoMessage()

func (*BinaryExpression) Reset

func (m *BinaryExpression) Reset()

func (*BinaryExpression) String

func (m *BinaryExpression) String() string

func (*BinaryExpression) XXX_DiscardUnknown

func (m *BinaryExpression) XXX_DiscardUnknown()

func (*BinaryExpression) XXX_Marshal

func (m *BinaryExpression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BinaryExpression) XXX_Merge

func (m *BinaryExpression) XXX_Merge(src proto.Message)

func (*BinaryExpression) XXX_Size

func (m *BinaryExpression) XXX_Size() int

func (*BinaryExpression) XXX_Unmarshal

func (m *BinaryExpression) XXX_Unmarshal(b []byte) error

type BinaryExpression_Operator

type BinaryExpression_Operator int32
const (
	BinaryExpression_UNKNOWN          BinaryExpression_Operator = 0
	BinaryExpression_MATCHES          BinaryExpression_Operator = 1
	BinaryExpression_CONTAINS         BinaryExpression_Operator = 2
	BinaryExpression_AT               BinaryExpression_Operator = 3
	BinaryExpression_IN               BinaryExpression_Operator = 4
	BinaryExpression_LT               BinaryExpression_Operator = 5
	BinaryExpression_GT               BinaryExpression_Operator = 6
	BinaryExpression_LE               BinaryExpression_Operator = 7
	BinaryExpression_GE               BinaryExpression_Operator = 8
	BinaryExpression_EQ               BinaryExpression_Operator = 9
	BinaryExpression_NEQ              BinaryExpression_Operator = 10
	BinaryExpression_INTEGER_FUNCTION BinaryExpression_Operator = 11
	BinaryExpression_PLUS             BinaryExpression_Operator = 12
	BinaryExpression_MINUS            BinaryExpression_Operator = 13
	BinaryExpression_TIMES            BinaryExpression_Operator = 14
	BinaryExpression_DIV              BinaryExpression_Operator = 15
	BinaryExpression_MOD              BinaryExpression_Operator = 16
	BinaryExpression_XOR              BinaryExpression_Operator = 17
	BinaryExpression_BITWISE_AND      BinaryExpression_Operator = 18
	BinaryExpression_BITWISE_OR       BinaryExpression_Operator = 19
	BinaryExpression_SHIFT_LEFT       BinaryExpression_Operator = 20
	BinaryExpression_SHIFT_RIGHT      BinaryExpression_Operator = 21
	BinaryExpression_ICONTAINS        BinaryExpression_Operator = 22
	BinaryExpression_STARTSWITH       BinaryExpression_Operator = 23
	BinaryExpression_ISTARTSWITH      BinaryExpression_Operator = 24
	BinaryExpression_ENDSWITH         BinaryExpression_Operator = 25
	BinaryExpression_IENDSWITH        BinaryExpression_Operator = 26
)

func (BinaryExpression_Operator) Enum

func (BinaryExpression_Operator) EnumDescriptor

func (BinaryExpression_Operator) EnumDescriptor() ([]byte, []int)

func (BinaryExpression_Operator) String

func (x BinaryExpression_Operator) String() string

func (*BinaryExpression_Operator) UnmarshalJSON

func (x *BinaryExpression_Operator) UnmarshalJSON(data []byte) error

type BytesSequence

type BytesSequence struct {
	// The list of values.
	Value []byte `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"`
	// The mask applied to each byte in value.
	// Indexes and length of value and mask must match.
	// Possible masks:
	// 00 -> Full wildcard, value is ignored (??).
	// 0F -> Nibble-wise wildcard (?v).
	// F0 -> Nibble-wise wildcard (v?).
	// FF -> No wildcard (vv).
	Mask                 []byte   `protobuf:"bytes,2,opt,name=mask" json:"mask,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A sequence of bytes, which may contain wildcards.

func (*BytesSequence) Descriptor

func (*BytesSequence) Descriptor() ([]byte, []int)

func (*BytesSequence) GetMask

func (m *BytesSequence) GetMask() []byte

func (*BytesSequence) GetValue

func (m *BytesSequence) GetValue() []byte

func (*BytesSequence) ProtoMessage

func (*BytesSequence) ProtoMessage()

func (*BytesSequence) Reset

func (m *BytesSequence) Reset()

func (*BytesSequence) String

func (m *BytesSequence) String() string

func (*BytesSequence) XXX_DiscardUnknown

func (m *BytesSequence) XXX_DiscardUnknown()

func (*BytesSequence) XXX_Marshal

func (m *BytesSequence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BytesSequence) XXX_Merge

func (m *BytesSequence) XXX_Merge(src proto.Message)

func (*BytesSequence) XXX_Size

func (m *BytesSequence) XXX_Size() int

func (*BytesSequence) XXX_Unmarshal

func (m *BytesSequence) XXX_Unmarshal(b []byte) error

type Expression

type Expression struct {
	// Types that are valid to be assigned to Expression:
	//	*Expression_BoolValue
	//	*Expression_BinaryExpression
	//	*Expression_UnaryExpression
	//	*Expression_StringIdentifier
	//	*Expression_ForInExpression
	//	*Expression_ForOfExpression
	//	*Expression_NotExpression
	//	*Expression_OrExpression
	//	*Expression_AndExpression
	//	*Expression_Range
	//	*Expression_Regexp
	//	*Expression_Keyword
	//	*Expression_NumberValue
	//	*Expression_DoubleValue
	//	*Expression_Text
	//	*Expression_StringCount
	//	*Expression_StringOffset
	//	*Expression_StringLength
	//	*Expression_Identifier
	//	*Expression_IntegerFunction
	Expression           isExpression_Expression `protobuf_oneof:"expression"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

Expression used as part of a rule condition.

func (*Expression) DepthFirstSearch

func (e *Expression) DepthFirstSearch(v Visitor)

DepthFirstSearch performs a depth-first traversal of the expression's syntax tree, it receives a Visitor that must implement PreOrderVisitor, PostOrderVisitor or both.

func (*Expression) Descriptor

func (*Expression) Descriptor() ([]byte, []int)

func (*Expression) GetAndExpression

func (m *Expression) GetAndExpression() *Expressions

func (*Expression) GetBinaryExpression

func (m *Expression) GetBinaryExpression() *BinaryExpression

func (*Expression) GetBoolValue

func (m *Expression) GetBoolValue() bool

func (*Expression) GetDoubleValue

func (m *Expression) GetDoubleValue() float64

func (*Expression) GetExpression

func (m *Expression) GetExpression() isExpression_Expression

func (*Expression) GetForInExpression

func (m *Expression) GetForInExpression() *ForInExpression

func (*Expression) GetForOfExpression

func (m *Expression) GetForOfExpression() *ForOfExpression

func (*Expression) GetIdentifier

func (m *Expression) GetIdentifier() *Identifier

func (*Expression) GetIntegerFunction

func (m *Expression) GetIntegerFunction() *IntegerFunction

func (*Expression) GetKeyword

func (m *Expression) GetKeyword() Keyword

func (*Expression) GetNotExpression

func (m *Expression) GetNotExpression() *Expression

func (*Expression) GetNumberValue

func (m *Expression) GetNumberValue() int64

func (*Expression) GetOrExpression

func (m *Expression) GetOrExpression() *Expressions

func (*Expression) GetRange

func (m *Expression) GetRange() *Range

func (*Expression) GetRegexp

func (m *Expression) GetRegexp() *Regexp

func (*Expression) GetStringCount

func (m *Expression) GetStringCount() string

func (*Expression) GetStringIdentifier

func (m *Expression) GetStringIdentifier() string

func (*Expression) GetStringLength

func (m *Expression) GetStringLength() *StringLength

func (*Expression) GetStringOffset

func (m *Expression) GetStringOffset() *StringOffset

func (*Expression) GetText

func (m *Expression) GetText() string

func (*Expression) GetUnaryExpression

func (m *Expression) GetUnaryExpression() *UnaryExpression

func (*Expression) ProtoMessage

func (*Expression) ProtoMessage()

func (*Expression) Reset

func (m *Expression) Reset()

func (*Expression) String

func (m *Expression) String() string

func (*Expression) XXX_DiscardUnknown

func (m *Expression) XXX_DiscardUnknown()

func (*Expression) XXX_Marshal

func (m *Expression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expression) XXX_Merge

func (m *Expression) XXX_Merge(src proto.Message)

func (*Expression) XXX_OneofWrappers added in v0.3.0

func (*Expression) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Expression) XXX_Size

func (m *Expression) XXX_Size() int

func (*Expression) XXX_Unmarshal

func (m *Expression) XXX_Unmarshal(b []byte) error

type Expression_AndExpression

type Expression_AndExpression struct {
	AndExpression *Expressions `protobuf:"bytes,9,opt,name=and_expression,json=andExpression,oneof"`
}

type Expression_BinaryExpression

type Expression_BinaryExpression struct {
	BinaryExpression *BinaryExpression `protobuf:"bytes,2,opt,name=binary_expression,json=binaryExpression,oneof"`
}

type Expression_BoolValue

type Expression_BoolValue struct {
	BoolValue bool `protobuf:"varint,1,opt,name=bool_value,json=boolValue,oneof"`
}

type Expression_DoubleValue

type Expression_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,14,opt,name=double_value,json=doubleValue,oneof"`
}

type Expression_ForInExpression

type Expression_ForInExpression struct {
	ForInExpression *ForInExpression `protobuf:"bytes,5,opt,name=for_in_expression,json=forInExpression,oneof"`
}

type Expression_ForOfExpression

type Expression_ForOfExpression struct {
	ForOfExpression *ForOfExpression `protobuf:"bytes,6,opt,name=for_of_expression,json=forOfExpression,oneof"`
}

type Expression_Identifier

type Expression_Identifier struct {
	Identifier *Identifier `protobuf:"bytes,19,opt,name=identifier,oneof"`
}

type Expression_IntegerFunction

type Expression_IntegerFunction struct {
	IntegerFunction *IntegerFunction `protobuf:"bytes,20,opt,name=integer_function,json=integerFunction,oneof"`
}

type Expression_Keyword

type Expression_Keyword struct {
	Keyword Keyword `protobuf:"varint,12,opt,name=keyword,enum=Keyword,oneof"`
}

type Expression_NotExpression

type Expression_NotExpression struct {
	NotExpression *Expression `protobuf:"bytes,7,opt,name=not_expression,json=notExpression,oneof"`
}

type Expression_NumberValue

type Expression_NumberValue struct {
	NumberValue int64 `protobuf:"varint,13,opt,name=number_value,json=numberValue,oneof"`
}

type Expression_OrExpression

type Expression_OrExpression struct {
	OrExpression *Expressions `protobuf:"bytes,8,opt,name=or_expression,json=orExpression,oneof"`
}

type Expression_Range

type Expression_Range struct {
	Range *Range `protobuf:"bytes,10,opt,name=range,oneof"`
}

type Expression_Regexp

type Expression_Regexp struct {
	Regexp *Regexp `protobuf:"bytes,11,opt,name=regexp,oneof"`
}

type Expression_StringCount

type Expression_StringCount struct {
	StringCount string `protobuf:"bytes,16,opt,name=string_count,json=stringCount,oneof"`
}

type Expression_StringIdentifier

type Expression_StringIdentifier struct {
	StringIdentifier string `protobuf:"bytes,4,opt,name=string_identifier,json=stringIdentifier,oneof"`
}

type Expression_StringLength

type Expression_StringLength struct {
	StringLength *StringLength `protobuf:"bytes,18,opt,name=string_length,json=stringLength,oneof"`
}

type Expression_StringOffset

type Expression_StringOffset struct {
	StringOffset *StringOffset `protobuf:"bytes,17,opt,name=string_offset,json=stringOffset,oneof"`
}

type Expression_Text

type Expression_Text struct {
	Text string `protobuf:"bytes,15,opt,name=text,oneof"`
}

type Expression_UnaryExpression

type Expression_UnaryExpression struct {
	UnaryExpression *UnaryExpression `protobuf:"bytes,3,opt,name=unary_expression,json=unaryExpression,oneof"`
}

type Expressions

type Expressions struct {
	// Terms in the sequence.
	Terms                []*Expression `protobuf:"bytes,1,rep,name=terms" json:"terms,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Sequence of expressions.

func (*Expressions) Descriptor

func (*Expressions) Descriptor() ([]byte, []int)

func (*Expressions) GetTerms

func (m *Expressions) GetTerms() []*Expression

func (*Expressions) ProtoMessage

func (*Expressions) ProtoMessage()

func (*Expressions) Reset

func (m *Expressions) Reset()

func (*Expressions) String

func (m *Expressions) String() string

func (*Expressions) XXX_DiscardUnknown

func (m *Expressions) XXX_DiscardUnknown()

func (*Expressions) XXX_Marshal

func (m *Expressions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expressions) XXX_Merge

func (m *Expressions) XXX_Merge(src proto.Message)

func (*Expressions) XXX_Size

func (m *Expressions) XXX_Size() int

func (*Expressions) XXX_Unmarshal

func (m *Expressions) XXX_Unmarshal(b []byte) error

type ForExpression

type ForExpression struct {
	// Types that are valid to be assigned to For:
	//	*ForExpression_Expression
	//	*ForExpression_Keyword
	For                  isForExpression_For `protobuf_oneof:"for"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

FOR expression, used as part of ForInExpressions and ForOrExpressions. Can contain either an expression or a keyword.

func (*ForExpression) Descriptor

func (*ForExpression) Descriptor() ([]byte, []int)

func (*ForExpression) GetExpression

func (m *ForExpression) GetExpression() *Expression

func (*ForExpression) GetFor

func (m *ForExpression) GetFor() isForExpression_For

func (*ForExpression) GetKeyword

func (m *ForExpression) GetKeyword() ForKeyword

func (*ForExpression) ProtoMessage

func (*ForExpression) ProtoMessage()

func (*ForExpression) Reset

func (m *ForExpression) Reset()

func (*ForExpression) String

func (m *ForExpression) String() string

func (*ForExpression) XXX_DiscardUnknown

func (m *ForExpression) XXX_DiscardUnknown()

func (*ForExpression) XXX_Marshal

func (m *ForExpression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ForExpression) XXX_Merge

func (m *ForExpression) XXX_Merge(src proto.Message)

func (*ForExpression) XXX_OneofWrappers added in v0.3.0

func (*ForExpression) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*ForExpression) XXX_Size

func (m *ForExpression) XXX_Size() int

func (*ForExpression) XXX_Unmarshal

func (m *ForExpression) XXX_Unmarshal(b []byte) error

type ForExpression_Expression

type ForExpression_Expression struct {
	Expression *Expression `protobuf:"bytes,1,opt,name=expression,oneof"`
}

type ForExpression_Keyword

type ForExpression_Keyword struct {
	Keyword ForKeyword `protobuf:"varint,2,opt,name=keyword,enum=ForKeyword,oneof"`
}

type ForInExpression

type ForInExpression struct {
	// FOR expression: "for any". Required.
	ForExpression *ForExpression `protobuf:"bytes,1,opt,name=for_expression,json=forExpression" json:"for_expression,omitempty"`
	// Identifiers that will hold the values returned by the iterator. Required.
	Identifiers []string `protobuf:"bytes,2,rep,name=identifiers" json:"identifiers,omitempty"`
	// Iterator: "(1..10)", "(1,2,3)", "identifier" . Required.
	Iterator *Iterator `protobuf:"bytes,5,opt,name=iterator" json:"iterator,omitempty"`
	// Expression to match: "@s1[i] != @s2[i]". Required.
	Expression           *Expression `protobuf:"bytes,4,opt,name=expression" json:"expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Expression for iterating over iterators. Example: for <for_expression> k,v in iterator : ( expression ) Next id: 6

func (*ForInExpression) Descriptor

func (*ForInExpression) Descriptor() ([]byte, []int)

func (*ForInExpression) GetExpression

func (m *ForInExpression) GetExpression() *Expression

func (*ForInExpression) GetForExpression

func (m *ForInExpression) GetForExpression() *ForExpression

func (*ForInExpression) GetIdentifiers

func (m *ForInExpression) GetIdentifiers() []string

func (*ForInExpression) GetIterator

func (m *ForInExpression) GetIterator() *Iterator

func (*ForInExpression) ProtoMessage

func (*ForInExpression) ProtoMessage()

func (*ForInExpression) Reset

func (m *ForInExpression) Reset()

func (*ForInExpression) String

func (m *ForInExpression) String() string

func (*ForInExpression) XXX_DiscardUnknown

func (m *ForInExpression) XXX_DiscardUnknown()

func (*ForInExpression) XXX_Marshal

func (m *ForInExpression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ForInExpression) XXX_Merge

func (m *ForInExpression) XXX_Merge(src proto.Message)

func (*ForInExpression) XXX_Size

func (m *ForInExpression) XXX_Size() int

func (*ForInExpression) XXX_Unmarshal

func (m *ForInExpression) XXX_Unmarshal(b []byte) error

type ForKeyword

type ForKeyword int32

Keywords used in FOR expressions.

const (
	// All items must satisfy a condition.
	ForKeyword_ALL ForKeyword = 1
	// At least one item must satisfy a condition.
	ForKeyword_ANY ForKeyword = 2
)

func (ForKeyword) Enum

func (x ForKeyword) Enum() *ForKeyword

func (ForKeyword) EnumDescriptor

func (ForKeyword) EnumDescriptor() ([]byte, []int)

func (ForKeyword) String

func (x ForKeyword) String() string

func (*ForKeyword) UnmarshalJSON

func (x *ForKeyword) UnmarshalJSON(data []byte) error

type ForOfExpression

type ForOfExpression struct {
	// FOR expression: "for all". Required.
	ForExpression *ForExpression `protobuf:"bytes,1,opt,name=for_expression,json=forExpression" json:"for_expression,omitempty"`
	// String set: "($s1, $s2)". Required.
	StringSet *StringSet `protobuf:"bytes,2,opt,name=string_set,json=stringSet" json:"string_set,omitempty"`
	// Expression to match: "(@$ > 10)"
	Expression           *Expression `protobuf:"bytes,3,opt,name=expression" json:"expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

A ForOfExpression is satisfied if at least "expression" strings in "string_set" satisfy "expression". Example: for all of ($s1, $s2) : (@$ > 10)

func (*ForOfExpression) Descriptor

func (*ForOfExpression) Descriptor() ([]byte, []int)

func (*ForOfExpression) GetExpression

func (m *ForOfExpression) GetExpression() *Expression

func (*ForOfExpression) GetForExpression

func (m *ForOfExpression) GetForExpression() *ForExpression

func (*ForOfExpression) GetStringSet

func (m *ForOfExpression) GetStringSet() *StringSet

func (*ForOfExpression) ProtoMessage

func (*ForOfExpression) ProtoMessage()

func (*ForOfExpression) Reset

func (m *ForOfExpression) Reset()

func (*ForOfExpression) String

func (m *ForOfExpression) String() string

func (*ForOfExpression) XXX_DiscardUnknown

func (m *ForOfExpression) XXX_DiscardUnknown()

func (*ForOfExpression) XXX_Marshal

func (m *ForOfExpression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ForOfExpression) XXX_Merge

func (m *ForOfExpression) XXX_Merge(src proto.Message)

func (*ForOfExpression) XXX_Size

func (m *ForOfExpression) XXX_Size() int

func (*ForOfExpression) XXX_Unmarshal

func (m *ForOfExpression) XXX_Unmarshal(b []byte) error

type HexAlternative

type HexAlternative struct {
	// Alternatives, which are sequences of tokens.
	Tokens               []*HexTokens `protobuf:"bytes,1,rep,name=tokens" json:"tokens,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

List of alternatives for a part in the hexadecimal string.

func (*HexAlternative) Descriptor

func (*HexAlternative) Descriptor() ([]byte, []int)

func (*HexAlternative) GetTokens

func (m *HexAlternative) GetTokens() []*HexTokens

func (*HexAlternative) ProtoMessage

func (*HexAlternative) ProtoMessage()

func (*HexAlternative) Reset

func (m *HexAlternative) Reset()

func (*HexAlternative) String

func (m *HexAlternative) String() string

func (*HexAlternative) XXX_DiscardUnknown

func (m *HexAlternative) XXX_DiscardUnknown()

func (*HexAlternative) XXX_Marshal

func (m *HexAlternative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HexAlternative) XXX_Merge

func (m *HexAlternative) XXX_Merge(src proto.Message)

func (*HexAlternative) XXX_Size

func (m *HexAlternative) XXX_Size() int

func (*HexAlternative) XXX_Unmarshal

func (m *HexAlternative) XXX_Unmarshal(b []byte) error

type HexToken

type HexToken struct {
	// Types that are valid to be assigned to Value:
	//	*HexToken_Sequence
	//	*HexToken_Jump
	//	*HexToken_Alternative
	Value                isHexToken_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

A token in a hexadecimal string. A token can be either a sequence of bytes, a jump or an alternative.

func (*HexToken) Descriptor

func (*HexToken) Descriptor() ([]byte, []int)

func (*HexToken) GetAlternative

func (m *HexToken) GetAlternative() *HexAlternative

func (*HexToken) GetJump

func (m *HexToken) GetJump() *Jump

func (*HexToken) GetSequence

func (m *HexToken) GetSequence() *BytesSequence

func (*HexToken) GetValue

func (m *HexToken) GetValue() isHexToken_Value

func (*HexToken) ProtoMessage

func (*HexToken) ProtoMessage()

func (*HexToken) Reset

func (m *HexToken) Reset()

func (*HexToken) String

func (m *HexToken) String() string

func (*HexToken) XXX_DiscardUnknown

func (m *HexToken) XXX_DiscardUnknown()

func (*HexToken) XXX_Marshal

func (m *HexToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HexToken) XXX_Merge

func (m *HexToken) XXX_Merge(src proto.Message)

func (*HexToken) XXX_OneofWrappers added in v0.3.0

func (*HexToken) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*HexToken) XXX_Size

func (m *HexToken) XXX_Size() int

func (*HexToken) XXX_Unmarshal

func (m *HexToken) XXX_Unmarshal(b []byte) error

type HexToken_Alternative

type HexToken_Alternative struct {
	Alternative *HexAlternative `protobuf:"bytes,3,opt,name=alternative,oneof"`
}

type HexToken_Jump

type HexToken_Jump struct {
	Jump *Jump `protobuf:"bytes,2,opt,name=jump,oneof"`
}

type HexToken_Sequence

type HexToken_Sequence struct {
	Sequence *BytesSequence `protobuf:"bytes,1,opt,name=sequence,oneof"`
}

type HexTokens

type HexTokens struct {
	// Tokens.
	Token                []*HexToken `protobuf:"bytes,1,rep,name=token" json:"token,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Sequence of hexadecimal string tokens.

func (*HexTokens) Descriptor

func (*HexTokens) Descriptor() ([]byte, []int)

func (*HexTokens) GetToken

func (m *HexTokens) GetToken() []*HexToken

func (*HexTokens) ProtoMessage

func (*HexTokens) ProtoMessage()

func (*HexTokens) Reset

func (m *HexTokens) Reset()

func (*HexTokens) String

func (m *HexTokens) String() string

func (*HexTokens) XXX_DiscardUnknown

func (m *HexTokens) XXX_DiscardUnknown()

func (*HexTokens) XXX_Marshal

func (m *HexTokens) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HexTokens) XXX_Merge

func (m *HexTokens) XXX_Merge(src proto.Message)

func (*HexTokens) XXX_Size

func (m *HexTokens) XXX_Size() int

func (*HexTokens) XXX_Unmarshal

func (m *HexTokens) XXX_Unmarshal(b []byte) error

type Identifier

type Identifier struct {
	// Items in the identifier.
	Items                []*Identifier_IdentifierItem `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
	XXX_unrecognized     []byte                       `json:"-"`
	XXX_sizecache        int32                        `json:"-"`
}

Identifier used as part of expressions. Consists of sequence of identifiers, expressions and arguments. Examples: - my_var - pe.number_of_resources - math.entropy(mystr[i])

func (*Identifier) DepthFirstSearch

func (i *Identifier) DepthFirstSearch(v Visitor)

DepthFirstSearch performs a depth-first traversal of the Idenfier's syntax tree. An identifier may include Expressions for array indexes and function arguments, so it can have childs in the syntax tree. It receives a Visitor that must implement PreOrderVisitor, PostOrderVisitor or both.

func (*Identifier) Descriptor

func (*Identifier) Descriptor() ([]byte, []int)

func (*Identifier) GetItems

func (m *Identifier) GetItems() []*Identifier_IdentifierItem

func (*Identifier) ProtoMessage

func (*Identifier) ProtoMessage()

func (*Identifier) Reset

func (m *Identifier) Reset()

func (*Identifier) String

func (m *Identifier) String() string

func (*Identifier) XXX_DiscardUnknown

func (m *Identifier) XXX_DiscardUnknown()

func (*Identifier) XXX_Marshal

func (m *Identifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Identifier) XXX_Merge

func (m *Identifier) XXX_Merge(src proto.Message)

func (*Identifier) XXX_Size

func (m *Identifier) XXX_Size() int

func (*Identifier) XXX_Unmarshal

func (m *Identifier) XXX_Unmarshal(b []byte) error

type Identifier_IdentifierItem

type Identifier_IdentifierItem struct {
	// Types that are valid to be assigned to Item:
	//	*Identifier_IdentifierItem_Identifier
	//	*Identifier_IdentifierItem_Index
	//	*Identifier_IdentifierItem_Arguments
	Item                 isIdentifier_IdentifierItem_Item `protobuf_oneof:"item"`
	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
	XXX_unrecognized     []byte                           `json:"-"`
	XXX_sizecache        int32                            `json:"-"`
}

func (*Identifier_IdentifierItem) Descriptor

func (*Identifier_IdentifierItem) Descriptor() ([]byte, []int)

func (*Identifier_IdentifierItem) GetArguments

func (m *Identifier_IdentifierItem) GetArguments() *Expressions

func (*Identifier_IdentifierItem) GetIdentifier

func (m *Identifier_IdentifierItem) GetIdentifier() string

func (*Identifier_IdentifierItem) GetIndex

func (m *Identifier_IdentifierItem) GetIndex() *Expression

func (*Identifier_IdentifierItem) GetItem

func (m *Identifier_IdentifierItem) GetItem() isIdentifier_IdentifierItem_Item

func (*Identifier_IdentifierItem) ProtoMessage

func (*Identifier_IdentifierItem) ProtoMessage()

func (*Identifier_IdentifierItem) Reset

func (m *Identifier_IdentifierItem) Reset()

func (*Identifier_IdentifierItem) String

func (m *Identifier_IdentifierItem) String() string

func (*Identifier_IdentifierItem) XXX_DiscardUnknown

func (m *Identifier_IdentifierItem) XXX_DiscardUnknown()

func (*Identifier_IdentifierItem) XXX_Marshal

func (m *Identifier_IdentifierItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Identifier_IdentifierItem) XXX_Merge

func (m *Identifier_IdentifierItem) XXX_Merge(src proto.Message)

func (*Identifier_IdentifierItem) XXX_OneofWrappers added in v0.3.0

func (*Identifier_IdentifierItem) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Identifier_IdentifierItem) XXX_Size

func (m *Identifier_IdentifierItem) XXX_Size() int

func (*Identifier_IdentifierItem) XXX_Unmarshal

func (m *Identifier_IdentifierItem) XXX_Unmarshal(b []byte) error

type Identifier_IdentifierItem_Arguments

type Identifier_IdentifierItem_Arguments struct {
	Arguments *Expressions `protobuf:"bytes,3,opt,name=arguments,oneof"`
}

type Identifier_IdentifierItem_Identifier

type Identifier_IdentifierItem_Identifier struct {
	Identifier string `protobuf:"bytes,1,opt,name=identifier,oneof"`
}

type Identifier_IdentifierItem_Index

type Identifier_IdentifierItem_Index struct {
	Index *Expression `protobuf:"bytes,2,opt,name=index,oneof"`
}

type IntegerEnumeration

type IntegerEnumeration struct {
	// Enumeration values, which can be calculated from an expression.
	Values               []*Expression `protobuf:"bytes,1,rep,name=values" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

Enumeration of integer values.

func (*IntegerEnumeration) DepthFirstSearch

func (i *IntegerEnumeration) DepthFirstSearch(v Visitor)

DepthFirstSearch performs a depth-first traversal of the IntegerEnumeration's syntax tree, it receives a Visitor that must implement PreOrderVisitor, PostOrderVisitor or both.

func (*IntegerEnumeration) Descriptor

func (*IntegerEnumeration) Descriptor() ([]byte, []int)

func (*IntegerEnumeration) GetValues

func (m *IntegerEnumeration) GetValues() []*Expression

func (*IntegerEnumeration) ProtoMessage

func (*IntegerEnumeration) ProtoMessage()

func (*IntegerEnumeration) Reset

func (m *IntegerEnumeration) Reset()

func (*IntegerEnumeration) String

func (m *IntegerEnumeration) String() string

func (*IntegerEnumeration) XXX_DiscardUnknown

func (m *IntegerEnumeration) XXX_DiscardUnknown()

func (*IntegerEnumeration) XXX_Marshal

func (m *IntegerEnumeration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IntegerEnumeration) XXX_Merge

func (m *IntegerEnumeration) XXX_Merge(src proto.Message)

func (*IntegerEnumeration) XXX_Size

func (m *IntegerEnumeration) XXX_Size() int

func (*IntegerEnumeration) XXX_Unmarshal

func (m *IntegerEnumeration) XXX_Unmarshal(b []byte) error

type IntegerFunction

type IntegerFunction struct {
	// Integer function: (u)intXX(be). Required.
	Function *string `protobuf:"bytes,1,opt,name=function" json:"function,omitempty"`
	// Offset or virtual address. Required.
	Argument             *Expression `protobuf:"bytes,2,opt,name=argument" json:"argument,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Functions for reading data from a file at a specified offset or virtual address.

func (*IntegerFunction) Descriptor

func (*IntegerFunction) Descriptor() ([]byte, []int)

func (*IntegerFunction) GetArgument

func (m *IntegerFunction) GetArgument() *Expression

func (*IntegerFunction) GetFunction

func (m *IntegerFunction) GetFunction() string

func (*IntegerFunction) ProtoMessage

func (*IntegerFunction) ProtoMessage()

func (*IntegerFunction) Reset

func (m *IntegerFunction) Reset()

func (*IntegerFunction) String

func (m *IntegerFunction) String() string

func (*IntegerFunction) XXX_DiscardUnknown

func (m *IntegerFunction) XXX_DiscardUnknown()

func (*IntegerFunction) XXX_Marshal

func (m *IntegerFunction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IntegerFunction) XXX_Merge

func (m *IntegerFunction) XXX_Merge(src proto.Message)

func (*IntegerFunction) XXX_Size

func (m *IntegerFunction) XXX_Size() int

func (*IntegerFunction) XXX_Unmarshal

func (m *IntegerFunction) XXX_Unmarshal(b []byte) error

type IntegerSet

type IntegerSet struct {
	// Types that are valid to be assigned to Set:
	//	*IntegerSet_IntegerEnumeration
	//	*IntegerSet_Range
	Set                  isIntegerSet_Set `protobuf_oneof:"set"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

Set of integer numbers, which can be either an enumeration of integer values or a range of values.

func (*IntegerSet) DepthFirstSearch

func (i *IntegerSet) DepthFirstSearch(v Visitor)

DepthFirstSearch performs a depth-first traversal of the IntegerSet's syntax tree, it receives a Visitor that must implement PreOrderVisitor, PostOrderVisitor or both.

func (*IntegerSet) Descriptor

func (*IntegerSet) Descriptor() ([]byte, []int)

func (*IntegerSet) GetIntegerEnumeration

func (m *IntegerSet) GetIntegerEnumeration() *IntegerEnumeration

func (*IntegerSet) GetRange

func (m *IntegerSet) GetRange() *Range

func (*IntegerSet) GetSet

func (m *IntegerSet) GetSet() isIntegerSet_Set

func (*IntegerSet) ProtoMessage

func (*IntegerSet) ProtoMessage()

func (*IntegerSet) Reset

func (m *IntegerSet) Reset()

func (*IntegerSet) String

func (m *IntegerSet) String() string

func (*IntegerSet) XXX_DiscardUnknown

func (m *IntegerSet) XXX_DiscardUnknown()

func (*IntegerSet) XXX_Marshal

func (m *IntegerSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IntegerSet) XXX_Merge

func (m *IntegerSet) XXX_Merge(src proto.Message)

func (*IntegerSet) XXX_OneofWrappers added in v0.3.0

func (*IntegerSet) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*IntegerSet) XXX_Size

func (m *IntegerSet) XXX_Size() int

func (*IntegerSet) XXX_Unmarshal

func (m *IntegerSet) XXX_Unmarshal(b []byte) error

type IntegerSet_IntegerEnumeration

type IntegerSet_IntegerEnumeration struct {
	IntegerEnumeration *IntegerEnumeration `protobuf:"bytes,1,opt,name=integer_enumeration,json=integerEnumeration,oneof"`
}

type IntegerSet_Range

type IntegerSet_Range struct {
	Range *Range `protobuf:"bytes,2,opt,name=range,oneof"`
}

type Iterator

type Iterator struct {
	// Types that are valid to be assigned to Iterator:
	//	*Iterator_IntegerSet
	//	*Iterator_Identifier
	Iterator             isIterator_Iterator `protobuf_oneof:"iterator"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (*Iterator) DepthFirstSearch

func (i *Iterator) DepthFirstSearch(v Visitor)

DepthFirstSearch performs a depth-first traversal of the Iterators's syntax tree, it receives a Visitor that must implement PreOrderVisitor, PostOrderVisitor or both.

func (*Iterator) Descriptor

func (*Iterator) Descriptor() ([]byte, []int)

func (*Iterator) GetIdentifier

func (m *Iterator) GetIdentifier() *Identifier

func (*Iterator) GetIntegerSet

func (m *Iterator) GetIntegerSet() *IntegerSet

func (*Iterator) GetIterator

func (m *Iterator) GetIterator() isIterator_Iterator

func (*Iterator) ProtoMessage

func (*Iterator) ProtoMessage()

func (*Iterator) Reset

func (m *Iterator) Reset()

func (*Iterator) String

func (m *Iterator) String() string

func (*Iterator) XXX_DiscardUnknown

func (m *Iterator) XXX_DiscardUnknown()

func (*Iterator) XXX_Marshal

func (m *Iterator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Iterator) XXX_Merge

func (m *Iterator) XXX_Merge(src proto.Message)

func (*Iterator) XXX_OneofWrappers added in v0.3.0

func (*Iterator) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Iterator) XXX_Size

func (m *Iterator) XXX_Size() int

func (*Iterator) XXX_Unmarshal

func (m *Iterator) XXX_Unmarshal(b []byte) error

type Iterator_Identifier

type Iterator_Identifier struct {
	Identifier *Identifier `protobuf:"bytes,2,opt,name=identifier,oneof"`
}

type Iterator_IntegerSet

type Iterator_IntegerSet struct {
	IntegerSet *IntegerSet `protobuf:"bytes,1,opt,name=integer_set,json=integerSet,oneof"`
}

type Jump

type Jump struct {
	// Minimum jump length. 0 if not present.
	Start *int64 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
	// Maximum jump length. Infinite if not present.
	End                  *int64   `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Sequence of arbitrary content and variable length.

func (*Jump) Descriptor

func (*Jump) Descriptor() ([]byte, []int)

func (*Jump) GetEnd

func (m *Jump) GetEnd() int64

func (*Jump) GetStart

func (m *Jump) GetStart() int64

func (*Jump) ProtoMessage

func (*Jump) ProtoMessage()

func (*Jump) Reset

func (m *Jump) Reset()

func (*Jump) String

func (m *Jump) String() string

func (*Jump) XXX_DiscardUnknown

func (m *Jump) XXX_DiscardUnknown()

func (*Jump) XXX_Marshal

func (m *Jump) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Jump) XXX_Merge

func (m *Jump) XXX_Merge(src proto.Message)

func (*Jump) XXX_Size

func (m *Jump) XXX_Size() int

func (*Jump) XXX_Unmarshal

func (m *Jump) XXX_Unmarshal(b []byte) error

type Keyword

type Keyword int32

Keywords used in expressions of rule condition.

const (
	Keyword_UNKNOWN Keyword = 1
	// Raw offset of a PE or ELF file entrypoint.
	Keyword_ENTRYPOINT Keyword = 2
	// Size of the scanned file.
	Keyword_FILESIZE Keyword = 3
)

func (Keyword) Enum

func (x Keyword) Enum() *Keyword

func (Keyword) EnumDescriptor

func (Keyword) EnumDescriptor() ([]byte, []int)

func (Keyword) String

func (x Keyword) String() string

func (*Keyword) UnmarshalJSON

func (x *Keyword) UnmarshalJSON(data []byte) error

type Meta

type Meta struct {
	// Metadata key. Can be repeated. Required.
	Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	// Entry value, which can be a string, a number or a boolean.
	//
	// Types that are valid to be assigned to Value:
	//	*Meta_Text
	//	*Meta_Number
	//	*Meta_Boolean
	Value                isMeta_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

Rule metadata entry.

func (*Meta) Descriptor

func (*Meta) Descriptor() ([]byte, []int)

func (*Meta) GetBoolean

func (m *Meta) GetBoolean() bool

func (*Meta) GetKey

func (m *Meta) GetKey() string

func (*Meta) GetNumber

func (m *Meta) GetNumber() int64

func (*Meta) GetText

func (m *Meta) GetText() string

func (*Meta) GetValue

func (m *Meta) GetValue() isMeta_Value

func (*Meta) ProtoMessage

func (*Meta) ProtoMessage()

func (*Meta) Reset

func (m *Meta) Reset()

func (*Meta) String

func (m *Meta) String() string

func (*Meta) XXX_DiscardUnknown

func (m *Meta) XXX_DiscardUnknown()

func (*Meta) XXX_Marshal

func (m *Meta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Meta) XXX_Merge

func (m *Meta) XXX_Merge(src proto.Message)

func (*Meta) XXX_OneofWrappers added in v0.3.0

func (*Meta) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Meta) XXX_Size

func (m *Meta) XXX_Size() int

func (*Meta) XXX_Unmarshal

func (m *Meta) XXX_Unmarshal(b []byte) error

type Meta_Boolean

type Meta_Boolean struct {
	Boolean bool `protobuf:"varint,4,opt,name=boolean,oneof"`
}

type Meta_Number

type Meta_Number struct {
	Number int64 `protobuf:"varint,3,opt,name=number,oneof"`
}

type Meta_Text

type Meta_Text struct {
	Text string `protobuf:"bytes,2,opt,name=text,oneof"`
}

type PostOrderVisitor

type PostOrderVisitor interface {
	Visitor
	PostOrderVisit(*Expression)
}

PostOrderVisitor is the interface that must be implemented by a visitor that wants to be notified about expressions after all of the expression's sub expressions are visited.

type PreOrderVisitor

type PreOrderVisitor interface {
	Visitor
	PreOrderVisit(*Expression)
}

PreOrderVisitor is the interface that must be implemented by a visitor that wants to be notified about expressions before any of the expression's sub expressions is visited.

type Range

type Range struct {
	// Range start. Required.
	Start *Expression `protobuf:"bytes,1,opt,name=start" json:"start,omitempty"`
	// Range end. Required.
	End                  *Expression `protobuf:"bytes,2,opt,name=end" json:"end,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

A range of values. The start and end of a range are expressions, so they do not need to be constants.

func (*Range) DepthFirstSearch

func (r *Range) DepthFirstSearch(v Visitor)

DepthFirstSearch performs a depth-first traversal of the Range's syntax tree, it receives a Visitor that must implement PreOrderVisitor, PostOrderVisitor or both.

func (*Range) Descriptor

func (*Range) Descriptor() ([]byte, []int)

func (*Range) GetEnd

func (m *Range) GetEnd() *Expression

func (*Range) GetStart

func (m *Range) GetStart() *Expression

func (*Range) ProtoMessage

func (*Range) ProtoMessage()

func (*Range) Reset

func (m *Range) Reset()

func (*Range) String

func (m *Range) String() string

func (*Range) XXX_DiscardUnknown

func (m *Range) XXX_DiscardUnknown()

func (*Range) XXX_Marshal

func (m *Range) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Range) XXX_Merge

func (m *Range) XXX_Merge(src proto.Message)

func (*Range) XXX_Size

func (m *Range) XXX_Size() int

func (*Range) XXX_Unmarshal

func (m *Range) XXX_Unmarshal(b []byte) error

type Regexp

type Regexp struct {
	// String content.
	Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"`
	// String modifiers.
	Modifiers            *StringModifiers `protobuf:"bytes,2,opt,name=modifiers" json:"modifiers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

Regular expression string.

func (*Regexp) Descriptor

func (*Regexp) Descriptor() ([]byte, []int)

func (*Regexp) GetModifiers

func (m *Regexp) GetModifiers() *StringModifiers

func (*Regexp) GetText

func (m *Regexp) GetText() string

func (*Regexp) ProtoMessage

func (*Regexp) ProtoMessage()

func (*Regexp) Reset

func (m *Regexp) Reset()

func (*Regexp) String

func (m *Regexp) String() string

func (*Regexp) XXX_DiscardUnknown

func (m *Regexp) XXX_DiscardUnknown()

func (*Regexp) XXX_Marshal

func (m *Regexp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Regexp) XXX_Merge

func (m *Regexp) XXX_Merge(src proto.Message)

func (*Regexp) XXX_Size

func (m *Regexp) XXX_Size() int

func (*Regexp) XXX_Unmarshal

func (m *Regexp) XXX_Unmarshal(b []byte) error

type Rule

type Rule struct {
	// Rule modifiers (global, private).
	Modifiers *RuleModifiers `protobuf:"bytes,1,opt,name=modifiers" json:"modifiers,omitempty"`
	// Rule identifier. Must be unique in the ruleset. Required.
	Identifier *string `protobuf:"bytes,2,opt,name=identifier" json:"identifier,omitempty"`
	// Tags. Cannot be repeated.
	Tags []string `protobuf:"bytes,3,rep,name=tags" json:"tags,omitempty"`
	// Metadata.
	Meta []*Meta `protobuf:"bytes,4,rep,name=meta" json:"meta,omitempty"`
	// String declarations.
	Strings []*String `protobuf:"bytes,5,rep,name=strings" json:"strings,omitempty"`
	// Boolean expression to check.
	Condition            *Expression `protobuf:"bytes,6,opt,name=condition" json:"condition,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

YARA rule.

func (*Rule) Descriptor

func (*Rule) Descriptor() ([]byte, []int)

func (*Rule) GetCondition

func (m *Rule) GetCondition() *Expression

func (*Rule) GetIdentifier

func (m *Rule) GetIdentifier() string

func (*Rule) GetMeta

func (m *Rule) GetMeta() []*Meta

func (*Rule) GetModifiers

func (m *Rule) GetModifiers() *RuleModifiers

func (*Rule) GetStrings

func (m *Rule) GetStrings() []*String

func (*Rule) GetTags

func (m *Rule) GetTags() []string

func (*Rule) ProtoMessage

func (*Rule) ProtoMessage()

func (*Rule) Reset

func (m *Rule) Reset()

func (*Rule) String

func (m *Rule) String() string

func (*Rule) XXX_DiscardUnknown

func (m *Rule) XXX_DiscardUnknown()

func (*Rule) XXX_Marshal

func (m *Rule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Rule) XXX_Merge

func (m *Rule) XXX_Merge(src proto.Message)

func (*Rule) XXX_Size

func (m *Rule) XXX_Size() int

func (*Rule) XXX_Unmarshal

func (m *Rule) XXX_Unmarshal(b []byte) error

type RuleModifiers

type RuleModifiers struct {
	// Impose restrictions on all the rules in the ruleset.
	Global *bool `protobuf:"varint,1,opt,name=global" json:"global,omitempty"`
	// Rule is not reported when matches a file.
	Private              *bool    `protobuf:"varint,2,opt,name=private" json:"private,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Rule modifiers.

func (*RuleModifiers) Descriptor

func (*RuleModifiers) Descriptor() ([]byte, []int)

func (*RuleModifiers) GetGlobal

func (m *RuleModifiers) GetGlobal() bool

func (*RuleModifiers) GetPrivate

func (m *RuleModifiers) GetPrivate() bool

func (*RuleModifiers) ProtoMessage

func (*RuleModifiers) ProtoMessage()

func (*RuleModifiers) Reset

func (m *RuleModifiers) Reset()

func (*RuleModifiers) String

func (m *RuleModifiers) String() string

func (*RuleModifiers) XXX_DiscardUnknown

func (m *RuleModifiers) XXX_DiscardUnknown()

func (*RuleModifiers) XXX_Marshal

func (m *RuleModifiers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RuleModifiers) XXX_Merge

func (m *RuleModifiers) XXX_Merge(src proto.Message)

func (*RuleModifiers) XXX_Size

func (m *RuleModifiers) XXX_Size() int

func (*RuleModifiers) XXX_Unmarshal

func (m *RuleModifiers) XXX_Unmarshal(b []byte) error

type RuleSet

type RuleSet struct {
	// Names of the imported modules.
	// Examples: "pe", "elf", "cuckoo", "magic", "hash", "math", ...
	Imports []string `protobuf:"bytes,1,rep,name=imports" json:"imports,omitempty"`
	// Path to other YARA source files whose content should be included.
	// Examples:
	// - "other_rule.yar"
	// - "rules/rule1.yar"
	Includes []string `protobuf:"bytes,2,rep,name=includes" json:"includes,omitempty"`
	// Set of rules.
	Rules                []*Rule  `protobuf:"bytes,3,rep,name=rules" json:"rules,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Set of YARA rules.

func (*RuleSet) Descriptor

func (*RuleSet) Descriptor() ([]byte, []int)

func (*RuleSet) GetImports

func (m *RuleSet) GetImports() []string

func (*RuleSet) GetIncludes

func (m *RuleSet) GetIncludes() []string

func (*RuleSet) GetRules

func (m *RuleSet) GetRules() []*Rule

func (*RuleSet) ProtoMessage

func (*RuleSet) ProtoMessage()

func (*RuleSet) Reset

func (m *RuleSet) Reset()

func (*RuleSet) String

func (m *RuleSet) String() string

func (*RuleSet) XXX_DiscardUnknown

func (m *RuleSet) XXX_DiscardUnknown()

func (*RuleSet) XXX_Marshal

func (m *RuleSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RuleSet) XXX_Merge

func (m *RuleSet) XXX_Merge(src proto.Message)

func (*RuleSet) XXX_Size

func (m *RuleSet) XXX_Size() int

func (*RuleSet) XXX_Unmarshal

func (m *RuleSet) XXX_Unmarshal(b []byte) error

type String

type String struct {
	// String identifier. Required.
	Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// String value, which can be a text string, an hexadecimal string or a
	// regular expression.
	//
	// Types that are valid to be assigned to Value:
	//	*String_Text
	//	*String_Hex
	//	*String_Regexp
	Value                isString_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

Rule string entry.

func (*String) Descriptor

func (*String) Descriptor() ([]byte, []int)

func (*String) GetHex

func (m *String) GetHex() *HexTokens

func (*String) GetId

func (m *String) GetId() string

func (*String) GetRegexp

func (m *String) GetRegexp() *Regexp

func (*String) GetText

func (m *String) GetText() *TextString

func (*String) GetValue

func (m *String) GetValue() isString_Value

func (*String) ProtoMessage

func (*String) ProtoMessage()

func (*String) Reset

func (m *String) Reset()

func (*String) String

func (m *String) String() string

func (*String) XXX_DiscardUnknown

func (m *String) XXX_DiscardUnknown()

func (*String) XXX_Marshal

func (m *String) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*String) XXX_Merge

func (m *String) XXX_Merge(src proto.Message)

func (*String) XXX_OneofWrappers added in v0.3.0

func (*String) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*String) XXX_Size

func (m *String) XXX_Size() int

func (*String) XXX_Unmarshal

func (m *String) XXX_Unmarshal(b []byte) error

type StringEnumeration

type StringEnumeration struct {
	// Items in the strings enumeration.
	Items                []*StringEnumeration_StringEnumerationItem `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                   `json:"-"`
	XXX_unrecognized     []byte                                     `json:"-"`
	XXX_sizecache        int32                                      `json:"-"`
}

Enumeration of strings, referenced by their identifier. A wildcard can be used to match multiple strings. Examples: $str1, $str*

func (*StringEnumeration) Descriptor

func (*StringEnumeration) Descriptor() ([]byte, []int)

func (*StringEnumeration) GetItems

func (*StringEnumeration) ProtoMessage

func (*StringEnumeration) ProtoMessage()

func (*StringEnumeration) Reset

func (m *StringEnumeration) Reset()

func (*StringEnumeration) String

func (m *StringEnumeration) String() string

func (*StringEnumeration) XXX_DiscardUnknown

func (m *StringEnumeration) XXX_DiscardUnknown()

func (*StringEnumeration) XXX_Marshal

func (m *StringEnumeration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StringEnumeration) XXX_Merge

func (m *StringEnumeration) XXX_Merge(src proto.Message)

func (*StringEnumeration) XXX_Size

func (m *StringEnumeration) XXX_Size() int

func (*StringEnumeration) XXX_Unmarshal

func (m *StringEnumeration) XXX_Unmarshal(b []byte) error

type StringEnumeration_StringEnumerationItem

type StringEnumeration_StringEnumerationItem struct {
	// String identifier or part of it if a wildcard (*) is used.
	// Includes the wildcard if present.
	StringIdentifier *string `protobuf:"bytes,1,opt,name=string_identifier,json=stringIdentifier" json:"string_identifier,omitempty"`
	// Wildcard (*).
	HasWildcard          *bool    `protobuf:"varint,2,opt,name=has_wildcard,json=hasWildcard" json:"has_wildcard,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An entry in the strings enumeration.

func (*StringEnumeration_StringEnumerationItem) Descriptor

func (*StringEnumeration_StringEnumerationItem) Descriptor() ([]byte, []int)

func (*StringEnumeration_StringEnumerationItem) GetHasWildcard

func (m *StringEnumeration_StringEnumerationItem) GetHasWildcard() bool

func (*StringEnumeration_StringEnumerationItem) GetStringIdentifier

func (m *StringEnumeration_StringEnumerationItem) GetStringIdentifier() string

func (*StringEnumeration_StringEnumerationItem) ProtoMessage

func (*StringEnumeration_StringEnumerationItem) Reset

func (*StringEnumeration_StringEnumerationItem) String

func (*StringEnumeration_StringEnumerationItem) XXX_DiscardUnknown

func (m *StringEnumeration_StringEnumerationItem) XXX_DiscardUnknown()

func (*StringEnumeration_StringEnumerationItem) XXX_Marshal

func (m *StringEnumeration_StringEnumerationItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StringEnumeration_StringEnumerationItem) XXX_Merge

func (*StringEnumeration_StringEnumerationItem) XXX_Size

func (*StringEnumeration_StringEnumerationItem) XXX_Unmarshal

func (m *StringEnumeration_StringEnumerationItem) XXX_Unmarshal(b []byte) error

type StringLength

type StringLength struct {
	// String Identifier. Required.
	StringIdentifier *string `protobuf:"bytes,1,opt,name=string_identifier,json=stringIdentifier" json:"string_identifier,omitempty"`
	// The index of the match.
	Index                *Expression `protobuf:"bytes,2,opt,name=index" json:"index,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Refers to the length of the matches of a string (or, optionally, to the length of the i-th match). It is useful when combined with regular expressions or hexadecimal strings, which may contain jumps. Examples: - !s1 > 50 - !s1[1] != 30

func (*StringLength) Descriptor

func (*StringLength) Descriptor() ([]byte, []int)

func (*StringLength) GetIndex

func (m *StringLength) GetIndex() *Expression

func (*StringLength) GetStringIdentifier

func (m *StringLength) GetStringIdentifier() string

func (*StringLength) ProtoMessage

func (*StringLength) ProtoMessage()

func (*StringLength) Reset

func (m *StringLength) Reset()

func (*StringLength) String

func (m *StringLength) String() string

func (*StringLength) XXX_DiscardUnknown

func (m *StringLength) XXX_DiscardUnknown()

func (*StringLength) XXX_Marshal

func (m *StringLength) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StringLength) XXX_Merge

func (m *StringLength) XXX_Merge(src proto.Message)

func (*StringLength) XXX_Size

func (m *StringLength) XXX_Size() int

func (*StringLength) XXX_Unmarshal

func (m *StringLength) XXX_Unmarshal(b []byte) error

type StringModifiers

type StringModifiers struct {
	// Case-insensitive.
	Nocase *bool `protobuf:"varint,1,opt,name=nocase" json:"nocase,omitempty"`
	// Strings should be ASCII-encoded.
	Ascii *bool `protobuf:"varint,2,opt,name=ascii" json:"ascii,omitempty"`
	// String should be encoded with two bytes per character.
	Wide *bool `protobuf:"varint,3,opt,name=wide" json:"wide,omitempty"`
	// Only matches the string if it appears delimited by non-alphanumeric chars.
	Fullword *bool `protobuf:"varint,4,opt,name=fullword" json:"fullword,omitempty"`
	// Matches strings with a single-byte XOR applied to them.
	Xor *bool `protobuf:"varint,5,opt,name=xor" json:"xor,omitempty"`
	// Regexp case-insensitive modifier.
	I *bool `protobuf:"varint,6,opt,name=i" json:"i,omitempty"`
	// Regexp single-line modifier.
	S *bool `protobuf:"varint,7,opt,name=s" json:"s,omitempty"`
	// String is private.
	Private *bool `protobuf:"varint,8,opt,name=private" json:"private,omitempty"`
	// Minimum and maximum values for the XOR key. These values are present
	// only if the "xor" field is true.
	XorMin *int32 `protobuf:"varint,9,opt,name=xor_min,json=xorMin" json:"xor_min,omitempty"`
	XorMax *int32 `protobuf:"varint,10,opt,name=xor_max,json=xorMax" json:"xor_max,omitempty"`
	// String is base64.
	Base64 *bool `protobuf:"varint,11,opt,name=base64" json:"base64,omitempty"`
	// Optional alphabet for base64 strings.
	Base64Alphabet *string `protobuf:"bytes,12,opt,name=base64alphabet" json:"base64alphabet,omitempty"`
	// String is base64 wide.
	Base64Wide           *bool    `protobuf:"varint,13,opt,name=base64wide" json:"base64wide,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Modifiers for TextStrings and Regexps.

func (*StringModifiers) Descriptor

func (*StringModifiers) Descriptor() ([]byte, []int)

func (*StringModifiers) GetAscii

func (m *StringModifiers) GetAscii() bool

func (*StringModifiers) GetBase64 added in v0.3.0

func (m *StringModifiers) GetBase64() bool

func (*StringModifiers) GetBase64Alphabet added in v0.3.0

func (m *StringModifiers) GetBase64Alphabet() string

func (*StringModifiers) GetBase64Wide added in v0.4.2

func (m *StringModifiers) GetBase64Wide() bool

func (*StringModifiers) GetFullword

func (m *StringModifiers) GetFullword() bool

func (*StringModifiers) GetI

func (m *StringModifiers) GetI() bool

func (*StringModifiers) GetNocase

func (m *StringModifiers) GetNocase() bool

func (*StringModifiers) GetPrivate

func (m *StringModifiers) GetPrivate() bool

func (*StringModifiers) GetS

func (m *StringModifiers) GetS() bool

func (*StringModifiers) GetWide

func (m *StringModifiers) GetWide() bool

func (*StringModifiers) GetXor

func (m *StringModifiers) GetXor() bool

func (*StringModifiers) GetXorMax

func (m *StringModifiers) GetXorMax() int32

func (*StringModifiers) GetXorMin

func (m *StringModifiers) GetXorMin() int32

func (*StringModifiers) ProtoMessage

func (*StringModifiers) ProtoMessage()

func (*StringModifiers) Reset

func (m *StringModifiers) Reset()

func (*StringModifiers) String

func (m *StringModifiers) String() string

func (*StringModifiers) XXX_DiscardUnknown

func (m *StringModifiers) XXX_DiscardUnknown()

func (*StringModifiers) XXX_Marshal

func (m *StringModifiers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StringModifiers) XXX_Merge

func (m *StringModifiers) XXX_Merge(src proto.Message)

func (*StringModifiers) XXX_Size

func (m *StringModifiers) XXX_Size() int

func (*StringModifiers) XXX_Unmarshal

func (m *StringModifiers) XXX_Unmarshal(b []byte) error

type StringOffset

type StringOffset struct {
	// String identifier. Required.
	StringIdentifier *string `protobuf:"bytes,1,opt,name=string_identifier,json=stringIdentifier" json:"string_identifier,omitempty"`
	// The index of the occurrence of the string.
	Index                *Expression `protobuf:"bytes,2,opt,name=index" json:"index,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Refers to the offset or virtual address at which a string (or, optionally, the i-th occurence of the string) is found. Examples: - $s1 at 1000 - $s1[2] at 1000

func (*StringOffset) Descriptor

func (*StringOffset) Descriptor() ([]byte, []int)

func (*StringOffset) GetIndex

func (m *StringOffset) GetIndex() *Expression

func (*StringOffset) GetStringIdentifier

func (m *StringOffset) GetStringIdentifier() string

func (*StringOffset) ProtoMessage

func (*StringOffset) ProtoMessage()

func (*StringOffset) Reset

func (m *StringOffset) Reset()

func (*StringOffset) String

func (m *StringOffset) String() string

func (*StringOffset) XXX_DiscardUnknown

func (m *StringOffset) XXX_DiscardUnknown()

func (*StringOffset) XXX_Marshal

func (m *StringOffset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StringOffset) XXX_Merge

func (m *StringOffset) XXX_Merge(src proto.Message)

func (*StringOffset) XXX_Size

func (m *StringOffset) XXX_Size() int

func (*StringOffset) XXX_Unmarshal

func (m *StringOffset) XXX_Unmarshal(b []byte) error

type StringSet

type StringSet struct {
	// Types that are valid to be assigned to Set:
	//	*StringSet_Strings
	//	*StringSet_Keyword
	Set                  isStringSet_Set `protobuf_oneof:"set"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

Set of strings. Can be either an enumeration of strings or a keyword.

func (*StringSet) Descriptor

func (*StringSet) Descriptor() ([]byte, []int)

func (*StringSet) GetKeyword

func (m *StringSet) GetKeyword() StringSetKeyword

func (*StringSet) GetSet

func (m *StringSet) GetSet() isStringSet_Set

func (*StringSet) GetStrings

func (m *StringSet) GetStrings() *StringEnumeration

func (*StringSet) ProtoMessage

func (*StringSet) ProtoMessage()

func (*StringSet) Reset

func (m *StringSet) Reset()

func (*StringSet) String

func (m *StringSet) String() string

func (*StringSet) XXX_DiscardUnknown

func (m *StringSet) XXX_DiscardUnknown()

func (*StringSet) XXX_Marshal

func (m *StringSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StringSet) XXX_Merge

func (m *StringSet) XXX_Merge(src proto.Message)

func (*StringSet) XXX_OneofWrappers added in v0.3.0

func (*StringSet) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*StringSet) XXX_Size

func (m *StringSet) XXX_Size() int

func (*StringSet) XXX_Unmarshal

func (m *StringSet) XXX_Unmarshal(b []byte) error

type StringSetKeyword

type StringSetKeyword int32

Keywords used in string sets.

const (
	// All the strings in the rule (equivalent to $*).
	StringSetKeyword_THEM StringSetKeyword = 1
)

func (StringSetKeyword) Enum

func (StringSetKeyword) EnumDescriptor

func (StringSetKeyword) EnumDescriptor() ([]byte, []int)

func (StringSetKeyword) String

func (x StringSetKeyword) String() string

func (*StringSetKeyword) UnmarshalJSON

func (x *StringSetKeyword) UnmarshalJSON(data []byte) error

type StringSet_Keyword

type StringSet_Keyword struct {
	Keyword StringSetKeyword `protobuf:"varint,2,opt,name=keyword,enum=StringSetKeyword,oneof"`
}

type StringSet_Strings

type StringSet_Strings struct {
	Strings *StringEnumeration `protobuf:"bytes,1,opt,name=strings,oneof"`
}

type String_Hex

type String_Hex struct {
	Hex *HexTokens `protobuf:"bytes,3,opt,name=hex,oneof"`
}

type String_Regexp

type String_Regexp struct {
	Regexp *Regexp `protobuf:"bytes,4,opt,name=regexp,oneof"`
}

type String_Text

type String_Text struct {
	Text *TextString `protobuf:"bytes,2,opt,name=text,oneof"`
}

type TextString

type TextString struct {
	// String content. Any character that appears in escaped form in the source
	// is translated to their binary form. For example, if the string contained
	// \x01, this string contains a 01 byte.
	Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"`
	// String modifiers.
	Modifiers            *StringModifiers `protobuf:"bytes,2,opt,name=modifiers" json:"modifiers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

Text string.

func (*TextString) Descriptor

func (*TextString) Descriptor() ([]byte, []int)

func (*TextString) GetModifiers

func (m *TextString) GetModifiers() *StringModifiers

func (*TextString) GetText

func (m *TextString) GetText() string

func (*TextString) ProtoMessage

func (*TextString) ProtoMessage()

func (*TextString) Reset

func (m *TextString) Reset()

func (*TextString) String

func (m *TextString) String() string

func (*TextString) XXX_DiscardUnknown

func (m *TextString) XXX_DiscardUnknown()

func (*TextString) XXX_Marshal

func (m *TextString) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TextString) XXX_Merge

func (m *TextString) XXX_Merge(src proto.Message)

func (*TextString) XXX_Size

func (m *TextString) XXX_Size() int

func (*TextString) XXX_Unmarshal

func (m *TextString) XXX_Unmarshal(b []byte) error

type UnaryExpression

type UnaryExpression struct {
	// Operator. Required.
	Operator *UnaryExpression_Operator `protobuf:"varint,1,opt,name=operator,enum=UnaryExpression_Operator" json:"operator,omitempty"`
	// Expression. Required.
	Expression           *Expression `protobuf:"bytes,2,opt,name=expression" json:"expression,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

Unary expression, consisting of an operator applied to an expression.

func (*UnaryExpression) Descriptor

func (*UnaryExpression) Descriptor() ([]byte, []int)

func (*UnaryExpression) GetExpression

func (m *UnaryExpression) GetExpression() *Expression

func (*UnaryExpression) GetOperator

func (m *UnaryExpression) GetOperator() UnaryExpression_Operator

func (*UnaryExpression) ProtoMessage

func (*UnaryExpression) ProtoMessage()

func (*UnaryExpression) Reset

func (m *UnaryExpression) Reset()

func (*UnaryExpression) String

func (m *UnaryExpression) String() string

func (*UnaryExpression) XXX_DiscardUnknown

func (m *UnaryExpression) XXX_DiscardUnknown()

func (*UnaryExpression) XXX_Marshal

func (m *UnaryExpression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UnaryExpression) XXX_Merge

func (m *UnaryExpression) XXX_Merge(src proto.Message)

func (*UnaryExpression) XXX_Size

func (m *UnaryExpression) XXX_Size() int

func (*UnaryExpression) XXX_Unmarshal

func (m *UnaryExpression) XXX_Unmarshal(b []byte) error

type UnaryExpression_Operator

type UnaryExpression_Operator int32
const (
	UnaryExpression_UNKNOWN     UnaryExpression_Operator = 0
	UnaryExpression_UNARY_MINUS UnaryExpression_Operator = 1
	UnaryExpression_BITWISE_NOT UnaryExpression_Operator = 2
)

func (UnaryExpression_Operator) Enum

func (UnaryExpression_Operator) EnumDescriptor

func (UnaryExpression_Operator) EnumDescriptor() ([]byte, []int)

func (UnaryExpression_Operator) String

func (x UnaryExpression_Operator) String() string

func (*UnaryExpression_Operator) UnmarshalJSON

func (x *UnaryExpression_Operator) UnmarshalJSON(data []byte) error

type Visitor

type Visitor interface{}

A Visitor is a common interface implemented by all types of visitors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL