Skip to content

Commit 120b84c

Browse files
Upgraded scala 2 enums to scala 3 in pysrc2cpg (#5748)
* Upgraded scala 2 enums to scala 3 in pysrc2cpg The custom toString override in memop is no longer needed since Scala 3 enums automatically provide the case name as the string representation. * Update to use curly-brace style for enum
1 parent d2c9f78 commit 120b84c

File tree

6 files changed

+12
-12
lines changed

6 files changed

+12
-12
lines changed

joern-cli/frontends/pysrc2cpg/src/main/scala/io/joern/pysrc2cpg/CodeToCpg.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package io.joern.pysrc2cpg
22

33
import io.shiftleft.codepropertygraph.generated.Cpg
44
import io.shiftleft.passes.ForkJoinParallelCpgPass
5+
import io.joern.pysrc2cpg.PythonVersion.PythonV2AndV3
56
import io.joern.pysrc2cpg.Py2Cpg.InputProvider
67
import io.joern.pythonparser.PyParser
78
import io.joern.x2cpg.ValidationMode

joern-cli/frontends/pysrc2cpg/src/main/scala/io/joern/pysrc2cpg/ContextStack.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package io.joern.pysrc2cpg
22

33
import io.joern.pysrc2cpg.ContextStack.transferLineColInfo
4-
import io.joern.pysrc2cpg.memop.*
4+
import io.joern.pysrc2cpg.memop.MemoryOperation
5+
import io.joern.pysrc2cpg.memop.MemoryOperation.{Del, Load, Store}
56
import io.joern.x2cpg.frontendspecific.pysrc2cpg.Constants
67
import io.shiftleft.codepropertygraph.generated.nodes
78
import io.shiftleft.codepropertygraph.generated.nodes.*

joern-cli/frontends/pysrc2cpg/src/main/scala/io/joern/pysrc2cpg/PythonAstVisitor.scala

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package io.joern.pysrc2cpg
22

33
import PythonAstVisitor.{logger, metaClassSuffix, noLineAndColumn}
44
import io.joern.pysrc2cpg.memop.*
5+
import io.joern.pysrc2cpg.memop.MemoryOperation.{Del, Load, Store}
56
import io.joern.x2cpg.frontendspecific.pysrc2cpg.Constants.builtinPrefix
67
import io.joern.pythonparser.{AstPrinter, ast}
78
import io.joern.pythonparser.ast.{Arguments, MatchAs, iast, iexpr, istmt}
@@ -11,6 +12,7 @@ import io.shiftleft.codepropertygraph.generated.*
1112
import io.shiftleft.codepropertygraph.generated.nodes.{NewCall, NewIdentifier, NewNode, NewTypeDecl}
1213
import org.slf4j.LoggerFactory
1314
import io.shiftleft.codepropertygraph.generated.DiffGraphBuilder
15+
import PythonVersion.*
1416

1517
import scala.collection.mutable
1618

@@ -21,10 +23,9 @@ object MethodParameters {
2123
}
2224
case class MethodParameters(posStartIndex: Int, positionalParams: Iterable[nodes.NewMethodParameterIn])
2325

24-
sealed trait PythonVersion
25-
object PythonV2 extends PythonVersion
26-
object PythonV3 extends PythonVersion
27-
object PythonV2AndV3 extends PythonVersion
26+
enum PythonVersion {
27+
case PythonV2, PythonV3, PythonV2AndV3
28+
}
2829

2930
class PythonAstVisitor(
3031
relFileName: String,

joern-cli/frontends/pysrc2cpg/src/main/scala/io/joern/pysrc2cpg/PythonAstVisitorHelpers.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package io.joern.pysrc2cpg
22

3-
import io.joern.pysrc2cpg.memop.Load
43
import io.joern.pysrc2cpg.memop.MemoryOperation
5-
import io.joern.pysrc2cpg.memop.Store
4+
import io.joern.pysrc2cpg.memop.MemoryOperation.{Del, Load, Store}
65
import io.joern.pythonparser.{AstPrinter, ast}
76
import io.joern.x2cpg.ValidationMode
87
import io.shiftleft.codepropertygraph.generated.ControlStructureTypes
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package io.joern.pysrc2cpg.memop
22

3-
sealed trait MemoryOperation {
4-
override def toString: String = getClass.getSimpleName
3+
enum MemoryOperation {
4+
case Store, Load, Del
55
}
6-
object Store extends MemoryOperation
7-
object Load extends MemoryOperation
8-
object Del extends MemoryOperation

joern-cli/frontends/pysrc2cpg/src/main/scala/io/joern/pysrc2cpg/memop/MemoryOperationCalculator.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import io.joern.pythonparser.ast.{
1919
TypeVarTuple
2020
}
2121
import io.joern.pythonparser.{AstVisitor, ast}
22+
import MemoryOperation.{Del, Load, Store}
2223

2324
import scala.collection.mutable
2425

0 commit comments

Comments
 (0)