Skip to content

Commit 7c47e34

Browse files
committed
[CS Fix] Consistent coding-style of concatenation operator usage
1 parent 54b32f1 commit 7c47e34

File tree

107 files changed

+305
-305
lines changed

Some content is hidden

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

107 files changed

+305
-305
lines changed

UPGRADE-2.1.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -901,7 +901,7 @@
901901
public function guessPattern($class, $property)
902902
{
903903
if (/* condition */) {
904-
return new ValueGuess('.{' . $minLength . ',}', Guess::LOW_CONFIDENCE);
904+
return new ValueGuess('.{'.$minLength.',}', Guess::LOW_CONFIDENCE);
905905
}
906906
}
907907
```
@@ -1189,7 +1189,7 @@
11891189
public function isPropertyValid(ExecutionContext $context)
11901190
{
11911191
// ...
1192-
$propertyPath = $context->getPropertyPath() . '.property';
1192+
$propertyPath = $context->getPropertyPath().'.property';
11931193
$context->setPropertyPath($propertyPath);
11941194
$context->addViolation('Error Message', array(), null);
11951195
}

UPGRADE-2.2.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@
464464
$path .= '.';
465465
}
466466
467-
$context->getGraphWalker()->walkReference($someObject, $group, $path . 'myProperty', false);
467+
$context->getGraphWalker()->walkReference($someObject, $group, $path.'myProperty', false);
468468
}
469469
}
470470
```

