ast

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2019 License: Apache-2.0 Imports: 3 Imported by: 5

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",
}
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,
}
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 added in v0.1.1

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 added in v0.1.1

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

func (*BinaryExpression) GetLeft added in v0.1.1

func (m *BinaryExpression) GetLeft() *Expression

func (*BinaryExpression) GetOperator added in v0.1.1

func (*BinaryExpression) GetRight added in v0.1.1

func (m *BinaryExpression) GetRight() *Expression

func (*BinaryExpression) ProtoMessage added in v0.1.1

func (*BinaryExpression) ProtoMessage()

func (*BinaryExpression) Reset added in v0.1.1

func (m *BinaryExpression) Reset()

func (*BinaryExpression) String added in v0.1.1

func (m *BinaryExpression) String() string

func (*BinaryExpression) XXX_DiscardUnknown added in v0.1.1

func (m *BinaryExpression) XXX_DiscardUnknown()

func (*BinaryExpression) XXX_Marshal added in v0.1.1

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

func (*BinaryExpression) XXX_Merge added in v0.1.1

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

func (*BinaryExpression) XXX_Size added in v0.1.1

func (m *BinaryExpression) XXX_Size() int

func (*BinaryExpression) XXX_Unmarshal added in v0.1.1

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

type BinaryExpression_Operator added in v0.1.1

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
)

func (BinaryExpression_Operator) Enum added in v0.1.1

func (BinaryExpression_Operator) EnumDescriptor added in v0.1.1

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

func (BinaryExpression_Operator) String added in v0.1.1

func (x BinaryExpression_Operator) String() string

func (*BinaryExpression_Operator) UnmarshalJSON added in v0.1.1

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

type BytesSequence added in v0.1.1

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 added in v0.1.1

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

func (*BytesSequence) GetMask added in v0.1.1

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

func (*BytesSequence) GetValue added in v0.1.1

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

func (*BytesSequence) ProtoMessage added in v0.1.1

func (*BytesSequence) ProtoMessage()

func (*BytesSequence) Reset added in v0.1.1

func (m *BytesSequence) Reset()

func (*BytesSequence) String added in v0.1.1

func (m *BytesSequence) String() string

func (*BytesSequence) XXX_DiscardUnknown added in v0.1.1

func (m *BytesSequence) XXX_DiscardUnknown()

func (*BytesSequence) XXX_Marshal added in v0.1.1

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

func (*BytesSequence) XXX_Merge added in v0.1.1

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

func (*BytesSequence) XXX_Size added in v0.1.1

func (m *BytesSequence) XXX_Size() int

func (*BytesSequence) XXX_Unmarshal added in v0.1.1

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

type Expression added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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

func (*Expression) GetAndExpression added in v0.1.1

func (m *Expression) GetAndExpression() *Expressions

func (*Expression) GetBinaryExpression added in v0.1.1

func (m *Expression) GetBinaryExpression() *BinaryExpression

func (*Expression) GetBoolValue added in v0.1.1

func (m *Expression) GetBoolValue() bool

func (*Expression) GetDoubleValue added in v0.1.1

func (m *Expression) GetDoubleValue() float64

func (*Expression) GetExpression added in v0.1.1

func (m *Expression) GetExpression() isExpression_Expression

func (*Expression) GetForInExpression added in v0.1.1

func (m *Expression) GetForInExpression() *ForInExpression

func (*Expression) GetForOfExpression added in v0.1.1

func (m *Expression) GetForOfExpression() *ForOfExpression

func (*Expression) GetIdentifier added in v0.1.1

func (m *Expression) GetIdentifier() *Identifier

func (*Expression) GetIntegerFunction added in v0.1.1

func (m *Expression) GetIntegerFunction() *IntegerFunction

func (*Expression) GetKeyword added in v0.1.1

func (m *Expression) GetKeyword() Keyword

func (*Expression) GetNotExpression added in v0.1.1

func (m *Expression) GetNotExpression() *Expression

func (*Expression) GetNumberValue added in v0.1.1

func (m *Expression) GetNumberValue() int64

func (*Expression) GetOrExpression added in v0.1.1

func (m *Expression) GetOrExpression() *Expressions

func (*Expression) GetRange added in v0.1.1

func (m *Expression) GetRange() *Range

func (*Expression) GetRegexp added in v0.1.1

func (m *Expression) GetRegexp() *Regexp

func (*Expression) GetStringCount added in v0.1.1

func (m *Expression) GetStringCount() string

func (*Expression) GetStringIdentifier added in v0.1.1

func (m *Expression) GetStringIdentifier() string

func (*Expression) GetStringLength added in v0.1.1

func (m *Expression) GetStringLength() *StringLength

func (*Expression) GetStringOffset added in v0.1.1

func (m *Expression) GetStringOffset() *StringOffset

func (*Expression) GetText added in v0.1.1

func (m *Expression) GetText() string

func (*Expression) GetUnaryExpression added in v0.1.1

func (m *Expression) GetUnaryExpression() *UnaryExpression

func (*Expression) ProtoMessage added in v0.1.1

func (*Expression) ProtoMessage()

func (*Expression) Reset added in v0.1.1

func (m *Expression) Reset()

