File tree Expand file tree Collapse file tree 6 files changed +20
-1
lines changed
main/kotlin/org/jacodb/ets
kotlin/org/jacodb/ets/test
resources/samples/source/lang Expand file tree Collapse file tree 6 files changed +20
-1
lines changed Original file line number Diff line number Diff line change 6464 DEST_DIR="arkanalyzer"
6565 MAX_RETRIES=10
6666 RETRY_DELAY=3 # Delay between retries in seconds
67- BRANCH="neo/2025-02-24 "
67+ BRANCH="neo/2025-03-20 "
6868
6969 for ((i=1; i<=MAX_RETRIES; i++)); do
7070 git clone --depth=1 --branch $BRANCH $REPO_URL $DEST_DIR && break
Original file line number Diff line number Diff line change @@ -695,6 +695,7 @@ fun MethodSignatureDto.toEtsMethodSignature(): EtsMethodSignature {
695695 name = param.name,
696696 type = param.type.toEtsType(),
697697 isOptional = param.isOptional,
698+ isRest = param.isRest,
698699 )
699700 },
700701 returnType = returnType.toEtsType(),
Original file line number Diff line number Diff line change @@ -59,6 +59,7 @@ data class MethodParameterDto(
5959 val name : String ,
6060 val type : TypeDto ,
6161 val isOptional : Boolean = false ,
62+ val isRest : Boolean = false ,
6263)
6364
6465@Serializable
Original file line number Diff line number Diff line change @@ -120,6 +120,7 @@ data class EtsMethodParameter(
120120 val name : String ,
121121 override val type : EtsType ,
122122 val isOptional : Boolean = false ,
123+ val isRest : Boolean = false ,
123124) : CommonMethodParameter {
124125 override fun toString (): String {
125126 return " $name${if (isOptional) " ?" else " " } : $type "
Original file line number Diff line number Diff line change @@ -472,4 +472,14 @@ class EtsFromJsonTest {
472472 assertEquals(" DummyStmt" , stmtDto.kind)
473473 assertEquals(42 , stmtDto.extra.getValue(" value" ).jsonPrimitive.content.toInt())
474474 }
475+
476+ @Test
477+ fun testVararg () {
478+ val path = " /samples/etsir/ast/lang/vararg.ts.json"
479+ val file = loadEtsFileFromResource(path)
480+ val method = file.classes.flatMap { it.methods }.first { it.name == " f" }
481+ assertEquals(method.parameters.size, 2 )
482+ assertEquals(method.parameters[0 ].isRest, false )
483+ assertEquals(method.parameters[1 ].isRest, true )
484+ }
475485}
Original file line number Diff line number Diff line change 1+ function f ( x , ...args ) {
2+ console . log ( x ) ;
3+ console . log ( ...args ) ;
4+ }
5+
6+ f ( 42 , "hello" , "world" ) ;
You can’t perform that action at this time.
0 commit comments