| /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 87 *conversion* vary for different kinds of contexts and types of expressions. 91 Some cases of conversion require action at runtime to check the 92 validity of conversion, or to translate the runtime expression value 97 conversion 126 - :ref:`Casting Contexts and Conversions`, i.e., the conversion of an 165 conversion 229 If there is no applicable conversion, then a :index:`compile-time error` [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 | 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 | 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 | 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 | 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" 95 conversion::Identity(relation, this, target->AsETSArrayType()); in Cast() 100 conversion::WideningReference(relation, this, target->AsETSArrayType()); in Cast() 105 conversion::NarrowingReference(relation, this, target->AsETSArrayType()); in Cast() 116 conversion::Forbidden(relation); in Cast() 121 conversion::WideningReference(relation, this, target->AsETSObjectType()); in Cast() 126 conversion::Forbidden(relation); in Cast() 130 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 117 // 11.1.6. Narrowing Reference Conversion in IsAllowedNarrowingReferenceConversion() 118 …// A narrowing reference conversion exists from reference type S to a reference type T if all of t… in IsAllowedNarrowingReferenceConversion() 149 … // array of components of type TC; and a narrowing reference conversion exists from SC to TC. in IsAllowedNarrowingReferenceConversion() 162 …// 9. S is a type variable, and a narrowing reference conversion exists from the upper bound of S … in IsAllowedNarrowingReferenceConversion() 165 … is a type variable, and either a widening reference conversion or a narrowing reference conversio… in IsAllowedNarrowingReferenceConversion() 170 // conversion or a in IsAllowedNarrowingReferenceConversion() 171 // narrowing reference conversion exists from Si to T. in IsAllowedNarrowingReferenceConversion() 175 // 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/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/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/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_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_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
|
| /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
|
| D | call-cons.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_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
|