Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 80c93c1

Browse filesBrowse files
Skip tags on abstract definitions when relevant
1 parent 9fdd36f commit 80c93c1
Copy full SHA for 80c93c1

File tree

21 files changed

+90
-30
lines changed
Filter options

21 files changed

+90
-30
lines changed

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddCacheClearerPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddCacheClearerPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ public function process(ContainerBuilder $container)
3333

3434
$clearers = array();
3535
foreach ($container->findTaggedServiceIds('kernel.cache_clearer') as $id => $attributes) {
36+
if ($container->getDefinition($id)->isAbstract()) {
37+
continue;
38+
}
3639
$clearers[] = new Reference($id);
3740
}
3841

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddExpressionLanguageProvidersPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddExpressionLanguageProvidersPass.php
+6Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ public function process(ContainerBuilder $container)
3131
if ($container->has('router')) {
3232
$definition = $container->findDefinition('router');
3333
foreach ($container->findTaggedServiceIds('routing.expression_language_provider') as $id => $attributes) {
34+
if ($container->getDefinition($id)->isAbstract()) {
35+
continue;
36+
}
3437
$definition->addMethodCall('addExpressionLanguageProvider', array(new Reference($id)));
3538
}
3639
}
@@ -39,6 +42,9 @@ public function process(ContainerBuilder $container)
3942
if ($container->has('security.access.expression_voter')) {
4043
$definition = $container->findDefinition('security.access.expression_voter');
4144
foreach ($container->findTaggedServiceIds('security.expression_language_provider') as $id => $attributes) {
45+
if ($container->getDefinition($id)->isAbstract()) {
46+
continue;
47+
}
4248
$definition->addMethodCall('addExpressionLanguageProvider', array(new Reference($id)));
4349
}
4450
}

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/CachePoolClearerPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/CachePoolClearerPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ public function process(ContainerBuilder $container)
3131
$pools = array();
3232

