Skip to content

Commit c5c18e5

Browse files
upgrade deps - scala3 (#288)
* upgrade deps - scala3 * Fixed tests. --------- Co-authored-by: Max Leuthäuser <[email protected]>
1 parent bffcbea commit c5c18e5

File tree

15 files changed

+2885
-5078
lines changed

15 files changed

+2885
-5078
lines changed

build.sbt

Lines changed: 5 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
val cpgVersion = "1.3.598"
2-
val joernVersion = "1.1.1607"
1+
val cpgVersion = "1.4.6"
2+
val joernVersion = "2.0.1"
33

44
val gitCommitString = SettingKey[String]("gitSha")
55

@@ -16,74 +16,9 @@ Global / excludeLintKeys += Fast / configuration
1616
Global / excludeLintKeys += gitCommitString
1717

1818
lazy val commonSettings = Seq(
19-
scalaVersion := "2.13.10",
20-
crossScalaVersions := Seq("2.13.10", "3.3.0"),
21-
organization := "io.shiftleft",
22-
scalacOptions ++= Seq(
23-
) ++ (
24-
CrossVersion.partialVersion(scalaVersion.value) match {
25-
case Some((3, _)) =>
26-
Seq("-Xtarget:8")
27-
case _ =>
28-
Seq(
29-
// Emit warning and location for usages of deprecated APIs.
30-
"-deprecation",
31-
"-encoding",
32-
// Specify character encoding used by source files:
33-
"utf-8",
34-
// Explain type errors in more detail:
35-
"-explaintypes",
36-
// Emit warning and location for usages of features that should be imported explicitly:
37-
"-feature",
38-
// Allow higher-kinded types:
39-
"-language:higherKinds",
40-
// Allow definition of implicit functions called views:
41-
"-language:implicitConversions",
42-
// Enable additional warnings where generated code depends on assumptions:
43-
"-unchecked",
44-
// Wrap field accessors to throw an exception on uninitialized access:
45-
"-Xcheckinit",
46-
// Fail the compilation if there are any warnings:
47-
"-Xfatal-warnings",
48-
// Warn if an argument list is modified to match the receiver:
49-
"-Xlint:adapted-args",
50-
// Evaluation of a constant arithmetic expression results in an error:
51-
"-Xlint:constant",
52-
// Selecting member of DelayedInit:
53-
"-Xlint:delayedinit-select",
54-
// A Scaladoc comment appears to be detached from its element:
55-
"-Xlint:doc-detached",
56-
// Warn about inaccessible types in method signatures:
57-
"-Xlint:inaccessible",
58-
// Warn when a type argument is inferred to be `Any`:
59-
"-Xlint:infer-any",
60-
// A string literal appears to be missing an interpolator id:
61-
"-Xlint:missing-interpolator",
62-
// Option.apply used implicit view:
63-
"-Xlint:option-implicit",
64-
// Class or object defined in package object:
65-
"-Xlint:package-object-classes",
66-
// Parameterized overloaded implicit methods are not visible as view bounds:
67-
"-Xlint:poly-implicit-overload",
68-
// A private field (or class parameter) shadows a superclass field:
69-
"-Xlint:private-shadow",
70-
// Pattern sequence wildcard must align with sequence component:
71-
"-Xlint:stars-align",
72-
// A local type parameter shadows a type already in scope:
73-
"-Xlint:type-parameter-shadow",
74-
// Warn when dead code is identified:
75-
"-Ywarn-dead-code",
76-
// Warn when more than one implicit parameter section is defined:
77-
"-Ywarn-extra-implicit",
78-
// Warn when nullary methods return Unit:
79-
"-Xlint:nullary-unit",
80-
// Warn when numerics are widened:
81-
"-Ywarn-numeric-widen",
82-
// Warn if an implicit parameter is unused:
83-
"-Ywarn-unused:implicits"
84-
)
85-
}
86-
),
19+
scalaVersion := "3.3.0",
20+
organization := "io.shiftleft",
21+
scalacOptions ++= Seq("-Xtarget:8"),
8722
resolvers ++= Seq(
8823
Resolver.mavenLocal,
8924
"Atlassian Maven Repository" at "https://maven.atlassian.com/repository/public"

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.8.2
1+
sbt.version=1.9.1

src/main/scala/io/shiftleft/js2cpg/astcreation/AstCreator.scala

Lines changed: 26 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
114114
val fileNode = astNodeBuilder.createFileNode(fileName)
115115

116116
val namespaceBlock =
117-
astNodeBuilder.createNamespaceBlockNode(fileName + ":" + Defines.GLOBAL_NAMESPACE)
117+
astNodeBuilder.createNamespaceBlockNode(fileName + ":" + Defines.GlobalNamespace)
118118

119119
astEdgeBuilder.addAstEdge(namespaceBlock, fileNode)
120120
namespaceBlock
@@ -198,9 +198,9 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
198198
case "this" =>
199199
dynamicInstanceTypeStack.headOption
200200
case "console" =>
201-
Some(Defines.CONSOLE.label)
201+
Some(Defines.Console)
202202
case "Math" =>
203-
Some(Defines.MATH.label)
203+
Some(Defines.Math)
204204
case _ =>
205205
None
206206
}
@@ -232,7 +232,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
232232
val paramId = createIdentifierNode(name, param)
233233
scope.addVariableReference(name, paramId)
234234

235-
val localParamLocal = astNodeBuilder.createLocalNode(paramName, Defines.ANY.label)
235+
val localParamLocal = astNodeBuilder.createLocalNode(paramName, Defines.Any)
236236
addLocalToAst(localParamLocal)
237237
scope.addVariable(paramName, localParamLocal, MethodScope)
238238
val keyId = astNodeBuilder.createFieldIdentifierNode(paramName, param)
@@ -272,7 +272,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
272272
case None =>
273273
val paramName = name
274274
val localParamId = createIdentifierNode(paramName, parameter)
275-
val localParamLocal = astNodeBuilder.createLocalNode(paramName, Defines.ANY.label)
275+
val localParamLocal = astNodeBuilder.createLocalNode(paramName, Defines.Any)
276276
addLocalToAst(localParamLocal)
277277
scope.addVariable(paramName, localParamLocal, MethodScope)
278278

@@ -432,13 +432,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
432432
val astParentFullName = parentNodeId.properties("FULL_NAME").toString
433433

434434
val functionTypeDeclId =
435-
astNodeBuilder.createTypeDeclNode(
436-
methodName,
437-
methodFullName,
438-
astParentType,
439-
astParentFullName,
440-
Some(Defines.ANY.label)
441-
)
435+
astNodeBuilder.createTypeDeclNode(methodName, methodFullName, astParentType, astParentFullName, Some(Defines.Any))
442436
addTypeDeclToAst(functionTypeDeclId)
443437

444438
// Problem for https://github.com/ShiftLeftSecurity/codescience/issues/3626 here.
@@ -735,12 +729,12 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
735729
case null =>
736730
// If the for condition is empty, this ensures that there is always a condition (true) present.
737731
val testNodeId =
738-
astNodeBuilder.createLiteralNode("true", astNodeBuilder.lineAndColumn(forNode), Some(Defines.BOOLEAN.label))
732+
astNodeBuilder.createLiteralNode("true", astNodeBuilder.lineAndColumn(forNode), Some(Defines.Boolean))
739733
testNodeId
740734
case testNode if testNode.getExpression == null =>
741735
// If the for condition is empty, this ensures that there is always a condition (true) present.
742736
val testNodeId =
743-
astNodeBuilder.createLiteralNode("true", astNodeBuilder.lineAndColumn(forNode), Some(Defines.BOOLEAN.label))
737+
astNodeBuilder.createLiteralNode("true", astNodeBuilder.lineAndColumn(forNode), Some(Defines.Boolean))
744738
testNodeId
745739
// The test of a forNode can be a JoinPredecessorExpression which does not wrap any expression.
746740
// This only happens for "for (x in y)" style loops.
@@ -786,7 +780,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
786780
// _iterator assignment:
787781
val iteratorName =
788782
PassHelpers.generateUnusedVariableName(usedVariableNames, usedIdentNodes, "_iterator")
789-
val iteratorLocalId = astNodeBuilder.createLocalNode(iteratorName, Defines.ANY.label)
783+
val iteratorLocalId = astNodeBuilder.createLocalNode(iteratorName, Defines.Any)
790784
addLocalToAst(iteratorLocalId)
791785

792786
val iteratorId = createIdentifierNode(iteratorName, forNode)
@@ -853,14 +847,14 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
853847
// _result:
854848
val resultName =
855849
PassHelpers.generateUnusedVariableName(usedVariableNames, usedIdentNodes, "_result")
856-
val resultLocalId = astNodeBuilder.createLocalNode(resultName, Defines.ANY.label)
850+
val resultLocalId = astNodeBuilder.createLocalNode(resultName, Defines.Any)
857851
addLocalToAst(resultLocalId)
858852
val resultId = createIdentifierNode(resultName, forNode)
859853
astEdgeBuilder.addAstEdge(resultId, blockId, blockOrder)
860854

861855
// loop variable:
862856
val loopVariableName = forNode.getInit.toString()
863-
val loopVariableLocalId = astNodeBuilder.createLocalNode(loopVariableName, Defines.ANY.label)
857+
val loopVariableLocalId = astNodeBuilder.createLocalNode(loopVariableName, Defines.Any)
864858
addLocalToAst(loopVariableLocalId)
865859
val loopVariableId = createIdentifierNode(loopVariableName, forNode)
866860
astEdgeBuilder.addAstEdge(loopVariableId, blockId, blockOrder)
@@ -1068,7 +1062,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
10681062

10691063
val tmpName =
10701064
PassHelpers.generateUnusedVariableName(usedVariableNames, usedIdentNodes, "_tmp")
1071-
val localTmpId = astNodeBuilder.createLocalNode(tmpName, Defines.ANY.label)
1065+
val localTmpId = astNodeBuilder.createLocalNode(tmpName, Defines.Any)
10721066
addLocalToAst(localTmpId)
10731067

10741068
val tmpArrayId = createIdentifierNode(tmpName, arrayLiteralNode)
@@ -1139,13 +1133,13 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
11391133
// For boolean nodes we here enforce that we get a "true" or "false".
11401134
// This is required because source.getCode(literalNode) can be an empty string
11411135
// for constructs like: for(;;)
1142-
(bool.getString, Some(Defines.BOOLEAN.label))
1136+
(bool.getString, Some(Defines.Boolean))
11431137
case string if literalNode.isString =>
11441138
// Some string values are artificially created and thus source.getCode() would
11451139
// result in misleading code fields.
1146-
("\"" + string.getString + "\"", Some(Defines.STRING.label))
1140+
("\"" + string.getString + "\"", Some(Defines.String))
11471141
case _ if literalNode.getValue == null =>
1148-
("null", Some(Defines.NULL.label))
1142+
("null", Some(Defines.Null))
11491143
case obj =>
11501144
(obj.getString, None)
11511145
}
@@ -1217,7 +1211,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
12171211
val indexId = astNodeBuilder.createLiteralNode(
12181212
parameterNode.getIndex.toString,
12191213
astNodeBuilder.lineAndColumn(parameterNode),
1220-
Some(Defines.NUMBER.label)
1214+
Some(Defines.Number)
12211215
)
12221216

12231217
val accessId =
@@ -1287,7 +1281,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
12871281
val (_, methodFullName) = calcMethodNameAndFullName(functionNode)
12881282
(methodFullName, varNode.toString())
12891283
} else {
1290-
(Defines.ANY.label, "")
1284+
(Defines.Any, "")
12911285
}
12921286

