Commit baa6d4e1 by Johannes Stelzer

normalize eol via .gitattributes

closes #49
parent 62b5eeaa
# All text files should have the "lf" (Unix) line endings
* text eol=lf
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.java text
*.js text
*.css text
*.html text
*.properties text
*.xml text
*.yml text
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.jar binary
<div class="alert alert-error" ng-if="error"> <div class="alert alert-error" ng-if="error">
<b>Error:</b> {{ error }} <b>Error:</b> {{ error }}
</div> </div>
<div class="container"> <div class="container">
<accordion close-others="true"> <accordion close-others="true">
<accordion-group ng-repeat="domain in domains track by domain.name"> <accordion-group ng-repeat="domain in domains track by domain.name">
<accordion-heading> <accordion-heading>
<small class="muted">Domain</small> {{domain.name}} <small class="muted">Domain</small> {{domain.name}}
</accordion-heading> </accordion-heading>
<tabset class="tabs-left" ng-init="visible = []"> <tabset class="tabs-left" ng-init="visible = []">
<tab ng-repeat="bean in domain.beans track by bean.id" select="visible[bean.id] = true" deselect="visible[bean.id] = false"> <tab ng-repeat="bean in domain.beans track by bean.id" select="visible[bean.id] = true" deselect="visible[bean.id] = false">
<tab-heading> <tab-heading>
<small class="muted">MBean</small> {{bean.name }} <small class="muted">MBean</small> {{bean.name }}
</tab-heading> </tab-heading>
<div ng-if="visible[bean.id]"> <div ng-if="visible[bean.id]">
<h2> <h2>
{{bean.name}}<br/><small>{{bean.description}}</small> {{bean.name}}<br/><small>{{bean.description}}</small>
</h2> </h2>
<dl> <dl>
<dt>Id</dt> <dt>Id</dt>
<dd style="word-break: break-all;">{{ bean.id }}</dd> <dd style="word-break: break-all;">{{ bean.id }}</dd>
<dt ng-repeat-start="(name, value) in bean.nameProps">{{ name }}</dt> <dt ng-repeat-start="(name, value) in bean.nameProps">{{ name }}</dt>
<dd ng-repeat-end>{{ value }}</dd> <dd ng-repeat-end>{{ value }}</dd>
</dl> </dl>
<form class="form-horizontal" ng-if="bean.attributes !== undefinded"> <form class="form-horizontal" ng-if="bean.attributes !== undefinded">
<legend> <legend>
Attributes Attributes
<button class="btn" type="button" ng-click="readAllAttr(bean)">read</button> <button class="btn" type="button" ng-click="readAllAttr(bean)">read</button>
</legend> </legend>
<div ng-show="bean.error" class="alert alert-error"> <div ng-show="bean.error" class="alert alert-error">
<b>Error:</b> {{ bean.error }} <b>Error:</b> {{ bean.error }}
</div> </div>
<div class="control-group" ng-repeat="(name, attr) in bean.attributes track by name" ng-class="{error: attr.error}"> <div class="control-group" ng-repeat="(name, attr) in bean.attributes track by name" ng-class="{error: attr.error}">
<label class="control-label" for="{{name}}" style="word-break: break-all;"> <label class="control-label" for="{{name}}" style="word-break: break-all;">
{{name}}<br/> {{name}}<br/>
<small class="muted">{{attr.type}}</small> <small class="muted">{{attr.type}}</small>
</label> </label>
<div class="controls"> <div class="controls">
<div class="input-prepend" ng-switch="attr.type.toLowerCase()"> <div class="input-prepend" ng-switch="attr.type.toLowerCase()">
<button class="btn" type="button" ng-click="writeAttr(bean, name, attr)" ng-disabled="!attr.rw">write</button> <button class="btn" type="button" ng-click="writeAttr(bean, name, attr)" ng-disabled="!attr.rw">write</button>
<input ng-switch-when="java.lang.string" class="span5" type="text" ng-model="attr.value" ng-disabled="!attr.rw" /> <input ng-switch-when="java.lang.string" class="span5" type="text" ng-model="attr.value" ng-disabled="!attr.rw" />
<input ng-switch-when="long" class="span5" type="number" ng-model="attr.value" ng-disabled="!attr.rw" /> <input ng-switch-when="long" class="span5" type="number" ng-model="attr.value" ng-disabled="!attr.rw" />
<input ng-switch-when="int" class="span5" type="number" ng-model="attr.value" ng-disabled="!attr.rw" /> <input ng-switch-when="int" class="span5" type="number" ng-model="attr.value" ng-disabled="!attr.rw" />
<input ng-switch-when="double" class="span5" type="number" ng-model="attr.value" ng-disabled="!attr.rw" /> <input ng-switch-when="double" class="span5" type="number" ng-model="attr.value" ng-disabled="!attr.rw" />
<select ng-switch-when="boolean" class="span5" ng-model="attr.value" ng-disabled="!attr.rw" ng-options="val for val in [true, false]" /> <select ng-switch-when="boolean" class="span5" ng-model="attr.value" ng-disabled="!attr.rw" ng-options="val for val in [true, false]" />
<textarea ng-switch-default style="word-break: break-all;" class="span5" ng-model="attr.jsonValue" ng-disabled="!attr.rw" /> <textarea ng-switch-default style="word-break: break-all;" class="span5" ng-model="attr.jsonValue" ng-disabled="!attr.rw" />
</div> </div>
<span class="help-block">{{attr.desc}}</span> <span class="help-block">{{attr.desc}}</span>
<span class="help-inline">{{attr.error}}</span> <span class="help-inline">{{attr.error}}</span>
</div> </div>
</div> </div>
</form> </form>
<form class="form" ng-if="bean.operations !== undefinded"> <form class="form" ng-if="bean.operations !== undefinded">
<legend>Operations</legend> <legend>Operations</legend>
<div class="control-group" ng-repeat="(name, op) in bean.operations track by name"> <div class="control-group" ng-repeat="(name, op) in bean.operations track by name">
<button class="btn span6" style="text-align: left; padding-left: 5px;" ng-click="prepareInvoke(bean, name, op)"> <button class="btn span6" style="text-align: left; padding-left: 5px;" ng-click="prepareInvoke(bean, name, op)">
{{name}}<br/> {{name}}<br/>
<small class="muted" style="word-break: break-all;">{{op.ret}}</small> <small class="muted" style="word-break: break-all;">{{op.ret}}</small>
<span class="help-block">{{op.desc}}</span> <span class="help-block">{{op.desc}}</span>
</button> </button>
</div> </div>
</form> </form>
</div> </div>
</tab> </tab>
</tabset> </tabset>
</accordion-group> </accordion-group>
</accordion> </accordion>
</div> </div>
<script type="text/ng-template" id="invocationPrepareDialog.html"> <script type="text/ng-template" id="invocationPrepareDialog.html">
<div class="modal-header"> <div class="modal-header">
<h3>Arguments for {{ invocation.opname }}</h3> <h3>Arguments for {{ invocation.opname }}</h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>Please input the arguments</p> <p>Please input the arguments</p>
<form class="form"> <form class="form">
<div class="control-group" ng-repeat="arg in invocation.opdesc.args"> <div class="control-group" ng-repeat="arg in invocation.opdesc.args">
<label class="control-label" for="{{arg.name}}" style="word-break: break-all;"> <label class="control-label" for="{{arg.name}}" style="word-break: break-all;">
{{arg.name}} <small class="muted" style="word-break: break-all;">{{arg.type}}</small> {{arg.name}} <small class="muted" style="word-break: break-all;">{{arg.type}}</small>
</label> </label>
<div class="controls" ng-switch="arg.type.toLowerCase()" > <div class="controls" ng-switch="arg.type.toLowerCase()" >
<input ng-switch-when="java.lang.string" class="span6" type="text" ng-model="invocation.args[$index]"/> <input ng-switch-when="java.lang.string" class="span6" type="text" ng-model="invocation.args[$index]"/>
<input ng-switch-when="long" class="span6" type="number" ng-model="invocation.args[$index]" /> <input ng-switch-when="long" class="span6" type="number" ng-model="invocation.args[$index]" />
<input ng-switch-when="int" class="span6" type="number" ng-model="invocation.args[$index]" /> <input ng-switch-when="int" class="span6" type="number" ng-model="invocation.args[$index]" />
<input ng-switch-when="double" class="span6" type="number" ng-model="invocation.args[$index]" /> <input ng-switch-when="double" class="span6" type="number" ng-model="invocation.args[$index]" />
<select ng-switch-when="boolean" class="span6" ng-model="invocation.args[$index]" ng-options="val for val in [true, false]" /> <select ng-switch-when="boolean" class="span6" ng-model="invocation.args[$index]" ng-options="val for val in [true, false]" />
<textarea ng-switch-default style="word-break: break-all;" class="span6" ng-model="invocation.args[$index]" /> <textarea ng-switch-default style="word-break: break-all;" class="span6" ng-model="invocation.args[$index]" />
<span class="help-block">{{arg.desc}}</span> <span class="help-block">{{arg.desc}}</span>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn" ng-click="$dismiss()" >Abort</button> <button class="btn" ng-click="$dismiss()" >Abort</button>
<button class="btn btn-inverse" ng-click="$close()">Execute</button> <button class="btn btn-inverse" ng-click="$close()">Execute</button>
</div> </div>
</script> </script>
<script type="text/ng-template" id="invocationVariantDialog.html"> <script type="text/ng-template" id="invocationVariantDialog.html">
<div class="modal-header"> <div class="modal-header">
<h3>Variant for {{ invocation.opname }}</h3> <h3>Variant for {{ invocation.opname }}</h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>The method is overloaded. Please choose a variant.</p> <p>The method is overloaded. Please choose a variant.</p>
<form> <form>
<div class="control-group" > <div class="control-group" >
<button class="btn btn-block" style="text-align: left; padding-left: 5px;" ng-repeat="op in invocation.opdesc" ng-click="$close(op)"> <button class="btn btn-block" style="text-align: left; padding-left: 5px;" ng-repeat="op in invocation.opdesc" ng-click="$close(op)">
<b>{{invocation.opname}}</b> ( <b>{{invocation.opname}}</b> (
<span ng-repeat-start="arg in op.args" data-toggle="tooltip" title="{{arg.desc}}">{{arg.type}} {{arg.name}}</span> <span ng-repeat-start="arg in op.args" data-toggle="tooltip" title="{{arg.desc}}">{{arg.type}} {{arg.name}}</span>
<span ng-repeat-end ng-if="!$last">, </span> <span ng-repeat-end ng-if="!$last">, </span>
)<br/><small class="muted">{{op.ret}}</small> )<br/><small class="muted">{{op.ret}}</small>
<span class="help-block">{{op.desc}}</span> <span class="help-block">{{op.desc}}</span>
</button> </button>
</div> </div>
</form> </form>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn" ng-click="$dismiss()">Abort</button> <button class="btn" ng-click="$dismiss()">Abort</button>
</div> </div>
</script> </script>
<script type="text/ng-template" id="invocationResultDialog.html"> <script type="text/ng-template" id="invocationResultDialog.html">
<div class="modal-header"> <div class="modal-header">
<h3>Executing {{ invocation.opname }}</h3> <h3>Executing {{ invocation.opname }}</h3>
</div> </div>
<div class="modal-body" ng-switch="invocation.state"> <div class="modal-body" ng-switch="invocation.state">
<div ng-switch-when="executing" class="progress progress-striped active"> <div ng-switch-when="executing" class="progress progress-striped active">
<div class="bar">executing ... </div> <div class="bar">executing ... </div>
</div> </div>
<div ng-switch-when="success" > <div ng-switch-when="success" >
<div class="alert alert-success"> <div class="alert alert-success">
<b>Success</b> <b>Success</b>
</div> </div>
<h4>Result <small class="muted"> {{invocation.opdesc.ret}}</small></h4> <h4>Result <small class="muted"> {{invocation.opdesc.ret}}</small></h4>
<pre>{{ invocation.result | json }}</pre> <pre>{{ invocation.result | json }}</pre>
</div> </div>
<div ng-switch-when="error"> <div ng-switch-when="error">
<div class="alert alert-error"> <div class="alert alert-error">
<b>Error:</b> {{ invocation.error }} <b>Error:</b> {{ invocation.error }}
</div> </div>
<h4>Stacktrace:</h4> <h4>Stacktrace:</h4>
<pre>{{ invocation.stacktrace }}</pre> <pre>{{ invocation.stacktrace }}</pre>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn" ng-click="$close()">Close</button> <button class="btn" ng-click="$close()">Close</button>
</div> </div>
</script> </script>
<div class="container"> <div class="container">
<form ng-init="showPackageLoggers = false"> <form ng-init="showPackageLoggers = false">
<div class="input-prepend input-append"> <div class="input-prepend input-append">
<button class="btn" title="Show package-level loggers" ng-class="{'btn-inverse': showPackageLoggers}" ng-model="showPackageLoggers" btn-checkbox ><i class="icon-folder-open" ng-class="{'icon-white': showPackageLoggers}"></i></button> <button class="btn" title="Show package-level loggers" ng-class="{'btn-inverse': showPackageLoggers}" ng-model="showPackageLoggers" btn-checkbox ><i class="icon-folder-open" ng-class="{'icon-white': showPackageLoggers}"></i></button>
<input placeholder="Filter by name ..." class="span10" type="search" ng-model="filterLogger.name" /> <input placeholder="Filter by name ..." class="span10" type="search" ng-model="filterLogger.name" />
<button class="btn" title="reload list" ng-click="reload()"><i class="icon-refresh"></i></button> <button class="btn" title="reload list" ng-click="reload()"><i class="icon-refresh"></i></button>
<span title="filtered / total" class="add-on">{{ filteredLoggers.length }}/{{ loggers.length }}</span> <span title="filtered / total" class="add-on">{{ filteredLoggers.length }}/{{ loggers.length }}</span>
</div> </div>
</form> </form>
<table class="table"> <table class="table">
<tbody> <tbody>
<tr ng-repeat="logger in (filteredLoggers = (loggers | classNameLoggerOnly:!showPackageLoggers | filter:filterLogger) ) | limitTo: limit track by logger.name"> <tr ng-repeat="logger in (filteredLoggers = (loggers | classNameLoggerOnly:!showPackageLoggers | filter:filterLogger) ) | limitTo: limit track by logger.name">
<td> <td>
{{ logger.name }} {{ logger.name }}
<div class="btn-group pull-right"> <div class="btn-group pull-right">
<label class="btn btn-small" ng-class="{'active btn-danger': logger.level== 'TRACE'}" ng-click="setLogLevel(logger.name, 'TRACE')">TRACE</label> <label class="btn btn-small" ng-class="{'active btn-danger': logger.level== 'TRACE'}" ng-click="setLogLevel(logger.name, 'TRACE')">TRACE</label>
<label class="btn btn-small" ng-class="{'active btn-warning': logger.level=='DEBUG'}" ng-click="setLogLevel(logger.name, 'DEBUG')">DEBUG</label> <label class="btn btn-small" ng-class="{'active btn-warning': logger.level=='DEBUG'}" ng-click="setLogLevel(logger.name, 'DEBUG')">DEBUG</label>
<label class="btn btn-small" ng-class="{'active btn-info': logger.level=='INFO'}" ng-click="setLogLevel(logger.name, 'INFO')">INFO</label> <label class="btn btn-small" ng-class="{'active btn-info': logger.level=='INFO'}" ng-click="setLogLevel(logger.name, 'INFO')">INFO</label>
<label class="btn btn-small" ng-class="{'active btn-success': logger.level == 'WARN'}" ng-click="setLogLevel(logger.name, 'WARN')">WARN</label> <label class="btn btn-small" ng-class="{'active btn-success': logger.level == 'WARN'}" ng-click="setLogLevel(logger.name, 'WARN')">WARN</label>
<label class="btn btn-small" ng-class="{'active btn-primary': logger.level == 'ERROR'}" ng-click="setLogLevel(logger.name, 'ERROR')">ERROR</label> <label class="btn btn-small" ng-class="{'active btn-primary': logger.level == 'ERROR'}" ng-click="setLogLevel(logger.name, 'ERROR')">ERROR</label>
<label class="btn btn-small" ng-class="{'active btn-inverse': logger.level == 'OFF'}" ng-click="setLogLevel(logger.name, 'OFF')">OFF</label> <label class="btn btn-small" ng-class="{'active btn-inverse': logger.level == 'OFF'}" ng-click="setLogLevel(logger.name, 'OFF')">OFF</label>
</div> </div>
</td> </td>
</tr> </tr>
<tr ng-show="limit < loggers.length" > <tr ng-show="limit < loggers.length" >
<td> <td>
<button class="btn btn-link btn-block" ng-click="limit = limit + 10">show more</button> <button class="btn btn-link btn-block" ng-click="limit = limit + 10">show more</button>
</td> </td>
</tr> </tr>
<tr ng-show="limit < loggers.length" > <tr ng-show="limit < loggers.length" >
<td> <td>
<button class="btn btn-link btn-block" ng-click="limit = loggers.length">show all</button> <button class="btn btn-link btn-block" ng-click="limit = loggers.length">show all</button>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
\ No newline at end of file
<div class="alert alert-error" ng-if="error"> <div class="alert alert-error" ng-if="error">
<b>Error:</b> {{ error }} <b>Error:</b> {{ error }}
</div> </div>
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="span12 text-center" > <div class="span12 text-center" >
<form> <form>
<button class="btn" ng-click="dumpThreads()"><i class="icon-screenshot"></i> Dump all threads!</button> <button class="btn" ng-click="dumpThreads()"><i class="icon-screenshot"></i> Dump all threads!</button>
</form> </form>
</div> </div>
</div> </div>
<div class="row" ng-show="threadStats" > <div class="row" ng-show="threadStats" >
<div class="span12"> <div class="span12">
<div class="progress"> <div class="progress">
<div ng-if="threadStats.NEW &gt; 0" class="bar bar-info" style="width:{{ threadStats.NEW / threadStats.total * 100 | number:2 }}%;"> <div ng-if="threadStats.NEW &gt; 0" class="bar bar-info" style="width:{{ threadStats.NEW / threadStats.total * 100 | number:2 }}%;">
New {{ threadStats.NEW }} New {{ threadStats.NEW }}
</div> </div>
<div ng-if="threadStats.RUNNABLE &gt; 0" class="bar bar-success" style="width:{{ threadStats.RUNNABLE / threadStats.total * 100 | number:2 }}%;"> <div ng-if="threadStats.RUNNABLE &gt; 0" class="bar bar-success" style="width:{{ threadStats.RUNNABLE / threadStats.total * 100 | number:2 }}%;">
Runnable {{ threadStats.RUNNABLE }} Runnable {{ threadStats.RUNNABLE }}
</div> </div>
<div ng-if="threadStats.BLOCKED &gt; 0" class="bar bar-danger" style="width:{{ threadStats.BLOCKED / threadStats.total * 100 | number:2 }}%;"> <div ng-if="threadStats.BLOCKED &gt; 0" class="bar bar-danger" style="width:{{ threadStats.BLOCKED / threadStats.total * 100 | number:2 }}%;">
Blocked {{ threadStats.BLOCKED }} Blocked {{ threadStats.BLOCKED }}
</div> </div>
<div ng-if="threadStats.WAITING &gt; 0" class="bar bar-warning" style="width:{{ threadStats.WAITING / threadStats.total * 100 | number:2 }}%;"> <div ng-if="threadStats.WAITING &gt; 0" class="bar bar-warning" style="width:{{ threadStats.WAITING / threadStats.total * 100 | number:2 }}%;">
Waiting {{ threadStats.WAITING }} Waiting {{ threadStats.WAITING }}
</div> </div>
<div ng-if="threadStats.TIMED_WAITING &gt; 0" class="bar bar-warning bar-striped" style="width:{{ threadStats.TIMED_WAITING / threadStats.total * 100 | number:2 }}%;"> <div ng-if="threadStats.TIMED_WAITING &gt; 0" class="bar bar-warning bar-striped" style="width:{{ threadStats.TIMED_WAITING / threadStats.total * 100 | number:2 }}%;">
Timed waiting {{ threadStats.TIMED_WAITING }} Timed waiting {{ threadStats.TIMED_WAITING }}
</div> </div>
<div ng-if="threadStats.TERMINATED &gt; 0" class="bar bar-info" style="width:{{ threadStats.TERMINATED / threadStats.total * 100 | number:2 }}%;"> <div ng-if="threadStats.TERMINATED &gt; 0" class="bar bar-info" style="width:{{ threadStats.TERMINATED / threadStats.total * 100 | number:2 }}%;">
Terminated {{ threadStats.TERMINATED }} Terminated {{ threadStats.TERMINATED }}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="row" ng-show="dump"> <div class="row" ng-show="dump">
<div class="span12"> <div class="span12">
<accordion close-others="true"> <accordion close-others="true">
<accordion-group ng-repeat="thread in dump | orderBy:'threadName' track by thread.threadId"> <accordion-group ng-repeat="thread in dump | orderBy:'threadName' track by thread.threadId">
<accordion-heading> <accordion-heading>
<small class="muted">{{thread.threadId}}</small> <small class="muted">{{thread.threadId}}</small>
{{thread.threadName}} {{thread.threadName}}
<span class="pull-right label" ng-class="{ 'label-info': thread.threadState == 'NEW', 'label-success': thread.threadState == 'RUNNABLE', 'label-important': thread.threadState == 'BLOCKED', 'label-warning': thread.threadState == 'TIMED_WAITING' || thread.threadState == 'WAITING', 'label-info': thread.threadState == 'TERMINATED'}">{{thread.threadState}}</span> <span class="label label-warning" ng-if="thread.suspended">suspended</span> <span class="pull-right label" ng-class="{ 'label-info': thread.threadState == 'NEW', 'label-success': thread.threadState == 'RUNNABLE', 'label-important': thread.threadState == 'BLOCKED', 'label-warning': thread.threadState == 'TIMED_WAITING' || thread.threadState == 'WAITING', 'label-info': thread.threadState == 'TERMINATED'}">{{thread.threadState}}</span> <span class="label label-warning" ng-if="thread.suspended">suspended</span>
</accordion-heading> </accordion-heading>
<div class="container"> <div class="container">
<div class="row" > <div class="row" >
<table class="span6"> <table class="span6">
<colgroup> <colgroup>
<col style="min-width: 10em;"/> <col style="min-width: 10em;"/>
</colgroup> </colgroup>
<tr><td>Blocked count</td><td>{{thread.blockedCount}}</td></tr> <tr><td>Blocked count</td><td>{{thread.blockedCount}}</td></tr>
<tr><td>Blocked time</td><td>{{thread.blockedTime}}</td></tr> <tr><td>Blocked time</td><td>{{thread.blockedTime}}</td></tr>
<tr><td>Waited count</td><td>{{thread.waitedCount}}</td></tr> <tr><td>Waited count</td><td>{{thread.waitedCount}}</td></tr>
<tr><td>Waited time</td><td>{{thread.waitedTime}}</td></tr> <tr><td>Waited time</td><td>{{thread.waitedTime}}</td></tr>
</table> </table>
<table class="span6"> <table class="span6">
<colgroup> <colgroup>
<col style="min-width: 10em;"/> <col style="min-width: 10em;"/>
</colgroup> </colgroup>
<tr><td>Lock name</td><td style="word-break: break-word;">{{thread.lockName}}</td></tr> <tr><td>Lock name</td><td style="word-break: break-word;">{{thread.lockName}}</td></tr>
<tr><td>Lock owner id</td><td>{{thread.lockOwnerId}}</td></tr> <tr><td>Lock owner id</td><td>{{thread.lockOwnerId}}</td></tr>
<tr><td>Lock owner name</td><td style="word-break: break-word;">{{thread.lockOwnerName}}</td></tr> <tr><td>Lock owner name</td><td style="word-break: break-word;">{{thread.lockOwnerName}}</td></tr>
</table> </table>
</div> </div>
</div> </div>
<pre style="overflow: auto; max-height: 20em" ng-if="thread.stackTrace"><span ng-repeat="el in thread.stackTrace">{{el.className}}.{{el.methodName}}({{el.fileName}}:{{el.lineNumber}}) <span class="label" ng-if="el.nativeMethod">native</span> <pre style="overflow: auto; max-height: 20em" ng-if="thread.stackTrace"><span ng-repeat="el in thread.stackTrace">{{el.className}}.{{el.methodName}}({{el.fileName}}:{{el.lineNumber}}) <span class="label" ng-if="el.nativeMethod">native</span>
</span></pre> </span></pre>
</accordion-group> </accordion-group>
</accordion> </accordion>
</div> </div>
</div> </div>
</div> </div>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment