internal void AppendStackTraceForHandle(JniHandleInfo handle, string append) { if (!Handles.Contains(handle)) { Handles.Add(handle); } StringBuilder stack; if (!stacks.TryGetValue(handle, out stack)) { stacks.Add(handle, new StringBuilder(append)); return; } if (stack.Length > 0) { stack.Append("\n"); } stack.Append(append); if (append.Contains(".get_class_ref()")) { SetTypesFromStackTraceEntry(append, append.LastIndexOf(".get_class_ref()", StringComparison.Ordinal)); } else if (append.EndsWith("..cctor()", StringComparison.Ordinal)) { SetTypesFromStackTraceEntry(append, append.LastIndexOf("..cctor()", StringComparison.Ordinal)); } else if (append.Contains("..ctor(")) { SetTypesFromStackTraceEntry(append, append.LastIndexOf("..ctor(", StringComparison.Ordinal)); } }
internal void UnbindHandle(LocalizationUnitHandle handle) { if (Handles.Contains(handle)) { Handles.Remove(handle); } RefreshUnitReference(); }