@@ -106,8 +106,8 @@ void Engine::resolveIds()
106106 const auto &blocks = target->blocks ();
107107 for (auto block : blocks) {
108108 IExtension *ext = blockExtension (block->opcode ());
109- block->setNext (getBlock (block->nextId (), target.get ()));
110- block->setParent (getBlock (block->parentId (), target.get ()));
109+ block->setNext (getBlock (block->nextId (), target.get ()). get () );
110+ block->setParent (getBlock (block->parentId (), target.get ()). get () );
111111
112112 if (ext) {
113113 block->setCompileFunction (resolveBlockCompileFunc (ext, block->opcode ()));
@@ -116,7 +116,7 @@ void Engine::resolveIds()
116116
117117 const auto &inputs = block->inputs ();
118118 for (const auto &input : inputs) {
119- input->setValueBlock (getBlock (input->valueBlockId (), target.get ()));
119+ input->setValueBlock (getBlock (input->valueBlockId (), target.get ()). get () );
120120
121121 if (ext)
122122 input->setInputId (resolveInput (ext, input->name ()));
@@ -271,12 +271,12 @@ void Engine::compile()
271271 if (block->topLevel () && !block->isTopLevelReporter () && !block->shadow ()) {
272272 auto ext = blockExtension (block->opcode ());
273273 if (ext) {
274- auto script = std::make_shared<Script>(target.get (), block, this );
275- m_scripts[block] = script;
276- script->setCode (compiler.compile (block));
274+ auto script = std::make_shared<Script>(target.get (), block. get () , this );
275+ m_scripts[block. get () ] = script;
276+ script->setCode (compiler.compile (block. get () ));
277277
278278 if (block->hatPredicateCompileFunction ())
279- script->setHatPredicateCode (compiler.compile (block, Compiler::CodeType::HatPredicate));
279+ script->setHatPredicateCode (compiler.compile (block. get () , Compiler::CodeType::HatPredicate));
280280 } else {
281281 std::cout << " warning: unsupported top level block: " << block->opcode () << std::endl;
282282 m_unsupportedBlocks.insert (block->opcode ());
@@ -364,7 +364,7 @@ void Engine::stop()
364364 m_stopped ();
365365}
366366
367- Thread *Engine::startScript (std::shared_ptr< Block> topLevelBlock, Target *target)
367+ Thread *Engine::startScript (Block * topLevelBlock, Target *target)
368368{
369369 return pushThread (topLevelBlock, target).get ();
370370}
@@ -499,10 +499,10 @@ void Engine::step()
499499
500500 Target *target = hatBlock->target ();
501501 assert (target);
502- auto it = m_edgeActivatedHatValues.find (hatBlock. get () );
502+ auto it = m_edgeActivatedHatValues.find (hatBlock);
503503
504504 if (it == m_edgeActivatedHatValues.cend ()) {
505- m_edgeActivatedHatValues[hatBlock. get () ] = {};
505+ m_edgeActivatedHatValues[hatBlock] = {};
506506 } else {
507507 auto &map = it->second ;
508508 auto it = map.find (target);
@@ -513,7 +513,7 @@ void Engine::step()
513513
514514 bool newValue = thread->script ()->runHatPredicate (hatBlock->target ());
515515 bool edgeWasActivated = !oldValue && newValue; // changed from false true
516- m_edgeActivatedHatValues[hatBlock. get () ][target] = newValue;
516+ m_edgeActivatedHatValues[hatBlock][target] = newValue;
517517
518518 if (!edgeWasActivated)
519519 stopThread (thread.get ());
@@ -1036,18 +1036,18 @@ int Engine::findBroadcastById(const std::string &broadcastId) const
10361036 return it - m_broadcasts.begin ();
10371037}
10381038
1039- void Engine::addWhenTouchingObjectScript (std::shared_ptr< Block> hatBlock)
1039+ void Engine::addWhenTouchingObjectScript (Block * hatBlock)
10401040{
10411041 addHatToMap (m_whenTouchingObjectHats, m_scripts[hatBlock].get ());
10421042}
10431043
1044- void Engine::addGreenFlagScript (std::shared_ptr< Block> hatBlock)
1044+ void Engine::addGreenFlagScript (Block * hatBlock)
10451045{
10461046 std::cout << " passed block: " << hatBlock << std::endl;
10471047 addHatToMap (m_greenFlagHats, m_scripts[hatBlock].get ());
10481048}
10491049
1050- void Engine::addBroadcastScript (std::shared_ptr< Block> whenReceivedBlock, Field *field, Broadcast *broadcast)
1050+ void Engine::addBroadcastScript (Block * whenReceivedBlock, Field *field, Broadcast *broadcast)
10511051{
10521052 assert (!broadcast->isBackdropBroadcast ());
10531053 Script *script = m_scripts[whenReceivedBlock].get ();
@@ -1066,7 +1066,7 @@ void Engine::addBroadcastScript(std::shared_ptr<Block> whenReceivedBlock, Field
10661066 addHatField (script, HatField::BroadcastOption, field);
10671067}
10681068
1069- void Engine::addBackdropChangeScript (std::shared_ptr< Block> hatBlock, Field *field)
1069+ void Engine::addBackdropChangeScript (Block * hatBlock, Field *field)
10701070{
10711071 Stage *stage = this ->stage ();
10721072
@@ -1103,24 +1103,24 @@ void Engine::addBackdropChangeScript(std::shared_ptr<Block> hatBlock, Field *fie
11031103 addHatField (script, HatField::Backdrop, field);
11041104}
11051105
1106- void Engine::addCloneInitScript (std::shared_ptr< Block> hatBlock)
1106+ void Engine::addCloneInitScript (Block * hatBlock)
11071107{
11081108 addHatToMap (m_cloneInitHats, m_scripts[hatBlock].get ());
11091109}
11101110
1111- void Engine::addKeyPressScript (std::shared_ptr< Block> hatBlock, Field *field)
1111+ void Engine::addKeyPressScript (Block * hatBlock, Field *field)
11121112{
11131113 Script *script = m_scripts[hatBlock].get ();
11141114 addHatToMap (m_whenKeyPressedHats, script);
11151115 addHatField (script, HatField::KeyOption, field);
11161116}
11171117
1118- void Engine::addTargetClickScript (std::shared_ptr< Block> hatBlock)
1118+ void Engine::addTargetClickScript (Block * hatBlock)
11191119{
11201120 addHatToMap (m_whenTargetClickedHats, m_scripts[hatBlock].get ());
11211121}
11221122
1123- void Engine::addWhenGreaterThanScript (std::shared_ptr< Block> hatBlock)
1123+ void Engine::addWhenGreaterThanScript (Block * hatBlock)
11241124{
11251125 Script *script = m_scripts[hatBlock].get ();
11261126 addHatToMap (m_whenGreaterThanHats, script);
@@ -1434,7 +1434,7 @@ void Engine::setExtensions(const std::vector<std::string> &newExtensions)
14341434 }
14351435}
14361436
1437- const std::unordered_map<std::shared_ptr< Block> , std::shared_ptr<Script>> &Engine::scripts () const
1437+ const std::unordered_map<Block * , std::shared_ptr<Script>> &Engine::scripts () const
14381438{
14391439 return m_scripts;
14401440}
@@ -1866,9 +1866,9 @@ void Engine::compileMonitor(std::shared_ptr<Monitor> monitor)
18661866 MonitorChangeFunc changeFunc = resolveMonitorChangeFunc (ext, block->opcode ());
18671867 monitor->setValueChangeFunction (changeFunc);
18681868
1869- auto script = std::make_shared<Script>(target, block, this );
1869+ auto script = std::make_shared<Script>(target, block. get () , this );
18701870 monitor->setScript (script);
1871- auto code = compiler.compile (block, Compiler::CodeType::Reporter);
1871+ auto code = compiler.compile (block. get () , Compiler::CodeType::Reporter);
18721872 script->setCode (code);
18731873 m_monitorCompilerContexts[monitor.get ()] = ctx;
18741874
@@ -1975,7 +1975,7 @@ void Engine::addBroadcastPromise(Broadcast *broadcast, Thread *sender, bool wait
19751975 m_broadcastSenders[broadcast] = sender;
19761976}
19771977
1978- std::shared_ptr<Thread> Engine::pushThread (std::shared_ptr< Block> block, Target *target)
1978+ std::shared_ptr<Thread> Engine::pushThread (Block * block, Target *target)
19791979{
19801980 // https://github.com/scratchfoundation/scratch-vm/blob/f1aa92fad79af17d9dd1c41eeeadca099339a9f1/src/engine/runtime.js#L1649-L1661
19811981 if (!block) {
0 commit comments