Tim Blasi f11f4e0b45 style(dart): Format with dartfmt v0.2.0
Format all pure Dart code with package:dart_style v0.2.0

Command:
```
find -type f -name "*.dart" | xargs dartformat -w
```
2015-08-05 11:04:29 -07:00

97 lines
2.2 KiB
Dart

/**
* Tracing for Dart applications.
*
* The tracing API hooks up to either [WTF](http://google.github.io/tracing-framework/) or
* [Dart Observatory](https://www.dartlang.org/tools/observatory/).
*/
library angular2.src.core.wtf_impl;
typedef dynamic WtfScopeFn([arg0, arg1]);
var context = null;
var _trace;
var _events;
var _createScope;
var _leaveScope;
var _beginTimeRange;
var _endTimeRange;
final List _arg1 = [null];
final List _arg2 = [null, null];
bool detectWTF() {
if (context != null && context.hasProperty('wtf')) {
var wtf = context['wtf'];
if (wtf.hasProperty('trace')) {
_trace = wtf['trace'];
_events = _trace['events'];
_createScope = _events['createScope'];
_leaveScope = _trace['leaveScope'];
_beginTimeRange = _trace['beginTimeRange'];
_endTimeRange = _trace['endTimeRange'];
return true;
}
}
return false;
}
int getArgSize(String signature) {
int start = signature.indexOf('(') + 1;
int end = signature.indexOf(')', start);
bool found = false;
int count = 0;
for (var i = start; i < end; i++) {
var ch = signature[i];
if (identical(ch, ',')) {
found = false;
}
if (!found) {
found = true;
count++;
}
}
return count;
}
dynamic createScope(String signature, [flags]) {
_arg2[0] = signature;
_arg2[1] = flags;
var jsScope = _createScope.apply(_arg2, thisArg: _events);
switch (getArgSize(signature)) {
case 0:
return ([arg0, arg1]) {
return jsScope.apply(const []);
};
case 1:
return ([arg0, arg1]) {
_arg1[0] = arg0;
return jsScope.apply(_arg1);
};
case 2:
return ([arg0, arg1]) {
_arg2[0] = arg0;
_arg2[1] = arg1;
return jsScope.apply(_arg1);
};
default:
throw "Max 2 arguments are supported.";
}
}
void leave(scope, [returnValue]) {
_arg2[0] = scope;
_arg2[1] = returnValue;
_leaveScope.apply(_arg2, thisArg: _trace);
return returnValue;
}
dynamic startTimeRange(String rangeType, String action) {
_arg2[0] = rangeType;
_arg2[1] = action;
return _beginTimeRange.apply(_arg2, thisArg: _trace);
}
void endTimeRange(dynamic range) {
_arg1[0] = range;
_endTimeRange.apply(_arg1, thisArg: _trace);
}