Code Duplication    Length = 5-5 lines in 4 locations

src/POData/UriProcessor/QueryProcessor/ExpressionParser/ExpressionParser.php 4 locations

@@ 664-668 (lines=5) @@
661
        // be converted to language specific function call by expression 
662
        // provider
663
        $string = new StringType();
664
        if ($left->typeIs($string) && $right->typeIs($string)) {
665
            $strcmpFunctions = FunctionDescription::stringComparisonFunctions();
666
            $left = new FunctionCallExpression($strcmpFunctions[0], array($left, $right));
667
            $right = new ConstantExpression(0, new Int32());  
668
        }
669
670
        $dateTime = new DateTime();
671
        if ($left->typeIs($dateTime) && $right->typeIs($dateTime)) {
@@ 671-675 (lines=5) @@
668
        }
669
670
        $dateTime = new DateTime();
671
        if ($left->typeIs($dateTime) && $right->typeIs($dateTime)) {
672
            $dateTimeCmpFunctions = FunctionDescription::dateTimeComparisonFunctions();
673
            $left = new FunctionCallExpression( $dateTimeCmpFunctions[0], array($left, $right));
674
            $right = new ConstantExpression(0, new Int32());
675
        }
676
677
        $guid = new Guid();
678
        if ($left->typeIs($guid) && $right->typeIs($guid)) {
@@ 678-682 (lines=5) @@
675
        }
676
677
        $guid = new Guid();
678
        if ($left->typeIs($guid) && $right->typeIs($guid)) {
679
            $guidEqualityFunctions = FunctionDescription::guidEqualityFunctions();
680
            $left = new FunctionCallExpression($guidEqualityFunctions[0], array($left, $right));
681
            $right = new ConstantExpression(true, new Boolean());
682
        }
683
684
        $binary = new Binary();
685
        if ($left->typeIs($binary) && $right->typeIs($binary)) {
@@ 685-689 (lines=5) @@
682
        }
683
684
        $binary = new Binary();
685
        if ($left->typeIs($binary) && $right->typeIs($binary)) {
686
            $binaryEqualityFunctions = FunctionDescription::binaryEqualityFunctions();
687
            $left = new FunctionCallExpression($binaryEqualityFunctions[0], array($left, $right));
688
            $right = new ConstantExpression(true, new Boolean());
689
        }
690
691
        $null = new Null1();
692
        if ($left->typeIs($null) || $right->typeIs($null)) {