Lines Matching full:source
25 void Identity(TypeRelation *const relation, Type *const source, Type *const target) in Identity() argument
27 relation->IsIdenticalTo(source, target); in Identity()
30 void WideningPrimitive(TypeRelation *const relation, Type *const source, Type *const target) in WideningPrimitive() argument
32 …ASSERT(source->HasTypeFlag(TypeFlag::ETS_PRIMITIVE) && target->HasTypeFlag(TypeFlag::ETS_PRIMITIVE… in WideningPrimitive()
34 WideningConverter(relation->GetChecker()->AsETSChecker(), relation, target, source); in WideningPrimitive()
37 void NarrowingPrimitive(TypeRelation *const relation, Type *const source, Type *const target) in NarrowingPrimitive() argument
39 …ASSERT(source->HasTypeFlag(TypeFlag::ETS_PRIMITIVE) && target->HasTypeFlag(TypeFlag::ETS_PRIMITIVE… in NarrowingPrimitive()
41 NarrowingConverter(relation->GetChecker()->AsETSChecker(), relation, target, source); in NarrowingPrimitive()
44 void WideningNarrowingPrimitive(TypeRelation *const relation, ByteType *const source, CharType *con… in WideningNarrowingPrimitive() argument
47 WideningPrimitive(relation, source, tempInt); in WideningNarrowingPrimitive()
54 void WideningReference(TypeRelation *const relation, ETSObjectType *const source, ETSObjectType *co… in WideningReference() argument
56 relation->IsSupertypeOf(target, source); in WideningReference()
59 void WideningReference(TypeRelation *const relation, ETSArrayType *const source, ETSObjectType *con… in WideningReference() argument
61 relation->IsSupertypeOf(target, source); in WideningReference()
64 void WideningReference(TypeRelation *const relation, ETSArrayType *const source, ETSArrayType *cons… in WideningReference() argument
66 relation->IsSupertypeOf(target, source); in WideningReference()
71 …NarrowingReferenceConversionObjectObject(TypeRelation *const relation, ETSObjectType *const source, in IsAllowedNarrowingReferenceConversionObjectObject() argument
77 if (relation->IsSupertypeOf(target, source) || relation->IsSupertypeOf(source, target)) { in IsAllowedNarrowingReferenceConversionObjectObject()
82 …if (source->HasObjectFlag(ETSObjectFlags::INTERFACE) && target->HasObjectFlag(ETSObjectFlags::INTE… in IsAllowedNarrowingReferenceConversionObjectObject()
87 …if (source->HasObjectFlag(ETSObjectFlags::CLASS) && target->HasObjectFlag(ETSObjectFlags::INTERFAC… in IsAllowedNarrowingReferenceConversionObjectObject()
88 !source->GetDeclNode()->IsFinal()) { in IsAllowedNarrowingReferenceConversionObjectObject()
94 …if (source->HasObjectFlag(ETSObjectFlags::CLASS) && target->HasObjectFlag(ETSObjectFlags::INTERFAC… in IsAllowedNarrowingReferenceConversionObjectObject()
95 source->GetDeclNode()->IsFinal() && relation->IsSupertypeOf(source, target)) { in IsAllowedNarrowingReferenceConversionObjectObject()
100 …if (source->HasObjectFlag(ETSObjectFlags::INTERFACE) && target->HasObjectFlag(ETSObjectFlags::CLAS… in IsAllowedNarrowingReferenceConversionObjectObject()
108 …return (source->HasObjectFlag(ETSObjectFlags::INTERFACE) && target->HasObjectFlag(ETSObjectFlags::… in IsAllowedNarrowingReferenceConversionObjectObject()
109 target->GetDeclNode()->IsFinal() && relation->IsSupertypeOf(target, source)); in IsAllowedNarrowingReferenceConversionObjectObject()
112 bool IsAllowedNarrowingReferenceConversion(TypeRelation *const relation, Type *const source, Type *… in IsAllowedNarrowingReferenceConversion() argument
114 ASSERT(source->HasTypeFlag(checker::TypeFlag::ETS_ARRAY_OR_OBJECT) && in IsAllowedNarrowingReferenceConversion()
123 if (relation->IsSupertypeOf(target, source)) { in IsAllowedNarrowingReferenceConversion()
133 if (source->HasTypeFlag(TypeFlag::ETS_OBJECT) && target->HasTypeFlag(TypeFlag::ETS_OBJECT)) { in IsAllowedNarrowingReferenceConversion()
134 if (IsAllowedNarrowingReferenceConversionObjectObject(relation, source->AsETSObjectType(), in IsAllowedNarrowingReferenceConversion()
140 if (source->HasTypeFlag(TypeFlag::ETS_OBJECT) && target->HasTypeFlag(TypeFlag::ETS_ARRAY)) { in IsAllowedNarrowingReferenceConversion()
147 if (source->HasTypeFlag(TypeFlag::ETS_ARRAY) && target->HasTypeFlag(TypeFlag::ETS_ARRAY)) { in IsAllowedNarrowingReferenceConversion()
150 auto *sc = source->AsETSArrayType()->ElementType(); in IsAllowedNarrowingReferenceConversion()
183 … [[maybe_unused]] Type *const source, [[maybe_unused]] Type *const target) in IsUncheckedNarrowingReferenceConversion() argument
185 ASSERT(source->HasTypeFlag(checker::TypeFlag::ETS_ARRAY_OR_OBJECT) && in IsUncheckedNarrowingReferenceConversion()
203 void NarrowingReferenceImpl(TypeRelation *const relation, Type *const source, Type *const target) in NarrowingReferenceImpl() argument
207 if (!IsAllowedNarrowingReferenceConversion(relation, source, target)) { in NarrowingReferenceImpl()
212 if (!IsUncheckedNarrowingReferenceConversion(relation, source, target)) { in NarrowingReferenceImpl()
220 void NarrowingReference(TypeRelation *const relation, ETSObjectType *const source, ETSObjectType *c… in NarrowingReference() argument
222 NarrowingReferenceImpl(relation, source, target); in NarrowingReference()
225 void NarrowingReference(TypeRelation *const relation, ETSArrayType *const source, ETSArrayType *con… in NarrowingReference() argument
227 if (source->ElementType()->IsETSArrayType() && target->ElementType()->IsETSArrayType()) { in NarrowingReference()
228 …NarrowingReference(relation, source->ElementType()->AsETSArrayType(), target->ElementType()->AsETS… in NarrowingReference()
232 NarrowingReferenceImpl(relation, source, target); in NarrowingReference()
235 void NarrowingReference(TypeRelation *const relation, ETSObjectType *const source, ETSArrayType *co… in NarrowingReference() argument
238 NarrowingReference(relation, source, target->ElementType()->AsETSArrayType()); in NarrowingReference()
242 NarrowingReferenceImpl(relation, source, target); in NarrowingReference()
252 ETSObjectType *Boxing(TypeRelation *const relation, Type *const source) in Boxing() argument
255 const BoxingConverter boxed(etsChecker, relation, source); in Boxing()
264 Type *Unboxing(TypeRelation *const relation, ETSObjectType *const source) in Unboxing() argument
267 const UnboxingConverter unboxed(etsChecker, relation, source); in Unboxing()
276 void UnboxingWideningPrimitive(TypeRelation *const relation, ETSObjectType *const source, Type *con… in UnboxingWideningPrimitive() argument
278 auto *const unboxedSource = Unboxing(relation, source); in UnboxingWideningPrimitive()
287 void UnboxingNarrowingPrimitive(TypeRelation *const relation, ETSObjectType *const source, Type *co… in UnboxingNarrowingPrimitive() argument
289 auto *const unboxedSource = Unboxing(relation, source); in UnboxingNarrowingPrimitive()
297 void UnboxingWideningNarrowingPrimitive(TypeRelation *const relation, ETSObjectType *const source, … in UnboxingWideningNarrowingPrimitive() argument
299 auto *const unboxedSource = Unboxing(relation, source); in UnboxingWideningNarrowingPrimitive()
307 void NarrowingReferenceUnboxing(TypeRelation *const relation, ETSObjectType *const source, Type *co… in NarrowingReferenceUnboxing() argument
314 NarrowingReference(relation, source, boxedTarget->AsETSObjectType()); in NarrowingReferenceUnboxing()
321 void BoxingWideningReference(TypeRelation *const relation, Type *const source, ETSObjectType *const… in BoxingWideningReference() argument
323 auto *const boxedSource = Boxing(relation, source); in BoxingWideningReference()
332 void String(TypeRelation *const relation, Type *const source) in String() argument
334 if (source->HasTypeFlag(TypeFlag::BYTE | TypeFlag::SHORT)) { in String()
336 WideningPrimitive(relation, source, tempInt); in String()
342 …if (source->HasTypeFlag(TypeFlag::ETS_BOOLEAN | TypeFlag::CHAR | TypeFlag::INT | TypeFlag::LONG | … in String()
344 Boxing(relation, source); in String()
349 ASSERT(source->HasTypeFlag(TypeFlag::ETS_OBJECT)); in String()