--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityContext.py Tue Jun 16 17:44:28 2020 +0200 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityContext.py Tue Jun 16 17:45:12 2020 +0200 @@ -19,6 +19,8 @@ import copy import sys +import AstUtilities + from . import SecurityUtils @@ -228,10 +230,10 @@ @return converted Python object @rtype Any """ - if isinstance(literal, ast.Num): + if AstUtilities.isNumber(literal): literalValue = literal.n - elif isinstance(literal, ast.Str): + elif AstUtilities.isString(literal): literalValue = literal.s elif isinstance(literal, ast.List): @@ -255,7 +257,10 @@ elif isinstance(literal, ast.Dict): literalValue = dict(zip(literal.keys, literal.values)) - elif isinstance(literal, ast.Ellipsis): + elif ( + sys.version_info <= (3, 8, 0) and + isinstance(literal, ast.Ellipsis) + ): # what do we want to do with this? literalValue = None @@ -267,14 +272,14 @@ # being re-assigned in Python 3. elif ( sys.version_info[0] >= 3 and - isinstance(literal, ast.NameConstant) + AstUtilities.isNameConstant(literal) ): literalValue = str(literal.value) # Bytes are only part of the AST in Python 3 elif ( sys.version_info[0] >= 3 and - isinstance(literal, ast.Bytes) + AstUtilities.isBytes(literal) ): literalValue = literal.s