[JS IR BE]: support dynamic_var["foo"] = "bar"
Used EQ origin to detect. Added a test to check dynamic_var = "bar" case is not affected
This commit is contained in:
+3
-1
@@ -260,7 +260,7 @@ class IntrinsicifyCallsLowering(private val context: JsIrBackendContext) : FileL
|
||||
put(Name.identifier("equals"), ::transformEqualsMethodCall)
|
||||
}
|
||||
|
||||
dynamicCallOriginToIrFunction.run {
|
||||
dynamicCallOriginToIrFunction.apply {
|
||||
put(IrStatementOrigin.EXCL, context.intrinsics.jsNot)
|
||||
|
||||
put(IrStatementOrigin.LT, context.intrinsics.jsLt)
|
||||
@@ -296,6 +296,8 @@ class IntrinsicifyCallsLowering(private val context: JsIrBackendContext) : FileL
|
||||
put(IrStatementOrigin.POSTFIX_INCR, context.intrinsics.jsPostfixInc)
|
||||
put(IrStatementOrigin.POSTFIX_DECR, context.intrinsics.jsPostfixDec)
|
||||
put(IrStatementOrigin.GET_ARRAY_ELEMENT, context.intrinsics.jsArrayGet)
|
||||
// TODO add a special statement origin, e.g. SET_ARRAY_ELEMENT
|
||||
put(IrStatementOrigin.EQ, context.intrinsics.jsArraySet)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user