3333
foreach ($container->findTaggedServiceIds('cache.pool') as $id => $attributes) {
34+
if ($container->getDefinition($id)->isAbstract()) {
35+
continue;
36+
}
3437
$pools[$id] = new Reference($id);
3538
foreach (array_reverse($attributes) as $attr) {
3639
if (isset($attr['clearer'])) {

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ProfilerPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/ProfilerPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ public function process(ContainerBuilder $container)
3434
$collectors = new \SplPriorityQueue();
3535
$order = PHP_INT_MAX;
3636
foreach ($container->findTaggedServiceIds('data_collector') as $id => $attributes) {
37+
if ($container->getDefinition($id)->isAbstract()) {
38+
continue;
39+
}
3740
$priority = isset($attributes[0]['priority']) ? $attributes[0]['priority'] : 0;
3841
$template = null;
3942

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TemplatingPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TemplatingPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ public function process(ContainerBuilder $container)
3333
if ($container->hasDefinition('templating.engine.php')) {
3434
$helpers = array();
3535
foreach ($container->findTaggedServiceIds('templating.helper') as $id => $attributes) {
36+
if ($container->getDefinition($id)->isAbstract()) {
37+
continue;
38+
}
3639
if (isset($attributes[0]['alias'])) {
3740
$helpers[$attributes[0]['alias']] = $id;
3841
}

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslationDumperPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslationDumperPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ public function process(ContainerBuilder $container)
2929
$definition = $container->getDefinition('translation.writer');
3030

3131
foreach ($container->findTaggedServiceIds('translation.dumper') as $id => $attributes) {
32+
if ($container->getDefinition($id)->isAbstract()) {
33+
continue;
34+
}
3235
$definition->addMethodCall('addDumper', array($attributes[0]['alias'], new Reference($id)));
3336
}
3437
}

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslationExtractorPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslationExtractorPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ public function process(ContainerBuilder $container)
3030
$definition = $container->getDefinition('translation.extractor');
3131

3232
foreach ($container->findTaggedServiceIds('translation.extractor') as $id => $attributes) {
33+
if ($container->getDefinition($id)->isAbstract()) {
34+
continue;
35+
}
3336
if (!isset($attributes[0]['alias'])) {
3437
throw new RuntimeException(sprintf('The alias for the tag "translation.extractor" of service "%s" must be set.', $id));
3538
}

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslatorPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/TranslatorPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ public function process(ContainerBuilder $container)
2727
$loaders = array();
2828
$loaderRefs = array();
2929
foreach ($container->findTaggedServiceIds('translation.loader') as $id => $attributes) {
30+
if ($container->getDefinition($id)->isAbstract()) {
31+
continue;
32+
}
3033
$loaderRefs[$id] = new Reference($id);
3134
$loaders[$id][] = $attributes[0]['alias'];
3235
if (isset($attributes[0]['legacy-alias'])) {

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/AddCacheWarmerPassTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/AddCacheWarmerPassTest.php
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ public function testThatCacheWarmersAreProcessedInPriorityOrder()
3333
->will($this->returnValue($services));
3434
$container->expects($this->atLeastOnce())
3535
->method('getDefinition')
36-
->with('cache_warmer')
3736
->will($this->returnValue($definition));
3837
$container->expects($this->atLeastOnce())
3938
->method('hasDefinition')

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/ConfigCachePassTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/ConfigCachePassTest.php
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public function testThatCheckersAreProcessedInPriorityOrder()
3737
->will($this->returnValue($services));
3838
$container->expects($this->atLeastOnce())
3939
->method('getDefinition')
40-
->with('config_cache_factory')
4140
->will($this->returnValue($definition));
4241

4342
$definition->expects($this->once())

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/PropertyInfoPassTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/PropertyInfoPassTest.php
+6-1Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\PropertyInfoPass;
16+
use Symfony\Component\DependencyInjection\Definition;
1617
use Symfony\Component\DependencyInjection\Reference;
1718

1819
/**
@@ -34,12 +35,16 @@ public function testServicesAreOrderedAccordingToPriority()
3435
new Reference('n3'),
3536
);
3637

37-
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('findTaggedServiceIds'))->getMock();
38+
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('findTaggedServiceIds', 'getDefinition'))->getMock();
3839

3940
$container
4041
->expects($this->any())
4142
->method('findTaggedServiceIds')
4243
->will($this->returnValue($services));
44+
$container
45+
->expects($this->any())
46+
->method('getDefinition')
47+
->will($this->returnValue(new Definition()));
4348

4449
$propertyInfoPass = new PropertyInfoPass();
4550

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/SerializerPassTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Compiler/SerializerPassTest.php
+6-2Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler;
1313

1414
use PHPUnit\Framework\TestCase;
15+
use Symfony\Component\DependencyInjection\Definition;
1516
use Symfony\Component\DependencyInjection\Reference;
1617
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\SerializerPass;
1718

@@ -61,7 +62,7 @@ public function testThrowExceptionWhenNoEncoders()
6162
array()
6263
));
6364

64-
$container->expects($this->once())
65+
$container->expects($this->atLeastOnce())
6566
->method('getDefinition')
6667
->will($this->returnValue($definition));
6768

@@ -85,11 +86,14 @@ public function testServicesAreOrderedAccordingToPriority()
8586
new Reference('n3'),
8687
);
8788

88-
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('findTaggedServiceIds'))->getMock();
89+
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('findTaggedServiceIds', 'getDefinition'))->getMock();
8990

9091
$container->expects($this->any())
9192
->method('findTaggedServiceIds')
9293
->will($this->returnValue($services));
94+
$container->expects($this->any())
95+
->method('getDefinition')
96+
->will($this->returnValue(new Definition()));
9397

9498
$serializerPass = new SerializerPass();
9599

‎src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/TwigEnvironmentPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/TwigEnvironmentPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ public function process(ContainerBuilder $container)
3737
$calls = $definition->getMethodCalls();
3838
$definition->setMethodCalls(array());
3939
foreach ($container->findTaggedServiceIds('twig.extension') as $id => $attributes) {
40+
if ($container->getDefinition($id)->isAbstract()) {
41+
continue;
42+
}
4043
$definition->addMethodCall('addExtension', array(new Reference($id)));
4144
}
4245
$definition->setMethodCalls(array_merge($definition->getMethodCalls(), $calls));

‎src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/TwigLoaderPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/TwigLoaderPass.php
+16-15Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,27 +29,28 @@ public function process(ContainerBuilder $container)
2929
return;
3030
}
3131

32-
// register additional template loaders
33-
$loaderIds = $container->findTaggedServiceIds('twig.loader');
32+
$prioritizedLoaders = array();
33+
$found = 0;
3434

35-
if (count($loaderIds) === 0) {
35+
foreach ($container->findTaggedServiceIds('twig.loader') as $id => $tags) {
36+
if ($container->getDefinition($id)->isAbstract()) {
37+
continue;
38+
}
39+
foreach ($tags as $tag) {
40+
$priority = isset($tag['priority']) ? $tag['priority'] : 0;
41+
$prioritizedLoaders[$priority][] = $id;
42+
}
43+
++$found;
44+
}
45+
46+
if (!$found) {
3647
throw new LogicException('No twig loaders found. You need to tag at least one loader with "twig.loader"');
3748
}
3849

39-
if (count($loaderIds) === 1) {
40-
$container->setAlias('twig.loader', key($loaderIds));
50+
if (1 === $found) {
51+
$container->setAlias('twig.loader', current($prioritizedLoaders)[0]);
4152
} else {
4253
$chainLoader = $container->getDefinition('twig.loader.chain');
43-
44-
$prioritizedLoaders = array();
45-
46-
foreach ($loaderIds as $id => $tags) {
47-
foreach ($tags as $tag) {
48-
$priority = isset($tag['priority']) ? $tag['priority'] : 0;
49-
$prioritizedLoaders[$priority][] = $id;
50-
}
51-
}
52-
5354
krsort($prioritizedLoaders);
5455

5556
foreach ($prioritizedLoaders as $loaders) {

‎src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/Compiler/TwigLoaderPassTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/Compiler/TwigLoaderPassTest.php
+11-6Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Bundle\TwigBundle\Tests\DependencyInjection\Compiler;
1313

1414
use PHPUnit\Framework\TestCase;
15+
use Symfony\Component\DependencyInjection\ContainerBuilder;
1516
use Symfony\Component\DependencyInjection\Definition;
1617
use Symfony\Bundle\TwigBundle\DependencyInjection\Compiler\TwigLoaderPass;
1718

@@ -53,6 +54,9 @@ public function testMapperPassWithOneTaggedLoaders()
5354
->method('findTaggedServiceIds')
5455
->with('twig.loader')
5556
->will($this->returnValue($serviceIds));
57+
$this->builder->expects($this->once())
58+
->method('getDefinition')
59+
->will($this->returnValue(new Definition()));
5660
$this->builder->expects($this->once())
5761
->method('setAlias')
5862
->with('twig.loader', 'test_loader_1');
@@ -79,10 +83,11 @@ public function testMapperPassWithTwoTaggedLoaders()
7983
->method('findTaggedServiceIds')
8084
->with('twig.loader')
8185
->will($this->returnValue($serviceIds));
82-
$this->builder->expects($this->once())
86+
$this->builder->expects($this->exactly(3))
8387
->method('getDefinition')
84-
->with('twig.loader.chain')
85-
->will($this->returnValue($this->chainLoader));
88+
->withConsecutive(array('test_loader_1'), array('test_loader_2'), array('twig.loader.chain'))
89+
->willReturnOnConsecutiveCalls(new Definition(), new Definition(), $this->chainLoader);
90+
8691
$this->builder->expects($this->once())
8792
->method('setAlias')
8893
->with('twig.loader', 'twig.loader.chain');
@@ -115,10 +120,10 @@ public function testMapperPassWithTwoTaggedLoadersWithPriority()
115120
->method('findTaggedServiceIds')
116121
->with('twig.loader')
117122
->will($this->returnValue($serviceIds));
118-
$this->builder->expects($this->once())
123+
$this->builder->expects($this->exactly(3))
119124
->method('getDefinition')
120-
->with('twig.loader.chain')
121-
->will($this->returnValue($this->chainLoader));
125+
->withConsecutive(array('test_loader_1'), array('test_loader_2'), array('twig.loader.chain'))
126+
->willReturnOnConsecutiveCalls(new Definition(), new Definition(), $this->chainLoader);
122127
$this->builder->expects($this->once())
123128
->method('setAlias')
124129
->with('twig.loader', 'twig.loader.chain');

‎src/Symfony/Component/Config/Tests/DependencyInjection/ConfigCachePassTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Config/Tests/DependencyInjection/ConfigCachePassTest.php
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ public function testThatCheckersAreProcessedInPriorityOrder()
3434
->will($this->returnValue($services));
3535
$container->expects($this->atLeastOnce())
3636
->method('getDefinition')
37-
->with('config_cache_factory')
3837
->will($this->returnValue($definition));
3938

4039
$definition->expects($this->once())

‎src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ private function findAndSortTaggedServices($tagName, ContainerBuilder $container
4141
$services = array();
4242

4343
foreach ($container->findTaggedServiceIds($tagName) as $serviceId => $tags) {
44+
if ($container->getDefinition($serviceId)->isAbstract()) {
45+
continue;
46+
}
4447
foreach ($tags as $attributes) {
4548
$priority = isset($attributes['priority']) ? $attributes['priority'] : 0;
4649
$services[$priority][] = new Reference($serviceId);

‎src/Symfony/Component/Form/DependencyInjection/FormPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Form/DependencyInjection/FormPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ private function processFormTypes(ContainerBuilder $container, Definition $defin
6363
// Builds an array with fully-qualified type class names as keys and service IDs as values
6464
foreach ($container->findTaggedServiceIds($this->formTypeTag) as $serviceId => $tag) {
6565
$serviceDefinition = $container->getDefinition($serviceId);
66+
if ($serviceDefinition->isAbstract()) {
67+
continue;
68+
}
6669

6770
// Add form type service to the service locator
6871
$servicesMap[$serviceDefinition->getClass()] = new Reference($serviceId);

‎src/Symfony/Component/PropertyInfo/Tests/DependencyInjection/PropertyInfoPassTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/PropertyInfo/Tests/DependencyInjection/PropertyInfoPassTest.php
+6-1Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Component\PropertyInfo\Tests\DependencyInjection;
1313

1414
use PHPUnit\Framework\TestCase;
15+
use Symfony\Component\DependencyInjection\Definition;
1516
use Symfony\Component\DependencyInjection\Reference;
1617
use Symfony\Component\PropertyInfo\DependencyInjection\PropertyInfoPass;
1718

@@ -31,12 +32,16 @@ public function testServicesAreOrderedAccordingToPriority()
3132
new Reference('n3'),
3233
);
3334

34-
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('findTaggedServiceIds'))->getMock();
35+
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('findTaggedServiceIds', 'getDefinition'))->getMock();
3536

3637
$container
3738
->expects($this->any())
3839
->method('findTaggedServiceIds')
3940
->will($this->returnValue($services));
41+
$container
42+
->expects($this->any())
43+
->method('getDefinition')
44+
->will($this->returnValue(new Definition()));
4045

4146
$propertyInfoPass = new PropertyInfoPass();
4247

‎src/Symfony/Component/Routing/DependencyInjection/RoutingResolverPass.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Routing/DependencyInjection/RoutingResolverPass.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ public function process(ContainerBuilder $container)
4040
$definition = $container->getDefinition($this->resolverServiceId);
4141

4242
foreach ($container->findTaggedServiceIds($this->loaderTag) as $id => $attributes) {
43+
if ($container->getDefinition($id)->isAbstract()) {
44+
continue;
45+
}
4346
$definition->addMethodCall('addLoader', array(new Reference($id)));
4447
}
4548
}

‎src/Symfony/Component/Serializer/Tests/DependencyInjection/SerializerPassTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Serializer/Tests/DependencyInjection/SerializerPassTest.php
+6-2Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Component\Serializer\Tests\DependencyInjection;
1313

1414
use PHPUnit\Framework\TestCase;
15+
use Symfony\Component\DependencyInjection\Definition;
1516
use Symfony\Component\DependencyInjection\Reference;
1617
use Symfony\Component\Serializer\DependencyInjection\SerializerPass;
1718

@@ -59,7 +60,7 @@ public function testThrowExceptionWhenNoEncoders()
5960
array()
6061
));
6162

62-
$container->expects($this->once())
63+
$container->expects($this->atLeastOnce())
6364
->method('getDefinition')
6465
->will($this->returnValue($definition));
6566

@@ -83,11 +84,14 @@ public function testServicesAreOrderedAccordingToPriority()
8384
new Reference('n3'),
8485
);
8586

86-
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('findTaggedServiceIds'))->getMock();
87+
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')->setMethods(array('findTaggedServiceIds', 'getDefinition'))->getMock();
8788

8889
$container->expects($this->any())
8990
->method('findTaggedServiceIds')
9091
->will($this->returnValue($services));
92+
$container->expects($this->any())
93+
->method('getDefinition')
94+
->will($this->returnValue(new Definition()));
9195

9296
$serializerPass = new SerializerPass();
9397

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.