12931287
val varId = astNodeBuilder.createLocalNode(varNode.getName.getName, typeFullName)
@@ -1367,7 +1361,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
13671361
scope.pushNewBlockScope(blockId)
13681362
localAstParentStack.push(blockId)
13691363

1370-
val localId = astNodeBuilder.createLocalNode(localTmpName, Defines.ANY.label)
1364+
val localId = astNodeBuilder.createLocalNode(localTmpName, Defines.Any)
13711365
addLocalToAst(localId)
13721366

13731367
val tmpId = createIdentifierNode(localTmpName, rhs)
@@ -1404,7 +1398,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
14041398
val indexId = astNodeBuilder.createLiteralNode(
14051399
index.toString,
14061400
astNodeBuilder.lineAndColumn(identNode),
1407-
Some(Defines.NUMBER.label)
1401+
Some(Defines.Number)
14081402
)
14091403
val accessId =
14101404
astNodeBuilder.createIndexAccessNode(fieldAccessTmpId, indexId, astNodeBuilder.lineAndColumn(identNode))
@@ -1449,7 +1443,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
14491443
val indexId = astNodeBuilder.createLiteralNode(
14501444
index.toString,
14511445
astNodeBuilder.lineAndColumn(binaryNode),
1452-
Some(Defines.NUMBER.label)
1446+
Some(Defines.Number)
14531447
)
14541448

