@for (value of rawStacktraceValues(); track value) {

@if (eventPlatform() === "java") { @if (value.module) { {{ value.module }}.{{ value.type }}: {{ value.value }} } } @else { {{ value.type }}:{{ value.value }} }

@if (checkStacktraceInterface(value.stacktrace)) { @for (frame of value.stacktrace.frames; track frame; let i = $index) {
@switch (frame.platform || eventPlatform()) { @case ("javascript") { @if (frame.function) {  at {{ frame.function }} ( } @else {  at ? ( } @if (frame.filename) { {{ frame.filename }} } @if (!frame.filename && frame.module) { {{ frame.module }} } @if (frame.lineNo && frame.lineNo > 0) { :{{ frame.lineNo }} } @if (frame.colNo && frame.colNo > 0) { :{{ frame.colNo }} } ) } @case ("ruby") {  from @if (frame.filename) { {{ frame.filename }} } @else { @if (frame.module) { ({{ frame.module }}) } @else { ? } } @if (frame.lineNo && frame.lineNo > 0) { :{{ frame.lineNo }} } @if (frame.colNo && frame.colNo > 0) { :{{ frame.colNo }} } @if (frame.function) { :in `{{ frame.function }}' } } @case ("php") { `{{ i }} {{ frame.filename || frame.module }}({{ frame.lineNo }}): {{ frame.function ? frame.function : "{main}" }} } @case ("java") {     at @if (frame.module) { {{ frame.module }}. } @if (frame.function) { {{ frame.function }} } @if (frame.filename) { ({{ frame.filename }} @if (frame.lineNo && frame.lineNo > 0) { :{{ frame.lineNo }} } ) } } @case ("objc") { } @case ("cocoa") { } @case ("native") {   @if (frame.package) { {{ frame.package }} } @if (frame.instructionAddr) { {{ frame.instructionAddr }} } {{ frame.function || frame.symbolAddr }} @if (frame.filename) { ({{ frame.filename }} @if (frame.lineNo && frame.lineNo > 0) { :{{ frame.lineNo }} } ) } } @default { @if (frame.filename) { File "{{ frame.filename }}" } @else { @if (frame.module) { Module "{{ frame.module }}" } @else { ? } } @if (frame.lineNo && frame.lineNo > 0) { , line {{ frame.lineNo }} } @if (frame.colNo && frame.colNo > 0) { , col {{ frame.colNo }} } @if (frame.function) { , in {{ frame.function }} } @if (frame.context) { @for (context of frame.context; track context) { @if (context[0] === frame.lineNo) { @if (context[1]) {
    {{ context[1] }}
} } } } } }
} }
}