blob: 9dd386e7d985ea42e8b991fede2fdca640a30d71 [file] [log] [blame]
// 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;
}