14551449
val accessId =
@@ -1473,7 +1467,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
14731467
val indexId = astNodeBuilder.createLiteralNode(
14741468
index.toString,
14751469
astNodeBuilder.lineAndColumn(binaryNode),
1476-
Some(Defines.NUMBER.label)
1470+
Some(Defines.Number)
14771471
)
14781472

14791473
val accessId =
@@ -1616,7 +1610,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
16161610

16171611
val tmpAllocName =
16181612
PassHelpers.generateUnusedVariableName(usedVariableNames, usedIdentNodes, "_tmp")
1619-
val localTmpAllocId = astNodeBuilder.createLocalNode(tmpAllocName, Defines.ANY.label)
1613+
val localTmpAllocId = astNodeBuilder.createLocalNode(tmpAllocName, Defines.Any)
16201614
addLocalToAst(localTmpAllocId)
16211615

16221616
val tmpAllocId1 = createIdentifierNode(tmpAllocName, unaryNode)
@@ -1830,7 +1824,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
18301824

18311825
val tmpName =
18321826
PassHelpers.generateUnusedVariableName(usedVariableNames, usedIdentNodes, "_tmp")
1833-
val localId = astNodeBuilder.createLocalNode(tmpName, Defines.ANY.label)
1827+
val localId = astNodeBuilder.createLocalNode(tmpName, Defines.Any)
18341828
addLocalToAst(localId)
18351829

