in Extractors/Python/extractor/xmlnodegenerator.py [0:0]
def visitExpression(self, expression):
''' Visits any expression '''
if isinstance(expression, ast.Num):
result = self.visitNumberLiteral(expression)
elif isinstance(expression, ast.Str):
result = self.visitStringLiteral(expression)
elif isinstance(expression, ast.Bytes):
result = self.visitBytesLiteral(expression)
elif isinstance(expression, ast.BinOp):
result = self.visitBinOpExpression(expression)
elif isinstance(expression, ast.BoolOp):
result = self.visitBoolOpExpression(expression)
elif isinstance(expression, ast.UnaryOp):
result = self.visitUnaryOpExpression(expression)
elif isinstance(expression, ast.Compare):
result = self.visitCompareExpression(expression)
elif isinstance(expression, ast.IfExp):
result = self.visitTernaryIfExpression(expression)
elif isinstance(expression, ast.Name):
result = self.visitName(expression)
elif isinstance(expression, ast.NameConstant):
result = self.visitNameConstant(expression)
elif isinstance(expression, ast.List):
result = self.visitList(expression)
elif isinstance(expression, ast.Set):
result = self.visitSet(expression)
elif isinstance(expression, ast.Dict):
result = self.visitDict(expression)
elif isinstance(expression, ast.Tuple):
result = self.visitTuple(expression)
elif isinstance(expression, ast.ListComp):
result = self.visitListComprehension(expression)
elif isinstance(expression, ast.SetComp):
result = self.visitSetComprehension(expression)
elif isinstance(expression, ast.DictComp):
result = self.visitDictComprehension(expression)
elif isinstance(expression, ast.Call):
result = self.visitCall(expression)
elif isinstance(expression, ast.Subscript):
result = self.visitSubscript(expression)
elif isinstance(expression, ast.Slice):
result = self.visitSlice(expression)
elif isinstance(expression, ast.Ellipsis):
result = self.visitEllipsis(expression)
elif isinstance(expression, ast.Attribute):
result = self.visitAttribute(expression)
elif isinstance(expression, ast.Starred):
result = self.visitStarred(expression)
elif isinstance(expression, ast.GeneratorExp):
result = self.visitGenerator(expression)
elif isinstance(expression, ast.Lambda):
result = self.visitLambda(expression)
elif isinstance(expression, ast.Yield):
result = self.visitYield(expression)
elif isinstance(expression, ast.YieldFrom):
result = self.visitYieldFrom(expression)
elif isinstance(expression, ast.Await):
result = self.visitAwait(expression)
elif isinstance(expression, ast.JoinedStr):
result = self.visitJoinedStr(expression)
elif isinstance(expression, ast.FormattedValue):
result = self.visitFormattedValue(expression)
else:
raise NotImplementedError("This expression type is not implemented: " + str(type(expression)))
result.attrib["StartLine"] = str(expression.lineno)
result.attrib["StartCol"] = str(expression.col_offset+1)
# result.attrib["EndLine"] = str(statementNode.end_lineno)
# result.attrib["EndCol"] = str(statementNode.end_col_offset)
return result