| /arkcompiler/runtime_core/static_core/plugins/ets/doc/spec/ |
| D | 6_conversions.rst | 65 performing an implicit *conversion* can ensure type compatibility. 66 The conversion from type ``S`` to type ``T`` causes a type ``S`` expression to 71 conversion 88 *conversion* vary for different kinds of contexts and types of expressions. 92 Some cases of conversion require action at runtime to check the 93 validity of conversion, or to translate the runtime expression value 102 conversion 131 - :ref:`Casting Contexts and Conversions`, i.e., the conversion of an 143 conversion 183 conversion [all …]
|
| /arkcompiler/ets_frontend/ets2panda/checker/types/ets/ |
| D | charType.cpp | 18 #include "checker/ets/conversion.h" 41 conversion::Boxing(relation, this); in AssignmentSource() 61 conversion::Identity(relation, this, target); in Cast() 66 conversion::NarrowingPrimitive(relation, this, target); in Cast() 71 conversion::WideningPrimitive(relation, this, target); in Cast() 76 conversion::String(relation, this); in Cast() 82 conversion::Boxing(relation, this); in Cast() 89 conversion::Forbidden(relation); in Cast() 94 conversion::Boxing(relation, unboxedTarget); in Cast() 97 conversion::Forbidden(relation); in Cast() [all …]
|
| D | floatType.cpp | 18 #include "checker/ets/conversion.h" 56 conversion::Identity(relation, this, target); in Cast() 61 conversion::NarrowingPrimitive(relation, this, target); in Cast() 66 conversion::WideningPrimitive(relation, this, target); in Cast() 72 conversion::Boxing(relation, this); in Cast() 79 conversion::Forbidden(relation); in Cast() 84 conversion::Boxing(relation, unboxedTarget); in Cast() 87 conversion::Forbidden(relation); in Cast() 91 conversion::BoxingWideningReference(relation, this, target->AsETSObjectType()); in Cast() 95 conversion::Forbidden(relation); in Cast()
|
| D | intType.cpp | 18 #include "checker/ets/conversion.h" 56 conversion::Identity(relation, this, target); in Cast() 66 conversion::NarrowingPrimitive(relation, this, target); in Cast() 71 conversion::WideningPrimitive(relation, this, target); in Cast() 77 conversion::Boxing(relation, this); in Cast() 84 conversion::Forbidden(relation); in Cast() 89 conversion::Boxing(relation, unboxedTarget); in Cast() 92 conversion::Forbidden(relation); in Cast() 96 conversion::BoxingWideningReference(relation, this, target->AsETSObjectType()); in Cast() 100 conversion::Forbidden(relation); in Cast()
|
| D | byteType.cpp | 18 #include "checker/ets/conversion.h" 56 conversion::Identity(relation, this, target); in Cast() 61 conversion::WideningPrimitive(relation, this, target); in Cast() 66 conversion::WideningNarrowingPrimitive(relation, this, target->AsCharType()); in Cast() 72 conversion::Boxing(relation, this); in Cast() 79 conversion::Forbidden(relation); in Cast() 84 conversion::Boxing(relation, unboxedTarget); in Cast() 87 conversion::Forbidden(relation); in Cast() 91 conversion::BoxingWideningReference(relation, this, target->AsETSObjectType()); in Cast() 95 conversion::Forbidden(relation); in Cast()
|
| D | longType.cpp | 18 #include "checker/ets/conversion.h" 56 conversion::Identity(relation, this, target); in Cast() 61 conversion::NarrowingPrimitive(relation, this, target); in Cast() 66 conversion::WideningPrimitive(relation, this, target); in Cast() 72 conversion::Boxing(relation, this); in Cast() 79 conversion::Forbidden(relation); in Cast() 84 conversion::Boxing(relation, unboxedTarget); in Cast() 87 conversion::Forbidden(relation); in Cast() 91 conversion::BoxingWideningReference(relation, this, target->AsETSObjectType()); in Cast() 95 conversion::Forbidden(relation); in Cast()
|
| D | shortType.cpp | 18 #include "checker/ets/conversion.h" 56 conversion::Identity(relation, this, target); in Cast() 61 conversion::NarrowingPrimitive(relation, this, target); in Cast() 66 conversion::WideningPrimitive(relation, this, target); in Cast() 72 conversion::Boxing(relation, this); in Cast() 79 conversion::Forbidden(relation); in Cast() 84 conversion::Boxing(relation, unboxedTarget); in Cast() 87 conversion::Forbidden(relation); in Cast() 91 conversion::BoxingWideningReference(relation, this, target->AsETSObjectType()); in Cast() 95 conversion::Forbidden(relation); in Cast()
|
| D | doubleType.cpp | 18 #include "checker/ets/conversion.h" 55 conversion::Identity(relation, this, target); in Cast() 61 conversion::NarrowingPrimitive(relation, this, target); in Cast() 67 conversion::Boxing(relation, this); in Cast() 74 conversion::Forbidden(relation); in Cast() 79 conversion::Boxing(relation, unboxedTarget); in Cast() 82 conversion::Forbidden(relation); in Cast() 86 conversion::BoxingWideningReference(relation, this, target->AsETSObjectType()); in Cast() 90 conversion::Forbidden(relation); in Cast()
|
| D | etsBooleanType.cpp | 19 #include "checker/ets/conversion.h" 48 conversion::Identity(relation, this, target); in Cast() 54 conversion::Boxing(relation, this); in Cast() 59 conversion::Forbidden(relation); in Cast() 63 conversion::BoxingWideningReference(relation, this, target->AsETSObjectType()); in Cast() 67 conversion::Forbidden(relation); in Cast()
|
| D | etsArrayType.cpp | 20 #include "checker/ets/conversion.h" 102 conversion::Identity(relation, this, target->AsETSArrayType()); in Cast() 107 conversion::WideningReference(relation, this, target->AsETSArrayType()); in Cast() 112 conversion::NarrowingReference(relation, this, target->AsETSArrayType()); in Cast() 123 conversion::Forbidden(relation); in Cast() 128 conversion::WideningReference(relation, this, target->AsETSObjectType()); in Cast() 133 conversion::Forbidden(relation); in Cast() 137 conversion::Forbidden(relation); in Cast()
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/17.experimental_features/02.array_creation_expressions/ |
| D | expr.params.yaml | 17 let size = 1 // identity dimension conversion 24 let size: Int = new Int(1) // unboxing dimension conversion 31 let size: long = 1 as long // narrowing dimension conversion 38 let size: Long = new Long(1 as long) // unboxing and narrowing dimension conversion 45 let size: number = 1 // narrowing dimension conversion 52 let size: Number = new Number(1) // unboxing and narrowing dimension conversion 59 let size: float = 1.0 // narrowing dimension conversion 66 let size: Float = new Float(1.0) // unboxing and narrowing dimension conversion 73 let size: byte = 10 as byte // widening dimension conversion 80 let size: Byte = new Byte(10 as byte) // unboxing and widening dimension conversion [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/03.numeric_operator_contexts/ |
| D | conv.params.yaml | 24 # widening reference conversion followed by an unboxing conversion 47 # widening reference conversion followed by an unboxing conversion, then followed by a widening pri… 70 # unboxing conversion 74 # unboxing conversion followed by a widening primitive conversion
|
| /arkcompiler/ets_frontend/ets2panda/checker/ets/ |
| D | conversion.cpp | 16 #include "conversion.h" 24 namespace ark::es2panda::checker::conversion { namespace 122 // 11.1.6. Narrowing Reference Conversion in IsAllowedNarrowingReferenceConversion() 123 …// A narrowing reference conversion exists from reference type S to a reference type T if all of t… in IsAllowedNarrowingReferenceConversion() 154 … // array of components of type TC; and a narrowing reference conversion exists from SC to TC. in IsAllowedNarrowingReferenceConversion() 167 …// 9. S is a type variable, and a narrowing reference conversion exists from the upper bound of S … in IsAllowedNarrowingReferenceConversion() 170 … is a type variable, and either a widening reference conversion or a narrowing reference conversio… in IsAllowedNarrowingReferenceConversion() 175 // conversion or a in IsAllowedNarrowingReferenceConversion() 176 // narrowing reference conversion exists from Si to T. in IsAllowedNarrowingReferenceConversion() 180 // conversion or a in IsAllowedNarrowingReferenceConversion() [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/decl_field/ |
| D | decl-field-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Declaration context, instance field, function type conversion, implicit
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/comp_obj/ |
| D | comp-clss-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Composite context, object, function type conversion, implicit
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/assn_var/ |
| D | assn-var-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Assignment context, variable, function type conversion, implicit
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/decl_var/ |
| D | decl-var-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Declaration context, variable, function type conversion, implicit
|
| D | decl-var.sts | 19 Function types conversion is the conversion of one function type to another. 20 Declaration context, variable, function type conversion, implicit
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/comp_arr/ |
| D | comp-arr-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Composite context, array, function type conversion, implicit
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/call_cons/ |
| D | call-cons-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Call context, constructor, function type conversion, implicit
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/call_lmbd/ |
| D | call-lmbd-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Call context, lambda, function type conversion, implicit
|
| D | call-lmbd.sts | 19 Function types conversion is the conversion of one function type to another. 20 Call context, lambda, function type conversion, implicit
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/call_func/ |
| D | call-func-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Call context, function, function type conversion, implicit
|
| D | call-func.sts | 19 Function types conversion is the conversion of one function type to another. 20 Call context, function, function type conversion, implicit
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/06.contexts_and_conversions/05.implicit_conversions/10.function_types_conversions/call_meth/ |
| D | call-meth-n2.sts | 19 Function types conversion is the conversion of one function type to another. 20 Call context, method, function type conversion, implicit
|