11#include < scratchcpp/project.h>
2- #include < scratchcpp/sprite.h>
3- #include < scratchcpp/costume.h>
4- #include < scratchcpp/sound.h>
2+ #include < scratchcpp/target.h>
53#include < scratchcpp/iengine.h>
64#include < scratchcpp/variable.h>
75#include < engine/internal/codegen/llvm/llvmcodeanalyzer.h>
@@ -22,17 +20,11 @@ class LLVMCodeAnalyzer_VariableTypeAnalysis : public testing::Test
2220 {
2321 auto engine = m_project.engine ();
2422 m_target = std::make_shared<Target>();
25- m_spriteWithUnsafeConstants = std::make_shared<Sprite>();
2623
27- auto costume = std::make_shared<Costume>(m_unsafeCostumeNumConstant, " " , " " );
28- m_spriteWithUnsafeConstants->addCostume (costume);
24+ engine->setTargets ({ m_target });
2925
30- auto sound = std::make_shared<Sound>(m_unsafeSoundNumConstant, " " , " " );
31- m_spriteWithUnsafeConstants->addSound (sound);
32-
33- engine->setTargets ({ m_target, m_spriteWithUnsafeConstants });
34-
35- m_ctx = std::make_unique<LLVMCompilerContext>(engine.get (), m_target.get ());
26+ const std::unordered_set<std::string> unsafeConstants = { m_unsafeCostumeNumConstant, m_unsafeSoundNumConstant };
27+ m_ctx = std::make_unique<LLVMCompilerContext>(engine.get (), m_target.get (), unsafeConstants);
3628 m_builder = std::make_unique<llvm::IRBuilder<>>(*m_ctx->llvmCtx ());
3729 m_utils = std::make_unique<LLVMBuildUtils>(m_ctx.get (), *m_builder, Compiler::CodeType::Script);
3830 m_analyzer = std::make_unique<LLVMCodeAnalyzer>(*m_utils);
@@ -47,7 +39,6 @@ class LLVMCodeAnalyzer_VariableTypeAnalysis : public testing::Test
4739 private:
4840 Project m_project;
4941 std::shared_ptr<Target> m_target;
50- std::shared_ptr<Sprite> m_spriteWithUnsafeConstants;
5142 std::unique_ptr<LLVMCompilerContext> m_ctx;
5243 std::unique_ptr<llvm::IRBuilder<>> m_builder;
5344 std::unique_ptr<LLVMBuildUtils> m_utils;
0 commit comments