func (*Expression) String added in v0.1.1

func (m *Expression) String() string

func (*Expression) XXX_DiscardUnknown added in v0.1.1

func (m *Expression) XXX_DiscardUnknown()

func (*Expression) XXX_Marshal added in v0.1.1

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

func (*Expression) XXX_Merge added in v0.1.1

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

func (*Expression) XXX_OneofFuncs added in v0.1.1

func (*Expression) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Expression) XXX_Size added in v0.1.1

func (m *Expression) XXX_Size() int

func (*Expression) XXX_Unmarshal added in v0.1.1

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

type Expression_AndExpression added in v0.1.1

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

type Expression_BinaryExpression added in v0.1.1

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

type Expression_BoolValue added in v0.1.1

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

type Expression_DoubleValue added in v0.1.1

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

type Expression_ForInExpression added in v0.1.1

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

type Expression_ForOfExpression added in v0.1.1

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

type Expression_Identifier added in v0.1.1

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

type Expression_IntegerFunction added in v0.1.1

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

type Expression_Keyword added in v0.1.1

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

type Expression_NotExpression added in v0.1.1

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

type Expression_NumberValue added in v0.1.1

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

type Expression_OrExpression added in v0.1.1

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

type Expression_Range added in v0.1.1

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

type Expression_Regexp added in v0.1.1

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

type Expression_StringCount added in v0.1.1

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

type Expression_StringIdentifier added in v0.1.1

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

type Expression_StringLength added in v0.1.1

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

type Expression_StringOffset added in v0.1.1

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

type Expression_Text added in v0.1.1

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

type Expression_UnaryExpression added in v0.1.1

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

type Expressions added in v0.1.1

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 added in v0.1.1

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

func (*Expressions) GetTerms added in v0.1.1

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

func (*Expressions) ProtoMessage added in v0.1.1

func (*Expressions) ProtoMessage()

func (*Expressions) Reset added in v0.1.1

func (m *Expressions) Reset()

func (*Expressions) String added in v0.1.1

func (m *Expressions) String() string

func (*Expressions) XXX_DiscardUnknown added in v0.1.1

func (m *Expressions) XXX_DiscardUnknown()

func (*Expressions) XXX_Marshal added in v0.1.1

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

func (*Expressions) XXX_Merge added in v0.1.1

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

func (*Expressions) XXX_Size added in v0.1.1

func (m *Expressions) XXX_Size() int

func (*Expressions) XXX_Unmarshal added in v0.1.1

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

type ForExpression added in v0.1.1

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 added in v0.1.1

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

func (*ForExpression) GetExpression added in v0.1.1

func (m *ForExpression) GetExpression() *Expression

func (*ForExpression) GetFor added in v0.1.1

func (m *ForExpression) GetFor() isForExpression_For

func (*ForExpression) GetKeyword added in v0.1.1

func (m *ForExpression) GetKeyword() ForKeyword

func (*ForExpression) ProtoMessage added in v0.1.1

func (*ForExpression) ProtoMessage()

func (*ForExpression) Reset added in v0.1.1

func (m *ForExpression) Reset()

func (*ForExpression) String added in v0.1.1

func (m *ForExpression) String() string

func (*ForExpression) XXX_DiscardUnknown added in v0.1.1

func (m *ForExpression) XXX_DiscardUnknown()

func (*ForExpression) XXX_Marshal added in v0.1.1

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

func (*ForExpression) XXX_Merge added in v0.1.1

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

func (*ForExpression) XXX_OneofFuncs added in v0.1.1

func (*ForExpression) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*ForExpression) XXX_Size added in v0.1.1

func (m *ForExpression) XXX_Size() int

func (*ForExpression) XXX_Unmarshal added in v0.1.1

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

type ForExpression_Expression added in v0.1.1

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

type ForExpression_Keyword added in v0.1.1

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

type ForInExpression added in v0.1.1

