/arkcompiler/ets_frontend/ets2panda/checker/ets/ |
H A D | conversion.cpp | 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 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 41 NarrowingConverter(relation->GetChecker()->AsETSChecker(), relation, target, source); in NarrowingPrimitive() 44 void WideningNarrowingPrimitive(TypeRelation *const relation, ByteType *const source, CharType *const target) in WideningNarrowingPrimitive() argument 46 auto *const tempInt = relation in WideningNarrowingPrimitive() 54 WideningReference(TypeRelation *const relation, ETSObjectType *const source, ETSObjectType *const target) WideningReference() argument 59 WideningReference(TypeRelation *const relation, ETSArrayType *const source, ETSObjectType *const target) WideningReference() argument 64 WideningReference(TypeRelation *const relation, ETSArrayType *const source, ETSArrayType *const target) WideningReference() argument 71 IsAllowedNarrowingReferenceConversionObjectObject(TypeRelation *const relation, ETSObjectType *const source, ETSObjectType *const target) IsAllowedNarrowingReferenceConversionObjectObject() argument 117 IsAllowedNarrowingReferenceConversion(TypeRelation *const relation, Type *const source, Type *const target) IsAllowedNarrowingReferenceConversion() argument 187 IsUncheckedNarrowingReferenceConversion([[maybe_unused]] TypeRelation *const relation, [[maybe_unused]] Type *const source, [[maybe_unused]] Type *const target) IsUncheckedNarrowingReferenceConversion() argument 208 NarrowingReferenceImpl(TypeRelation *const relation, Type *const source, Type *const target) NarrowingReferenceImpl() argument 225 NarrowingReference(TypeRelation *const relation, ETSObjectType *const source, ETSObjectType *const target) NarrowingReference() argument 230 NarrowingReference(TypeRelation *const relation, ETSArrayType *const source, ETSArrayType *const target) NarrowingReference() argument 240 NarrowingReference(TypeRelation *const relation, ETSObjectType *const source, ETSArrayType *const target) NarrowingReference() argument 250 RollbackBoxingIfFailed(TypeRelation *const relation) RollbackBoxingIfFailed() argument 257 Boxing(TypeRelation *const relation, Type *const source) Boxing() argument 269 Unboxing(TypeRelation *const relation, ETSObjectType *const source) Unboxing() argument 281 UnboxingWideningPrimitive(TypeRelation *const relation, ETSObjectType *const source, Type *const target) UnboxingWideningPrimitive() argument 292 UnboxingNarrowingPrimitive(TypeRelation *const relation, ETSObjectType *const source, Type *const target) UnboxingNarrowingPrimitive() argument 302 UnboxingWideningNarrowingPrimitive(TypeRelation *const relation, ETSObjectType *const source, Type *const target) UnboxingWideningNarrowingPrimitive() argument 312 NarrowingReferenceUnboxing(TypeRelation *const relation, ETSObjectType *const source, Type *const target) NarrowingReferenceUnboxing() argument 326 BoxingWideningReference(TypeRelation *const relation, Type *const source, ETSObjectType *const target) BoxingWideningReference() argument 337 String(TypeRelation *const relation, Type *const source) String() argument 357 Forbidden(TypeRelation *const relation) Forbidden() argument [all...] |
H A D | conversion.h | 23 void Identity(TypeRelation *relation, Type *source, Type *target); 25 void WideningPrimitive(TypeRelation *relation, Type *source, Type *target); 26 void NarrowingPrimitive(TypeRelation *relation, Type *source, Type *target); 27 void WideningNarrowingPrimitive(TypeRelation *relation, ByteType *source, CharType *target); 29 void WideningReference(TypeRelation *relation, ETSObjectType *source, ETSObjectType *target); 30 void WideningReference(TypeRelation *relation, ETSArrayType *source, ETSObjectType *target); 31 void WideningReference(TypeRelation *relation, ETSArrayType *source, ETSArrayType *target); 33 void NarrowingReference(TypeRelation *relation, ETSObjectType *source, ETSObjectType *target); 34 void NarrowingReference(TypeRelation *relation, ETSObjectType *source, ETSArrayType *target); 35 void NarrowingReference(TypeRelation *relation, ETSArrayTyp [all...] |
H A D | castingContext.cpp | 20 CastingContext::CastingContext(TypeRelation *relation, std::initializer_list<TypeErrorMessageElement> list, in CastingContext() argument 25 const SavedTypeRelationFlagsContext savedTypeRelationFlags(relation, flags_); in CastingContext() 26 relation->SetNode(data.node); in CastingContext() 27 relation->Result(false); in CastingContext() 29 if (!relation->IsSupertypeOf(data.target, data.source)) { in CastingContext() 30 relation->IsCastableTo(data.source, data.target); in CastingContext() 31 if (!relation->IsTrue() && data.source->ToString() == data.target->ToString()) { in CastingContext() 32 relation->Result(true); in CastingContext() 34 if (!relation->IsTrue() && (flags_ & TypeRelationFlag::NO_THROW) == 0) { in CastingContext() 35 relation in CastingContext() [all...] |
/arkcompiler/ets_frontend/ets2panda/checker/types/ets/ |
H A D | floatType.cpp | 22 void FloatType::Identical(TypeRelation *relation, Type *other) in Identical() argument 25 relation->Result(true); in Identical() 29 void FloatType::AssignmentTarget(TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 31 if (relation->ApplyUnboxing()) { in AssignmentTarget() 32 relation->GetChecker()->AsETSChecker()->AddUnboxingFlagToPrimitiveType(relation, source, this); in AssignmentTarget() 34 NarrowingWideningConverter(relation->GetChecker()->AsETSChecker(), relation, this, source); in AssignmentTarget() 37 bool FloatType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) in AssignmentSource() argument 39 if (relation in AssignmentSource() 53 Cast(TypeRelation *const relation, Type *const target) Cast() argument 98 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | byteType.cpp | 22 void ByteType::Identical(TypeRelation *relation, Type *other) in Identical() argument 25 relation->Result(true); in Identical() 29 void ByteType::AssignmentTarget(TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 31 if (relation->ApplyUnboxing()) { in AssignmentTarget() 32 relation->GetChecker()->AsETSChecker()->AddUnboxingFlagToPrimitiveType(relation, source, this); in AssignmentTarget() 34 NarrowingConverter(relation->GetChecker()->AsETSChecker(), relation, this, source); in AssignmentTarget() 37 bool ByteType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) in AssignmentSource() argument 39 if (relation in AssignmentSource() 53 Cast(TypeRelation *const relation, Type *const target) Cast() argument 98 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | doubleType.cpp | 22 void DoubleType::Identical(TypeRelation *relation, Type *other) in Identical() argument 25 relation->Result(true); in Identical() 29 void DoubleType::AssignmentTarget(TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 31 if (relation->ApplyUnboxing() && !relation->IsTrue()) { in AssignmentTarget() 32 relation->GetChecker()->AsETSChecker()->AddUnboxingFlagToPrimitiveType(relation, source, this); in AssignmentTarget() 34 WideningConverter(relation->GetChecker()->AsETSChecker(), relation, this, source); in AssignmentTarget() 37 bool DoubleType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unuse argument 52 Cast(TypeRelation *const relation, Type *const target) Cast() argument 93 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | charType.cpp | 22 void CharType::Identical(TypeRelation *relation, Type *other) in Identical() argument 25 relation->Result(true); in Identical() 29 void CharType::AssignmentTarget(TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 31 if (relation->ApplyUnboxing()) { in AssignmentTarget() 32 relation->GetChecker()->AsETSChecker()->AddUnboxingFlagToPrimitiveType(relation, source, this); in AssignmentTarget() 34 NarrowingWideningConverter(relation->GetChecker()->AsETSChecker(), relation, this, source); in AssignmentTarget() 37 bool CharType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) in AssignmentSource() argument 39 if (relation in AssignmentSource() 58 Cast(TypeRelation *const relation, Type *const target) Cast() argument 108 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | intType.cpp | 22 void IntType::Identical(TypeRelation *relation, Type *other) in Identical() argument 25 relation->Result(true); in Identical() 29 void IntType::AssignmentTarget(TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 31 if (relation->ApplyUnboxing() && !relation->IsTrue()) { in AssignmentTarget() 32 relation->GetChecker()->AsETSChecker()->AddUnboxingFlagToPrimitiveType(relation, source, this); in AssignmentTarget() 34 NarrowingWideningConverter(relation->GetChecker()->AsETSChecker(), relation, this, source); in AssignmentTarget() 37 bool IntType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unuse argument 53 Cast(TypeRelation *const relation, Type *const target) Cast() argument 103 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | shortType.cpp | 22 void ShortType::Identical(TypeRelation *relation, Type *other) in Identical() argument 25 relation->Result(true); in Identical() 29 void ShortType::AssignmentTarget(TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 31 if (relation->ApplyUnboxing() && !relation->IsTrue()) { in AssignmentTarget() 32 relation->GetChecker()->AsETSChecker()->AddUnboxingFlagToPrimitiveType(relation, source, this); in AssignmentTarget() 34 NarrowingWideningConverter(relation->GetChecker()->AsETSChecker(), relation, this, source); in AssignmentTarget() 37 bool ShortType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unuse argument 53 Cast(TypeRelation *const relation, Type *const target) Cast() argument 98 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | longType.cpp | 22 void LongType::Identical(TypeRelation *relation, Type *other) in Identical() argument 25 relation->Result(true); in Identical() 29 void LongType::AssignmentTarget(TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 31 if (relation->ApplyUnboxing() && !relation->IsTrue()) { in AssignmentTarget() 32 relation->GetChecker()->AsETSChecker()->AddUnboxingFlagToPrimitiveType(relation, source, this); in AssignmentTarget() 34 NarrowingWideningConverter(relation->GetChecker()->AsETSChecker(), relation, this, source); in AssignmentTarget() 37 bool LongType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unuse argument 53 Cast(TypeRelation *const relation, Type *const target) Cast() argument 98 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | etsReadonlyType.cpp | 33 void ETSReadonlyType::Identical(TypeRelation *relation, Type *other) in Identical() argument 35 relation->Result(false); in Identical() 37 relation->IsIdenticalTo(GetUnderlying(), other->AsETSReadonlyType()->GetUnderlying()); in Identical() 41 bool ETSReadonlyType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) in AssignmentSource() argument 43 return relation->Result(false); in AssignmentSource() 46 void ETSReadonlyType::AssignmentTarget([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 49 relation->Result(true); in AssignmentTarget() 52 relation->Result(false); in AssignmentTarget() 55 void ETSReadonlyType::Cast(TypeRelation *relation, [[maybe_unused]] Type *target) in Cast() argument 57 if (relation in Cast() 67 CastTarget(TypeRelation *relation, [[maybe_unused]] Type *source) CastTarget() argument 78 IsSupertypeOf([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *source) IsSupertypeOf() argument 83 IsSubtypeOf([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) IsSubtypeOf() argument 92 Substitute([[maybe_unused]] TypeRelation *relation, const Substitution *substitution) Substitute() argument 111 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | etsNonNullishType.cpp | 32 void ETSNonNullishType::Identical(TypeRelation *relation, Type *other) in Identical() argument 35 relation->IsIdenticalTo(GetUnderlying(), other->AsETSNonNullishType()->GetUnderlying()); in Identical() 39 bool ETSNonNullishType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) in AssignmentSource() argument 41 return relation->IsSupertypeOf(target, this); in AssignmentSource() 44 void ETSNonNullishType::AssignmentTarget([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 46 relation->IsSupertypeOf(this, source); in AssignmentTarget() 49 void ETSNonNullishType::Cast(TypeRelation *relation, Type *target) in Cast() argument 51 if (relation->IsSupertypeOf(target, this)) { in Cast() 52 relation->RemoveFlags(TypeRelationFlag::UNCHECKED_CAST); in Cast() 55 if (relation in Cast() 62 CastTarget(TypeRelation *relation, Type *source) CastTarget() argument 74 IsSupertypeOf([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *source) IsSupertypeOf() argument 79 IsSubtypeOf([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) IsSubtypeOf() argument 88 Substitute([[maybe_unused]] TypeRelation *relation, const Substitution *substitution) Substitute() argument 107 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | etsBooleanType.cpp | 22 void ETSBooleanType::Identical(TypeRelation *relation, Type *other) in Identical() argument 25 relation->Result(true); in Identical() 29 void ETSBooleanType::AssignmentTarget([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *source) in AssignmentTarget() argument 31 if (relation->ApplyUnboxing() && !relation->IsTrue()) { in AssignmentTarget() 32 relation->GetChecker()->AsETSChecker()->AddUnboxingFlagToPrimitiveType(relation, source, this); in AssignmentTarget() 36 bool ETSBooleanType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) in AssignmentSource() argument 38 if (relation->ApplyBoxing() && target->IsETSObjectType()) { in AssignmentSource() 39 relation in AssignmentSource() 45 Cast(TypeRelation *const relation, Type *const target) Cast() argument 70 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | etsTypeParameter.cpp | 31 void ETSTypeParameter::Identical(TypeRelation *relation, Type *other) in Identical() argument 33 relation->Result(false); in Identical() 35 relation->Result(true); in Identical() 39 bool ETSTypeParameter::AssignmentSource(TypeRelation *relation, [[maybe_unused]] Type *target) in AssignmentSource() argument 41 return relation->IsAssignableTo(this->GetConstraintType(), target); in AssignmentSource() 44 void ETSTypeParameter::AssignmentTarget(TypeRelation *relation, Type *source) in AssignmentTarget() argument 47 relation->Result(true); in AssignmentTarget() 51 relation->IsSupertypeOf(this, source); in AssignmentTarget() 54 void ETSTypeParameter::Cast(TypeRelation *relation, Type *target) in Cast() argument 56 if (relation in Cast() 68 CastTarget(TypeRelation *relation, Type *source) CastTarget() argument 78 IsSupertypeOf([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *source) IsSupertypeOf() argument 83 IsSubtypeOf([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) IsSubtypeOf() argument 92 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument 106 Substitute([[maybe_unused]] TypeRelation *relation, const Substitution *substitution) Substitute() argument [all...] |
H A D | etsArrayType.cpp | 69 void ETSArrayType::Identical(TypeRelation *relation, Type *other) in Identical() argument 74 relation->Result(true); in Identical() 77 relation->IsIdenticalTo(element_, other->AsETSArrayType()->ElementType()); in Identical() 81 void ETSArrayType::AssignmentTarget(TypeRelation *relation, Type *source) in AssignmentTarget() argument 88 relation->IsAssignableTo(source->AsETSArrayType()->ElementType(), element_); in AssignmentTarget() 92 void ETSArrayType::Cast(TypeRelation *const relation, Type *const target) in Cast() argument 95 conversion::Identity(relation, this, target->AsETSArrayType()); in Cast() 96 if (relation->IsTrue()) { in Cast() 100 conversion::WideningReference(relation, this, target->AsETSArrayType()); in Cast() 101 if (relation in Cast() 133 IsSupertypeOf(TypeRelation *const relation, Type *source) IsSupertypeOf() argument 146 Instantiate(ArenaAllocator *allocator, TypeRelation *relation, GlobalTypesHolder *globalTypes) Instantiate() argument 152 Substitute(TypeRelation *relation, const Substitution *substitution) Substitute() argument [all...] |
H A D | etsFunctionType.cpp | 49 void ETSFunctionType::Identical(TypeRelation *relation, Type *other) in Identical() argument 56 AssignmentTarget(relation, other); in Identical() 60 callSignatures_[0]->Compatible(relation, other->AsETSFunctionType()->CallSignatures()[0]); in Identical() 63 bool ETSFunctionType::AssignmentSource(TypeRelation *relation, Type *target) in AssignmentSource() argument 66 ASSERT(relation->GetNode() != nullptr); in AssignmentSource() 67 if (relation->GetNode()->IsArrowFunctionExpression()) { in AssignmentSource() 69 relation->Result(true); in AssignmentSource() 72 relation->Result(false); in AssignmentSource() 76 if (target->IsETSObjectType() && target == relation->GetChecker()->AsETSChecker()->GlobalETSObjectType()) { in AssignmentSource() 77 relation in AssignmentSource() 85 ProcessSignatures(TypeRelation *relation, Signature *target, ETSFunctionType *sourceFuncType) ProcessSignatures() argument 143 AssignmentTarget(TypeRelation *relation, Type *source) AssignmentTarget() argument 181 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument 193 Substitute(TypeRelation *relation, const Substitution *substitution) Substitute() argument 215 CastFunctionParams(TypeRelation *relation, Signature *targetInvokeSig) CastFunctionParams() argument 235 Cast(TypeRelation *relation, Type *target) Cast() argument [all...] |
H A D | etsStringType.cpp | 31 void ETSStringType::Identical(TypeRelation *relation, Type *other) in Identical() argument 37 relation->Result(true); in Identical() 41 bool ETSStringType::AssignmentSource(TypeRelation *relation, Type *target) in AssignmentSource() argument 43 auto node = relation->GetNode(); in AssignmentSource() 44 if ((relation->InAssignmentContext() || relation->ApplyStringToChar()) && IsConvertibleTo(target)) { in AssignmentSource() 46 relation->Result(true); in AssignmentSource() 48 relation->Result(target->IsETSStringType() && AreStringTypesAssignable(this, target)); in AssignmentSource() 51 return relation->IsTrue(); in AssignmentSource() 54 void ETSStringType::AssignmentTarget([[maybe_unused]] TypeRelation *relation, Typ argument 59 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument 65 IsSupertypeOf(TypeRelation *relation, Type *source) IsSupertypeOf() argument 75 IsSubtypeOf(TypeRelation *relation, Type *source) IsSubtypeOf() argument [all...] |
H A D | etsTupleType.cpp | 49 void ETSTupleType::Identical([[maybe_unused]] TypeRelation *const relation, Type *const other) in Identical() argument 62 if (!relation->IsIdenticalTo(GetTypeAtIndex(idx), otherTuple->GetTypeAtIndex(idx))) { in Identical() 63 relation->Result(false); in Identical() 69 relation->Result(false); in Identical() 73 relation->Result(true); in Identical() 76 bool ETSTupleType::AssignmentSource(TypeRelation *const relation, Type *const target) in AssignmentSource() argument 87 relation, TypeRelationFlag::NO_BOXING | TypeRelationFlag::NO_UNBOXING | TypeRelationFlag::NO_WIDENING); in AssignmentSource() 89 relation->Result(relation->IsAssignableTo(ElementType(), arrayTarget->ElementType())); in AssignmentSource() 92 return relation in AssignmentSource() 95 AssignmentTarget(TypeRelation *const relation, Type *const source) AssignmentTarget() argument 140 Substitute(TypeRelation *relation, const Substitution *substitution) Substitute() argument 154 Cast(TypeRelation *const relation, Type *const target) Cast() argument 207 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | etsNullishTypes.cpp | 25 void ETSNullType::Identical(TypeRelation *relation, Type *other) in Identical() argument 27 relation->Result(other->IsETSNullType()); in Identical() 30 void ETSNullType::AssignmentTarget(TypeRelation *relation, Type *source) in AssignmentTarget() argument 32 Identical(relation, source); in AssignmentTarget() 35 bool ETSNullType::AssignmentSource(TypeRelation *relation, Type *target) in AssignmentSource() argument 37 return relation->IsSupertypeOf(target, this); in AssignmentSource() 40 void ETSNullType::Compare([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *other) in Compare() argument 45 void ETSNullType::Cast(TypeRelation *relation, Type *target) in Cast() argument 47 Identical(relation, target); in Cast() 50 void ETSNullType::CastTarget(TypeRelation *relation, Typ argument 70 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument 76 Identical(TypeRelation *relation, Type *other) Identical() argument 81 AssignmentTarget(TypeRelation *relation, Type *source) AssignmentTarget() argument 86 AssignmentSource(TypeRelation *relation, Type *target) AssignmentSource() argument 91 Compare([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *other) Compare() argument 96 Cast(TypeRelation *relation, Type *target) Cast() argument 101 CastTarget(TypeRelation *relation, Type *source) CastTarget() argument 121 Instantiate([[maybe_unused]] ArenaAllocator *allocator, [[maybe_unused]] TypeRelation *relation, [[maybe_unused]] GlobalTypesHolder *globalTypes) Instantiate() argument [all...] |
H A D | etsAsyncFuncReturnType.cpp | 28 void ETSAsyncFuncReturnType::Identical(TypeRelation *relation, Type *other) in Identical() argument 32 if (relation->IsIdenticalTo(promiseType_, otherRetType->promiseType_) && in Identical() 33 relation->IsIdenticalTo(GetPromiseTypeArg(), otherRetType->GetPromiseTypeArg())) { in Identical() 34 relation->Result(true); in Identical() 39 relation->Result(false); in Identical() 42 bool ETSAsyncFuncReturnType::AssignmentSource([[maybe_unused]] TypeRelation *relation, [[maybe_unused]] Type *target) in AssignmentSource() argument 47 void ETSAsyncFuncReturnType::AssignmentTarget(TypeRelation *relation, Type *source) in AssignmentTarget() argument 49 relation->IsAssignableTo(source, promiseType_) || relation->IsAssignableTo(source, GetPromiseTypeArg()); in AssignmentTarget() 50 if (relation in AssignmentTarget() [all...] |
H A D | etsDynamicType.cpp | 39 void ETSDynamicType::AssignmentTarget(TypeRelation *relation, Type *source) in AssignmentTarget() argument 42 return ETSObjectType::AssignmentTarget(relation, source); in AssignmentTarget() 45 if (relation->ApplyBoxing() && !relation->IsTrue() && IsConvertible(source)) { in AssignmentTarget() 46 relation->Result(true); in AssignmentTarget() 51 relation->Result(true); in AssignmentTarget() 55 bool ETSDynamicType::AssignmentSource(TypeRelation *relation, Type *target) in AssignmentSource() argument 58 return ETSObjectType::AssignmentSource(relation, target); in AssignmentSource() 61 if (relation->ApplyUnboxing() && IsConvertible(target)) { in AssignmentSource() 62 relation in AssignmentSource() 72 Cast(TypeRelation *relation, Type *target) Cast() argument 86 CastTarget(TypeRelation *relation, Type *source) CastTarget() argument [all...] |
H A D | etsUnionType.cpp | 51 bool ETSUnionType::EachTypeRelatedToSomeType(TypeRelation *relation, ETSUnionType *source, ETSUnionType *target) in EachTypeRelatedToSomeType() argument 54 [relation, target](auto *s) { return TypeRelatedToSomeType(relation, s, target); }); in EachTypeRelatedToSomeType() 57 bool ETSUnionType::TypeRelatedToSomeType(TypeRelation *relation, Type *source, ETSUnionType *target) in TypeRelatedToSomeType() argument 60 [relation, source](auto *t) { return relation->IsIdenticalTo(source, t); }); in TypeRelatedToSomeType() 100 void ETSUnionType::Identical(TypeRelation *relation, Type *other) 103 if (EachTypeRelatedToSomeType(relation, this, other->AsETSUnionType()) && 104 EachTypeRelatedToSomeType(relation, other->AsETSUnionType(), this)) { 105 relation [all...] |
/arkcompiler/ets_frontend/ets2panda/checker/types/ts/ |
H A D | objectType.cpp | 24 bool ObjectType::EachSignatureRelatedToSomeSignature(TypeRelation *relation, in EachSignatureRelatedToSomeSignature() argument 30 return std::all_of(sourceSignatures.begin(), sourceSignatures.end(), [relation, &targetCopy](Signature *source) { in EachSignatureRelatedToSomeSignature() 31 return SignatureRelatedToSomeSignature(relation, source, &targetCopy); in EachSignatureRelatedToSomeSignature() 35 bool ObjectType::SignatureRelatedToSomeSignature(TypeRelation *relation, Signature *sourceSignature, in SignatureRelatedToSomeSignature() argument 39 if (relation->IsCompatibleTo(sourceSignature, *it)) { in SignatureRelatedToSomeSignature() 50 bool ObjectType::FindPropertyAndCheckIdentical(TypeRelation *relation, ObjectType *otherObj) in FindPropertyAndCheckIdentical() argument 55 relation->Result(false); in FindPropertyAndCheckIdentical() 59 relation->IsIdenticalTo(it->TsType(), found->TsType()); in FindPropertyAndCheckIdentical() 61 if (!relation->IsTrue()) { in FindPropertyAndCheckIdentical() 66 relation in FindPropertyAndCheckIdentical() 73 Identical(TypeRelation *relation, Type *other) Identical() argument 121 AssignProperties(TypeRelation *relation, ObjectType *source) AssignProperties() argument 163 AssignSignatures(TypeRelation *relation, ObjectType *source, bool assignCallSignatures) AssignSignatures() argument 187 AssignIndexInfo([[maybe_unused]] TypeRelation *relation, ObjectType *source, bool assignNumberInfo) AssignIndexInfo() argument 210 CheckExcessProperties(TypeRelation *relation, ObjectType *source) CheckExcessProperties() argument 225 AssignmentTarget(TypeRelation *relation, Type *source) AssignmentTarget() argument [all...] |
/arkcompiler/ets_frontend/es2panda/typescript/types/ |
H A D | objectType.cpp | 25 bool ObjectType::EachSignatureRelatedToSomeSignature(TypeRelation *relation, in EachSignatureRelatedToSomeSignature() argument 31 return std::all_of(sourceSignatures.begin(), sourceSignatures.end(), [relation, &targetCopy](Signature *source) { in EachSignatureRelatedToSomeSignature() 32 return SignatureRelatedToSomeSignature(relation, source, &targetCopy); in EachSignatureRelatedToSomeSignature() 36 bool ObjectType::SignatureRelatedToSomeSignature(TypeRelation *relation, Signature *sourceSignature, in SignatureRelatedToSomeSignature() argument 40 if (relation->IsIdenticalTo(sourceSignature, *it)) { in SignatureRelatedToSomeSignature() 51 bool ObjectType::IsPropertiesIdentical(TypeRelation *relation, ObjectType *otherObj) in IsPropertiesIdentical() argument 56 relation->Result(false); in IsPropertiesIdentical() 60 relation->IsIdenticalTo(it->TsType(), found->TsType()); in IsPropertiesIdentical() 62 if (!relation->IsTrue()) { in IsPropertiesIdentical() 67 relation in IsPropertiesIdentical() 75 IsIndexInfosIdentical(TypeRelation *relation, IndexInfo *descIndexInfo, IndexInfo *otherIndexInfo) IsIndexInfosIdentical() argument 87 Identical(TypeRelation *relation, Type *other) Identical() argument 125 AssignProperties(TypeRelation *relation, ObjectType *source) AssignProperties() argument 166 AssignSignatures(TypeRelation *relation, ObjectType *source, bool assignCallSignatures) AssignSignatures() argument 190 AssignIndexInfo([[maybe_unused]] TypeRelation *relation, ObjectType *source, bool assignNumberInfo) AssignIndexInfo() argument 213 checkExcessProperties(TypeRelation *relation, ObjectType *source) checkExcessProperties() argument 227 AssignmentTarget(TypeRelation *relation, Type *source) AssignmentTarget() argument [all...] |
H A D | signature.cpp | 20 Signature *Signature::Copy(ArenaAllocator *allocator, TypeRelation *relation, GlobalTypesHolder *globalTypes) in Copy() argument 26 it->SetTsType(it->TsType()->Instantiate(allocator, relation, globalTypes)); in Copy() 29 Type *copiedReturnType = returnType_->Instantiate(allocator, relation, globalTypes); in Copy() 77 void Signature::Identical(TypeRelation *relation, Signature *other) in Identical() argument 81 relation->Result(false); in Identical() 85 relation->IsIdenticalTo(returnType_, other->ReturnType()); in Identical() 87 if (relation->IsTrue()) { in Identical() 89 relation->IsIdenticalTo(signatureInfo_->params[i]->TsType(), other->Params()[i]->TsType()); in Identical() 90 if (!relation->IsTrue()) { in Identical() 96 relation in Identical() 103 AssignmentTarget(TypeRelation *relation, Signature *source) AssignmentTarget() argument [all...] |