diff --git a/build.sbt b/build.sbt index 0d748a1..41a68b1 100644 --- a/build.sbt +++ b/build.sbt @@ -1,9 +1,9 @@ name := "atom" ThisBuild / organization := "io.appthreat" -ThisBuild / version := "2.0.19" +ThisBuild / version := "2.0.20" ThisBuild / scalaVersion := "3.5.0" -val chenVersion = "2.1.6" +val chenVersion = "2.1.8" lazy val atom = Projects.atom @@ -33,7 +33,6 @@ libraryDependencies ++= Seq( excludeDependencies ++= Seq( ExclusionRule("dev.scalapy", "scalapy-core"), - ExclusionRule("org.gradle", "gradle-tooling-api"), ExclusionRule("org.scala-lang", "scala3-compiler") ) diff --git a/ci/trace-native-image.sh b/ci/trace-native-image.sh index e7614ba..c69ff82 100755 --- a/ci/trace-native-image.sh +++ b/ci/trace-native-image.sh @@ -7,9 +7,9 @@ # bash ci/trace-native-image.sh py # bash ci/trace-native-image.sh c -# sdk use java 21.0.1-graalce +# sdk use java 21.0.2-graalce -sbt clean stage +# sbt clean stage ./atom.sh -J-agentlib:native-image-agent=config-merge-dir=src/main/resources/META-INF/native-image reachables -l $1 -o /tmp/app.atom -s /tmp/reachables.slices.json $2 # bash ci/native-image.sh diff --git a/codemeta.json b/codemeta.json index e26910e..356d9ab 100644 --- a/codemeta.json +++ b/codemeta.json @@ -7,7 +7,7 @@ "downloadUrl": "https://github.com/AppThreat/atom", "issueTracker": "https://github.com/AppThreat/atom/issues", "name": "atom", - "version": "2.0.19", + "version": "2.0.20", "description": "Atom is a novel intermediate representation for next-generation code analysis.", "applicationCategory": "code-analysis", "keywords": [ diff --git a/src/main/resources/META-INF/native-image/reflect-config.json b/src/main/resources/META-INF/native-image/reflect-config.json index daa5bee..68c7854 100644 --- a/src/main/resources/META-INF/native-image/reflect-config.json +++ b/src/main/resources/META-INF/native-image/reflect-config.json @@ -14,6 +14,9 @@ { "name":"[Lio.appthreat.x2cpg.Ast;" }, +{ + "name":"[Lio.circe.Json$JNumber;" +}, { "name":"[Lio.shiftleft.codepropertygraph.generated.nodes.AstNode;" }, @@ -107,6 +110,12 @@ { "name":"[Lorg.eclipse.cdt.core.dom.ast.IBinding;" }, +{ + "name":"[Lorg.eclipse.cdt.core.dom.ast.c.ICASTCompositeTypeSpecifier;" +}, +{ + "name":"[Lorg.eclipse.cdt.core.dom.ast.c.ICASTDesignator;" +}, { "name":"[Lorg.eclipse.cdt.core.dom.ast.cpp.ICPPASTNameSpecifier;" }, @@ -153,6 +162,10 @@ "name":"better.files.package$", "fields":[{"name":"0bitmap$1"}] }, +{ + "name":"cats.Later", + "fields":[{"name":"value$lzy1"}] +}, { "name":"com.fasterxml.jackson.databind.ext.Java7SupportImpl", "methods":[{"name":"","parameterTypes":[] }] @@ -265,6 +278,10 @@ "name":"com.github.javaparser.ast.expr.SwitchExpr", "allDeclaredFields":true }, +{ + "name":"com.github.javaparser.ast.expr.TypePatternExpr", + "allDeclaredFields":true +}, { "name":"com.github.javaparser.ast.expr.VariableDeclarationExpr", "allDeclaredFields":true @@ -793,6 +810,10 @@ "name":"io.appthreat.jssrc2cpg.passes.ConstClosurePass", "fields":[{"name":"identifiersAssignedCount$lzy1"}] }, +{ + "name":"io.appthreat.jssrc2cpg.passes.RecoverForJavaScriptFile", + "fields":[{"name":"exportedIdentifiers$lzy1"}] +}, { "name":"io.appthreat.jssrc2cpg.utils.AstGenRunner$", "fields":[{"name":"astGenCommand$lzy1"}, {"name":"executableDir$lzy1"}, {"name":"executableName$lzy1"}] @@ -827,15 +848,27 @@ }, { "name":"io.circe.Decoder$", - "fields":[{"name":"0bitmap$1"}] + "fields":[{"name":"0bitmap$1"}, {"name":"currencyDecoder$lzy1"}, {"name":"decodeDuration$lzy1"}, {"name":"decodeInstant$lzy1"}, {"name":"decodeJavaBigDecimal$lzy1"}, {"name":"decodeJavaBigInteger$lzy1"}, {"name":"decodeJavaBoolean$lzy1"}, {"name":"decodeJavaByte$lzy1"}, {"name":"decodeJavaCharacter$lzy1"}, {"name":"decodeJavaDouble$lzy1"}, {"name":"decodeJavaFloat$lzy1"}, {"name":"decodeJavaInteger$lzy1"}, {"name":"decodeJavaLong$lzy1"}, {"name":"decodeJavaShort$lzy1"}, {"name":"decodeLocalDate$lzy1"}, {"name":"decodeLocalDateTime$lzy1"}, {"name":"decodeLocalTime$lzy1"}, {"name":"decodeMonthDay$lzy1"}, {"name":"decodeOffsetDateTime$lzy1"}, {"name":"decodeOffsetTime$lzy1"}, {"name":"decodePeriod$lzy1"}, {"name":"decodeURI$lzy1"}, {"name":"decodeUUID$lzy1"}, {"name":"decodeYear$lzy1"}, {"name":"decodeYearMonth$lzy1"}, {"name":"decodeZoneId$lzy1"}, {"name":"decodeZoneOffset$lzy1"}, {"name":"decodeZonedDateTime$lzy1"}] }, { "name":"io.circe.Encoder$", - "fields":[{"name":"0bitmap$1"}] + "fields":[{"name":"0bitmap$1"}, {"name":"currencyEncoder$lzy1"}, {"name":"encodeDuration$lzy1"}, {"name":"encodeInstant$lzy1"}, {"name":"encodeJavaBigDecimal$lzy1"}, {"name":"encodeJavaBigInteger$lzy1"}, {"name":"encodeJavaBoolean$lzy1"}, {"name":"encodeJavaByte$lzy1"}, {"name":"encodeJavaCharacter$lzy1"}, {"name":"encodeJavaDouble$lzy1"}, {"name":"encodeJavaFloat$lzy1"}, {"name":"encodeJavaInteger$lzy1"}, {"name":"encodeJavaLong$lzy1"}, {"name":"encodeJavaShort$lzy1"}, {"name":"encodeLocalDate$lzy1"}, {"name":"encodeLocalDateTime$lzy1"}, {"name":"encodeLocalTime$lzy1"}, {"name":"encodeMonthDay$lzy1"}, {"name":"encodeOffsetDateTime$lzy1"}, {"name":"encodeOffsetTime$lzy1"}, {"name":"encodePeriod$lzy1"}, {"name":"encodeURI$lzy1"}, {"name":"encodeUUID$lzy1"}, {"name":"encodeYear$lzy1"}, {"name":"encodeYearMonth$lzy1"}, {"name":"encodeZoneId$lzy1"}, {"name":"encodeZoneOffset$lzy1"}, {"name":"encodeZonedDateTime$lzy1"}] }, { "name":"io.circe.JsonDecimal", - "fields":[{"name":"0bitmap$1"}] + "fields":[{"name":"0bitmap$1"}, {"name":"toBiggerDecimal$lzy1"}] +}, +{ + "name":"io.circe.derivation.ConfiguredDecoder$$anon$3", + "fields":[{"name":"constructorNames$lzy3"}, {"name":"elemDecoders$lzy3"}, {"name":"elemDefaults$lzy3"}, {"name":"elemLabels$lzy3"}, {"name":"fp$lzy1"}, {"name":"io$circe$derivation$ConfiguredDecoder$$decodersDict$lzy3"}] +}, +{ + "name":"io.circe.derivation.ConfiguredEncoder$$anon$3", + "fields":[{"name":"elemEncoders$lzy3"}, {"name":"elemLabels$lzy3"}] +}, +{ + "name":"io.circe.derivation.Default$$anon$1", + "fields":[{"name":"defaults$lzy1"}] }, { "name":"io.shiftleft.codepropertygraph.generated.edges.Factories$", @@ -994,7 +1027,8 @@ }, { "name":"java.lang.Class", - "queryAllDeclaredMethods":true + "queryAllDeclaredMethods":true, + "methods":[{"name":"isRecord","parameterTypes":[] }] }, { "name":"java.lang.ClassCastException" @@ -1439,6 +1473,10 @@ "name":"java.time.chrono.ChronoZonedDateTime", "queryAllPublicMethods":true }, +{ + "name":"java.time.format.DateTimeFormatter", + "allDeclaredFields":true +}, { "name":"java.time.format.DateTimeParseException" }, @@ -1640,6 +1678,7 @@ }, { "name":"java.util.Set", + "queryAllDeclaredMethods":true, "queryAllPublicMethods":true }, { diff --git a/wrapper/nodejs/package-lock.json b/wrapper/nodejs/package-lock.json index 2f54793..cdb8157 100644 --- a/wrapper/nodejs/package-lock.json +++ b/wrapper/nodejs/package-lock.json @@ -1,12 +1,12 @@ { "name": "@appthreat/atom", - "version": "2.0.19", + "version": "2.0.20", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@appthreat/atom", - "version": "2.0.19", + "version": "2.0.20", "license": "Apache-2.0", "dependencies": { "@babel/parser": "^7.25.6", diff --git a/wrapper/nodejs/package.json b/wrapper/nodejs/package.json index 98ba3fa..aa6ca8f 100644 --- a/wrapper/nodejs/package.json +++ b/wrapper/nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@appthreat/atom", - "version": "2.0.19", + "version": "2.0.20", "description": "Create atom (⚛) representation for your application, packages and libraries", "exports": "./index.js", "type": "module",