src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ protected function detectMetadataDriver($dir, ContainerBuilder $container)
304304
protected function loadObjectManagerCacheDriver(array $objectManager, ContainerBuilder $container, $cacheName)
305305
{
306306
$cacheDriver = $objectManager[$cacheName.'_driver'];
307-
$cacheDriverService = $this->getObjectManagerElementName($objectManager['name'] . '_' . $cacheName);
307+
$cacheDriverService = $this->getObjectManagerElementName($objectManager['name'].'_'.$cacheName);
308308

309309
switch ($cacheDriver['type']) {
310310
case 'service':

src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/DoctrineValidationPass.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,21 @@ public function process(ContainerBuilder $container)
5151
*/
5252
private function updateValidatorMappingFiles(ContainerBuilder $container, $mapping, $extension)
5353
{
54-
if ( ! $container->hasParameter('validator.mapping.loader.' . $mapping . '_files_loader.mapping_files')) {
54+
if ( ! $container->hasParameter('validator.mapping.loader.'.$mapping.'_files_loader.mapping_files')) {
5555
return;
5656
}
5757

58-
$files = $container->getParameter('validator.mapping.loader.' . $mapping . '_files_loader.mapping_files');
59-
$validationPath = 'Resources/config/validation.' . $this->managerType . '.' . $extension;
58+
$files = $container->getParameter('validator.mapping.loader.'.$mapping.'_files_loader.mapping_files');
59+
$validationPath = 'Resources/config/validation.'.$this->managerType.'.'.$extension;
6060

6161
foreach ($container->getParameter('kernel.bundles') as $bundle) {
6262
$reflection = new \ReflectionClass($bundle);
63-
if (is_file($file = dirname($reflection->getFilename()) . '/' . $validationPath)) {
63+
if (is_file($file = dirname($reflection->getFilename()).'/'.$validationPath)) {
6464
$files[] = realpath($file);
6565
$container->addResource(new FileResource($file));
6666
}
6767
}
6868

69-
$container->setParameter('validator.mapping.loader.' . $mapping . '_files_loader.mapping_files', $files);
69+
$container->setParameter('validator.mapping.loader.'.$mapping.'_files_loader.mapping_files', $files);
7070
}
7171
}

src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypePerformanceTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public function testCollapsedEntityField()
120120
*/
121121
public function testCollapsedEntityFieldWithChoices()
122122
{
123-
$choices = $this->em->createQuery('SELECT c FROM ' . self::ENTITY_CLASS . ' c')->getResult();
123+
$choices = $this->em->createQuery('SELECT c FROM '.self::ENTITY_CLASS.' c')->getResult();
124124
$this->setMaxRunningTime(1);
125125

126126
for ($i = 0; $i < 40; ++$i) {
@@ -139,7 +139,7 @@ public function testCollapsedEntityFieldWithChoices()
139139
*/
140140
public function testCollapsedEntityFieldWithPreferredChoices()
141141
{
142-
$choices = $this->em->createQuery('SELECT c FROM ' . self::ENTITY_CLASS . ' c')->getResult();
142+
$choices = $this->em->createQuery('SELECT c FROM '.self::ENTITY_CLASS.' c')->getResult();
143143
$this->setMaxRunningTime(1);
144144

145145
for ($i = 0; $i < 40; ++$i) {

src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public function validate($entity, Constraint $constraint)
9595
if (count($relatedId) > 1) {
9696
throw new ConstraintDefinitionException(
9797
"Associated entities are not allowed to have more than one identifier field to be " .
98-
"part of a unique constraint in: " . $class->getName() . "#" . $fieldName
98+
"part of a unique constraint in: ".$class->getName()."#".$fieldName
9999
);
100100
}
101101
$criteria[$fieldName] = array_pop($relatedId);

src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public function __construct($class, $labelPath = null, $choices = null, $queryOb
8484
{
8585
$this->class = $class;
8686

87-
$queryClass = $this->class . 'Query';
87+
$queryClass = $this->class.'Query';
8888
$query = new $queryClass();
8989

9090
$this->identifier = $query->getTableMap()->getPrimaryKeys();
@@ -198,7 +198,7 @@ public function getChoicesForValues(array $values)
198198
{
199199
if (!$this->loaded) {
200200
if (1 === count($this->identifier)) {
201-
$filterBy = 'filterBy' . current($this->identifier)->getPhpName();
201+
$filterBy = 'filterBy'.current($this->identifier)->getPhpName();
202202

203203
return (array) $this->query->create()
204204
->$filterBy($values)

src/Symfony/Bridge/Propel1/Security/User/PropelUserProvider.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class PropelUserProvider implements UserProviderInterface
5353
public function __construct($class, $property = null)
5454
{
5555
$this->class = $class;
56-
$this->queryClass = $class . 'Query';
56+
$this->queryClass = $class.'Query';
5757
$this->property = $property;
5858
}
5959

@@ -66,7 +66,7 @@ public function loadUserByUsername($username)
6666
$query = $queryClass::create();
6767

6868
if (null !== $this->property) {
69-
$filter = 'filterBy' . ucfirst($this->property);
69+
$filter = 'filterBy'.ucfirst($this->property);
7070
$query->$filter($username);
7171
} else {
7272
$query->filterByUsername($username);

src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function compile(\Twig_Compiler $compiler)
2929

3030
if (isset($arguments[0])) {
3131
$compiler->subcompile($arguments[0]);
32-
$compiler->raw(', \'' . $blockNameSuffix . '\'');
32+
$compiler->raw(', \''.$blockNameSuffix.'\'');
3333

3434
if (isset($arguments[1])) {
3535
if ('label' === $blockNameSuffix) {

src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ public function isSelectedChoiceProvider()
134134
*/
135135
public function testIsChoiceSelected($expected, $choice, $value)
136136
{
137-
$choice = new ChoiceView($choice, $choice, $choice . ' label');
137+
$choice = new ChoiceView($choice, $choice, $choice.' label');
138138

139139
$this->assertSame($expected, $this->extension->isSelectedChoice($choice, $value));
140140
}

src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ private function formatConfigs(array $array)
184184
$string = '';
185185
ksort($array);
186186
foreach ($array as $name => $value) {
187-
$string .= ($string ? "\n" . str_repeat(' ', 13) : '') . $name . ': ' . $this->formatValue($value);
187+
$string .= ($string ? "\n".str_repeat(' ', 13) : '').$name.': '.$this->formatValue($value);
188188
}
189189

190190
return $string;

src/Symfony/Bundle/FrameworkBundle/Resources/config/router.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
* @author: Albert Jessurum <[email protected]>
2222
*/
2323

24-
if (is_file($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $_SERVER['SCRIPT_NAME'])) {
24+
if (is_file($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$_SERVER['SCRIPT_NAME'])) {
2525
return false;
2626
}
2727

28-
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'app_dev.php';
28+
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'app_dev.php';
2929

3030
require 'app_dev.php';

src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ protected function getExtensions()
4747
// should be moved to the Form component once absolute file paths are supported
4848
// by the default name parser in the Templating component
4949
$reflClass = new \ReflectionClass('Symfony\Bundle\FrameworkBundle\FrameworkBundle');
50-
$root = realpath(dirname($reflClass->getFileName()) . '/Resources/views');
50+
$root = realpath(dirname($reflClass->getFileName()).'/Resources/views');
5151
$rootTheme = realpath(__DIR__.'/Resources');
5252
$templateNameParser = new StubTemplateNameParser($root, $rootTheme);
5353
$loader = new FilesystemLoader(array());

src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ protected function getExtensions()
4747
// should be moved to the Form component once absolute file paths are supported
4848
// by the default name parser in the Templating component
4949
$reflClass = new \ReflectionClass('Symfony\Bundle\FrameworkBundle\FrameworkBundle');
50-
$root = realpath(dirname($reflClass->getFileName()) . '/Resources/views');
50+
$root = realpath(dirname($reflClass->getFileName()).'/Resources/views');
5151
$rootTheme = realpath(__DIR__.'/Resources');
5252
$templateNameParser = new StubTemplateNameParser($root, $rootTheme);
5353
$loader = new FilesystemLoader(array());

src/Symfony/Bundle/SecurityBundle/Command/InitAclCommand.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
5959
try {
6060
$schema->addToSchema($connection->getSchemaManager()->createSchema());
6161
} catch (SchemaException $e) {
62-
$output->writeln("Aborting: " . $e->getMessage());
62+
$output->writeln("Aborting: ".$e->getMessage());
6363

6464
return 1;
6565
}

src/Symfony/Bundle/SecurityBundle/Templating/Helper/LogoutUrlHelper.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,10 @@ private function generateLogoutUrl($key, $referenceType)
101101
if ('/' === $logoutPath[0]) {
102102
$request = $this->container->get('request');
103103

104-
$url = UrlGeneratorInterface::ABSOLUTE_URL === $referenceType ? $request->getUriForPath($logoutPath) : $request->getBasePath() . $logoutPath;
104+
$url = UrlGeneratorInterface::ABSOLUTE_URL === $referenceType ? $request->getUriForPath($logoutPath) : $request->getBasePath().$logoutPath;
105105

106106
if (!empty($parameters)) {
107-
$url .= '?' . http_build_query($parameters);
107+
$url .= '?'.http_build_query($parameters);
108108
}
109109
} else {
110110
$url = $this->router->generate($logoutPath, $parameters, $referenceType);

src/Symfony/Bundle/SecurityBundle/Tests/Functional/SwitchUserTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public function testSwitchUser($originalUser, $targetUser, $expectedUser, $expec
2323
{
2424
$client = $this->createAuthenticatedClient($originalUser);
2525

26-
$client->request('GET', '/profile?_switch_user=' . $targetUser);
26+
$client->request('GET', '/profile?_switch_user='.$targetUser);
2727

2828
$this->assertEquals($expectedStatus, $client->getResponse()->getStatusCode());
2929
$this->assertEquals($expectedUser, $client->getProfile()->getCollector('security')->getUser());

src/Symfony/Bundle/SecurityBundle/Tests/Functional/WebTestCase.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ protected static function createKernel(array $options = array())
6060
return new $class(
6161
$options['test_case'],
6262
isset($options['root_config']) ? $options['root_config'] : 'config.yml',
63-
isset($options['environment']) ? $options['environment'] : 'securitybundletest' . strtolower($options['test_case']),
63+
isset($options['environment']) ? $options['environment'] : 'securitybundletest'.strtolower($options['test_case']),
6464
isset($options['debug']) ? $options['debug'] : true
6565
);
6666
}

src/Symfony/Component/ClassLoader/ClassLoader.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -170,29 +170,29 @@ public function findFile($class)
170170

171171
if (false !== $pos = strrpos($class, '\\')) {
172172
// namespaced class name
173-
$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)) . DIRECTORY_SEPARATOR;
173+
$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR;
174174
$className = substr($class, $pos + 1);
175175
} else {
176176
// PEAR-like class name
177177
$classPath = null;
178178
$className = $class;
179179
}
180180

181-
$classPath .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
181+
$classPath .= str_replace('_', DIRECTORY_SEPARATOR, $className).'.php';
182182

183183
foreach ($this->prefixes as $prefix => $dirs) {
184184
if (0 === strpos($class, $prefix)) {
185185
foreach ($dirs as $dir) {
186-
if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) {
187-
return $dir . DIRECTORY_SEPARATOR . $classPath;
186+
if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
187+
return $dir.DIRECTORY_SEPARATOR.$classPath;
188188
}
189189
}
190190
}
191191
}
192192

193193
foreach ($this->fallbackDirs as $dir) {
194-
if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) {
195-
return $dir . DIRECTORY_SEPARATOR . $classPath;
194+
if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
195+
return $dir.DIRECTORY_SEPARATOR.$classPath;
196196
}
197197
}
198198

src/Symfony/Component/ClassLoader/ClassMapGenerator.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ private static function findClasses($path)
121121
}
122122
}
123123

124-
$classes[] = ltrim($namespace . $class, '\\');
124+
$classes[] = ltrim($namespace.$class, '\\');
125125
break;
126126
default:
127127
break;

src/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public function testUseIncludePath()
100100
$loader->setUseIncludePath(true);
101101
$this->assertTrue($loader->getUseIncludePath());
102102

103-
set_include_path(__DIR__.'/Fixtures/includepath' . PATH_SEPARATOR . $includePath);
103+
set_include_path(__DIR__.'/Fixtures/includepath'.PATH_SEPARATOR.$includePath);
104104

105105
$this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'includepath'.DIRECTORY_SEPARATOR.'Foo.php', $loader->findFile('Foo'));
106106

src/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public function testCreateMapFinderSupport()
125125
}
126126

127127
$finder = new \Symfony\Component\Finder\Finder();
128-
$finder->files()->in(__DIR__ . '/Fixtures/beta/NamespaceCollision');
128+
$finder->files()->in(__DIR__.'/Fixtures/beta/NamespaceCollision');
129129

130130
$this->assertEqualsNormalized(array(
131131
'NamespaceCollision\\A\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Bar.php',

src/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public function testUseIncludePath()
4949
$loader->useIncludePath(true);
5050
$this->assertTrue($loader->getUseIncludePath());
5151

52-
set_include_path(__DIR__.'/Fixtures/includepath' . PATH_SEPARATOR . $includePath);
52+
set_include_path(__DIR__.'/Fixtures/includepath'.PATH_SEPARATOR.$includePath);
5353

5454
$this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'includepath'.DIRECTORY_SEPARATOR.'Foo.php', $loader->findFile('Foo'));
5555

src/Symfony/Component/Config/Definition/ReferenceDumper.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,12 @@ private function writeNode(NodeInterface $node, $depth = 0)
115115
$default = (string) $default != '' ? ' '.$default : '';
116116
$comments = count($comments) ? '# '.implode(', ', $comments) : '';
117117

118-
$text = rtrim(sprintf('%-20s %s %s', $node->getName() . ':', $default, $comments), ' ');
118+
$text = rtrim(sprintf('%-20s %s %s', $node->getName().':', $default, $comments), ' ');
119119

120120
if ($info = $node->getInfo()) {
121121
$this->writeLine('');
122122
// indenting multi-line info
123-
$info = str_replace("\n", sprintf("\n%" . $depth * 4 . "s# ", ' '), $info);
123+
$info = str_replace("\n", sprintf("\n%".$depth * 4 . "s# ", ' '), $info);
124124
$this->writeLine('# '.$info, $depth * 4);
125125
}
126126

src/Symfony/Component/Console/Helper/DialogHelper.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ public function ask(OutputInterface $output, $question, $default = null, array $
178178
// Save cursor position
179179
$output->write("\0337");
180180
// Write highlighted text
181-
$output->write('<hl>' . substr($matches[$ofs], $i) . '</hl>');
181+
$output->write('<hl>'.substr($matches[$ofs], $i).'</hl>');
182182
// Restore cursor position
183183
$output->write("\0338");
184184
}
@@ -230,11 +230,11 @@ public function askConfirmation(OutputInterface $output, $question, $default = t
230230
public function askHiddenResponse(OutputInterface $output, $question, $fallback = true)
231231
{
232232
if (defined('PHP_WINDOWS_VERSION_BUILD')) {
233-
$exe = __DIR__ . '/../Resources/bin/hiddeninput.exe';
233+
$exe = __DIR__.'/../Resources/bin/hiddeninput.exe';
234234

235235
// handle code running from a phar
236236
if ('phar:' === substr(__FILE__, 0, 5)) {
237-
$tmpExe = sys_get_temp_dir() . '/hiddeninput.exe';
237+
$tmpExe = sys_get_temp_dir().'/hiddeninput.exe';
238238
copy($exe, $tmpExe);
239239
$exe = $tmpExe;
240240
}

src/Symfony/Component/Console/Helper/ProgressHelper.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ private function humaneTime($secs)
402402
$text = $format[1];
403403
break;
404404
} else {
405-
$text = ceil($secs / $format[2]) . ' ' . $format[1];
405+
$text = ceil($secs / $format[2]).' '.$format[1];
406406
break;
407407
}
408408
}

src/Symfony/Component/Console/Tests/Helper/FormatterHelperTest.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ public function testFormatBlock()
3737
);
3838

3939
$this->assertEquals(
40-
'<error> Some text to display </error>' . "\n" .
40+
'<error> Some text to display </error>'."\n" .
4141
'<error> foo bar </error>',
4242
$formatter->formatBlock(array('Some text to display', 'foo bar'), 'error'),
4343
'::formatBlock() formats a message in a block'
4444
);
4545

4646
$this->assertEquals(
47-
'<error> </error>' . "\n" .
48-
'<error> Some text to display </error>' . "\n" .
47+
'<error> </error>'."\n" .
48+
'<error> Some text to display </error>'."\n" .
4949
'<error> </error>',
5050
$formatter->formatBlock('Some text to display', 'error', true),
5151
'::formatBlock() formats a message in a block'
@@ -61,8 +61,8 @@ public function testFormatBlockWithDiacriticLetters()
6161
$formatter = new FormatterHelper();
6262

6363
$this->assertEquals(
64-
'<error> </error>' . "\n" .
65-
'<error> Du texte à afficher </error>' . "\n" .
64+
'<error> </error>'."\n" .
65+
'<error> Du texte à afficher </error>'."\n" .
6666
'<error> </error>',
6767
$formatter->formatBlock('Du texte à afficher', 'error', true),
6868
'::formatBlock() formats a message in a block'
@@ -74,8 +74,8 @@ public function testFormatBlockLGEscaping()
7474
$formatter = new FormatterHelper();
7575

7676
$this->assertEquals(
77-
'<error> </error>' . "\n" .
78-
'<error> \<info>some info\</info> </error>' . "\n" .
77+
'<error> </error>'."\n" .
78+
'<error> \<info>some info\</info> </error>'."\n" .
7979
'<error> </error>',
8080
$formatter->formatBlock('<info>some info</info>', 'error', true),
8181
'::formatBlock() escapes \'<\' chars'

src/Symfony/Component/DependencyInjection/Extension/Extension.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public function getConfiguration(array $config, ContainerBuilder $container)
8585
$reflected = new \ReflectionClass($this);
8686
$namespace = $reflected->getNamespaceName();
8787

88-
$class = $namespace . '\\Configuration';
88+
$class = $namespace.'\\Configuration';
8989
if (class_exists($class)) {
9090
$r = new \ReflectionClass($class);
9191
$container->addResource(new FileResource($r->getFileName()));

0 commit comments

Comments
 (0)