From 521dc9de5e150bb6f7439c518ce2e0d4b38106fa Mon Sep 17 00:00:00 2001 From: Alexander Kuechler Date: Wed, 12 Feb 2025 08:33:37 +0100 Subject: [PATCH] Refactoring for more consistent code --- .../aisec/cpg/graph/statements/ForEachStatement.kt | 7 +------ .../graph/statements/expressions/AssignExpression.kt | 11 ++++++----- .../statements/expressions/ComprehensionExpression.kt | 7 +------ .../cpg/graph/statements/expressions/UnaryOperator.kt | 10 ++++++---- 4 files changed, 14 insertions(+), 21 deletions(-) diff --git a/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/ForEachStatement.kt b/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/ForEachStatement.kt index 4ee2de24b7..150558994f 100644 --- a/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/ForEachStatement.kt +++ b/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/ForEachStatement.kt @@ -44,12 +44,7 @@ class ForEachStatement : LoopStatement(), BranchingNode, StatementHolder { @Relationship("VARIABLE") var variableEdge = astOptionalEdgeOf( - onChanged = { _, new -> - val end = new?.end - if (end is HasAccess) { - end.access = AccessValues.WRITE - } - } + onChanged = { _, new -> (new?.end as? HasAccess)?.access = AccessValues.WRITE } ) /** diff --git a/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/AssignExpression.kt b/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/AssignExpression.kt index 912f07ed54..7e7c018696 100644 --- a/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/AssignExpression.kt +++ b/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/AssignExpression.kt @@ -71,11 +71,12 @@ class AssignExpression : base = base.base as? MemberExpression } - if (isSimpleAssignment) { - (end as? HasAccess)?.access = AccessValues.WRITE - } else { - (end as? HasAccess)?.access = AccessValues.READWRITE - } + (end as? HasAccess)?.access = + if (isSimpleAssignment) { + AccessValues.WRITE + } else { + AccessValues.READWRITE + } } ) var lhs by unwrapping(AssignExpression::lhsEdges) diff --git a/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/ComprehensionExpression.kt b/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/ComprehensionExpression.kt index fc7d23f00f..b28917c6b3 100644 --- a/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/ComprehensionExpression.kt +++ b/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/ComprehensionExpression.kt @@ -42,12 +42,7 @@ class ComprehensionExpression : Expression(), ArgumentHolder { var variableEdge = astEdgeOf( of = ProblemExpression("Missing variableEdge in ${this::class}"), - onChanged = { _, new -> - val end = new?.end - if (end is HasAccess) { - end.access = AccessValues.WRITE - } - }, + onChanged = { _, new -> (new?.end as? HasAccess)?.access = AccessValues.WRITE }, ) /** diff --git a/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/UnaryOperator.kt b/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/UnaryOperator.kt index dd6a3b12b4..4bb93516e7 100644 --- a/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/UnaryOperator.kt +++ b/cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/graph/statements/expressions/UnaryOperator.kt @@ -75,10 +75,12 @@ class UnaryOperator : Expression(), HasOverloadedOperation, ArgumentHolder, HasT var isPrefix = false private fun changeExpressionAccess() { - var access = AccessValues.READ - if (operatorCode == "++" || operatorCode == "--") { - access = AccessValues.READWRITE - } + var access = + if (operatorCode == "++" || operatorCode == "--") { + AccessValues.READWRITE + } else { + AccessValues.READ + } (input as? HasAccess)?.access = access }