<?php

declare(strict_types=1);

use Rector\Config\RectorConfig;

return RectorConfig::configure()
    ->withSkip([
        __DIR__ . '/www/challenge/codegeex/11_00_programming_languages',
        __DIR__ . '/core/inc/3p',

        \Rector\Php83\Rector\ClassMethod\AddOverrideAttributeToOverriddenMethodsRector::class,
    ])
    ->withPaths([
        __DIR__ . '/core',
        __DIR__ . '/GWF3.php',
        __DIR__ . '/gwf3.class.php',
//        __DIR__ . '/www/challenge',
    ])
    ->withRules([
        // php 5.3 set
//        \Rector\Visibility\Rector\ClassMethod\ExplicitPublicClassMethodRector::class,
//        \Rector\Php53\Rector\FuncCall\DirNameFileConstantToDirConstantRector::class,
//        \Rector\Php53\Rector\Variable\ReplaceHttpServerVarsByServerRector::class,
//        \Rector\Php53\Rector\Ternary\TernaryToElvisRector::class,

//        \Rector\Php54\Rector\FuncCall\RemoveReferenceFromCallRector::class,
//        \Rector\Php54\Rector\Break_\RemoveZeroBreakContinueRector::class,
        // not applied
//        \Rector\Php54\Rector\Array_\LongArrayToShortArrayRector::class,
//
//        \Rector\Php55\Rector\FuncCall\GetCalledClassToSelfClassRector::class,
//        \Rector\Php55\Rector\FuncCall\GetCalledClassToStaticClassRector::class,
//        \Rector\Php55\Rector\FuncCall\PregReplaceEModifierRector::class,
//        \Rector\Php55\Rector\ClassConstFetch\StaticToSelfOnFinalClassRector::class,
//        \Rector\Php55\Rector\String_\StringClassNameToClassConstantRector::class,
        //not applied
//        \Rector\Php55\Rector\Class_\ClassConstantToSelfClassRector::class,

//        \Rector\Php70\Rector\FunctionLike\ExceptionHandlerTypehintRector::class,
//        \Rector\Php70\Rector\MethodCall\ThisCallOnStaticMethodToStaticCallRector::class,
//        \Rector\Php70\Rector\FuncCall\EregToPregMatchRector::class,
//        \Rector\Php70\Rector\FuncCall\CallUserMethodRector::class,
//        \Rector\Php70\Rector\FuncCall\MultiDirnameRector::class,
        // not applied
//        \Rector\Php70\Rector\FuncCall\RandomFunctionRector::class,

//        \Rector\Php70\Rector\Variable\WrapVariableVariableNameInCurlyBracesRector::class,
//        \Rector\Php70\Rector\Break_\BreakNotInLoopOrSwitchToReturnRector::class,
        // not applied
//        \Rector\Php70\Rector\StmtsAwareInterface\IfIssetToCoalescingRector::class,
//        \Rector\Php70\Rector\Ternary\TernaryToSpaceshipRector::class,
        // not appleid
//        \Rector\Php70\Rector\Ternary\TernaryToNullCoalescingRector::class,
//        \Rector\Php70\Rector\Switch_\ReduceMultipleDefaultSwitchRector::class,
        \Rector\Php70\Rector\ClassMethod\Php4ConstructorRector::class,

    ])