From 1b4e5258f813c04cc224d7015ddf96e727c8055c Mon Sep 17 00:00:00 2001 From: Willi Ballenthin Date: Wed, 14 Feb 2024 14:12:06 +0000 Subject: [PATCH] elf: don't require vivisect just for type annotations --- capa/features/extractors/elf.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/capa/features/extractors/elf.py b/capa/features/extractors/elf.py index b969463d..1e50ca2f 100644 --- a/capa/features/extractors/elf.py +++ b/capa/features/extractors/elf.py @@ -10,10 +10,11 @@ import logging import itertools import collections from enum import Enum -from typing import Set, Dict, List, Tuple, BinaryIO, Iterator, Optional +from typing import TYPE_CHECKING, Set, Dict, List, Tuple, BinaryIO, Iterator, Optional from dataclasses import dataclass -import Elf # from vivisect +if TYPE_CHECKING: + import Elf # from vivisect logger = logging.getLogger(__name__) @@ -724,7 +725,7 @@ class SymTab: yield from self.symbols @classmethod - def from_viv(cls, elf: Elf.Elf) -> Optional["SymTab"]: + def from_viv(cls, elf: "Elf.Elf") -> Optional["SymTab"]: endian = "<" if elf.getEndian() == 0 else ">" bitness = elf.bits