type ForInExpression struct {
	// FOR expression: "for any". Required.
	ForExpression *ForExpression `protobuf:"bytes,1,opt,name=for_expression,json=forExpression" json:"for_expression,omitempty"`
	// Identifier to use in the expression to match: "i". Required.
	Identifier *string `protobuf:"bytes,2,opt,name=identifier" json:"identifier,omitempty"`
	// Integer set: "(1..10)". Required.
	IntegerSet *IntegerSet `protobuf:"bytes,3,opt,name=integer_set,json=integerSet" json:"integer_set,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 string occurrences. Example: for any i in (1..10) : @s1[i] != @s2[i]

func (*ForInExpression) Descriptor added in v0.1.1

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

func (*ForInExpression) GetExpression added in v0.1.1

func (m *ForInExpression) GetExpression() *Expression

func (*ForInExpression) GetForExpression added in v0.1.1

func (m *ForInExpression) GetForExpression() *ForExpression

func (*ForInExpression) GetIdentifier added in v0.1.1

func (m *ForInExpression) GetIdentifier() string

func (*ForInExpression) GetIntegerSet added in v0.1.1

func (m *ForInExpression) GetIntegerSet() *IntegerSet

func (*ForInExpression) ProtoMessage added in v0.1.1

func (*ForInExpression) ProtoMessage()

func (*ForInExpression) Reset added in v0.1.1

func (m *ForInExpression) Reset()

func (*ForInExpression) String added in v0.1.1

func (m *ForInExpression) String() string

func (*ForInExpression) XXX_DiscardUnknown added in v0.1.1

func (m *ForInExpression) XXX_DiscardUnknown()

func (*ForInExpression) XXX_Marshal added in v0.1.1

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

func (*ForInExpression) XXX_Merge added in v0.1.1

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

func (*ForInExpression) XXX_Size added in v0.1.1

func (m *ForInExpression) XXX_Size() int

func (*ForInExpression) XXX_Unmarshal added in v0.1.1

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

type ForKeyword added in v0.1.1

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 added in v0.1.1

func (x ForKeyword) Enum() *ForKeyword

func (ForKeyword) EnumDescriptor added in v0.1.1

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

func (ForKeyword) String added in v0.1.1

func (x ForKeyword) String() string

func (*ForKeyword) UnmarshalJSON added in v0.1.1

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

type ForOfExpression added in v0.1.1

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 added in v0.1.1

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

func (*ForOfExpression) GetExpression added in v0.1.1

func (m *ForOfExpression) GetExpression() *Expression

func (*ForOfExpression) GetForExpression added in v0.1.1

func (m *ForOfExpression) GetForExpression() *ForExpression

func (*ForOfExpression) GetStringSet added in v0.1.1

func (m *ForOfExpression) GetStringSet() *StringSet

func (*ForOfExpression) ProtoMessage added in v0.1.1

func (*ForOfExpression) ProtoMessage()

func (*ForOfExpression) Reset added in v0.1.1

func (m *ForOfExpression) Reset()

func (*ForOfExpression) String added in v0.1.1

func (m *ForOfExpression) String() string

func (*ForOfExpression) XXX_DiscardUnknown added in v0.1.1

func (m *ForOfExpression) XXX_DiscardUnknown()

func (*ForOfExpression) XXX_Marshal added in v0.1.1

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

func (*ForOfExpression) XXX_Merge added in v0.1.1

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

func (*ForOfExpression) XXX_Size added in v0.1.1

func (m *ForOfExpression) XXX_Size() int

func (*ForOfExpression) XXX_Unmarshal added in v0.1.1

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

type HexAlternative added in v0.1.1

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 added in v0.1.1

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

func (*HexAlternative) GetTokens added in v0.1.1

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

func (*HexAlternative) ProtoMessage added in v0.1.1

func (*HexAlternative) ProtoMessage()

func (*HexAlternative) Reset added in v0.1.1

func (m *HexAlternative) Reset()

func (*HexAlternative) String added in v0.1.1

func (m *HexAlternative) String() string

func (*HexAlternative) XXX_DiscardUnknown added in v0.1.1

func (m *HexAlternative) XXX_DiscardUnknown()

func (*HexAlternative) XXX_Marshal added in v0.1.1

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

func (*HexAlternative) XXX_Merge added in v0.1.1

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

func (*HexAlternative) XXX_Size added in v0.1.1

func (m *HexAlternative) XXX_Size() int

func (*HexAlternative) XXX_Unmarshal added in v0.1.1

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

type HexToken added in v0.1.1

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 added in v0.1.1

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

func (*HexToken) GetAlternative added in v0.1.1

func (m *HexToken) GetAlternative() *HexAlternative

func (*HexToken) GetJump added in v0.1.1

func (m *HexToken) GetJump() *Jump

func (*HexToken) GetSequence added in v0.1.1

func (m *HexToken) GetSequence() *BytesSequence

func (*HexToken) GetValue added in v0.1.1

func (m *HexToken) GetValue() isHexToken_Value

func (*HexToken) ProtoMessage added in v0.1.1

func (*HexToken) ProtoMessage()

func (*HexToken) Reset added in v0.1.1

func (m *HexToken) Reset()

func (*HexToken) String added in v0.1.1

func (m *HexToken) String() string

func (*HexToken) XXX_DiscardUnknown added in v0.1.1

func (m *HexToken) XXX_DiscardUnknown()

func (*HexToken) XXX_Marshal added in v0.1.1

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

func (*HexToken) XXX_Merge added in v0.1.1

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

func (*HexToken) XXX_OneofFuncs added in v0.1.1

func (*HexToken) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*HexToken) XXX_Size added in v0.1.1

func (m *HexToken) XXX_Size() int

func (*HexToken) XXX_Unmarshal added in v0.1.1

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

type HexToken_Alternative added in v0.1.1

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

type HexToken_Jump added in v0.1.1

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

type HexToken_Sequence added in v0.1.1

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

type HexTokens added in v0.1.1

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 added in v0.1.1

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

func (*HexTokens) GetToken added in v0.1.1

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

func (*HexTokens) ProtoMessage added in v0.1.1

func (*HexTokens) ProtoMessage()

func (*HexTokens) Reset added in v0.1.1

func (m *HexTokens) Reset()

func (*HexTokens) String added in v0.1.1

func (m *HexTokens) String() string

func (*HexTokens) XXX_DiscardUnknown added in v0.1.1

func (m *HexTokens) XXX_DiscardUnknown()

func (*HexTokens) XXX_Marshal added in v0.1.1

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

func (*HexTokens) XXX_Merge added in v0.1.1

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

func (*HexTokens) XXX_Size added in v0.1.1

func (m *HexTokens) XXX_Size() int

func (*HexTokens) XXX_Unmarshal added in v0.1.1

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

type Identifier added in v0.1.1

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) Descriptor added in v0.1.1

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

func (*Identifier) GetItems added in v0.1.1

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

func (*Identifier) ProtoMessage added in v0.1.1

func (*Identifier) ProtoMessage()

func (*Identifier) Reset added in v0.1.1

func (m *Identifier) Reset()

func (*Identifier) String added in v0.1.1

func (m *Identifier) String() string

func (*Identifier) XXX_DiscardUnknown added in v0.1.1

func (m *Identifier) XXX_DiscardUnknown()

func (*Identifier) XXX_Marshal added in v0.1.1

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

func (*Identifier) XXX_Merge added in v0.1.1

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

func (*Identifier) XXX_Size added in v0.1.1

func (m *Identifier) XXX_Size() int

func (*Identifier) XXX_Unmarshal added in v0.1.1

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

type Identifier_IdentifierItem added in v0.1.1

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 added in v0.1.1

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

func (*Identifier_IdentifierItem) GetArguments added in v0.1.1

func (m *Identifier_IdentifierItem) GetArguments() *Expressions

func (*Identifier_IdentifierItem) GetIdentifier added in v0.1.1

func (m *Identifier_IdentifierItem) GetIdentifier() string

func (*Identifier_IdentifierItem) GetIndex added in v0.1.1

func (m *Identifier_IdentifierItem) GetIndex() *Expression

func (*Identifier_IdentifierItem) GetItem added in v0.1.1

func (m *Identifier_IdentifierItem) GetItem() isIdentifier_IdentifierItem_Item

func (*Identifier_IdentifierItem) ProtoMessage added in v0.1.1

func (*Identifier_IdentifierItem) ProtoMessage()

func (*Identifier_IdentifierItem) Reset added in v0.1.1

func (m *Identifier_IdentifierItem) Reset()

func (*Identifier_IdentifierItem) String added in v0.1.1

func (m *Identifier_IdentifierItem) String() string

func (*Identifier_IdentifierItem) XXX_DiscardUnknown added in v0.1.1

func (m *Identifier_IdentifierItem) XXX_DiscardUnknown()

func (*Identifier_IdentifierItem) XXX_Marshal added in v0.1.1

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

func (*Identifier_IdentifierItem) XXX_Merge added in v0.1.1

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

func (*Identifier_IdentifierItem) XXX_OneofFuncs added in v0.1.1

func (*Identifier_IdentifierItem) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Identifier_IdentifierItem) XXX_Size added in v0.1.1

func (m *Identifier_IdentifierItem) XXX_Size() int

func (*Identifier_IdentifierItem) XXX_Unmarshal added in v0.1.1

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

type Identifier_IdentifierItem_Arguments added in v0.1.1

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

type Identifier_IdentifierItem_Identifier added in v0.1.1

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

type Identifier_IdentifierItem_Index added in v0.1.1

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

type IntegerEnumeration added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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

func (*IntegerEnumeration) GetValues added in v0.1.1

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

func (*IntegerEnumeration) ProtoMessage added in v0.1.1

func (*IntegerEnumeration) ProtoMessage()

func (*IntegerEnumeration) Reset added in v0.1.1

func (m *IntegerEnumeration) Reset()

func (*IntegerEnumeration) String added in v0.1.1

func (m *IntegerEnumeration) String() string

func (*IntegerEnumeration) XXX_DiscardUnknown added in v0.1.1

func (m *IntegerEnumeration) XXX_DiscardUnknown()

func (*IntegerEnumeration) XXX_Marshal added in v0.1.1

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

func (*IntegerEnumeration) XXX_Merge added in v0.1.1

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

func (*IntegerEnumeration) XXX_Size added in v0.1.1

func (m *IntegerEnumeration) XXX_Size() int

func (*IntegerEnumeration) XXX_Unmarshal added in v0.1.1

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

type IntegerFunction added in v0.1.1

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 added in v0.1.1

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

func (*IntegerFunction) GetArgument added in v0.1.1

func (m *IntegerFunction) GetArgument() *Expression

func (*IntegerFunction) GetFunction added in v0.1.1

func (m *IntegerFunction) GetFunction() string

func (*IntegerFunction) ProtoMessage added in v0.1.1

func (*IntegerFunction) ProtoMessage()

func (*IntegerFunction) Reset added in v0.1.1

func (m *IntegerFunction) Reset()

func (*IntegerFunction) String added in v0.1.1

func (m *IntegerFunction) String() string

func (*IntegerFunction) XXX_DiscardUnknown added in v0.1.1

func (m *IntegerFunction) XXX_DiscardUnknown()

func (*IntegerFunction) XXX_Marshal added in v0.1.1

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

func (*IntegerFunction) XXX_Merge added in v0.1.1

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

func (*IntegerFunction) XXX_Size added in v0.1.1

func (m *IntegerFunction) XXX_Size() int

func (*IntegerFunction) XXX_Unmarshal added in v0.1.1

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

type IntegerSet added in v0.1.1

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) Descriptor added in v0.1.1

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

func (*IntegerSet) GetIntegerEnumeration added in v0.1.1

func (m *IntegerSet) GetIntegerEnumeration() *IntegerEnumeration

func (*IntegerSet) GetRange added in v0.1.1

func (m *IntegerSet) GetRange() *Range

func (*IntegerSet) GetSet added in v0.1.1

func (m *IntegerSet) GetSet() isIntegerSet_Set

func (*IntegerSet) ProtoMessage added in v0.1.1

func (*IntegerSet) ProtoMessage()

func (*IntegerSet) Reset added in v0.1.1

func (m *IntegerSet) Reset()

func (*IntegerSet) String added in v0.1.1

func (m *IntegerSet) String() string

func (*IntegerSet) XXX_DiscardUnknown added in v0.1.1

func (m *IntegerSet) XXX_DiscardUnknown()

func (*IntegerSet) XXX_Marshal added in v0.1.1

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

func (*IntegerSet) XXX_Merge added in v0.1.1

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

func (*IntegerSet) XXX_OneofFuncs added in v0.1.1

func (*IntegerSet) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*IntegerSet) XXX_Size added in v0.1.1

func (m *IntegerSet) XXX_Size() int

func (*IntegerSet) XXX_Unmarshal added in v0.1.1

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

type IntegerSet_IntegerEnumeration added in v0.1.1

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

type IntegerSet_Range added in v0.1.1

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

type Jump added in v0.1.1

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 added in v0.1.1

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

func (*Jump) GetEnd added in v0.1.1

func (m *Jump) GetEnd() int64

func (*Jump) GetStart added in v0.1.1

func (m *Jump) GetStart() int64

func (*Jump) ProtoMessage added in v0.1.1

func (*Jump) ProtoMessage()

func (*Jump) Reset added in v0.1.1

func (m *Jump) Reset()

func (*Jump) String added in v0.1.1

func (m *Jump) String() string

func (*Jump) XXX_DiscardUnknown added in v0.1.1

func (m *Jump) XXX_DiscardUnknown()

func (*Jump) XXX_Marshal added in v0.1.1

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

func (*Jump) XXX_Merge added in v0.1.1

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

func (*Jump) XXX_Size added in v0.1.1

func (m *Jump) XXX_Size() int

func (*Jump) XXX_Unmarshal added in v0.1.1

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

type Keyword added in v0.1.1

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 added in v0.1.1

func (x Keyword) Enum() *Keyword

func (Keyword) EnumDescriptor added in v0.1.1

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

func (Keyword) String added in v0.1.1

func (x Keyword) String() string

func (*Keyword) UnmarshalJSON added in v0.1.1

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

type Meta added in v0.1.1

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 added in v0.1.1

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

func (*Meta) GetBoolean added in v0.1.1

func (m *Meta) GetBoolean() bool

func (*Meta) GetKey added in v0.1.1

func (m *Meta) GetKey() string

func (*Meta) GetNumber added in v0.1.1

func (m *Meta) GetNumber() int64

func (*Meta) GetText added in v0.1.1

func (m *Meta) GetText() string

func (*Meta) GetValue added in v0.1.1

func (m *Meta) GetValue() isMeta_Value

func (*Meta) ProtoMessage added in v0.1.1

func (*Meta) ProtoMessage()

func (*Meta) Reset added in v0.1.1

func (m *Meta) Reset()

func (*Meta) String added in v0.1.1

func (m *Meta) String() string

func (*Meta) XXX_DiscardUnknown added in v0.1.1

func (m *Meta) XXX_DiscardUnknown()

func (*Meta) XXX_Marshal added in v0.1.1

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

func (*Meta) XXX_Merge added in v0.1.1

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

func (*Meta) XXX_OneofFuncs added in v0.1.1

func (*Meta) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Meta) XXX_Size added in v0.1.1

func (m *Meta) XXX_Size() int

func (*Meta) XXX_Unmarshal added in v0.1.1

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

type Meta_Boolean added in v0.1.1

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

type Meta_Number added in v0.1.1

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

type Meta_Text added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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 added in v0.1.1

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

func (*Range) GetEnd added in v0.1.1

func (m *Range) GetEnd() *Expression

func (*Range) GetStart added in v0.1.1

func (m *Range) GetStart() *Expression

func (*Range) ProtoMessage added in v0.1.1

func (*Range) ProtoMessage()

func (*Range) Reset added in v0.1.1

func (m *Range) Reset()

func (*Range) String added in v0.1.1

func (m *Range) String() string

func (*Range) XXX_DiscardUnknown added in v0.1.1

func (m *Range) XXX_DiscardUnknown()

func (*Range) XXX_Marshal added in v0.1.1

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

func (*Range) XXX_Merge added in v0.1.1

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

func (*Range) XXX_Size added in v0.1.1

func (m *Range) XXX_Size() int

func (*Range) XXX_Unmarshal added in v0.1.1

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

type Regexp added in v0.1.1

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 added in v0.1.1

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

func (*Regexp) GetModifiers added in v0.1.1

func (m *Regexp) GetModifiers() *StringModifiers

func (*Regexp) GetText added in v0.1.1

func (m *Regexp) GetText() string

func (*Regexp) ProtoMessage added in v0.1.1

func (*Regexp) ProtoMessage()

func (*Regexp) Reset added in v0.1.1

func (m *Regexp) Reset()

func (*Regexp) String added in v0.1.1

func (m *Regexp) String() string

func (*Regexp) XXX_DiscardUnknown added in v0.1.1

func (m *Regexp) XXX_DiscardUnknown()

func (*Regexp) XXX_Marshal added in v0.1.1

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

func (*Regexp) XXX_Merge added in v0.1.1

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

func (*Regexp) XXX_Size added in v0.1.1

func (m *Regexp) XXX_Size() int

func (*Regexp) XXX_Unmarshal added in v0.1.1

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

type Rule added in v0.1.1

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 added in v0.1.1

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

func (*Rule) GetCondition added in v0.1.1

func (m *Rule) GetCondition() *Expression

func (*Rule) GetIdentifier added in v0.1.1

func (m *Rule) GetIdentifier() string

func (*Rule) GetMeta added in v0.1.1

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

func (*Rule) GetModifiers added in v0.1.1

func (m *Rule) GetModifiers() *RuleModifiers

func (*Rule) GetStrings added in v0.1.1

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

func (*Rule) GetTags added in v0.1.1

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

func (*Rule) ProtoMessage added in v0.1.1

func (*Rule) ProtoMessage()

func (*Rule) Reset added in v0.1.1

func (m *Rule) Reset()

func (*Rule) String added in v0.1.1

func (m *Rule) String() string

func (*Rule) XXX_DiscardUnknown added in v0.1.1

func (m *Rule) XXX_DiscardUnknown()

func (*Rule) XXX_Marshal added in v0.1.1

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

func (*Rule) XXX_Merge added in v0.1.1

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

func (*Rule) XXX_Size added in v0.1.1

func (m *Rule) XXX_Size() int

func (*Rule) XXX_Unmarshal added in v0.1.1

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

type RuleModifiers added in v0.1.1

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 added in v0.1.1

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

func (*RuleModifiers) GetGlobal added in v0.1.1

func (m *RuleModifiers) GetGlobal() bool

func (*RuleModifiers) GetPrivate added in v0.1.1

func (m *RuleModifiers) GetPrivate() bool

func (*RuleModifiers) ProtoMessage added in v0.1.1

func (*RuleModifiers) ProtoMessage()

func (*RuleModifiers) Reset added in v0.1.1

func (m *RuleModifiers) Reset()

func (*RuleModifiers) String added in v0.1.1

func (m *RuleModifiers) String() string

func (*RuleModifiers) XXX_DiscardUnknown added in v0.1.1

func (m *RuleModifiers) XXX_DiscardUnknown()

func (*RuleModifiers) XXX_Marshal added in v0.1.1

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

func (*RuleModifiers) XXX_Merge added in v0.1.1

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

func (*RuleModifiers) XXX_Size added in v0.1.1

func (m *RuleModifiers) XXX_Size() int

func (*RuleModifiers) XXX_Unmarshal added in v0.1.1

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

type RuleSet added in v0.1.1

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 added in v0.1.1

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

func (*RuleSet) GetImports added in v0.1.1

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

func (*RuleSet) GetIncludes added in v0.1.1

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

func (*RuleSet) GetRules added in v0.1.1

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

func (*RuleSet) ProtoMessage added in v0.1.1

func (*RuleSet) ProtoMessage()

func (*RuleSet) Reset added in v0.1.1

func (m *RuleSet) Reset()

func (*RuleSet) String added in v0.1.1

func (m *RuleSet) String() string

func (*RuleSet) XXX_DiscardUnknown added in v0.1.1

func (m *RuleSet) XXX_DiscardUnknown()

func (*RuleSet) XXX_Marshal added in v0.1.1

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

func (*RuleSet) XXX_Merge added in v0.1.1

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

func (*RuleSet) XXX_Size added in v0.1.1

func (m *RuleSet) XXX_Size() int

func (*RuleSet) XXX_Unmarshal added in v0.1.1

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

type String added in v0.1.1

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 added in v0.1.1

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

func (*String) GetHex added in v0.1.1

func (m *String) GetHex() *HexTokens

func (*String) GetId added in v0.1.1

func (m *String) GetId() string

func (*String) GetRegexp added in v0.1.1

func (m *String) GetRegexp() *Regexp

func (*String) GetText added in v0.1.1

func (m *String) GetText() *TextString

func (*String) GetValue added in v0.1.1

func (m *String) GetValue() isString_Value

func (*String) ProtoMessage added in v0.1.1

func (*String) ProtoMessage()

func (*String) Reset added in v0.1.1

func (m *String) Reset()

func (*String) String added in v0.1.1

func (m *String) String() string

func (*String) XXX_DiscardUnknown added in v0.1.1

func (m *String) XXX_DiscardUnknown()

func (*String) XXX_Marshal added in v0.1.1

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

func (*String) XXX_Merge added in v0.1.1

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

func (*String) XXX_OneofFuncs added in v0.1.1

func (*String) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*String) XXX_Size added in v0.1.1

func (m *String) XXX_Size() int

func (*String) XXX_Unmarshal added in v0.1.1

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

type StringEnumeration added in v0.1.1

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 added in v0.1.1

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

func (*StringEnumeration) GetItems added in v0.1.1

func (*StringEnumeration) ProtoMessage added in v0.1.1

func (*StringEnumeration) ProtoMessage()

func (*StringEnumeration) Reset added in v0.1.1

func (m *StringEnumeration) Reset()

func (*StringEnumeration) String added in v0.1.1

func (m *StringEnumeration) String() string

func (*StringEnumeration) XXX_DiscardUnknown added in v0.1.1

func (m *StringEnumeration) XXX_DiscardUnknown()

func (*StringEnumeration) XXX_Marshal added in v0.1.1

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

func (*StringEnumeration) XXX_Merge added in v0.1.1

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

func (*StringEnumeration) XXX_Size added in v0.1.1

func (m *StringEnumeration) XXX_Size() int

func (*StringEnumeration) XXX_Unmarshal added in v0.1.1

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

type StringEnumeration_StringEnumerationItem added in v0.1.1

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 added in v0.1.1

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

func (*StringEnumeration_StringEnumerationItem) GetHasWildcard added in v0.1.1

func (m *StringEnumeration_StringEnumerationItem) GetHasWildcard() bool

func (*StringEnumeration_StringEnumerationItem) GetStringIdentifier added in v0.1.1

func (m *StringEnumeration_StringEnumerationItem) GetStringIdentifier() string

func (*StringEnumeration_StringEnumerationItem) ProtoMessage added in v0.1.1

func (*StringEnumeration_StringEnumerationItem) Reset added in v0.1.1

func (*StringEnumeration_StringEnumerationItem) String added in v0.1.1

func (*StringEnumeration_StringEnumerationItem) XXX_DiscardUnknown added in v0.1.1

func (m *StringEnumeration_StringEnumerationItem) XXX_DiscardUnknown()

func (*StringEnumeration_StringEnumerationItem) XXX_Marshal added in v0.1.1

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

func (*StringEnumeration_StringEnumerationItem) XXX_Merge added in v0.1.1

func (*StringEnumeration_StringEnumerationItem) XXX_Size added in v0.1.1

func (*StringEnumeration_StringEnumerationItem) XXX_Unmarshal added in v0.1.1

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

type StringLength added in v0.1.1

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 added in v0.1.1

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

func (*StringLength) GetIndex added in v0.1.1

func (m *StringLength) GetIndex() *Expression

func (*StringLength) GetStringIdentifier added in v0.1.1

func (m *StringLength) GetStringIdentifier() string

func (*StringLength) ProtoMessage added in v0.1.1

func (*StringLength) ProtoMessage()

func (*StringLength) Reset added in v0.1.1

func (m *StringLength) Reset()

func (*StringLength) String added in v0.1.1

func (m *StringLength) String() string

func (*StringLength) XXX_DiscardUnknown added in v0.1.1

func (m *StringLength) XXX_DiscardUnknown()

func (*StringLength) XXX_Marshal added in v0.1.1

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

func (*StringLength) XXX_Merge added in v0.1.1

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

func (*StringLength) XXX_Size added in v0.1.1

func (m *StringLength) XXX_Size() int

func (*StringLength) XXX_Unmarshal added in v0.1.1

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

type StringModifiers added in v0.1.1

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Modifiers for TextStrings and Regexps.

func (*StringModifiers) Descriptor added in v0.1.1

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

func (*StringModifiers) GetAscii added in v0.1.1

func (m *StringModifiers) GetAscii() bool

func (*StringModifiers) GetFullword added in v0.1.1

func (m *StringModifiers) GetFullword() bool

func (*StringModifiers) GetI added in v0.1.1

func (m *StringModifiers) GetI() bool

func (*StringModifiers) GetNocase added in v0.1.1

func (m *StringModifiers) GetNocase() bool

func (*StringModifiers) GetS added in v0.1.1

func (m *StringModifiers) GetS() bool

func (*StringModifiers) GetWide added in v0.1.1

func (m *StringModifiers) GetWide() bool

func (*StringModifiers) GetXor added in v0.1.1

func (m *StringModifiers) GetXor() bool

func (*StringModifiers) ProtoMessage added in v0.1.1

func (*StringModifiers) ProtoMessage()

func (*StringModifiers) Reset added in v0.1.1

func (m *StringModifiers) Reset()

func (*StringModifiers) String added in v0.1.1

func (m *StringModifiers) String() string

func (*StringModifiers) XXX_DiscardUnknown added in v0.1.1

func (m *StringModifiers) XXX_DiscardUnknown()

func (*StringModifiers) XXX_Marshal added in v0.1.1

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

func (*StringModifiers) XXX_Merge added in v0.1.1

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

func (*StringModifiers) XXX_Size added in v0.1.1

func (m *StringModifiers) XXX_Size() int

func (*StringModifiers) XXX_Unmarshal added in v0.1.1

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

type StringOffset added in v0.1.1

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 added in v0.1.1

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

func (*StringOffset) GetIndex added in v0.1.1

func (m *StringOffset) GetIndex() *Expression

func (*StringOffset) GetStringIdentifier added in v0.1.1

func (m *StringOffset) GetStringIdentifier() string

func (*StringOffset) ProtoMessage added in v0.1.1

func (*StringOffset) ProtoMessage()

func (*StringOffset) Reset added in v0.1.1

func (m *StringOffset) Reset()

func (*StringOffset) String added in v0.1.1

func (m *StringOffset) String() string

func (*StringOffset) XXX_DiscardUnknown added in v0.1.1

func (m *StringOffset) XXX_DiscardUnknown()

func (*StringOffset) XXX_Marshal added in v0.1.1

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

func (*StringOffset) XXX_Merge added in v0.1.1

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

func (*StringOffset) XXX_Size added in v0.1.1

func (m *StringOffset) XXX_Size() int

func (*StringOffset) XXX_Unmarshal added in v0.1.1

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

type StringSet added in v0.1.1

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 added in v0.1.1

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

func (*StringSet) GetKeyword added in v0.1.1

func (m *StringSet) GetKeyword() StringSetKeyword

func (*StringSet) GetSet added in v0.1.1

func (m *StringSet) GetSet() isStringSet_Set

func (*StringSet) GetStrings added in v0.1.1

func (m *StringSet) GetStrings() *StringEnumeration

func (*StringSet) ProtoMessage added in v0.1.1

func (*StringSet) ProtoMessage()

func (*StringSet) Reset added in v0.1.1

func (m *StringSet) Reset()

func (*StringSet) String added in v0.1.1

func (m *StringSet) String() string

func (*StringSet) XXX_DiscardUnknown added in v0.1.1

func (m *StringSet) XXX_DiscardUnknown()

func (*StringSet) XXX_Marshal added in v0.1.1

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

func (*StringSet) XXX_Merge added in v0.1.1

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

func (*StringSet) XXX_OneofFuncs added in v0.1.1

func (*StringSet) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*StringSet) XXX_Size added in v0.1.1

func (m *StringSet) XXX_Size() int

func (*StringSet) XXX_Unmarshal added in v0.1.1

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

type StringSetKeyword added in v0.1.1

type StringSetKeyword int32

Keywords used in string sets.

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

func (StringSetKeyword) Enum added in v0.1.1

func (StringSetKeyword) EnumDescriptor added in v0.1.1

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

func (StringSetKeyword) String added in v0.1.1

func (x StringSetKeyword) String() string

func (*StringSetKeyword) UnmarshalJSON added in v0.1.1

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

type StringSet_Keyword added in v0.1.1

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

type StringSet_Strings added in v0.1.1

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

type String_Hex added in v0.1.1

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

type String_Regexp added in v0.1.1

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

type String_Text added in v0.1.1

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

type TextString added in v0.1.1

type TextString 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:"-"`
}

