[TS] Support `push` invocation in `InstanceCallExpr` resolution
Los mantenedores suelen responder en 1 día
@CaelmBleidd ya está trabajando en esto.
Desde el 3/7/2025.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Current implementation is
// TODO write tests
if (expr.callee.name == "push" && expr.instance.type is EtsArrayType) {
return scope.calcOnState {
val resolvedInstance = resolve(expr.instance)?.asExpr(ctx.addressSort) ?: return@calcOnState null
val lengthLValue = mkArrayLengthLValue(
resolvedInstance,
EtsArrayType(EtsUnknownType, dimensions = 1)
)
val length = memory.read(lengthLValue)
val newLength = mkBvAddExpr(length, 1.toBv())
memory.write(lengthLValue, newLength, guard = ctx.trueExpr)
val resolvedArg = resolve(expr.args.single()) ?: return@calcOnState null
// TODO check sorts compatibility
val newIndexLValue = mkArrayIndexLValue(
resolvedArg.sort,
resolvedInstance,
length,
EtsArrayType(EtsUnknownType, dimensions = 1)
)
memory.write(newIndexLValue, resolvedArg.asExpr(newIndexLValue.sort), guard = ctx.trueExpr)
newLength
}
}
We need to check it and fix if required
- Lenguaje dominante
- Kotlin
- Estrellas
- 33
- Forks
- 27
- Merge medio
- 2 d 20 h
- PR fusionados (30 d)
- 10
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de UnitTestBot/usvm
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
UnitTestBot/usvm#467 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
UnitTestBot/usvm#465 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
UnitTestBot/usvm#462 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
UnitTestBot/usvm#457 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
UnitTestBot/usvm#440 ·
Los mantenedores suelen responder en 1 día
Todos los issues de UnitTestBot/usvm
Issues similares
-
Place type search does not workAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
commons-app/apps-android-commons#6984 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
micronaut-projects/micronaut-core#13717 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
-
Ikiru change domainAbiertoBug Domain changed
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
keiyoushi/extensions-source#19690 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Missing repro Platform: Android
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
software-mansion/react-native-reanimated#10816 · 2 comentarios ·
Los mantenedores suelen responder en 1 día