| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- // Copyright 2019 Google
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- #import "FIRCLSMockSymbolResolver.h"
- #import "FIRCLSStackFrame.h"
- @interface FIRCLSMockSymbolResolver () {
- NSMutableDictionary *_frames;
- }
- @end
- @implementation FIRCLSMockSymbolResolver
- - (instancetype)init {
- self = [super init];
- if (!self) {
- return nil;
- }
- _frames = [[NSMutableDictionary alloc] init];
- return self;
- }
- - (void)addMockFrame:(FIRCLSStackFrame *)frame atAddress:(uint64_t)address {
- [_frames setObject:frame forKey:@(address)];
- }
- - (BOOL)updateStackFrame:(FIRCLSStackFrame *)frame {
- FIRCLSStackFrame *matchedFrame = [_frames objectForKey:@([frame address])];
- if (!matchedFrame) {
- return NO;
- }
- [frame setSymbol:[matchedFrame symbol]];
- [frame setLibrary:[matchedFrame library]];
- [frame setOffset:[matchedFrame offset]];
- return YES;
- }
- - (BOOL)loadBinaryImagesFromFile:(NSString *)path {
- // the mock doesn't need this
- return YES;
- }
- @end
|