Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit a47e7bd

Browse files
committed
Move Environment.StackTrace to PclExport compat layer
1 parent 31ff1b2 commit a47e7bd

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

src/ServiceStack.Text/PclExport.Net40.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,6 +522,11 @@ public override void Config(HttpWebRequest req,
522522
if (preAuthenticate.HasValue) req.PreAuthenticate = preAuthenticate.Value;
523523
}
524524

525+
public override string GetStackTrace()
526+
{
527+
return Environment.StackTrace;
528+
}
529+
525530
#if !__IOS__
526531
public override SetPropertyDelegate GetSetPropertyMethod(PropertyInfo propertyInfo)
527532
{

src/ServiceStack.Text/PclExport.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,11 @@ public virtual DataMemberAttribute GetWeakDataMember(FieldInfo pi)
451451
public virtual void RegisterForAot()
452452
{
453453
}
454+
455+
public virtual string GetStackTrace()
456+
{
457+
return null;
458+
}
454459
}
455460

456461
}

src/ServiceStack.Text/RecyclableMemoryStream.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ internal byte[] GetLargeBuffer(int requiredSize, string tag)
373373
if (this.GenerateCallStacks)
374374
{
375375
// Grab the stack -- we want to know who requires such large buffers
376-
callStack = Environment.StackTrace;
376+
callStack = PclExport.Instance.GetStackTrace();
377377
}
378378
Events.Write.MemoryStreamNonPooledLargeBufferCreated(requiredSize, tag, callStack);
379379

@@ -848,7 +848,7 @@ internal RecyclableMemoryStream(RecyclableMemoryStreamManager memoryManager, str
848848

849849
if (this.memoryManager.GenerateCallStacks)
850850
{
851-
this.allocationStack = Environment.StackTrace;
851+
this.allocationStack = PclExport.Instance.GetStackTrace();
852852
}
853853

854854
Events.Write.MemoryStreamCreated(this.id, this.tag, requestedSize);
@@ -876,7 +876,7 @@ protected override void Dispose(bool disposing)
876876
string doubleDisposeStack = null;
877877
if (this.memoryManager.GenerateCallStacks)
878878
{
879-
doubleDisposeStack = Environment.StackTrace;
879+
doubleDisposeStack = PclExport.Instance.GetStackTrace();
880880
}
881881

882882
Events.Write.MemoryStreamDoubleDispose(this.id, this.tag, this.allocationStack, this.disposeStack, doubleDisposeStack);
@@ -887,7 +887,7 @@ protected override void Dispose(bool disposing)
887887

888888
if (this.memoryManager.GenerateCallStacks)
889889
{
890-
this.disposeStack = Environment.StackTrace;
890+
this.disposeStack = PclExport.Instance.GetStackTrace();
891891
}
892892

893893
if (disposing)
@@ -1115,7 +1115,7 @@ public override byte[] ToArray()
11151115
var newBuffer = new byte[this.Length];
11161116

11171117
this.InternalRead(newBuffer, 0, this.length, 0);
1118-
string stack = this.memoryManager.GenerateCallStacks ? Environment.StackTrace : null;
1118+
string stack = this.memoryManager.GenerateCallStacks ? PclExport.Instance.GetStackTrace() : null;
11191119
Events.Write.MemoryStreamToArray(this.id, this.tag, stack, 0);
11201120
this.memoryManager.ReportStreamToArray();
11211121

0 commit comments

Comments
 (0)