Skip to content

Commit e74b90a

Browse files
committed
Add meta fingerprint to XsiTypeDetector cache key
1 parent c8909db commit e74b90a

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

src/TypeInference/XsiTypeDetector.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,14 @@ static function () use ($context, $type): FixedIsoEncoder {
124124

125125
private static function cacheKey(XsdType $type): string
126126
{
127-
return $type->getXmlNamespace() . '|' . $type->getXmlTypeName();
127+
$meta = $type->getMeta();
128+
129+
return $type->getXmlNamespace() . '|' . $type->getXmlTypeName()
130+
. '|' . ($meta->isElement()->unwrapOr(false) ? 'e' : '')
131+
. ($meta->isAttribute()->unwrapOr(false) ? 'a' : '')
132+
. ($meta->isNullable()->unwrapOr(false) ? 'n' : '')
133+
. ($meta->isList()->unwrapOr(false) ? 'l' : '')
134+
. ($meta->isQualified()->unwrapOr(false) ? 'q' : '');
128135
}
129136

130137
/**

0 commit comments

Comments
 (0)