18361830
objectNode.getElements.forEach {
@@ -1912,11 +1906,8 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
19121906
.updateWith(closureBindingIdProperty) {
19131907
case None =>
19141908
val methodScopeNodeId = methodScope.scopeNode
1915-
val localId = astNodeBuilder.createLocalNode(
1916-
origin.variableName,
1917-
Defines.ANY.label,
1918-
Some(closureBindingIdProperty)
1919-
)
1909+
val localId =
1910+
astNodeBuilder.createLocalNode(origin.variableName, Defines.Any, Some(closureBindingIdProperty))
19201911
astEdgeBuilder.addAstEdge(localId, methodScopeNodeId, 0)
19211912
val closureBindingId =
19221913
astNodeBuilder.createClosureBindingNode(closureBindingIdProperty, origin.variableName)
@@ -1952,7 +1943,7 @@ class AstCreator(diffGraph: DiffGraphBuilder, source: JsSource, usedIdentNodes:
19521943
variableName: String
19531944
): (NewNode, ScopeType) = {
19541945
val varId =
1955-
astNodeBuilder.createLocalNode(variableName, Defines.ANY.label)
1946+
astNodeBuilder.createLocalNode(variableName, Defines.Any)
19561947
astEdgeBuilder.addAstEdge(varId, methodScopeNodeId, 0)
19571948
(varId, MethodScope)
19581949
}

src/main/scala/io/shiftleft/js2cpg/astcreation/AstNodeBuilder.scala

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class AstNodeBuilder(
6262
.lineNumber(line)
6363
.columnNumber(column)
6464
.order(orderTracker.order)
65-
.typeFullName(Defines.ANY.label)
65+
.typeFullName(Defines.Any)
6666

6767
diffGraph.addNode(param)
6868
orderTracker.inc()
@@ -113,7 +113,7 @@ class AstNodeBuilder(
113113
.lineNumber(lineColumn.line)
114114
.columnNumber(lineColumn.column)
115115
.code(shortenCode(code))
116-
.typeFullName(Defines.ANY.label)
116+
.typeFullName(Defines.Any)
117117

118118
diffGraph.addNode(unknown)
119119
unknown
@@ -152,7 +152,7 @@ class AstNodeBuilder(
152152
.code(shortenCode(name))
153153
.lineNumber(line)
154154
.columnNumber(column)
155-
.typeFullName(Defines.ANY.label)
155+
.typeFullName(Defines.Any)
156156
.dynamicTypeHintFullName(dynamicTypeOption.toList)
157157
diffGraph.addNode(identifier)
158158
identifier
@@ -205,7 +205,7 @@ class AstNodeBuilder(
205205
.signature("")
206206
.lineNumber(line)
207207
.columnNumber(column)
208-
.typeFullName(Defines.ANY.label)
208+
.typeFullName(Defines.Any)
209209

210210
diffGraph.addNode(call)
211211
call
@@ -278,7 +278,7 @@ class AstNodeBuilder(
278278
val column = lineAndColumn.column
279279
val literal = NewLiteral()
280280
.code(shortenCode(code))
281-
.typeFullName(Defines.ANY.label)
281+
.typeFullName(Defines.Any)
282282
.lineNumber(line)
283283
.columnNumber(column)
284284
.dynamicTypeHintFullName(dynamicTypeOption.toList)
@@ -328,7 +328,7 @@ class AstNodeBuilder(
328328
.dispatchType(dispatchType)
329329
.lineNumber(line)
330330
.columnNumber(column)
331-
.typeFullName(Defines.ANY.label)
331+
.typeFullName(Defines.Any)
332332

333333
diffGraph.addNode(call)
334334
call
@@ -343,7 +343,7 @@ class AstNodeBuilder(
343343

344344
def createNamespaceBlockNode(fullName: String): NewNamespaceBlock = {
345345
val namespaceBlock = NewNamespaceBlock()
346-
.name(Defines.GLOBAL_NAMESPACE)
346+
.name(Defines.GlobalNamespace)
347347
.fullName(fullName)
348348
.filename(source.filePath)
349349
.order(1)
@@ -423,7 +423,7 @@ class AstNodeBuilder(
423423
shortenCode(customCode.getOrElse(sanitizeCode(node)))
424424
}
425425
val block = NewBlock()
426-
.typeFullName(Defines.ANY.label)
426+
.typeFullName(Defines.Any)
427427
.code(code)
428428
.lineNumber(line)
429429
.columnNumber(column)
@@ -439,7 +439,7 @@ class AstNodeBuilder(
439439
val ret = NewMethodReturn()
440440
.code(shortenCode(code))
441441
.evaluationStrategy(EvaluationStrategies.BY_VALUE)
442-
.typeFullName(Defines.ANY.label)
442+
.typeFullName(Defines.Any)
443443
.lineNumber(line)
444444
.columnNumber(column)
445445
diffGraph.addNode(ret)
@@ -484,7 +484,7 @@ class AstNodeBuilder(
484484
val member = NewMember()
485485
.code(shortenCode(source.getString(node)))
486486
.name(name)
487-
.typeFullName(Defines.ANY.label)
487+
.typeFullName(Defines.Any)
488488
.dynamicTypeHintFullName(dynamicTypeOption.toList)
489489
diffGraph.addNode(member)
490490
member

0 commit comments

Comments
 (0)