Skip to content

Commit 5b3f7ca

Browse files
committed
!!!TASK: Refactor all remaining Singletons with Singleton Trait
1 parent 3bac790 commit 5b3f7ca

File tree

45 files changed

+163
-211
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+163
-211
lines changed

src/Target/Php/Transpiler/ComponentDeclaration/ComponentDeclarationTranspiler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public function writeReturnExpression(ComponentDeclarationNode $componentDeclara
124124
);
125125

126126
$returnExpression = $componentDeclarationNode->return;
127-
$returnTypeIsString = StringType::get()->is(
127+
$returnTypeIsString = StringType::singleton()->is(
128128
$expressionTypeResolver->resolveTypeOf($returnExpression)
129129
);
130130
$transpiledReturnExpression = $expressionTranspiler->transpile($returnExpression);

src/TypeSystem/Resolver/BinaryOperation/BinaryOperationTypeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public function resolveTypeOf(BinaryOperationNode $binaryOperationNode): TypeInt
4848
BinaryOperator::GREATER_THAN,
4949
BinaryOperator::GREATER_THAN_OR_EQUAL,
5050
BinaryOperator::LESS_THAN,
51-
BinaryOperator::LESS_THAN_OR_EQUAL => BooleanType::get()
51+
BinaryOperator::LESS_THAN_OR_EQUAL => BooleanType::singleton()
5252
};
5353
}
5454

src/TypeSystem/Resolver/BooleanLiteral/BooleanLiteralTypeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ final class BooleanLiteralTypeResolver
3030
{
3131
public function resolveTypeOf(BooleanLiteralNode $booleanLiteralNode): TypeInterface
3232
{
33-
return BooleanType::get();
33+
return BooleanType::singleton();
3434
}
3535
}

src/TypeSystem/Resolver/IntegerLiteral/IntegerLiteralTypeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ final class IntegerLiteralTypeResolver
3030
{
3131
public function resolveTypeOf(IntegerLiteralNode $IntegerLiteralNode): TypeInterface
3232
{
33-
return IntegerType::get();
33+
return IntegerType::singleton();
3434
}
3535
}

src/TypeSystem/Resolver/Match/MatchTypeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ public function resolveTypeOf(MatchNode $matchNode): TypeInterface
138138
);
139139

140140
return match (true) {
141-
BooleanType::get()->is($typeOfSubject) => $this->resolveTypeOfBooleanMatch($matchNode),
141+
BooleanType::singleton()->is($typeOfSubject) => $this->resolveTypeOfBooleanMatch($matchNode),
142142
$typeOfSubject instanceof EnumInstanceType => $this->resolveTypeOfEnumMatch($matchNode, $typeOfSubject),
143143
default => throw new \Exception('@TODO: Not handled ' . $typeOfSubject::class)
144144
};

src/TypeSystem/Resolver/NullLiteral/NullLiteralTypeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ final class NullLiteralTypeResolver
3030
{
3131
public function resolveTypeOf(NullLiteralNode $nullLiteralNode): TypeInterface
3232
{
33-
return NullType::get();
33+
return NullType::singleton();
3434
}
3535
}

src/TypeSystem/Resolver/StringLiteral/StringLiteralTypeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ final class StringLiteralTypeResolver
3030
{
3131
public function resolveTypeOf(StringLiteralNode $stringLiteralNode): TypeInterface
3232
{
33-
return StringType::get();
33+
return StringType::singleton();
3434
}
3535
}

src/TypeSystem/Resolver/Tag/TagTypeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ final class TagTypeResolver
3030
{
3131
public function resolveTypeOf(TagNode $tagNode): TypeInterface
3232
{
33-
return StringType::get();
33+
return StringType::singleton();
3434
}
3535
}

src/TypeSystem/Resolver/TemplateLiteral/TemplateLiteralTypeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ final class TemplateLiteralTypeResolver
3030
{
3131
public function resolveTypeOf(TemplateLiteralNode $templateLiteralNode): TypeInterface
3232
{
33-
return StringType::get();
33+
return StringType::singleton();
3434
}
3535
}

src/TypeSystem/Scope/GlobalScope/GlobalScope.php

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
use PackageFactory\ComponentEngine\Domain\TypeName\TypeName;
2626
use PackageFactory\ComponentEngine\Domain\VariableName\VariableName;
27+
use PackageFactory\ComponentEngine\Framework\PHP\Singleton\Singleton;
2728
use PackageFactory\ComponentEngine\TypeSystem\AtomicTypeInterface;
2829
use PackageFactory\ComponentEngine\TypeSystem\ScopeInterface;
2930
use PackageFactory\ComponentEngine\TypeSystem\Type\BooleanType\BooleanType;
@@ -34,24 +35,15 @@
3435

3536
final class GlobalScope implements ScopeInterface
3637
{
37-
private static null|self $instance = null;
38-
39-
private function __construct()
40-
{
41-
}
42-
43-
public static function get(): self
44-
{
45-
return self::$instance ??= new self();
46-
}
38+
use Singleton;
4739

4840
public function getType(TypeName $typeName): AtomicTypeInterface
4941
{
5042
return match ($typeName) {
51-
StringType::get()->getName() => StringType::get(),
52-
IntegerType::get()->getName() => IntegerType::get(),
53-
BooleanType::get()->getName() => BooleanType::get(),
54-
SlotType::get()->getName() => SlotType::get(),
43+
StringType::singleton()->getName() => StringType::singleton(),
44+
IntegerType::singleton()->getName() => IntegerType::singleton(),
45+
BooleanType::singleton()->getName() => BooleanType::singleton(),
46+
SlotType::singleton()->getName() => SlotType::singleton(),
5547
default => throw new \Exception('@TODO: Unknown Type ' . $typeName->value)
5648
};
5749
}

0 commit comments

Comments
 (0)