GH-1062: fix integer conversion errors related to Tag subtypes

This commit is contained in:
Jon Siwek 2020-07-14 15:55:28 -07:00
parent da105b3bf9
commit 7f2aae1721
3 changed files with 3 additions and 4 deletions

View file

@ -1254,7 +1254,7 @@ protected:
template<class T, class... Ts>
friend zeek::IntrusivePtr<T> zeek::make_intrusive(Ts&&... args);
EnumVal(zeek::EnumTypePtr t, int i) : Val(bro_int_t(i), std::move(t))
EnumVal(zeek::EnumTypePtr t, bro_int_t i) : Val(i, std::move(t))
{}
void ValDescribe(ODesc* d) const override;

View file

@ -692,8 +692,7 @@ expr:
else if ( id->IsEnumConst() )
{
zeek::EnumType* t = id->GetType()->AsEnumType();
int intval = t->Lookup(id->ModuleName(),
id->Name());
auto intval = t->Lookup(id->ModuleName(), id->Name());
if ( intval < 0 )
reporter->InternalError("enum value not found for %s", id->Name());
$$ = new zeek::detail::ConstExpr(t->GetVal(intval));

View file

@ -10,7 +10,7 @@ using namespace plugin::Demo_Foo;
plugin::Configuration Plugin::Configure()
{
AddComponent(new ::analyzer::Component("Foo", plugin::Demo_Foo::Foo::Instantiate));
AddComponent(new ::analyzer::Component("Foo", plugin::Demo_Foo::Foo::Instantiate, 1));
plugin::Configuration config;
config.name = "Demo::Foo";