Coverage for /Syzygy/refinery/analyzers/analyzer_util.cc

CoverageLines executed / instrumented / missingexe / inst / missLanguageGroup
0.0%0048.C++source

Line-by-line coverage:

   1    :  // Copyright 2015 Google Inc. All Rights Reserved.
   2    :  //
   3    :  // Licensed under the Apache License, Version 2.0 (the "License");
   4    :  // you may not use this file except in compliance with the License.
   5    :  // You may obtain a copy of the License at
   6    :  //
   7    :  //     http://www.apache.org/licenses/LICENSE-2.0
   8    :  //
   9    :  // Unless required by applicable law or agreed to in writing, software
  10    :  // distributed under the License is distributed on an "AS IS" BASIS,
  11    :  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12    :  // See the License for the specific language governing permissions and
  13    :  // limitations under the License.
  14    :  
  15    :  #include "syzygy/refinery/analyzers/analyzer_util.h"
  16    :  
  17    :  #include "base/logging.h"
  18    :  #include "syzygy/refinery/process_state/refinery.pb.h"
  19    :  
  20  m :  namespace refinery {
  21    :  
  22  m :  void ParseContext(const CONTEXT& ctx, RegisterInformation* register_info) {
  23  m :    DCHECK(register_info != nullptr);
  24  m :    if (ctx.ContextFlags & CONTEXT_SEGMENTS) {
  25  m :      register_info->set_seg_gs(ctx.SegGs);
  26  m :      register_info->set_seg_fs(ctx.SegFs);
  27  m :      register_info->set_seg_es(ctx.SegEs);
  28  m :      register_info->set_seg_ds(ctx.SegDs);
  29  m :    }
  30  m :    if (ctx.ContextFlags & CONTEXT_INTEGER) {
  31  m :      register_info->set_edi(ctx.Edi);
  32  m :      register_info->set_esi(ctx.Esi);
  33  m :      register_info->set_ebx(ctx.Ebx);
  34  m :      register_info->set_edx(ctx.Edx);
  35  m :      register_info->set_ecx(ctx.Ecx);
  36  m :      register_info->set_eax(ctx.Eax);
  37  m :    }
  38  m :    if (ctx.ContextFlags & CONTEXT_CONTROL) {
  39  m :      register_info->set_ebp(ctx.Ebp);
  40  m :      register_info->set_eip(ctx.Eip);
  41  m :      register_info->set_seg_cs(ctx.SegCs);
  42  m :      register_info->set_eflags(ctx.EFlags);
  43  m :      register_info->set_esp(ctx.Esp);
  44  m :      register_info->set_seg_ss(ctx.SegSs);
  45  m :    }
  46  m :  }
  47    :  
  48  m :  SimpleProcessAnalysis::SimpleProcessAnalysis(ProcessState* process_state)
  49  m :      : process_state_(process_state) {
  50  m :  }
  51  m :  SimpleProcessAnalysis::SimpleProcessAnalysis(
  52  m :      ProcessState* process_state,
  53  m :      scoped_refptr<DiaSymbolProvider> dia_symbol_provider,
  54  m :      scoped_refptr<SymbolProvider> symbol_provider)
  55  m :      : process_state_(process_state),
  56  m :        dia_symbol_provider_(dia_symbol_provider),
  57  m :        symbol_provider_(symbol_provider) {
  58  m :  }
  59    :  
  60  m :  ProcessState* SimpleProcessAnalysis::process_state() const {
  61  m :    return process_state_;
  62  m :  }
  63    :  
  64  m :  scoped_refptr<DiaSymbolProvider> SimpleProcessAnalysis::dia_symbol_provider()
  65  m :      const {
  66    :    // TODO(siggi): Should there be a non-null assert here?
  67  m :    return dia_symbol_provider_;
  68  m :  }
  69    :  
  70  m :  scoped_refptr<SymbolProvider> SimpleProcessAnalysis::symbol_provider() const {
  71    :    // TODO(siggi): Should there be a non-null assert here?
  72  m :    return symbol_provider_;
  73  m :  }
  74    :  
  75  m :  }  // namespace refinery

Coverage information generated Fri Jul 29 11:00:21 2016.