@@ -23,23 +23,23 @@ namespace pl::core::ast {
2323 auto size = Token::getTypeSize (this ->m_type );
2424 auto offset = evaluator->getReadOffsetAndIncrement (size);
2525
26- std::unique_ptr <ptrn::Pattern> pattern;
26+ std::shared_ptr <ptrn::Pattern> pattern;
2727 if (Token::isUnsigned (this ->m_type ))
28- pattern = std::make_unique <ptrn::PatternUnsigned>(evaluator, offset, size, getLocation ().line );
28+ pattern = std::make_shared <ptrn::PatternUnsigned>(evaluator, offset, size, getLocation ().line );
2929 else if (Token::isSigned (this ->m_type ))
30- pattern = std::make_unique <ptrn::PatternSigned>(evaluator, offset, size, getLocation ().line );
30+ pattern = std::make_shared <ptrn::PatternSigned>(evaluator, offset, size, getLocation ().line );
3131 else if (Token::isFloatingPoint (this ->m_type ))
32- pattern = std::make_unique <ptrn::PatternFloat>(evaluator, offset, size, getLocation ().line );
32+ pattern = std::make_shared <ptrn::PatternFloat>(evaluator, offset, size, getLocation ().line );
3333 else if (this ->m_type == Token::ValueType::Boolean)
34- pattern = std::make_unique <ptrn::PatternBoolean>(evaluator, offset, getLocation ().line );
34+ pattern = std::make_shared <ptrn::PatternBoolean>(evaluator, offset, getLocation ().line );
3535 else if (this ->m_type == Token::ValueType::Character)
36- pattern = std::make_unique <ptrn::PatternCharacter>(evaluator, offset, getLocation ().line );
36+ pattern = std::make_shared <ptrn::PatternCharacter>(evaluator, offset, getLocation ().line );
3737 else if (this ->m_type == Token::ValueType::Character16)
38- pattern = std::make_unique <ptrn::PatternWideCharacter>(evaluator, offset, getLocation ().line );
38+ pattern = std::make_shared <ptrn::PatternWideCharacter>(evaluator, offset, getLocation ().line );
3939 else if (this ->m_type == Token::ValueType::Padding)
40- pattern = std::make_unique <ptrn::PatternPadding>(evaluator, offset, 1 , getLocation ().line );
40+ pattern = std::make_shared <ptrn::PatternPadding>(evaluator, offset, 1 , getLocation ().line );
4141 else if (this ->m_type == Token::ValueType::String)
42- pattern = std::make_unique <ptrn::PatternString>(evaluator, offset, 0 , getLocation ().line );
42+ pattern = std::make_shared <ptrn::PatternString>(evaluator, offset, 0 , getLocation ().line );
4343 else if (this ->m_type == Token::ValueType::CustomType) {
4444 std::vector<Token::Literal> params;
4545
0 commit comments