mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Mark a large number of common types as final that shouldn't be overrideden
This commit is contained in:
parent
c2375fc88d
commit
9c89cd4a47
11 changed files with 93 additions and 93 deletions
|
@ -34,7 +34,7 @@ typedef enum {
|
||||||
#define NUM_ATTRS (int(ATTR_DEPRECATED) + 1)
|
#define NUM_ATTRS (int(ATTR_DEPRECATED) + 1)
|
||||||
} attr_tag;
|
} attr_tag;
|
||||||
|
|
||||||
class Attr : public BroObj {
|
class Attr final : public BroObj {
|
||||||
public:
|
public:
|
||||||
Attr(attr_tag t, IntrusivePtr<Expr> e);
|
Attr(attr_tag t, IntrusivePtr<Expr> e);
|
||||||
explicit Attr(attr_tag t);
|
explicit Attr(attr_tag t);
|
||||||
|
@ -71,7 +71,7 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
// Manages a collection of attributes.
|
// Manages a collection of attributes.
|
||||||
class Attributes : public BroObj {
|
class Attributes final : public BroObj {
|
||||||
public:
|
public:
|
||||||
Attributes(attr_list* a, IntrusivePtr<BroType> t, bool in_record, bool is_global);
|
Attributes(attr_list* a, IntrusivePtr<BroType> t, bool in_record, bool is_global);
|
||||||
~Attributes() override;
|
~Attributes() override;
|
||||||
|
|
|
@ -59,7 +59,7 @@ static inline int addr_port_canon_lt(const IPAddr& addr1, uint32_t p1,
|
||||||
|
|
||||||
namespace analyzer { class Analyzer; }
|
namespace analyzer { class Analyzer; }
|
||||||
|
|
||||||
class Connection : public BroObj {
|
class Connection final : public BroObj {
|
||||||
public:
|
public:
|
||||||
Connection(NetSessions* s, const ConnIDKey& k, double t, const ConnID* id,
|
Connection(NetSessions* s, const ConnIDKey& k, double t, const ConnID* id,
|
||||||
uint32_t flow, const Packet* pkt, const EncapsulationStack* arg_encap);
|
uint32_t flow, const Packet* pkt, const EncapsulationStack* arg_encap);
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
class EventMgr;
|
class EventMgr;
|
||||||
|
|
||||||
class Event : public BroObj {
|
class Event final : public BroObj {
|
||||||
public:
|
public:
|
||||||
Event(EventHandlerPtr handler, zeek::Args args,
|
Event(EventHandlerPtr handler, zeek::Args args,
|
||||||
SourceID src = SOURCE_LOCAL, analyzer::ID aid = 0,
|
SourceID src = SOURCE_LOCAL, analyzer::ID aid = 0,
|
||||||
|
|
90
src/Expr.h
90
src/Expr.h
|
@ -202,7 +202,7 @@ public:
|
||||||
return (IndexExpr*) this;
|
return (IndexExpr*) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Describe(ODesc* d) const override;
|
void Describe(ODesc* d) const override final;
|
||||||
|
|
||||||
virtual TraversalCode Traverse(TraversalCallback* cb) const = 0;
|
virtual TraversalCode Traverse(TraversalCallback* cb) const = 0;
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ protected:
|
||||||
bool paren;
|
bool paren;
|
||||||
};
|
};
|
||||||
|
|
||||||
class NameExpr : public Expr {
|
class NameExpr final : public Expr {
|
||||||
public:
|
public:
|
||||||
explicit NameExpr(IntrusivePtr<ID> id, bool const_init = false);
|
explicit NameExpr(IntrusivePtr<ID> id, bool const_init = false);
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@ protected:
|
||||||
bool in_const_init;
|
bool in_const_init;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ConstExpr : public Expr {
|
class ConstExpr final : public Expr {
|
||||||
public:
|
public:
|
||||||
explicit ConstExpr(IntrusivePtr<Val> val);
|
explicit ConstExpr(IntrusivePtr<Val> val);
|
||||||
|
|
||||||
|
@ -350,7 +350,7 @@ protected:
|
||||||
IntrusivePtr<Expr> op2;
|
IntrusivePtr<Expr> op2;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CloneExpr : public UnaryExpr {
|
class CloneExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit CloneExpr(IntrusivePtr<Expr> op);
|
explicit CloneExpr(IntrusivePtr<Expr> op);
|
||||||
IntrusivePtr<Val> Eval(Frame* f) const override;
|
IntrusivePtr<Val> Eval(Frame* f) const override;
|
||||||
|
@ -359,7 +359,7 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v) const override;
|
IntrusivePtr<Val> Fold(Val* v) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IncrExpr : public UnaryExpr {
|
class IncrExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
IncrExpr(BroExprTag tag, IntrusivePtr<Expr> op);
|
IncrExpr(BroExprTag tag, IntrusivePtr<Expr> op);
|
||||||
|
|
||||||
|
@ -368,7 +368,7 @@ public:
|
||||||
bool IsPure() const override;
|
bool IsPure() const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ComplementExpr : public UnaryExpr {
|
class ComplementExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit ComplementExpr(IntrusivePtr<Expr> op);
|
explicit ComplementExpr(IntrusivePtr<Expr> op);
|
||||||
|
|
||||||
|
@ -376,7 +376,7 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v) const override;
|
IntrusivePtr<Val> Fold(Val* v) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class NotExpr : public UnaryExpr {
|
class NotExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit NotExpr(IntrusivePtr<Expr> op);
|
explicit NotExpr(IntrusivePtr<Expr> op);
|
||||||
|
|
||||||
|
@ -384,7 +384,7 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v) const override;
|
IntrusivePtr<Val> Fold(Val* v) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PosExpr : public UnaryExpr {
|
class PosExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit PosExpr(IntrusivePtr<Expr> op);
|
explicit PosExpr(IntrusivePtr<Expr> op);
|
||||||
|
|
||||||
|
@ -392,7 +392,7 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v) const override;
|
IntrusivePtr<Val> Fold(Val* v) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class NegExpr : public UnaryExpr {
|
class NegExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit NegExpr(IntrusivePtr<Expr> op);
|
explicit NegExpr(IntrusivePtr<Expr> op);
|
||||||
|
|
||||||
|
@ -400,7 +400,7 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v) const override;
|
IntrusivePtr<Val> Fold(Val* v) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SizeExpr : public UnaryExpr {
|
class SizeExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit SizeExpr(IntrusivePtr<Expr> op);
|
explicit SizeExpr(IntrusivePtr<Expr> op);
|
||||||
IntrusivePtr<Val> Eval(Frame* f) const override;
|
IntrusivePtr<Val> Eval(Frame* f) const override;
|
||||||
|
@ -409,36 +409,36 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v) const override;
|
IntrusivePtr<Val> Fold(Val* v) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AddExpr : public BinaryExpr {
|
class AddExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
AddExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
AddExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
void Canonicize() override;
|
void Canonicize() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AddToExpr : public BinaryExpr {
|
class AddToExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
AddToExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
AddToExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
IntrusivePtr<Val> Eval(Frame* f) const override;
|
IntrusivePtr<Val> Eval(Frame* f) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RemoveFromExpr : public BinaryExpr {
|
class RemoveFromExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
RemoveFromExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
RemoveFromExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
IntrusivePtr<Val> Eval(Frame* f) const override;
|
IntrusivePtr<Val> Eval(Frame* f) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SubExpr : public BinaryExpr {
|
class SubExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
SubExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
SubExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
};
|
};
|
||||||
|
|
||||||
class TimesExpr : public BinaryExpr {
|
class TimesExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
TimesExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
TimesExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
void Canonicize() override;
|
void Canonicize() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DivideExpr : public BinaryExpr {
|
class DivideExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
DivideExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
DivideExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
|
|
||||||
|
@ -446,12 +446,12 @@ protected:
|
||||||
IntrusivePtr<Val> AddrFold(Val* v1, Val* v2) const override;
|
IntrusivePtr<Val> AddrFold(Val* v1, Val* v2) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ModExpr : public BinaryExpr {
|
class ModExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
ModExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
ModExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
};
|
};
|
||||||
|
|
||||||
class BoolExpr : public BinaryExpr {
|
class BoolExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
BoolExpr(BroExprTag tag, IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
BoolExpr(BroExprTag tag, IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
|
|
||||||
|
@ -459,12 +459,12 @@ public:
|
||||||
IntrusivePtr<Val> DoSingleEval(Frame* f, IntrusivePtr<Val> v1, Expr* op2) const;
|
IntrusivePtr<Val> DoSingleEval(Frame* f, IntrusivePtr<Val> v1, Expr* op2) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class BitExpr : public BinaryExpr {
|
class BitExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
BitExpr(BroExprTag tag, IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
BitExpr(BroExprTag tag, IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
};
|
};
|
||||||
|
|
||||||
class EqExpr : public BinaryExpr {
|
class EqExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
EqExpr(BroExprTag tag, IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
EqExpr(BroExprTag tag, IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
void Canonicize() override;
|
void Canonicize() override;
|
||||||
|
@ -473,13 +473,13 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v1, Val* v2) const override;
|
IntrusivePtr<Val> Fold(Val* v1, Val* v2) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RelExpr : public BinaryExpr {
|
class RelExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
RelExpr(BroExprTag tag, IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
RelExpr(BroExprTag tag, IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
void Canonicize() override;
|
void Canonicize() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CondExpr : public Expr {
|
class CondExpr final : public Expr {
|
||||||
public:
|
public:
|
||||||
CondExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2, IntrusivePtr<Expr> op3);
|
CondExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2, IntrusivePtr<Expr> op3);
|
||||||
|
|
||||||
|
@ -500,7 +500,7 @@ protected:
|
||||||
IntrusivePtr<Expr> op3;
|
IntrusivePtr<Expr> op3;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RefExpr : public UnaryExpr {
|
class RefExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit RefExpr(IntrusivePtr<Expr> op);
|
explicit RefExpr(IntrusivePtr<Expr> op);
|
||||||
|
|
||||||
|
@ -530,14 +530,14 @@ protected:
|
||||||
IntrusivePtr<Val> val; // optional
|
IntrusivePtr<Val> val; // optional
|
||||||
};
|
};
|
||||||
|
|
||||||
class IndexSliceAssignExpr : public AssignExpr {
|
class IndexSliceAssignExpr final : public AssignExpr {
|
||||||
public:
|
public:
|
||||||
IndexSliceAssignExpr(IntrusivePtr<Expr> op1,
|
IndexSliceAssignExpr(IntrusivePtr<Expr> op1,
|
||||||
IntrusivePtr<Expr> op2, bool is_init);
|
IntrusivePtr<Expr> op2, bool is_init);
|
||||||
IntrusivePtr<Val> Eval(Frame* f) const override;
|
IntrusivePtr<Val> Eval(Frame* f) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IndexExpr : public BinaryExpr {
|
class IndexExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
IndexExpr(IntrusivePtr<Expr> op1,
|
IndexExpr(IntrusivePtr<Expr> op1,
|
||||||
IntrusivePtr<ListExpr> op2, bool is_slice = false);
|
IntrusivePtr<ListExpr> op2, bool is_slice = false);
|
||||||
|
@ -567,7 +567,7 @@ protected:
|
||||||
bool is_slice;
|
bool is_slice;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FieldExpr : public UnaryExpr {
|
class FieldExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
FieldExpr(IntrusivePtr<Expr> op, const char* field_name);
|
FieldExpr(IntrusivePtr<Expr> op, const char* field_name);
|
||||||
~FieldExpr() override;
|
~FieldExpr() override;
|
||||||
|
@ -594,7 +594,7 @@ protected:
|
||||||
|
|
||||||
// "rec?$fieldname" is true if the value of $fieldname in rec is not nil.
|
// "rec?$fieldname" is true if the value of $fieldname in rec is not nil.
|
||||||
// "rec?$$attrname" is true if the attribute attrname is not nil.
|
// "rec?$$attrname" is true if the attribute attrname is not nil.
|
||||||
class HasFieldExpr : public UnaryExpr {
|
class HasFieldExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
HasFieldExpr(IntrusivePtr<Expr> op, const char* field_name);
|
HasFieldExpr(IntrusivePtr<Expr> op, const char* field_name);
|
||||||
~HasFieldExpr() override;
|
~HasFieldExpr() override;
|
||||||
|
@ -610,7 +610,7 @@ protected:
|
||||||
int field;
|
int field;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RecordConstructorExpr : public UnaryExpr {
|
class RecordConstructorExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit RecordConstructorExpr(IntrusivePtr<ListExpr> constructor_list);
|
explicit RecordConstructorExpr(IntrusivePtr<ListExpr> constructor_list);
|
||||||
~RecordConstructorExpr() override;
|
~RecordConstructorExpr() override;
|
||||||
|
@ -622,7 +622,7 @@ protected:
|
||||||
void ExprDescribe(ODesc* d) const override;
|
void ExprDescribe(ODesc* d) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TableConstructorExpr : public UnaryExpr {
|
class TableConstructorExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
TableConstructorExpr(IntrusivePtr<ListExpr> constructor_list, attr_list* attrs,
|
TableConstructorExpr(IntrusivePtr<ListExpr> constructor_list, attr_list* attrs,
|
||||||
IntrusivePtr<BroType> arg_type = nullptr);
|
IntrusivePtr<BroType> arg_type = nullptr);
|
||||||
|
@ -640,7 +640,7 @@ protected:
|
||||||
Attributes* attrs;
|
Attributes* attrs;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SetConstructorExpr : public UnaryExpr {
|
class SetConstructorExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
SetConstructorExpr(IntrusivePtr<ListExpr> constructor_list, attr_list* attrs,
|
SetConstructorExpr(IntrusivePtr<ListExpr> constructor_list, attr_list* attrs,
|
||||||
IntrusivePtr<BroType> arg_type = nullptr);
|
IntrusivePtr<BroType> arg_type = nullptr);
|
||||||
|
@ -658,7 +658,7 @@ protected:
|
||||||
Attributes* attrs;
|
Attributes* attrs;
|
||||||
};
|
};
|
||||||
|
|
||||||
class VectorConstructorExpr : public UnaryExpr {
|
class VectorConstructorExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit VectorConstructorExpr(IntrusivePtr<ListExpr> constructor_list,
|
explicit VectorConstructorExpr(IntrusivePtr<ListExpr> constructor_list,
|
||||||
IntrusivePtr<BroType> arg_type = nullptr);
|
IntrusivePtr<BroType> arg_type = nullptr);
|
||||||
|
@ -671,7 +671,7 @@ protected:
|
||||||
void ExprDescribe(ODesc* d) const override;
|
void ExprDescribe(ODesc* d) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FieldAssignExpr : public UnaryExpr {
|
class FieldAssignExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
FieldAssignExpr(const char* field_name, IntrusivePtr<Expr> value);
|
FieldAssignExpr(const char* field_name, IntrusivePtr<Expr> value);
|
||||||
|
|
||||||
|
@ -686,7 +686,7 @@ protected:
|
||||||
string field_name;
|
string field_name;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ArithCoerceExpr : public UnaryExpr {
|
class ArithCoerceExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
ArithCoerceExpr(IntrusivePtr<Expr> op, TypeTag t);
|
ArithCoerceExpr(IntrusivePtr<Expr> op, TypeTag t);
|
||||||
|
|
||||||
|
@ -695,7 +695,7 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v) const override;
|
IntrusivePtr<Val> Fold(Val* v) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RecordCoerceExpr : public UnaryExpr {
|
class RecordCoerceExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
RecordCoerceExpr(IntrusivePtr<Expr> op, IntrusivePtr<RecordType> r);
|
RecordCoerceExpr(IntrusivePtr<Expr> op, IntrusivePtr<RecordType> r);
|
||||||
~RecordCoerceExpr() override;
|
~RecordCoerceExpr() override;
|
||||||
|
@ -710,7 +710,7 @@ protected:
|
||||||
int map_size; // equivalent to Type()->AsRecordType()->NumFields()
|
int map_size; // equivalent to Type()->AsRecordType()->NumFields()
|
||||||
};
|
};
|
||||||
|
|
||||||
class TableCoerceExpr : public UnaryExpr {
|
class TableCoerceExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
TableCoerceExpr(IntrusivePtr<Expr> op, IntrusivePtr<TableType> r);
|
TableCoerceExpr(IntrusivePtr<Expr> op, IntrusivePtr<TableType> r);
|
||||||
~TableCoerceExpr() override;
|
~TableCoerceExpr() override;
|
||||||
|
@ -719,7 +719,7 @@ protected:
|
||||||
IntrusivePtr<Val> Fold(Val* v) const override;
|
IntrusivePtr<Val> Fold(Val* v) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class VectorCoerceExpr : public UnaryExpr {
|
class VectorCoerceExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
VectorCoerceExpr(IntrusivePtr<Expr> op, IntrusivePtr<VectorType> v);
|
VectorCoerceExpr(IntrusivePtr<Expr> op, IntrusivePtr<VectorType> v);
|
||||||
~VectorCoerceExpr() override;
|
~VectorCoerceExpr() override;
|
||||||
|
@ -730,7 +730,7 @@ protected:
|
||||||
|
|
||||||
// An internal operator for flattening array indices that are records
|
// An internal operator for flattening array indices that are records
|
||||||
// into a list of individual values.
|
// into a list of individual values.
|
||||||
class FlattenExpr : public UnaryExpr {
|
class FlattenExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
explicit FlattenExpr(IntrusivePtr<Expr> op);
|
explicit FlattenExpr(IntrusivePtr<Expr> op);
|
||||||
|
|
||||||
|
@ -752,7 +752,7 @@ protected:
|
||||||
zeek::Args args;
|
zeek::Args args;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ScheduleExpr : public Expr {
|
class ScheduleExpr final : public Expr {
|
||||||
public:
|
public:
|
||||||
ScheduleExpr(IntrusivePtr<Expr> when, IntrusivePtr<EventExpr> event);
|
ScheduleExpr(IntrusivePtr<Expr> when, IntrusivePtr<EventExpr> event);
|
||||||
|
|
||||||
|
@ -772,7 +772,7 @@ protected:
|
||||||
IntrusivePtr<EventExpr> event;
|
IntrusivePtr<EventExpr> event;
|
||||||
};
|
};
|
||||||
|
|
||||||
class InExpr : public BinaryExpr {
|
class InExpr final : public BinaryExpr {
|
||||||
public:
|
public:
|
||||||
InExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
InExpr(IntrusivePtr<Expr> op1, IntrusivePtr<Expr> op2);
|
||||||
|
|
||||||
|
@ -781,7 +781,7 @@ protected:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class CallExpr : public Expr {
|
class CallExpr final : public Expr {
|
||||||
public:
|
public:
|
||||||
CallExpr(IntrusivePtr<Expr> func, IntrusivePtr<ListExpr> args,
|
CallExpr(IntrusivePtr<Expr> func, IntrusivePtr<ListExpr> args,
|
||||||
bool in_hook = false);
|
bool in_hook = false);
|
||||||
|
@ -808,7 +808,7 @@ protected:
|
||||||
* On evaluation, captures the frame that it is evaluated in. This becomes
|
* On evaluation, captures the frame that it is evaluated in. This becomes
|
||||||
* the closure for the instance of the function that it creates.
|
* the closure for the instance of the function that it creates.
|
||||||
*/
|
*/
|
||||||
class LambdaExpr : public Expr {
|
class LambdaExpr final : public Expr {
|
||||||
public:
|
public:
|
||||||
LambdaExpr(std::unique_ptr<function_ingredients> ingredients,
|
LambdaExpr(std::unique_ptr<function_ingredients> ingredients,
|
||||||
id_list outer_ids);
|
id_list outer_ids);
|
||||||
|
@ -828,7 +828,7 @@ private:
|
||||||
std::string my_name;
|
std::string my_name;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EventExpr : public Expr {
|
class EventExpr final : public Expr {
|
||||||
public:
|
public:
|
||||||
EventExpr(const char* name, IntrusivePtr<ListExpr> args);
|
EventExpr(const char* name, IntrusivePtr<ListExpr> args);
|
||||||
|
|
||||||
|
@ -880,12 +880,12 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class RecordAssignExpr : public ListExpr {
|
class RecordAssignExpr final : public ListExpr {
|
||||||
public:
|
public:
|
||||||
RecordAssignExpr(const IntrusivePtr<Expr>& record, const IntrusivePtr<Expr>& init_list, bool is_init);
|
RecordAssignExpr(const IntrusivePtr<Expr>& record, const IntrusivePtr<Expr>& init_list, bool is_init);
|
||||||
};
|
};
|
||||||
|
|
||||||
class CastExpr : public UnaryExpr {
|
class CastExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
CastExpr(IntrusivePtr<Expr> op, IntrusivePtr<BroType> t);
|
CastExpr(IntrusivePtr<Expr> op, IntrusivePtr<BroType> t);
|
||||||
|
|
||||||
|
@ -894,7 +894,7 @@ protected:
|
||||||
void ExprDescribe(ODesc* d) const override;
|
void ExprDescribe(ODesc* d) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IsExpr : public UnaryExpr {
|
class IsExpr final : public UnaryExpr {
|
||||||
public:
|
public:
|
||||||
IsExpr(IntrusivePtr<Expr> op, IntrusivePtr<BroType> t);
|
IsExpr(IntrusivePtr<Expr> op, IntrusivePtr<BroType> t);
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ class Attributes;
|
||||||
class BroType;
|
class BroType;
|
||||||
class RecordVal;
|
class RecordVal;
|
||||||
|
|
||||||
class BroFile : public BroObj {
|
class BroFile final : public BroObj {
|
||||||
public:
|
public:
|
||||||
explicit BroFile(FILE* arg_f);
|
explicit BroFile(FILE* arg_f);
|
||||||
BroFile(FILE* arg_f, const char* filename, const char* access);
|
BroFile(FILE* arg_f, const char* filename, const char* access);
|
||||||
|
|
|
@ -118,7 +118,7 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class BroFunc : public Func {
|
class BroFunc final : public Func {
|
||||||
public:
|
public:
|
||||||
BroFunc(ID* id, IntrusivePtr<Stmt> body, id_list* inits, size_t frame_size, int priority);
|
BroFunc(ID* id, IntrusivePtr<Stmt> body, id_list* inits, size_t frame_size, int priority);
|
||||||
~BroFunc() override;
|
~BroFunc() override;
|
||||||
|
@ -193,7 +193,7 @@ private:
|
||||||
|
|
||||||
using built_in_func = Val* (*)(Frame* frame, const zeek::Args* args);
|
using built_in_func = Val* (*)(Frame* frame, const zeek::Args* args);
|
||||||
|
|
||||||
class BuiltinFunc : public Func {
|
class BuiltinFunc final : public Func {
|
||||||
public:
|
public:
|
||||||
BuiltinFunc(built_in_func func, const char* name, bool is_pure);
|
BuiltinFunc(built_in_func func, const char* name, bool is_pure);
|
||||||
~BuiltinFunc() override;
|
~BuiltinFunc() override;
|
||||||
|
|
2
src/ID.h
2
src/ID.h
|
@ -21,7 +21,7 @@ class Attributes;
|
||||||
typedef enum { INIT_NONE, INIT_FULL, INIT_EXTRA, INIT_REMOVE, } init_class;
|
typedef enum { INIT_NONE, INIT_FULL, INIT_EXTRA, INIT_REMOVE, } init_class;
|
||||||
typedef enum { SCOPE_FUNCTION, SCOPE_MODULE, SCOPE_GLOBAL } IDScope;
|
typedef enum { SCOPE_FUNCTION, SCOPE_MODULE, SCOPE_GLOBAL } IDScope;
|
||||||
|
|
||||||
class ID : public BroObj, public notifier::Modifiable {
|
class ID final : public BroObj, public notifier::Modifiable {
|
||||||
public:
|
public:
|
||||||
ID(const char* name, IDScope arg_scope, bool arg_is_export);
|
ID(const char* name, IDScope arg_scope, bool arg_is_export);
|
||||||
~ID() override;
|
~ID() override;
|
||||||
|
|
36
src/Stmt.h
36
src/Stmt.h
|
@ -103,7 +103,7 @@ protected:
|
||||||
IntrusivePtr<ListExpr> l;
|
IntrusivePtr<ListExpr> l;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PrintStmt : public ExprListStmt {
|
class PrintStmt final : public ExprListStmt {
|
||||||
public:
|
public:
|
||||||
template<typename L>
|
template<typename L>
|
||||||
explicit PrintStmt(L&& l) : ExprListStmt(STMT_PRINT, std::forward<L>(l)) { }
|
explicit PrintStmt(L&& l) : ExprListStmt(STMT_PRINT, std::forward<L>(l)) { }
|
||||||
|
@ -136,7 +136,7 @@ protected:
|
||||||
IntrusivePtr<Expr> e;
|
IntrusivePtr<Expr> e;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IfStmt : public ExprStmt {
|
class IfStmt final : public ExprStmt {
|
||||||
public:
|
public:
|
||||||
IfStmt(IntrusivePtr<Expr> test, IntrusivePtr<Stmt> s1, IntrusivePtr<Stmt> s2);
|
IfStmt(IntrusivePtr<Expr> test, IntrusivePtr<Stmt> s1, IntrusivePtr<Stmt> s2);
|
||||||
~IfStmt() override;
|
~IfStmt() override;
|
||||||
|
@ -156,7 +156,7 @@ protected:
|
||||||
IntrusivePtr<Stmt> s2;
|
IntrusivePtr<Stmt> s2;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Case : public BroObj {
|
class Case final : public BroObj {
|
||||||
public:
|
public:
|
||||||
Case(IntrusivePtr<ListExpr> c, id_list* types, IntrusivePtr<Stmt> arg_s);
|
Case(IntrusivePtr<ListExpr> c, id_list* types, IntrusivePtr<Stmt> arg_s);
|
||||||
~Case() override;
|
~Case() override;
|
||||||
|
@ -180,9 +180,9 @@ protected:
|
||||||
IntrusivePtr<Stmt> s;
|
IntrusivePtr<Stmt> s;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef PList<Case> case_list;
|
using case_list = PList<Case>;
|
||||||
|
|
||||||
class SwitchStmt : public ExprStmt {
|
class SwitchStmt final : public ExprStmt {
|
||||||
public:
|
public:
|
||||||
SwitchStmt(IntrusivePtr<Expr> index, case_list* cases);
|
SwitchStmt(IntrusivePtr<Expr> index, case_list* cases);
|
||||||
~SwitchStmt() override;
|
~SwitchStmt() override;
|
||||||
|
@ -223,7 +223,7 @@ protected:
|
||||||
std::vector<std::pair<ID*, int>> case_label_type_list;
|
std::vector<std::pair<ID*, int>> case_label_type_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AddStmt : public ExprStmt {
|
class AddStmt final : public ExprStmt {
|
||||||
public:
|
public:
|
||||||
explicit AddStmt(IntrusivePtr<Expr> e);
|
explicit AddStmt(IntrusivePtr<Expr> e);
|
||||||
|
|
||||||
|
@ -233,7 +233,7 @@ public:
|
||||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DelStmt : public ExprStmt {
|
class DelStmt final : public ExprStmt {
|
||||||
public:
|
public:
|
||||||
explicit DelStmt(IntrusivePtr<Expr> e);
|
explicit DelStmt(IntrusivePtr<Expr> e);
|
||||||
|
|
||||||
|
@ -243,7 +243,7 @@ public:
|
||||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EventStmt : public ExprStmt {
|
class EventStmt final : public ExprStmt {
|
||||||
public:
|
public:
|
||||||
explicit EventStmt(IntrusivePtr<EventExpr> e);
|
explicit EventStmt(IntrusivePtr<EventExpr> e);
|
||||||
|
|
||||||
|
@ -255,7 +255,7 @@ protected:
|
||||||
IntrusivePtr<EventExpr> event_expr;
|
IntrusivePtr<EventExpr> event_expr;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WhileStmt : public Stmt {
|
class WhileStmt final : public Stmt {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
WhileStmt(IntrusivePtr<Expr> loop_condition, IntrusivePtr<Stmt> body);
|
WhileStmt(IntrusivePtr<Expr> loop_condition, IntrusivePtr<Stmt> body);
|
||||||
|
@ -274,7 +274,7 @@ protected:
|
||||||
IntrusivePtr<Stmt> body;
|
IntrusivePtr<Stmt> body;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ForStmt : public ExprStmt {
|
class ForStmt final : public ExprStmt {
|
||||||
public:
|
public:
|
||||||
ForStmt(id_list* loop_vars, IntrusivePtr<Expr> loop_expr);
|
ForStmt(id_list* loop_vars, IntrusivePtr<Expr> loop_expr);
|
||||||
// Special constructor for key value for loop.
|
// Special constructor for key value for loop.
|
||||||
|
@ -303,7 +303,7 @@ protected:
|
||||||
IntrusivePtr<ID> value_var;
|
IntrusivePtr<ID> value_var;
|
||||||
};
|
};
|
||||||
|
|
||||||
class NextStmt : public Stmt {
|
class NextStmt final : public Stmt {
|
||||||
public:
|
public:
|
||||||
NextStmt() : Stmt(STMT_NEXT) { }
|
NextStmt() : Stmt(STMT_NEXT) { }
|
||||||
|
|
||||||
|
@ -317,7 +317,7 @@ public:
|
||||||
protected:
|
protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
class BreakStmt : public Stmt {
|
class BreakStmt final : public Stmt {
|
||||||
public:
|
public:
|
||||||
BreakStmt() : Stmt(STMT_BREAK) { }
|
BreakStmt() : Stmt(STMT_BREAK) { }
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ public:
|
||||||
protected:
|
protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
class FallthroughStmt : public Stmt {
|
class FallthroughStmt final : public Stmt {
|
||||||
public:
|
public:
|
||||||
FallthroughStmt() : Stmt(STMT_FALLTHROUGH) { }
|
FallthroughStmt() : Stmt(STMT_FALLTHROUGH) { }
|
||||||
|
|
||||||
|
@ -345,7 +345,7 @@ public:
|
||||||
protected:
|
protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
class ReturnStmt : public ExprStmt {
|
class ReturnStmt final : public ExprStmt {
|
||||||
public:
|
public:
|
||||||
explicit ReturnStmt(IntrusivePtr<Expr> e);
|
explicit ReturnStmt(IntrusivePtr<Expr> e);
|
||||||
|
|
||||||
|
@ -374,7 +374,7 @@ protected:
|
||||||
stmt_list stmts;
|
stmt_list stmts;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EventBodyList : public StmtList {
|
class EventBodyList final : public StmtList {
|
||||||
public:
|
public:
|
||||||
EventBodyList() : StmtList()
|
EventBodyList() : StmtList()
|
||||||
{ topmost = false; tag = STMT_EVENT_BODY_LIST; }
|
{ topmost = false; tag = STMT_EVENT_BODY_LIST; }
|
||||||
|
@ -391,7 +391,7 @@ protected:
|
||||||
bool topmost;
|
bool topmost;
|
||||||
};
|
};
|
||||||
|
|
||||||
class InitStmt : public Stmt {
|
class InitStmt final : public Stmt {
|
||||||
public:
|
public:
|
||||||
explicit InitStmt(id_list* arg_inits);
|
explicit InitStmt(id_list* arg_inits);
|
||||||
|
|
||||||
|
@ -409,7 +409,7 @@ protected:
|
||||||
id_list* inits;
|
id_list* inits;
|
||||||
};
|
};
|
||||||
|
|
||||||
class NullStmt : public Stmt {
|
class NullStmt final : public Stmt {
|
||||||
public:
|
public:
|
||||||
NullStmt() : Stmt(STMT_NULL) { }
|
NullStmt() : Stmt(STMT_NULL) { }
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ public:
|
||||||
TraversalCode Traverse(TraversalCallback* cb) const override;
|
TraversalCode Traverse(TraversalCallback* cb) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WhenStmt : public Stmt {
|
class WhenStmt final : public Stmt {
|
||||||
public:
|
public:
|
||||||
// s2 is null if no timeout block given.
|
// s2 is null if no timeout block given.
|
||||||
WhenStmt(IntrusivePtr<Expr> cond,
|
WhenStmt(IntrusivePtr<Expr> cond,
|
||||||
|
|
|
@ -25,7 +25,7 @@ using std::map;
|
||||||
class TriggerTimer;
|
class TriggerTimer;
|
||||||
class TriggerTraversalCallback;
|
class TriggerTraversalCallback;
|
||||||
|
|
||||||
class Trigger : public BroObj, public notifier::Receiver {
|
class Trigger final : public BroObj, public notifier::Receiver {
|
||||||
public:
|
public:
|
||||||
// Don't access Trigger objects; they take care of themselves after
|
// Don't access Trigger objects; they take care of themselves after
|
||||||
// instantiation. Note that if the condition is already true, the
|
// instantiation. Note that if the condition is already true, the
|
||||||
|
|
20
src/Type.h
20
src/Type.h
|
@ -345,7 +345,7 @@ private:
|
||||||
static TypeAliasMap type_aliases;
|
static TypeAliasMap type_aliases;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TypeList : public BroType {
|
class TypeList final : public BroType {
|
||||||
public:
|
public:
|
||||||
explicit TypeList(IntrusivePtr<BroType> arg_pure_type = nullptr)
|
explicit TypeList(IntrusivePtr<BroType> arg_pure_type = nullptr)
|
||||||
: BroType(TYPE_LIST), pure_type(std::move(arg_pure_type))
|
: BroType(TYPE_LIST), pure_type(std::move(arg_pure_type))
|
||||||
|
@ -424,7 +424,7 @@ protected:
|
||||||
TypeList* ExpandRecordIndex(RecordType* rt) const;
|
TypeList* ExpandRecordIndex(RecordType* rt) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SetType : public TableType {
|
class SetType final : public TableType {
|
||||||
public:
|
public:
|
||||||
SetType(IntrusivePtr<TypeList> ind, IntrusivePtr<ListExpr> arg_elements);
|
SetType(IntrusivePtr<TypeList> ind, IntrusivePtr<ListExpr> arg_elements);
|
||||||
~SetType() override;
|
~SetType() override;
|
||||||
|
@ -437,7 +437,7 @@ protected:
|
||||||
IntrusivePtr<ListExpr> elements;
|
IntrusivePtr<ListExpr> elements;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FuncType : public BroType {
|
class FuncType final : public BroType {
|
||||||
public:
|
public:
|
||||||
FuncType(IntrusivePtr<RecordType> args, IntrusivePtr<BroType> yield,
|
FuncType(IntrusivePtr<RecordType> args, IntrusivePtr<BroType> yield,
|
||||||
function_flavor f);
|
function_flavor f);
|
||||||
|
@ -472,7 +472,7 @@ protected:
|
||||||
function_flavor flavor;
|
function_flavor flavor;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TypeType : public BroType {
|
class TypeType final : public BroType {
|
||||||
public:
|
public:
|
||||||
explicit TypeType(IntrusivePtr<BroType> t) : BroType(TYPE_TYPE), type(std::move(t)) {}
|
explicit TypeType(IntrusivePtr<BroType> t) : BroType(TYPE_TYPE), type(std::move(t)) {}
|
||||||
TypeType* ShallowClone() override { return new TypeType(type); }
|
TypeType* ShallowClone() override { return new TypeType(type); }
|
||||||
|
@ -501,7 +501,7 @@ public:
|
||||||
|
|
||||||
typedef PList<TypeDecl> type_decl_list;
|
typedef PList<TypeDecl> type_decl_list;
|
||||||
|
|
||||||
class RecordType : public BroType {
|
class RecordType final : public BroType {
|
||||||
public:
|
public:
|
||||||
explicit RecordType(type_decl_list* types);
|
explicit RecordType(type_decl_list* types);
|
||||||
RecordType* ShallowClone() override;
|
RecordType* ShallowClone() override;
|
||||||
|
@ -565,13 +565,13 @@ protected:
|
||||||
type_decl_list* types;
|
type_decl_list* types;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SubNetType : public BroType {
|
class SubNetType final : public BroType {
|
||||||
public:
|
public:
|
||||||
SubNetType();
|
SubNetType();
|
||||||
void Describe(ODesc* d) const override;
|
void Describe(ODesc* d) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FileType : public BroType {
|
class FileType final : public BroType {
|
||||||
public:
|
public:
|
||||||
explicit FileType(IntrusivePtr<BroType> yield_type);
|
explicit FileType(IntrusivePtr<BroType> yield_type);
|
||||||
FileType* ShallowClone() override { return new FileType(yield); }
|
FileType* ShallowClone() override { return new FileType(yield); }
|
||||||
|
@ -585,7 +585,7 @@ protected:
|
||||||
IntrusivePtr<BroType> yield;
|
IntrusivePtr<BroType> yield;
|
||||||
};
|
};
|
||||||
|
|
||||||
class OpaqueType : public BroType {
|
class OpaqueType final : public BroType {
|
||||||
public:
|
public:
|
||||||
explicit OpaqueType(const std::string& name);
|
explicit OpaqueType(const std::string& name);
|
||||||
OpaqueType* ShallowClone() override { return new OpaqueType(name); }
|
OpaqueType* ShallowClone() override { return new OpaqueType(name); }
|
||||||
|
@ -602,7 +602,7 @@ protected:
|
||||||
std::string name;
|
std::string name;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EnumType : public BroType {
|
class EnumType final : public BroType {
|
||||||
public:
|
public:
|
||||||
typedef std::list<std::pair<std::string, bro_int_t> > enum_name_list;
|
typedef std::list<std::pair<std::string, bro_int_t> > enum_name_list;
|
||||||
|
|
||||||
|
@ -655,7 +655,7 @@ protected:
|
||||||
bro_int_t counter;
|
bro_int_t counter;
|
||||||
};
|
};
|
||||||
|
|
||||||
class VectorType : public BroType {
|
class VectorType final : public BroType {
|
||||||
public:
|
public:
|
||||||
explicit VectorType(IntrusivePtr<BroType> t);
|
explicit VectorType(IntrusivePtr<BroType> t);
|
||||||
VectorType* ShallowClone() override;
|
VectorType* ShallowClone() override;
|
||||||
|
|
22
src/Val.h
22
src/Val.h
|
@ -458,7 +458,7 @@ extern ValManager* val_mgr;
|
||||||
#define Hours (60*Minutes)
|
#define Hours (60*Minutes)
|
||||||
#define Days (24*Hours)
|
#define Days (24*Hours)
|
||||||
|
|
||||||
class IntervalVal : public Val {
|
class IntervalVal final : public Val {
|
||||||
public:
|
public:
|
||||||
IntervalVal(double quantity, double units);
|
IntervalVal(double quantity, double units);
|
||||||
|
|
||||||
|
@ -469,7 +469,7 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class PortVal : public Val {
|
class PortVal final : public Val {
|
||||||
public:
|
public:
|
||||||
IntrusivePtr<Val> SizeVal() const override;
|
IntrusivePtr<Val> SizeVal() const override;
|
||||||
|
|
||||||
|
@ -505,7 +505,7 @@ protected:
|
||||||
IntrusivePtr<Val> DoClone(CloneState* state) override;
|
IntrusivePtr<Val> DoClone(CloneState* state) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AddrVal : public Val {
|
class AddrVal final : public Val {
|
||||||
public:
|
public:
|
||||||
explicit AddrVal(const char* text);
|
explicit AddrVal(const char* text);
|
||||||
explicit AddrVal(const std::string& text);
|
explicit AddrVal(const std::string& text);
|
||||||
|
@ -524,7 +524,7 @@ protected:
|
||||||
IntrusivePtr<Val> DoClone(CloneState* state) override;
|
IntrusivePtr<Val> DoClone(CloneState* state) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SubNetVal : public Val {
|
class SubNetVal final : public Val {
|
||||||
public:
|
public:
|
||||||
explicit SubNetVal(const char* text);
|
explicit SubNetVal(const char* text);
|
||||||
SubNetVal(const char* text, int width);
|
SubNetVal(const char* text, int width);
|
||||||
|
@ -549,7 +549,7 @@ protected:
|
||||||
IntrusivePtr<Val> DoClone(CloneState* state) override;
|
IntrusivePtr<Val> DoClone(CloneState* state) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class StringVal : public Val {
|
class StringVal final : public Val {
|
||||||
public:
|
public:
|
||||||
explicit StringVal(BroString* s);
|
explicit StringVal(BroString* s);
|
||||||
explicit StringVal(const char* s);
|
explicit StringVal(const char* s);
|
||||||
|
@ -579,7 +579,7 @@ protected:
|
||||||
IntrusivePtr<Val> DoClone(CloneState* state) override;
|
IntrusivePtr<Val> DoClone(CloneState* state) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PatternVal : public Val {
|
class PatternVal final : public Val {
|
||||||
public:
|
public:
|
||||||
explicit PatternVal(RE_Matcher* re);
|
explicit PatternVal(RE_Matcher* re);
|
||||||
~PatternVal() override;
|
~PatternVal() override;
|
||||||
|
@ -597,7 +597,7 @@ protected:
|
||||||
|
|
||||||
// ListVals are mainly used to index tables that have more than one
|
// ListVals are mainly used to index tables that have more than one
|
||||||
// element in their index.
|
// element in their index.
|
||||||
class ListVal : public Val {
|
class ListVal final : public Val {
|
||||||
public:
|
public:
|
||||||
explicit ListVal(TypeTag t);
|
explicit ListVal(TypeTag t);
|
||||||
~ListVal() override;
|
~ListVal() override;
|
||||||
|
@ -691,7 +691,7 @@ class CompositeHash;
|
||||||
class HashKey;
|
class HashKey;
|
||||||
class Frame;
|
class Frame;
|
||||||
|
|
||||||
class TableVal : public Val, public notifier::Modifiable {
|
class TableVal final : public Val, public notifier::Modifiable {
|
||||||
public:
|
public:
|
||||||
explicit TableVal(IntrusivePtr<TableType> t, IntrusivePtr<Attributes> attrs = nullptr);
|
explicit TableVal(IntrusivePtr<TableType> t, IntrusivePtr<Attributes> attrs = nullptr);
|
||||||
~TableVal() override;
|
~TableVal() override;
|
||||||
|
@ -878,7 +878,7 @@ protected:
|
||||||
static ParseTimeTableStates parse_time_table_states;
|
static ParseTimeTableStates parse_time_table_states;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RecordVal : public Val, public notifier::Modifiable {
|
class RecordVal final : public Val, public notifier::Modifiable {
|
||||||
public:
|
public:
|
||||||
explicit RecordVal(RecordType* t, bool init_fields = true);
|
explicit RecordVal(RecordType* t, bool init_fields = true);
|
||||||
~RecordVal() override;
|
~RecordVal() override;
|
||||||
|
@ -947,7 +947,7 @@ protected:
|
||||||
static RecordTypeValMap parse_time_records;
|
static RecordTypeValMap parse_time_records;
|
||||||
};
|
};
|
||||||
|
|
||||||
class EnumVal : public Val {
|
class EnumVal final : public Val {
|
||||||
public:
|
public:
|
||||||
IntrusivePtr<Val> SizeVal() const override;
|
IntrusivePtr<Val> SizeVal() const override;
|
||||||
|
|
||||||
|
@ -964,7 +964,7 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class VectorVal : public Val, public notifier::Modifiable {
|
class VectorVal final : public Val, public notifier::Modifiable {
|
||||||
public:
|
public:
|
||||||
explicit VectorVal(VectorType* t);
|
explicit VectorVal(VectorType* t);
|
||||||
~VectorVal() override;
|
~VectorVal() override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue