| OLD | NEW |
| 1 dart_library.library('stack_trace', null, /* Imports */[ | 1 dart_library.library('stack_trace', null, /* Imports */[ |
| 2 'dart_sdk', | 2 'dart_sdk', |
| 3 'path' | 3 'path' |
| 4 ], function load__stack_trace(exports, dart_sdk, path) { | 4 ], function load__stack_trace(exports, dart_sdk, path) { |
| 5 'use strict'; | 5 'use strict'; |
| 6 const core = dart_sdk.core; | 6 const core = dart_sdk.core; |
| 7 const async = dart_sdk.async; | 7 const async = dart_sdk.async; |
| 8 const _interceptors = dart_sdk._interceptors; | 8 const _interceptors = dart_sdk._interceptors; |
| 9 const collection = dart_sdk.collection; | 9 const collection = dart_sdk.collection; |
| 10 const math = dart_sdk.math; | 10 const math = dart_sdk.math; |
| 11 const dart = dart_sdk.dart; | 11 const dart = dart_sdk.dart; |
| 12 const dartx = dart_sdk.dartx; | 12 const dartx = dart_sdk.dartx; |
| 13 const path$ = path.path; | 13 const path$ = path.path; |
| 14 const src__chain = Object.create(null); | 14 const src__chain = Object.create(null); |
| 15 const src__stack_zone_specification = Object.create(null); |
| 15 const src__frame = Object.create(null); | 16 const src__frame = Object.create(null); |
| 17 const src__unparsed_frame = Object.create(null); |
| 18 const src__vm_trace = Object.create(null); |
| 19 const src__utils = Object.create(null); |
| 16 const src__lazy_trace = Object.create(null); | 20 const src__lazy_trace = Object.create(null); |
| 17 const src__stack_zone_specification = Object.create(null); | |
| 18 const src__trace = Object.create(null); | 21 const src__trace = Object.create(null); |
| 19 const src__unparsed_frame = Object.create(null); | |
| 20 const src__utils = Object.create(null); | |
| 21 const src__vm_trace = Object.create(null); | |
| 22 const stack_trace = Object.create(null); | 22 const stack_trace = Object.create(null); |
| 23 let JSArrayOfTrace = () => (JSArrayOfTrace = dart.constFn(_interceptors.JSArra
y$(src__trace.Trace)))(); | 23 let JSArrayOfTrace = () => (JSArrayOfTrace = dart.constFn(_interceptors.JSArra
y$(src__trace.Trace)))(); |
| 24 let UnmodifiableListViewOfTrace = () => (UnmodifiableListViewOfTrace = dart.co
nstFn(collection.UnmodifiableListView$(src__trace.Trace)))(); | 24 let UnmodifiableListViewOfTrace = () => (UnmodifiableListViewOfTrace = dart.co
nstFn(collection.UnmodifiableListView$(src__trace.Trace)))(); |
| 25 let ListOfFrame = () => (ListOfFrame = dart.constFn(core.List$(src__frame.Fram
e)))(); | 25 let ListOfFrame = () => (ListOfFrame = dart.constFn(core.List$(src__frame.Fram
e)))(); |
| 26 let dynamicAndChainTovoid = () => (dynamicAndChainTovoid = dart.constFn(dart.f
unctionType(dart.void, [dart.dynamic, src__chain.Chain])))(); | 26 let dynamicAndChainTovoid = () => (dynamicAndChainTovoid = dart.constFn(dart.f
unctionType(dart.void, [dart.dynamic, src__chain.Chain])))(); |
| 27 let ExpandoOf_Node = () => (ExpandoOf_Node = dart.constFn(core.Expando$(src__s
tack_zone_specification._Node)))(); | 27 let ExpandoOf_Node = () => (ExpandoOf_Node = dart.constFn(core.Expando$(src__s
tack_zone_specification._Node)))(); |
| 28 let JSArrayOfFrame = () => (JSArrayOfFrame = dart.constFn(_interceptors.JSArra
y$(src__frame.Frame)))(); | 28 let JSArrayOfFrame = () => (JSArrayOfFrame = dart.constFn(_interceptors.JSArra
y$(src__frame.Frame)))(); |
| 29 let UnmodifiableListViewOfFrame = () => (UnmodifiableListViewOfFrame = dart.co
nstFn(collection.UnmodifiableListView$(src__frame.Frame)))(); | 29 let UnmodifiableListViewOfFrame = () => (UnmodifiableListViewOfFrame = dart.co
nstFn(collection.UnmodifiableListView$(src__frame.Frame)))(); |
| 30 let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.cons
tFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])))(); | 30 let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.cons
tFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])))(); |
| 31 let StringToTrace = () => (StringToTrace = dart.constFn(dart.definiteFunctionT
ype(src__trace.Trace, [core.String])))(); | 31 let StringToTrace = () => (StringToTrace = dart.constFn(dart.definiteFunctionT
ype(src__trace.Trace, [core.String])))(); |
| 32 let FrameTobool = () => (FrameTobool = dart.constFn(dart.definiteFunctionType(
core.bool, [src__frame.Frame])))(); | 32 let FrameTobool = () => (FrameTobool = dart.constFn(dart.definiteFunctionType(
core.bool, [src__frame.Frame])))(); |
| 33 let TraceToTrace = () => (TraceToTrace = dart.constFn(dart.definiteFunctionTyp
e(src__trace.Trace, [src__trace.Trace])))(); | 33 let TraceToTrace = () => (TraceToTrace = dart.constFn(dart.definiteFunctionTyp
e(src__trace.Trace, [src__trace.Trace])))(); |
| 34 let TraceTobool = () => (TraceTobool = dart.constFn(dart.definiteFunctionType(
core.bool, [src__trace.Trace])))(); | 34 let TraceTobool = () => (TraceTobool = dart.constFn(dart.definiteFunctionType(
core.bool, [src__trace.Trace])))(); |
| 35 let TraceToListOfFrame = () => (TraceToListOfFrame = dart.constFn(dart.definit
eFunctionType(ListOfFrame(), [src__trace.Trace])))(); | 35 let TraceToListOfFrame = () => (TraceToListOfFrame = dart.constFn(dart.definit
eFunctionType(ListOfFrame(), [src__trace.Trace])))(); |
| 36 let FrameToint = () => (FrameToint = dart.constFn(dart.definiteFunctionType(co
re.int, [src__frame.Frame])))(); | 36 let FrameToint = () => (FrameToint = dart.constFn(dart.definiteFunctionType(co
re.int, [src__frame.Frame])))(); |
| 37 let TraceToint = () => (TraceToint = dart.constFn(dart.definiteFunctionType(co
re.int, [src__trace.Trace])))(); | 37 let TraceToint = () => (TraceToint = dart.constFn(dart.definiteFunctionType(co
re.int, [src__trace.Trace])))(); |
| 38 let FrameToString = () => (FrameToString = dart.constFn(dart.definiteFunctionT
ype(core.String, [src__frame.Frame])))(); | 38 let FrameToString = () => (FrameToString = dart.constFn(dart.definiteFunctionT
ype(core.String, [src__frame.Frame])))(); |
| 39 let TraceToString = () => (TraceToString = dart.constFn(dart.definiteFunctionT
ype(core.String, [src__trace.Trace])))(); | 39 let TraceToString = () => (TraceToString = dart.constFn(dart.definiteFunctionT
ype(core.String, [src__trace.Trace])))(); |
| 40 let VoidToFrame = () => (VoidToFrame = dart.constFn(dart.definiteFunctionType(
src__frame.Frame, [])))(); | |
| 41 let VoidToTrace = () => (VoidToTrace = dart.constFn(dart.definiteFunctionType(
src__trace.Trace, [])))(); | |
| 42 let ObjectAndStackTraceAndEventSinkTovoid = () => (ObjectAndStackTraceAndEvent
SinkTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Object, cor
e.StackTrace, async.EventSink])))(); | 40 let ObjectAndStackTraceAndEventSinkTovoid = () => (ObjectAndStackTraceAndEvent
SinkTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Object, cor
e.StackTrace, async.EventSink])))(); |
| 43 let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionT
ype(dart.dynamic, [])))(); | 41 let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionT
ype(dart.dynamic, [])))(); |
| 44 let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFun
ctionType(dart.dynamic, [dart.dynamic])))(); | 42 let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFun
ctionType(dart.dynamic, [dart.dynamic])))(); |
| 43 let VoidToFrame = () => (VoidToFrame = dart.constFn(dart.definiteFunctionType(
src__frame.Frame, [])))(); |
| 44 let MatchToString = () => (MatchToString = dart.constFn(dart.definiteFunctionT
ype(core.String, [core.Match])))(); |
| 45 let StringAndintToString = () => (StringAndintToString = dart.constFn(dart.def
initeFunctionType(core.String, [core.String, core.int])))(); |
| 46 let VoidToTrace = () => (VoidToTrace = dart.constFn(dart.definiteFunctionType(
src__trace.Trace, [])))(); |
| 45 let StringToFrame = () => (StringToFrame = dart.constFn(dart.definiteFunctionT
ype(src__frame.Frame, [core.String])))(); | 47 let StringToFrame = () => (StringToFrame = dart.constFn(dart.definiteFunctionT
ype(src__frame.Frame, [core.String])))(); |
| 46 let StringTobool = () => (StringTobool = dart.constFn(dart.definiteFunctionTyp
e(core.bool, [core.String])))(); | 48 let StringTobool = () => (StringTobool = dart.constFn(dart.definiteFunctionTyp
e(core.bool, [core.String])))(); |
| 47 let FrameToFrame = () => (FrameToFrame = dart.constFn(dart.definiteFunctionTyp
e(src__frame.Frame, [src__frame.Frame])))(); | 49 let FrameToFrame = () => (FrameToFrame = dart.constFn(dart.definiteFunctionTyp
e(src__frame.Frame, [src__frame.Frame])))(); |
| 48 let StringAndintToString = () => (StringAndintToString = dart.constFn(dart.def
initeFunctionType(core.String, [core.String, core.int])))(); | |
| 49 let MatchToString = () => (MatchToString = dart.constFn(dart.definiteFunctionT
ype(core.String, [core.Match])))(); | |
| 50 src__chain.ChainHandler = dart.typedef('ChainHandler', () => dart.functionType
(dart.void, [dart.dynamic, src__chain.Chain])); | 50 src__chain.ChainHandler = dart.typedef('ChainHandler', () => dart.functionType
(dart.void, [dart.dynamic, src__chain.Chain])); |
| 51 let const$; | 51 let const$; |
| 52 let const$0; | 52 let const$0; |
| 53 src__chain.Chain = class Chain extends core.Object { | 53 src__chain.Chain = class Chain extends core.Object { |
| 54 static get _currentSpec() { | 54 static get _currentSpec() { |
| 55 return src__stack_zone_specification.StackZoneSpecification._check(async.Z
one.current.get(const$ || (const$ = dart.const(core.Symbol.new('stack_trace.stac
k_zone.spec'))))); | 55 return src__stack_zone_specification.StackZoneSpecification._check(async.Z
one.current.get(const$ || (const$ = dart.const(core.Symbol.new('stack_trace.stac
k_zone.spec'))))); |
| 56 } | 56 } |
| 57 static capture(T) { | 57 static capture(T) { |
| 58 return (callback, opts) => { | 58 return (callback, opts) => { |
| 59 let onError = opts && 'onError' in opts ? opts.onError : null; | 59 let onError = opts && 'onError' in opts ? opts.onError : null; |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 methods: () => ({ | 136 methods: () => ({ |
| 137 foldFrames: dart.definiteFunctionType(src__chain.Chain, [dart.functionType
(core.bool, [src__frame.Frame])], {terse: core.bool}), | 137 foldFrames: dart.definiteFunctionType(src__chain.Chain, [dart.functionType
(core.bool, [src__frame.Frame])], {terse: core.bool}), |
| 138 toTrace: dart.definiteFunctionType(src__trace.Trace, []) | 138 toTrace: dart.definiteFunctionType(src__trace.Trace, []) |
| 139 }), | 139 }), |
| 140 statics: () => ({ | 140 statics: () => ({ |
| 141 capture: dart.definiteFunctionType(T => [T, [dart.functionType(T, [])], {o
nError: dynamicAndChainTovoid(), when: core.bool}]), | 141 capture: dart.definiteFunctionType(T => [T, [dart.functionType(T, [])], {o
nError: dynamicAndChainTovoid(), when: core.bool}]), |
| 142 track: dart.definiteFunctionType(dart.dynamic, [dart.dynamic]) | 142 track: dart.definiteFunctionType(dart.dynamic, [dart.dynamic]) |
| 143 }), | 143 }), |
| 144 names: ['capture', 'track'] | 144 names: ['capture', 'track'] |
| 145 }); | 145 }); |
| 146 src__stack_zone_specification._ChainHandler = dart.typedef('_ChainHandler', ()
=> dart.functionType(dart.void, [dart.dynamic, src__chain.Chain])); |
| 147 const _chains = Symbol('_chains'); |
| 148 const _onError = Symbol('_onError'); |
| 149 const _currentNode = Symbol('_currentNode'); |
| 150 const _createNode = Symbol('_createNode'); |
| 151 const _run = Symbol('_run'); |
| 152 src__stack_zone_specification.StackZoneSpecification = class StackZoneSpecific
ation extends core.Object { |
| 153 new(onError) { |
| 154 if (onError === void 0) onError = null; |
| 155 this[_chains] = new (ExpandoOf_Node())("stack chains"); |
| 156 this[_onError] = onError; |
| 157 this[_currentNode] = null; |
| 158 } |
| 159 toSpec() { |
| 160 return async.ZoneSpecification.new({handleUncaughtError: dart.bind(this, '
handleUncaughtError'), registerCallback: dart.bind(this, 'registerCallback'), re
gisterUnaryCallback: dart.bind(this, 'registerUnaryCallback'), registerBinaryCal
lback: dart.bind(this, 'registerBinaryCallback'), errorCallback: dart.bind(this,
'errorCallback')}); |
| 161 } |
| 162 currentChain(level) { |
| 163 if (level === void 0) level = 0; |
| 164 return this[_createNode](dart.notNull(level) + 1).toChain(); |
| 165 } |
| 166 chainFor(trace) { |
| 167 if (src__chain.Chain.is(trace)) return trace; |
| 168 let previous = trace == null ? null : this[_chains].get(trace); |
| 169 return new src__stack_zone_specification._Node(trace, previous).toChain(); |
| 170 } |
| 171 trackFuture(future, level) { |
| 172 if (level === void 0) level = 0; |
| 173 let completer = async.Completer.sync(); |
| 174 let node = this[_createNode](dart.notNull(level) + 1); |
| 175 future.then(dart.dynamic)(dart.bind(completer, 'complete')).catchError(dar
t.fn((e, stackTrace) => { |
| 176 if (stackTrace == null) stackTrace = src__trace.Trace.current(); |
| 177 if (!src__chain.Chain.is(stackTrace) && this[_chains].get(stackTrace) ==
null) { |
| 178 this[_chains].set(stackTrace, node); |
| 179 } |
| 180 completer.completeError(e, core.StackTrace._check(stackTrace)); |
| 181 }, dynamicAnddynamicTodynamic())); |
| 182 return completer.future; |
| 183 } |
| 184 trackStream(stream, level) { |
| 185 if (level === void 0) level = 0; |
| 186 let node = this[_createNode](dart.notNull(level) + 1); |
| 187 return stream.transform(dart.dynamic)(async.StreamTransformer.fromHandlers
({handleError: dart.fn((error, stackTrace, sink) => { |
| 188 if (stackTrace == null) stackTrace = src__trace.Trace.current(); |
| 189 if (!src__chain.Chain.is(stackTrace) && this[_chains].get(stackTrace)
== null) { |
| 190 this[_chains].set(stackTrace, node); |
| 191 } |
| 192 sink.addError(error, stackTrace); |
| 193 }, ObjectAndStackTraceAndEventSinkTovoid())})); |
| 194 } |
| 195 registerCallback(self, parent, zone, f) { |
| 196 if (f == null) return parent.registerCallback(dart.dynamic)(zone, null); |
| 197 let node = this[_createNode](1); |
| 198 return parent.registerCallback(dart.dynamic)(zone, dart.fn(() => this[_run
](f, node), VoidTodynamic())); |
| 199 } |
| 200 registerUnaryCallback(self, parent, zone, f) { |
| 201 if (f == null) return parent.registerUnaryCallback(dart.dynamic, dart.dyna
mic)(zone, null); |
| 202 let node = this[_createNode](1); |
| 203 return parent.registerUnaryCallback(dart.dynamic, dart.dynamic)(zone, dart
.fn(arg => this[_run](dart.fn(() => dart.dcall(f, arg), VoidTodynamic()), node),
dynamicTodynamic())); |
| 204 } |
| 205 registerBinaryCallback(self, parent, zone, f) { |
| 206 if (f == null) return parent.registerBinaryCallback(dart.dynamic, dart.dyn
amic, dart.dynamic)(zone, null); |
| 207 let node = this[_createNode](1); |
| 208 return parent.registerBinaryCallback(dart.dynamic, dart.dynamic, dart.dyna
mic)(zone, dart.fn((arg1, arg2) => this[_run](dart.fn(() => dart.dcall(f, arg1,
arg2), VoidTodynamic()), node), dynamicAnddynamicTodynamic())); |
| 209 } |
| 210 handleUncaughtError(self, parent, zone, error, stackTrace) { |
| 211 let stackChain = this.chainFor(stackTrace); |
| 212 if (this[_onError] == null) { |
| 213 return parent.handleUncaughtError(dart.dynamic)(zone, error, stackChain)
; |
| 214 } |
| 215 try { |
| 216 return parent.runBinary(dart.dynamic, dart.dynamic, src__chain.Chain)(zo
ne, this[_onError], error, stackChain); |
| 217 } catch (newError) { |
| 218 let newStackTrace = dart.stackTrace(newError); |
| 219 if (core.identical(newError, error)) { |
| 220 return parent.handleUncaughtError(dart.dynamic)(zone, error, stackChai
n); |
| 221 } else { |
| 222 return parent.handleUncaughtError(dart.dynamic)(zone, newError, newSta
ckTrace); |
| 223 } |
| 224 } |
| 225 |
| 226 } |
| 227 errorCallback(self, parent, zone, error, stackTrace) { |
| 228 if (stackTrace == null) { |
| 229 stackTrace = this[_createNode](2).toChain(); |
| 230 } else { |
| 231 if (this[_chains].get(stackTrace) == null) this[_chains].set(stackTrace,
this[_createNode](2)); |
| 232 } |
| 233 let asyncError = parent.errorCallback(zone, error, stackTrace); |
| 234 return asyncError == null ? new async.AsyncError(error, stackTrace) : asyn
cError; |
| 235 } |
| 236 [_createNode](level) { |
| 237 if (level === void 0) level = 0; |
| 238 return new src__stack_zone_specification._Node(src__trace.Trace.current(da
rt.notNull(level) + 1), this[_currentNode]); |
| 239 } |
| 240 [_run](f, node) { |
| 241 let previousNode = this[_currentNode]; |
| 242 this[_currentNode] = node; |
| 243 try { |
| 244 return dart.dcall(f); |
| 245 } catch (e) { |
| 246 let stackTrace = dart.stackTrace(e); |
| 247 this[_chains].set(stackTrace, node); |
| 248 throw e; |
| 249 } |
| 250 finally { |
| 251 this[_currentNode] = previousNode; |
| 252 } |
| 253 } |
| 254 }; |
| 255 dart.setSignature(src__stack_zone_specification.StackZoneSpecification, { |
| 256 constructors: () => ({new: dart.definiteFunctionType(src__stack_zone_specifi
cation.StackZoneSpecification, [], [src__stack_zone_specification._ChainHandler]
)}), |
| 257 methods: () => ({ |
| 258 toSpec: dart.definiteFunctionType(async.ZoneSpecification, []), |
| 259 currentChain: dart.definiteFunctionType(src__chain.Chain, [], [core.int]), |
| 260 chainFor: dart.definiteFunctionType(src__chain.Chain, [core.StackTrace]), |
| 261 trackFuture: dart.definiteFunctionType(async.Future, [async.Future], [core
.int]), |
| 262 trackStream: dart.definiteFunctionType(async.Stream, [async.Stream], [core
.int]), |
| 263 registerCallback: dart.definiteFunctionType(async.ZoneCallback, [async.Zon
e, async.ZoneDelegate, async.Zone, core.Function]), |
| 264 registerUnaryCallback: dart.definiteFunctionType(async.ZoneUnaryCallback,
[async.Zone, async.ZoneDelegate, async.Zone, core.Function]), |
| 265 registerBinaryCallback: dart.definiteFunctionType(async.ZoneBinaryCallback
, [async.Zone, async.ZoneDelegate, async.Zone, core.Function]), |
| 266 handleUncaughtError: dart.definiteFunctionType(dart.dynamic, [async.Zone,
async.ZoneDelegate, async.Zone, dart.dynamic, core.StackTrace]), |
| 267 errorCallback: dart.definiteFunctionType(async.AsyncError, [async.Zone, as
ync.ZoneDelegate, async.Zone, core.Object, core.StackTrace]), |
| 268 [_createNode]: dart.definiteFunctionType(src__stack_zone_specification._No
de, [], [core.int]), |
| 269 [_run]: dart.definiteFunctionType(dart.dynamic, [core.Function, src__stack
_zone_specification._Node]) |
| 270 }) |
| 271 }); |
| 272 src__stack_zone_specification._Node = class _Node extends core.Object { |
| 273 new(trace, previous) { |
| 274 if (previous === void 0) previous = null; |
| 275 this.previous = previous; |
| 276 this.trace = trace == null ? src__trace.Trace.current() : src__trace.Trace
.from(trace); |
| 277 } |
| 278 toChain() { |
| 279 let nodes = JSArrayOfTrace().of([]); |
| 280 let node = this; |
| 281 while (node != null) { |
| 282 nodes[dartx.add](node.trace); |
| 283 node = node.previous; |
| 284 } |
| 285 return new src__chain.Chain(nodes); |
| 286 } |
| 287 }; |
| 288 dart.setSignature(src__stack_zone_specification._Node, { |
| 289 constructors: () => ({new: dart.definiteFunctionType(src__stack_zone_specifi
cation._Node, [core.StackTrace], [src__stack_zone_specification._Node])}), |
| 290 methods: () => ({toChain: dart.definiteFunctionType(src__chain.Chain, [])}) |
| 291 }); |
| 146 dart.defineLazy(src__frame, { | 292 dart.defineLazy(src__frame, { |
| 147 get _vmFrame() { | 293 get _vmFrame() { |
| 148 return core.RegExp.new('^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$'); | 294 return core.RegExp.new('^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$'); |
| 149 } | 295 } |
| 150 }); | 296 }); |
| 151 dart.defineLazy(src__frame, { | 297 dart.defineLazy(src__frame, { |
| 152 get _v8Frame() { | 298 get _v8Frame() { |
| 153 return core.RegExp.new('^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\
\)|(.*))$'); | 299 return core.RegExp.new('^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\
\)|(.*))$'); |
| 154 } | 300 } |
| 155 }); | 301 }); |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 names: ['_uriOrPathToUri', '_catchFormatException'] | 495 names: ['_uriOrPathToUri', '_catchFormatException'] |
| 350 }); | 496 }); |
| 351 dart.defineLazy(src__frame.Frame, { | 497 dart.defineLazy(src__frame.Frame, { |
| 352 get _uriRegExp() { | 498 get _uriRegExp() { |
| 353 return core.RegExp.new('^[a-zA-Z][-+.a-zA-Z\\d]*://'); | 499 return core.RegExp.new('^[a-zA-Z][-+.a-zA-Z\\d]*://'); |
| 354 }, | 500 }, |
| 355 get _windowsRegExp() { | 501 get _windowsRegExp() { |
| 356 return core.RegExp.new('^([a-zA-Z]:[\\\\/]|\\\\\\\\)'); | 502 return core.RegExp.new('^([a-zA-Z]:[\\\\/]|\\\\\\\\)'); |
| 357 } | 503 } |
| 358 }); | 504 }); |
| 505 src__unparsed_frame.UnparsedFrame = class UnparsedFrame extends core.Object { |
| 506 new(member) { |
| 507 this.uri = core.Uri.new({path: "unparsed"}); |
| 508 this.member = member; |
| 509 this.line = null; |
| 510 this.column = null; |
| 511 this.isCore = false; |
| 512 this.library = "unparsed"; |
| 513 this.package = null; |
| 514 this.location = "unparsed"; |
| 515 } |
| 516 toString() { |
| 517 return this.member; |
| 518 } |
| 519 }; |
| 520 src__unparsed_frame.UnparsedFrame[dart.implements] = () => [src__frame.Frame]; |
| 521 dart.setSignature(src__unparsed_frame.UnparsedFrame, { |
| 522 constructors: () => ({new: dart.definiteFunctionType(src__unparsed_frame.Unp
arsedFrame, [core.String])}) |
| 523 }); |
| 524 src__vm_trace.VMTrace = class VMTrace extends core.Object { |
| 525 new(frames) { |
| 526 this.frames = frames; |
| 527 } |
| 528 toString() { |
| 529 let i = 1; |
| 530 return this.frames[dartx.map](core.String)(dart.fn(frame => { |
| 531 let number = src__utils.padRight(dart.str`#${i++}`, 8); |
| 532 let member = frame.member[dartx.replaceAllMapped](core.RegExp.new("[^.]+
\\.<async>"), dart.fn(match => dart.str`${match.get(1)}.<${match.get(1)}_async_b
ody>`, MatchToString()))[dartx.replaceAll]("<fn>", "<anonymous closure>"); |
| 533 let line = frame.line == null ? 0 : frame.line; |
| 534 let column = frame.column == null ? 0 : frame.column; |
| 535 return dart.str`${number}${member} (${frame.uri}:${line}:${column})\n`; |
| 536 }, FrameToString()))[dartx.join](); |
| 537 } |
| 538 }; |
| 539 src__vm_trace.VMTrace[dart.implements] = () => [core.StackTrace]; |
| 540 dart.setSignature(src__vm_trace.VMTrace, { |
| 541 constructors: () => ({new: dart.definiteFunctionType(src__vm_trace.VMTrace,
[core.List$(src__frame.Frame)])}) |
| 542 }); |
| 543 src__utils.chainGap = '===== asynchronous gap ===========================\n'; |
| 544 src__utils.padRight = function(string, length) { |
| 545 if (dart.notNull(string[dartx.length]) >= dart.notNull(length)) return strin
g; |
| 546 let result = new core.StringBuffer(); |
| 547 result.write(string); |
| 548 for (let i = 0; i < dart.notNull(length) - dart.notNull(string[dartx.length]
); i++) { |
| 549 result.write(' '); |
| 550 } |
| 551 return result.toString(); |
| 552 }; |
| 553 dart.fn(src__utils.padRight, StringAndintToString()); |
| 359 src__lazy_trace.TraceThunk = dart.typedef('TraceThunk', () => dart.functionTyp
e(src__trace.Trace, [])); | 554 src__lazy_trace.TraceThunk = dart.typedef('TraceThunk', () => dart.functionTyp
e(src__trace.Trace, [])); |
| 360 const _thunk = Symbol('_thunk'); | 555 const _thunk = Symbol('_thunk'); |
| 361 const _inner = Symbol('_inner'); | 556 const _inner = Symbol('_inner'); |
| 362 const _trace = Symbol('_trace'); | 557 const _trace = Symbol('_trace'); |
| 363 src__lazy_trace.LazyTrace = class LazyTrace extends core.Object { | 558 src__lazy_trace.LazyTrace = class LazyTrace extends core.Object { |
| 364 new(thunk) { | 559 new(thunk) { |
| 365 this[_thunk] = thunk; | 560 this[_thunk] = thunk; |
| 366 this[_inner] = null; | 561 this[_inner] = null; |
| 367 } | 562 } |
| 368 get [_trace]() { | 563 get [_trace]() { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 387 } | 582 } |
| 388 set frames(_) { | 583 set frames(_) { |
| 389 return dart.throw(new core.UnimplementedError()); | 584 return dart.throw(new core.UnimplementedError()); |
| 390 } | 585 } |
| 391 }; | 586 }; |
| 392 src__lazy_trace.LazyTrace[dart.implements] = () => [src__trace.Trace]; | 587 src__lazy_trace.LazyTrace[dart.implements] = () => [src__trace.Trace]; |
| 393 dart.setSignature(src__lazy_trace.LazyTrace, { | 588 dart.setSignature(src__lazy_trace.LazyTrace, { |
| 394 constructors: () => ({new: dart.definiteFunctionType(src__lazy_trace.LazyTra
ce, [src__lazy_trace.TraceThunk])}), | 589 constructors: () => ({new: dart.definiteFunctionType(src__lazy_trace.LazyTra
ce, [src__lazy_trace.TraceThunk])}), |
| 395 methods: () => ({foldFrames: dart.definiteFunctionType(src__trace.Trace, [da
rt.functionType(core.bool, [src__frame.Frame])], {terse: core.bool})}) | 590 methods: () => ({foldFrames: dart.definiteFunctionType(src__trace.Trace, [da
rt.functionType(core.bool, [src__frame.Frame])], {terse: core.bool})}) |
| 396 }); | 591 }); |
| 397 src__stack_zone_specification._ChainHandler = dart.typedef('_ChainHandler', ()
=> dart.functionType(dart.void, [dart.dynamic, src__chain.Chain])); | |
| 398 const _chains = Symbol('_chains'); | |
| 399 const _onError = Symbol('_onError'); | |
| 400 const _currentNode = Symbol('_currentNode'); | |
| 401 const _createNode = Symbol('_createNode'); | |
| 402 const _run = Symbol('_run'); | |
| 403 src__stack_zone_specification.StackZoneSpecification = class StackZoneSpecific
ation extends core.Object { | |
| 404 new(onError) { | |
| 405 if (onError === void 0) onError = null; | |
| 406 this[_chains] = new (ExpandoOf_Node())("stack chains"); | |
| 407 this[_onError] = onError; | |
| 408 this[_currentNode] = null; | |
| 409 } | |
| 410 toSpec() { | |
| 411 return async.ZoneSpecification.new({handleUncaughtError: dart.bind(this, '
handleUncaughtError'), registerCallback: dart.bind(this, 'registerCallback'), re
gisterUnaryCallback: dart.bind(this, 'registerUnaryCallback'), registerBinaryCal
lback: dart.bind(this, 'registerBinaryCallback'), errorCallback: dart.bind(this,
'errorCallback')}); | |
| 412 } | |
| 413 currentChain(level) { | |
| 414 if (level === void 0) level = 0; | |
| 415 return this[_createNode](dart.notNull(level) + 1).toChain(); | |
| 416 } | |
| 417 chainFor(trace) { | |
| 418 if (src__chain.Chain.is(trace)) return trace; | |
| 419 let previous = trace == null ? null : this[_chains].get(trace); | |
| 420 return new src__stack_zone_specification._Node(trace, previous).toChain(); | |
| 421 } | |
| 422 trackFuture(future, level) { | |
| 423 if (level === void 0) level = 0; | |
| 424 let completer = async.Completer.sync(); | |
| 425 let node = this[_createNode](dart.notNull(level) + 1); | |
| 426 future.then(dart.dynamic)(dart.bind(completer, 'complete')).catchError(dar
t.fn((e, stackTrace) => { | |
| 427 if (stackTrace == null) stackTrace = src__trace.Trace.current(); | |
| 428 if (!src__chain.Chain.is(stackTrace) && this[_chains].get(stackTrace) ==
null) { | |
| 429 this[_chains].set(stackTrace, node); | |
| 430 } | |
| 431 completer.completeError(e, core.StackTrace._check(stackTrace)); | |
| 432 }, dynamicAnddynamicTodynamic())); | |
| 433 return completer.future; | |
| 434 } | |
| 435 trackStream(stream, level) { | |
| 436 if (level === void 0) level = 0; | |
| 437 let node = this[_createNode](dart.notNull(level) + 1); | |
| 438 return stream.transform(dart.dynamic)(async.StreamTransformer.fromHandlers
({handleError: dart.fn((error, stackTrace, sink) => { | |
| 439 if (stackTrace == null) stackTrace = src__trace.Trace.current(); | |
| 440 if (!src__chain.Chain.is(stackTrace) && this[_chains].get(stackTrace)
== null) { | |
| 441 this[_chains].set(stackTrace, node); | |
| 442 } | |
| 443 sink.addError(error, stackTrace); | |
| 444 }, ObjectAndStackTraceAndEventSinkTovoid())})); | |
| 445 } | |
| 446 registerCallback(self, parent, zone, f) { | |
| 447 if (f == null) return parent.registerCallback(dart.dynamic)(zone, null); | |
| 448 let node = this[_createNode](1); | |
| 449 return parent.registerCallback(dart.dynamic)(zone, dart.fn(() => this[_run
](f, node), VoidTodynamic())); | |
| 450 } | |
| 451 registerUnaryCallback(self, parent, zone, f) { | |
| 452 if (f == null) return parent.registerUnaryCallback(dart.dynamic, dart.dyna
mic)(zone, null); | |
| 453 let node = this[_createNode](1); | |
| 454 return parent.registerUnaryCallback(dart.dynamic, dart.dynamic)(zone, dart
.fn(arg => this[_run](dart.fn(() => dart.dcall(f, arg), VoidTodynamic()), node),
dynamicTodynamic())); | |
| 455 } | |
| 456 registerBinaryCallback(self, parent, zone, f) { | |
| 457 if (f == null) return parent.registerBinaryCallback(dart.dynamic, dart.dyn
amic, dart.dynamic)(zone, null); | |
| 458 let node = this[_createNode](1); | |
| 459 return parent.registerBinaryCallback(dart.dynamic, dart.dynamic, dart.dyna
mic)(zone, dart.fn((arg1, arg2) => this[_run](dart.fn(() => dart.dcall(f, arg1,
arg2), VoidTodynamic()), node), dynamicAnddynamicTodynamic())); | |
| 460 } | |
| 461 handleUncaughtError(self, parent, zone, error, stackTrace) { | |
| 462 let stackChain = this.chainFor(stackTrace); | |
| 463 if (this[_onError] == null) { | |
| 464 return parent.handleUncaughtError(dart.dynamic)(zone, error, stackChain)
; | |
| 465 } | |
| 466 try { | |
| 467 return parent.runBinary(dart.dynamic, dart.dynamic, src__chain.Chain)(zo
ne, this[_onError], error, stackChain); | |
| 468 } catch (newError) { | |
| 469 let newStackTrace = dart.stackTrace(newError); | |
| 470 if (core.identical(newError, error)) { | |
| 471 return parent.handleUncaughtError(dart.dynamic)(zone, error, stackChai
n); | |
| 472 } else { | |
| 473 return parent.handleUncaughtError(dart.dynamic)(zone, newError, newSta
ckTrace); | |
| 474 } | |
| 475 } | |
| 476 | |
| 477 } | |
| 478 errorCallback(self, parent, zone, error, stackTrace) { | |
| 479 if (stackTrace == null) { | |
| 480 stackTrace = this[_createNode](2).toChain(); | |
| 481 } else { | |
| 482 if (this[_chains].get(stackTrace) == null) this[_chains].set(stackTrace,
this[_createNode](2)); | |
| 483 } | |
| 484 let asyncError = parent.errorCallback(zone, error, stackTrace); | |
| 485 return asyncError == null ? new async.AsyncError(error, stackTrace) : asyn
cError; | |
| 486 } | |
| 487 [_createNode](level) { | |
| 488 if (level === void 0) level = 0; | |
| 489 return new src__stack_zone_specification._Node(src__trace.Trace.current(da
rt.notNull(level) + 1), this[_currentNode]); | |
| 490 } | |
| 491 [_run](f, node) { | |
| 492 let previousNode = this[_currentNode]; | |
| 493 this[_currentNode] = node; | |
| 494 try { | |
| 495 return dart.dcall(f); | |
| 496 } catch (e) { | |
| 497 let stackTrace = dart.stackTrace(e); | |
| 498 this[_chains].set(stackTrace, node); | |
| 499 throw e; | |
| 500 } | |
| 501 finally { | |
| 502 this[_currentNode] = previousNode; | |
| 503 } | |
| 504 } | |
| 505 }; | |
| 506 dart.setSignature(src__stack_zone_specification.StackZoneSpecification, { | |
| 507 constructors: () => ({new: dart.definiteFunctionType(src__stack_zone_specifi
cation.StackZoneSpecification, [], [src__stack_zone_specification._ChainHandler]
)}), | |
| 508 methods: () => ({ | |
| 509 toSpec: dart.definiteFunctionType(async.ZoneSpecification, []), | |
| 510 currentChain: dart.definiteFunctionType(src__chain.Chain, [], [core.int]), | |
| 511 chainFor: dart.definiteFunctionType(src__chain.Chain, [core.StackTrace]), | |
| 512 trackFuture: dart.definiteFunctionType(async.Future, [async.Future], [core
.int]), | |
| 513 trackStream: dart.definiteFunctionType(async.Stream, [async.Stream], [core
.int]), | |
| 514 registerCallback: dart.definiteFunctionType(async.ZoneCallback, [async.Zon
e, async.ZoneDelegate, async.Zone, core.Function]), | |
| 515 registerUnaryCallback: dart.definiteFunctionType(async.ZoneUnaryCallback,
[async.Zone, async.ZoneDelegate, async.Zone, core.Function]), | |
| 516 registerBinaryCallback: dart.definiteFunctionType(async.ZoneBinaryCallback
, [async.Zone, async.ZoneDelegate, async.Zone, core.Function]), | |
| 517 handleUncaughtError: dart.definiteFunctionType(dart.dynamic, [async.Zone,
async.ZoneDelegate, async.Zone, dart.dynamic, core.StackTrace]), | |
| 518 errorCallback: dart.definiteFunctionType(async.AsyncError, [async.Zone, as
ync.ZoneDelegate, async.Zone, core.Object, core.StackTrace]), | |
| 519 [_createNode]: dart.definiteFunctionType(src__stack_zone_specification._No
de, [], [core.int]), | |
| 520 [_run]: dart.definiteFunctionType(dart.dynamic, [core.Function, src__stack
_zone_specification._Node]) | |
| 521 }) | |
| 522 }); | |
| 523 src__stack_zone_specification._Node = class _Node extends core.Object { | |
| 524 new(trace, previous) { | |
| 525 if (previous === void 0) previous = null; | |
| 526 this.previous = previous; | |
| 527 this.trace = trace == null ? src__trace.Trace.current() : src__trace.Trace
.from(trace); | |
| 528 } | |
| 529 toChain() { | |
| 530 let nodes = JSArrayOfTrace().of([]); | |
| 531 let node = this; | |
| 532 while (node != null) { | |
| 533 nodes[dartx.add](node.trace); | |
| 534 node = node.previous; | |
| 535 } | |
| 536 return new src__chain.Chain(nodes); | |
| 537 } | |
| 538 }; | |
| 539 dart.setSignature(src__stack_zone_specification._Node, { | |
| 540 constructors: () => ({new: dart.definiteFunctionType(src__stack_zone_specifi
cation._Node, [core.StackTrace], [src__stack_zone_specification._Node])}), | |
| 541 methods: () => ({toChain: dart.definiteFunctionType(src__chain.Chain, [])}) | |
| 542 }); | |
| 543 dart.defineLazy(src__trace, { | 592 dart.defineLazy(src__trace, { |
| 544 get _terseRegExp() { | 593 get _terseRegExp() { |
| 545 return core.RegExp.new("(-patch)?([/\\\\].*)?$"); | 594 return core.RegExp.new("(-patch)?([/\\\\].*)?$"); |
| 546 } | 595 } |
| 547 }); | 596 }); |
| 548 dart.defineLazy(src__trace, { | 597 dart.defineLazy(src__trace, { |
| 549 get _v8Trace() { | 598 get _v8Trace() { |
| 550 return core.RegExp.new("\\n ?at "); | 599 return core.RegExp.new("\\n ?at "); |
| 551 } | 600 } |
| 552 }); | 601 }); |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 717 parseFriendly: dart.definiteFunctionType(src__trace.Trace, [core.String]), | 766 parseFriendly: dart.definiteFunctionType(src__trace.Trace, [core.String]), |
| 718 new: dart.definiteFunctionType(src__trace.Trace, [core.Iterable$(src__fram
e.Frame)]) | 767 new: dart.definiteFunctionType(src__trace.Trace, [core.Iterable$(src__fram
e.Frame)]) |
| 719 }), | 768 }), |
| 720 methods: () => ({foldFrames: dart.definiteFunctionType(src__trace.Trace, [da
rt.functionType(core.bool, [src__frame.Frame])], {terse: core.bool})}), | 769 methods: () => ({foldFrames: dart.definiteFunctionType(src__trace.Trace, [da
rt.functionType(core.bool, [src__frame.Frame])], {terse: core.bool})}), |
| 721 statics: () => ({ | 770 statics: () => ({ |
| 722 format: dart.definiteFunctionType(core.String, [core.StackTrace], {terse:
core.bool}), | 771 format: dart.definiteFunctionType(core.String, [core.StackTrace], {terse:
core.bool}), |
| 723 _parseVM: dart.definiteFunctionType(core.List$(src__frame.Frame), [core.St
ring]) | 772 _parseVM: dart.definiteFunctionType(core.List$(src__frame.Frame), [core.St
ring]) |
| 724 }), | 773 }), |
| 725 names: ['format', '_parseVM'] | 774 names: ['format', '_parseVM'] |
| 726 }); | 775 }); |
| 727 src__unparsed_frame.UnparsedFrame = class UnparsedFrame extends core.Object { | |
| 728 new(member) { | |
| 729 this.uri = core.Uri.new({path: "unparsed"}); | |
| 730 this.member = member; | |
| 731 this.line = null; | |
| 732 this.column = null; | |
| 733 this.isCore = false; | |
| 734 this.library = "unparsed"; | |
| 735 this.package = null; | |
| 736 this.location = "unparsed"; | |
| 737 } | |
| 738 toString() { | |
| 739 return this.member; | |
| 740 } | |
| 741 }; | |
| 742 src__unparsed_frame.UnparsedFrame[dart.implements] = () => [src__frame.Frame]; | |
| 743 dart.setSignature(src__unparsed_frame.UnparsedFrame, { | |
| 744 constructors: () => ({new: dart.definiteFunctionType(src__unparsed_frame.Unp
arsedFrame, [core.String])}) | |
| 745 }); | |
| 746 src__utils.chainGap = '===== asynchronous gap ===========================\n'; | |
| 747 src__utils.padRight = function(string, length) { | |
| 748 if (dart.notNull(string[dartx.length]) >= dart.notNull(length)) return strin
g; | |
| 749 let result = new core.StringBuffer(); | |
| 750 result.write(string); | |
| 751 for (let i = 0; i < dart.notNull(length) - dart.notNull(string[dartx.length]
); i++) { | |
| 752 result.write(' '); | |
| 753 } | |
| 754 return result.toString(); | |
| 755 }; | |
| 756 dart.fn(src__utils.padRight, StringAndintToString()); | |
| 757 src__vm_trace.VMTrace = class VMTrace extends core.Object { | |
| 758 new(frames) { | |
| 759 this.frames = frames; | |
| 760 } | |
| 761 toString() { | |
| 762 let i = 1; | |
| 763 return this.frames[dartx.map](core.String)(dart.fn(frame => { | |
| 764 let number = src__utils.padRight(dart.str`#${i++}`, 8); | |
| 765 let member = frame.member[dartx.replaceAllMapped](core.RegExp.new("[^.]+
\\.<async>"), dart.fn(match => dart.str`${match.get(1)}.<${match.get(1)}_async_b
ody>`, MatchToString()))[dartx.replaceAll]("<fn>", "<anonymous closure>"); | |
| 766 let line = frame.line == null ? 0 : frame.line; | |
| 767 let column = frame.column == null ? 0 : frame.column; | |
| 768 return dart.str`${number}${member} (${frame.uri}:${line}:${column})\n`; | |
| 769 }, FrameToString()))[dartx.join](); | |
| 770 } | |
| 771 }; | |
| 772 src__vm_trace.VMTrace[dart.implements] = () => [core.StackTrace]; | |
| 773 dart.setSignature(src__vm_trace.VMTrace, { | |
| 774 constructors: () => ({new: dart.definiteFunctionType(src__vm_trace.VMTrace,
[core.List$(src__frame.Frame)])}) | |
| 775 }); | |
| 776 stack_trace.ChainHandler = src__chain.ChainHandler; | 776 stack_trace.ChainHandler = src__chain.ChainHandler; |
| 777 stack_trace.Chain = src__chain.Chain; | 777 stack_trace.Chain = src__chain.Chain; |
| 778 stack_trace.Frame = src__frame.Frame; | 778 stack_trace.Frame = src__frame.Frame; |
| 779 stack_trace.Trace = src__trace.Trace; | 779 stack_trace.Trace = src__trace.Trace; |
| 780 stack_trace.UnparsedFrame = src__unparsed_frame.UnparsedFrame; | 780 stack_trace.UnparsedFrame = src__unparsed_frame.UnparsedFrame; |
| 781 // Exports: | 781 // Exports: |
| 782 exports.src__chain = src__chain; | 782 exports.src__chain = src__chain; |
| 783 exports.src__stack_zone_specification = src__stack_zone_specification; |
| 783 exports.src__frame = src__frame; | 784 exports.src__frame = src__frame; |
| 785 exports.src__unparsed_frame = src__unparsed_frame; |
| 786 exports.src__vm_trace = src__vm_trace; |
| 787 exports.src__utils = src__utils; |
| 784 exports.src__lazy_trace = src__lazy_trace; | 788 exports.src__lazy_trace = src__lazy_trace; |
| 785 exports.src__stack_zone_specification = src__stack_zone_specification; | |
| 786 exports.src__trace = src__trace; | 789 exports.src__trace = src__trace; |
| 787 exports.src__unparsed_frame = src__unparsed_frame; | |
| 788 exports.src__utils = src__utils; | |
| 789 exports.src__vm_trace = src__vm_trace; | |
| 790 exports.stack_trace = stack_trace; | 790 exports.stack_trace = stack_trace; |
| 791 }); | 791 }); |
| OLD | NEW |