| // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file |
| |
| part of mocks; |
| |
| typedef M.FunctionCallTree SampleProfileMockLoadFunctionTreeCallback( |
| M.ProfileTreeDirection direction); |
| typedef M.CodeCallTree SampleProfileMockLoadCodeTreeCallback( |
| M.ProfileTreeDirection direction); |
| |
| class SampleProfileMock implements M.SampleProfile { |
| final SampleProfileMockLoadFunctionTreeCallback _loadFunctionTree; |
| final SampleProfileMockLoadCodeTreeCallback _loadCodeTree; |
| |
| final int sampleCount; |
| final int stackDepth; |
| final double sampleRate; |
| final double timeSpan; |
| final Iterable<M.ProfileCode> codes; |
| final Iterable<M.ProfileFunction> functions; |
| |
| M.FunctionCallTree loadFunctionTree(M.ProfileTreeDirection direction) { |
| if (_loadFunctionTree != null) { |
| return _loadFunctionTree(direction); |
| } |
| return null; |
| } |
| M.CodeCallTree loadCodeTree(M.ProfileTreeDirection direction) { |
| if (_loadCodeTree != null) { |
| return _loadCodeTree(direction); |
| } |
| return null; |
| } |
| |
| SampleProfileMock({this.sampleCount: 0, this.stackDepth: 0, |
| this.sampleRate: 1.0, this.timeSpan: 1.0, |
| this.codes: const [], this.functions: const [], |
| SampleProfileMockLoadFunctionTreeCallback loadFunctionTree, |
| SampleProfileMockLoadCodeTreeCallback loadCodeTree}) |
| : _loadFunctionTree = loadFunctionTree, |
| _loadCodeTree = loadCodeTree; |
| } |