@Override protected boolean matchesSubtypes(ResolvedType type) { boolean match = super.matchesSubtypes(type); if (match) { return match; } // are we dealing with array funkyness - pattern might be jlObject[]+ and type jlString[] if (type.isArray() && this.type.isArray()) { ResolvedType componentType = type.getComponentType().resolve(type.getWorld()); UnresolvedType newPatternType = this.type.getComponentType(); ExactTypePattern etp = new ExactTypePattern(newPatternType, includeSubtypes, false); return etp.matchesSubtypes(componentType, type); } return match; }
ResolvedType componentType = resolve(ty.getComponentType(), allowMissing); ret = new ArrayReferenceType(signature, "[" + componentType.getErasureSignature(), this, componentType); } else {