CommonLibVR
LinkerProcessor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/B/BSTArray.h"
5 #include "RE/B/BSTHashMap.h"
6 #include "RE/B/BSTSmartPointer.h"
8 
9 namespace RE
10 {
11  namespace BSScript
12  {
13  class ErrorLogger;
14  class IVirtualMachine;
15  class ObjectTypeInfo;
16 
18  {
19  public:
20  inline static constexpr auto RTTI = RTTI_BSScript__LinkerProcessor;
21  inline static constexpr auto VTABLE = VTABLE_BSScript__LinkerProcessor;
22 
23  ~LinkerProcessor() override; // 00
24 
25  // override (IObjectProcessor)
26  IObjectProcessor* Clone() override; // 01
27  void SetLoader(ILoader* a_loader) override; // 02 - { loader = a_loader; }
28  bool Process(const BSFixedString& a_className) override; // 03
29 
30  // members
33  ILoader* loader; // 18
34  bool allowRelinking; // 20 - whether to allow relinking when calling `Process` on already linked class
39  };
40  static_assert(sizeof(LinkerProcessor) == 0x90);
41  }
42 }
Definition: ErrorLogger.h:13
Definition: IObjectProcessor.h:12
Definition: IVirtualMachine.h:39
Definition: LinkerProcessor.h:18
bool allowRelinking
Definition: LinkerProcessor.h:34
IVirtualMachine * vm
Definition: LinkerProcessor.h:31
BSScrapArray< BSFixedString > processQueue
Definition: LinkerProcessor.h:37
static constexpr auto VTABLE
Definition: LinkerProcessor.h:21
BSTHashMap< BSFixedString, BSTSmartPointer< ObjectTypeInfo > > * classMap
Definition: LinkerProcessor.h:38
ILoader * loader
Definition: LinkerProcessor.h:33
IObjectProcessor * Clone() override
void SetLoader(ILoader *a_loader) override
bool Process(const BSFixedString &a_className) override
ErrorLogger * errorHandler
Definition: LinkerProcessor.h:32
BSScrapArray< BSFixedString > objectsToTypecheck
Definition: LinkerProcessor.h:36
BSScrapArray< BSFixedString > loadedParents
Definition: LinkerProcessor.h:35
static constexpr auto RTTI
Definition: LinkerProcessor.h:20
Definition: BSTArray.h:378
Definition: BSTHashMap.h:21
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSScript__LinkerProcessor(static_cast< std::uint64_t >(691869))
constexpr std::array< REL::ID, 1 > VTABLE_BSScript__LinkerProcessor
Definition: Offsets_VTABLE.h:9475
Definition: ILoader.h:13