Text string.

func (*TextString) Descriptor added in v0.1.1

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

func (*TextString) GetModifiers added in v0.1.1

func (m *TextString) GetModifiers() *StringModifiers

func (*TextString) GetText added in v0.1.1

func (m *TextString) GetText() string

func (*TextString) ProtoMessage added in v0.1.1

func (*TextString) ProtoMessage()

func (*TextString) Reset added in v0.1.1

func (m *TextString) Reset()

func (*TextString) String added in v0.1.1

func (m *TextString) String() string

func (*TextString) XXX_DiscardUnknown added in v0.1.1

func (m *TextString) XXX_DiscardUnknown()

func (*TextString) XXX_Marshal added in v0.1.1

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

func (*TextString) XXX_Merge added in v0.1.1

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

func (*TextString) XXX_Size added in v0.1.1

func (m *TextString) XXX_Size() int

func (*TextString) XXX_Unmarshal added in v0.1.1

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

type UnaryExpression added in v0.1.1

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 added in v0.1.1

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

func (*UnaryExpression) GetExpression added in v0.1.1

func (m *UnaryExpression) GetExpression() *Expression

func (*UnaryExpression) GetOperator added in v0.1.1

func (m *UnaryExpression) GetOperator() UnaryExpression_Operator

func (*UnaryExpression) ProtoMessage added in v0.1.1

func (*UnaryExpression) ProtoMessage()

func (*UnaryExpression) Reset added in v0.1.1

func (m *UnaryExpression) Reset()

func (*UnaryExpression) String added in v0.1.1

func (m *UnaryExpression) String() string

func (*UnaryExpression) XXX_DiscardUnknown added in v0.1.1

func (m *UnaryExpression) XXX_DiscardUnknown()

func (*UnaryExpression) XXX_Marshal added in v0.1.1

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

func (*UnaryExpression) XXX_Merge added in v0.1.1

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

func (*UnaryExpression) XXX_Size added in v0.1.1

func (m *UnaryExpression) XXX_Size() int

func (*UnaryExpression) XXX_Unmarshal added in v0.1.1

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

type UnaryExpression_Operator added in v0.1.1

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 added in v0.1.1

func (UnaryExpression_Operator) EnumDescriptor added in v0.1.1

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

func (UnaryExpression_Operator) String added in v0.1.1

func (x UnaryExpression_Operator) String() string

func (*UnaryExpression_Operator) UnmarshalJSON added in v0.1.1

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