Code Duplication    Length = 31-32 lines in 2 locations

src/ConstraintCheck/DelegatingConstraintChecker.php 2 locations

@@ 461-491 (lines=31) @@
458
	 *
459
	 * @return CheckResult[]
460
	 */
461
	private function checkConstraintsForQualifiers(
462
		EntityDocument $entity,
463
		Statement $statement,
464
		array $constraintIds = null,
465
		callable $defaultResultsPerContext = null
466
	) {
467
		$result = [];
468
469
		if ( in_array(
470
			$statement->getPropertyId()->getSerialization(),
471
			$this->propertiesWithViolatingQualifiers
472
		) ) {
473
			return $result;
474
		}
475
476
		foreach ( $statement->getQualifiers() as $qualifier ) {
477
			$qualifierContext = new QualifierContext( $entity, $statement, $qualifier );
478
			if ( $defaultResultsPerContext !== null ) {
479
				$result = array_merge( $result, $defaultResultsPerContext( $qualifierContext ) );
480
			}
481
			$qualifierConstraints = $this->getConstraintsToUse(
482
				$qualifierContext->getSnak()->getPropertyId(),
483
				$constraintIds
484
			);
485
			foreach ( $qualifierConstraints as $qualifierConstraint ) {
486
				$result[] = $this->getCheckResultFor( $qualifierContext, $qualifierConstraint );
487
			}
488
		}
489
490
		return $result;
491
	}
492
493
	/**
494
	 * @param EntityDocument $entity
@@ 501-532 (lines=32) @@
498
	 *
499
	 * @return CheckResult[]
500
	 */
501
	private function checkConstraintsForReferences(
502
		EntityDocument $entity,
503
		Statement $statement,
504
		array $constraintIds = null,
505
		callable $defaultResultsPerContext = null
506
	) {
507
		$result = [];
508
509
		/** @var Reference $reference */
510
		foreach ( $statement->getReferences() as $reference ) {
511
			foreach ( $reference->getSnaks() as $snak ) {
512
				$referenceContext = new ReferenceContext(
513
					$entity, $statement, $reference, $snak
514
				);
515
				if ( $defaultResultsPerContext !== null ) {
516
					$result = array_merge( $result, $defaultResultsPerContext( $referenceContext ) );
517
				}
518
				$referenceConstraints = $this->getConstraintsToUse(
519
					$referenceContext->getSnak()->getPropertyId(),
520
					$constraintIds
521
				);
522
				foreach ( $referenceConstraints as $referenceConstraint ) {
523
					$result[] = $this->getCheckResultFor(
524
						$referenceContext,
525
						$referenceConstraint
526
					);
527
				}
528
			}
529
		}
530
531
		return $result;
532
	}
533
534
	/**
535
	 * @param Context $context