@@ -351,6 +351,8 @@ public static final class JsonKeys {
351351 public static final String RAW_FUNCTION = "raw_function" ;
352352 public static final String SYMBOL = "symbol" ;
353353 public static final String LOCK = "lock" ;
354+ public static final String PRE_CONTEXT = "pre_context" ;
355+ public static final String POST_CONTEXT = "post_context" ;
354356 }
355357
356358 @ Override
@@ -411,6 +413,12 @@ public void serialize(final @NotNull ObjectWriter writer, final @NotNull ILogger
411413 if (lock != null ) {
412414 writer .name (JsonKeys .LOCK ).value (logger , lock );
413415 }
416+ if (preContext != null && !preContext .isEmpty ()) {
417+ writer .name (JsonKeys .PRE_CONTEXT ).value (logger , preContext );
418+ }
419+ if (postContext != null && !postContext .isEmpty ()) {
420+ writer .name (JsonKeys .POST_CONTEXT ).value (logger , postContext );
421+ }
414422 if (unknown != null ) {
415423 for (String key : unknown .keySet ()) {
416424 Object value = unknown .get (key );
@@ -421,6 +429,7 @@ public void serialize(final @NotNull ObjectWriter writer, final @NotNull ILogger
421429 writer .endObject ();
422430 }
423431
432+ @ SuppressWarnings ("unchecked" )
424433 public static final class Deserializer implements JsonDeserializer <SentryStackFrame > {
425434 @ Override
426435 public @ NotNull SentryStackFrame deserialize (
@@ -485,6 +494,12 @@ public static final class Deserializer implements JsonDeserializer<SentryStackFr
485494 case JsonKeys .LOCK :
486495 sentryStackFrame .lock = reader .nextOrNull (logger , new SentryLockReason .Deserializer ());
487496 break ;
497+ case JsonKeys .PRE_CONTEXT :
498+ sentryStackFrame .preContext = (List <String >) reader .nextObjectOrNull ();
499+ break ;
500+ case JsonKeys .POST_CONTEXT :
501+ sentryStackFrame .postContext = (List <String >) reader .nextObjectOrNull ();
502+ break ;
488503 default :
489504 if (unknown == null ) {
490505 unknown = new ConcurrentHashMap <>();
0 commit comments