U 췀g@s,ddlZddlZddlmZddlmZmZddlmZddlm Z m Z ddl m Z e rddl m Z mZmZmZmZddlmZdd lmZmZz ddlZWnek red YnXz ddlZWnek red YnXz ddlZWnek red YnXGd ddeZddZdS)N) serializer) Integration DidNotEnableadd_global_event_processor)walk_exception_chain iter_stacks) TYPE_CHECKING)OptionalDictAnyTupleList) FrameType)EventHintzexecuting is not installedzpure_eval is not installedzasttokens is not installedc@seZdZdZeddZdS)PureEvalIntegration pure_evalcCstdd}dS)Nc Ssttdkr|S|dkr"|S|dd}|dkr:|S|dd}|dkrR|S|dd}|dkrj|Stt|t|D]t\}\}}}dd|didgD}tt |} t |t | krq|t|| D]\} } t | j p| d| d<qq||S) Nexc_info exceptionvaluescSsg|]}|dr|qS)function)get).0framerO/opt/hc_python/lib/python3.8/site-packages/sentry_sdk/integrations/pure_eval.py Ds zNPureEvalIntegration.setup_once..add_executing_info..Z stacktraceframesvars) sentry_sdkZ get_clientZget_integrationrrzipreversedrlistrlenpure_eval_frametb_frame) eventhintrrrZ _exc_typeZ _exc_valueexc_tbZ sentry_framesZtbsZ sentry_frametbrrradd_executing_info)s6     z:PureEvalIntegration.setup_once..add_executing_infor)r+rrr setup_once%szPureEvalIntegration.setup_onceN)__name__ __module__ __qualname__ identifier staticmethodr,rrrrr"srcstj|}|jsiS||j}|s*iSt|d}|j}t|t j t j t j fr:qZq:t j|}||}fdd}||j|ddfdd|dtjD}tj|ddS) Nrcsh|\}}ddfdd|D}|r>tfdd|DStfdd|D\}}| | fSdS)NcSs |j|jfSN)lineno col_offset)nrrrstartrsz1pure_eval_frame..closeness..startcs g|]}|jjkr|qSr)Z last_tokenendrnode)r6stmtrrrvsz6pure_eval_frame..closeness..c3s|]}|VqdSr2rr8r6rr {sz5pure_eval_frame..closeness..c3s|]}|VqdSr2rr8r;rrr<s)maxmin) expressionnodes_valueZnodes_before_stmtr3r4)r:r;r closenessjs z"pure_eval_frame..closenessT)keyreversecs i|]\}}|d|qS)r)Zget_text)rr@value)atokrr s z#pure_eval_frame..)Zis_vars) executingZSourceZ for_frametreeZstatements_at_linef_linenor#parent isinstanceast FunctionDefClassDefModulerZ EvaluatorZ from_frameZinteresting_expressions_grouped asttokenssortrZMAX_DATABAG_BREADTH serialize)rsourceZ statementsscopeZ evaluatorZ expressionsrBrr)rFr:rr%Ts&       r%)rMr rZsentry_sdk.integrationsrrZsentry_sdk.scoperZsentry_sdk.utilsrrtypingr r r r r rtypesrZsentry_sdk._typesrrrH ImportErrorrrQrr%rrrrs0       2