Skip to content

Commit

Permalink
Initial work on moving creation of language to translation manager
Browse files Browse the repository at this point in the history
  • Loading branch information
oxisto committed Mar 7, 2025
1 parent 3a3e4e6 commit 07d2b30
Show file tree
Hide file tree
Showing 68 changed files with 538 additions and 411 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ package de.fraunhofer.aisec.cpg.testcases

import de.fraunhofer.aisec.cpg.TranslationConfiguration
import de.fraunhofer.aisec.cpg.frontends.TestLanguage
import de.fraunhofer.aisec.cpg.frontends.testFrontend
import de.fraunhofer.aisec.cpg.graph.array
import de.fraunhofer.aisec.cpg.graph.builder.assign
import de.fraunhofer.aisec.cpg.graph.builder.body
Expand Down Expand Up @@ -61,7 +62,7 @@ class FlowQueriesTest {
.defaultPasses()
.registerPass<ControlDependenceGraphPass>()
.registerPass<ProgramDependenceGraphPass>()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -107,7 +108,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -143,7 +144,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -184,7 +185,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -226,7 +227,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -260,7 +261,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -298,7 +299,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -337,7 +338,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -373,7 +374,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -414,7 +415,7 @@ class FlowQueriesTest {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,9 @@
*/
package de.fraunhofer.aisec.cpg.testcases

import de.fraunhofer.aisec.cpg.ScopeManager
import de.fraunhofer.aisec.cpg.TranslationConfiguration
import de.fraunhofer.aisec.cpg.TranslationContext
import de.fraunhofer.aisec.cpg.TypeManager
import de.fraunhofer.aisec.cpg.frontends.TestLanguage
import de.fraunhofer.aisec.cpg.frontends.TestLanguageFrontend
import de.fraunhofer.aisec.cpg.frontends.testFrontend
import de.fraunhofer.aisec.cpg.graph.array
import de.fraunhofer.aisec.cpg.graph.builder.*
import de.fraunhofer.aisec.cpg.passes.UnreachableEOGPass
Expand All @@ -42,7 +39,7 @@ class GraphExamples {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.registerPass<UnreachableEOGPass>()
.build()
) =
Expand Down Expand Up @@ -240,7 +237,7 @@ class GraphExamples {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.registerPass<UnreachableEOGPass>()
.build()
) =
Expand Down Expand Up @@ -633,9 +630,3 @@ class GraphExamples {
}
}
}

fun testFrontend(config: TranslationConfiguration): TestLanguageFrontend {
val ctx = TranslationContext(config, ScopeManager(), TypeManager())
val language = config.languages.filterIsInstance<TestLanguage>().first()
return TestLanguageFrontend(language.namespaceDelimiter, language, ctx)
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ package de.fraunhofer.aisec.cpg.testcases

import de.fraunhofer.aisec.cpg.TranslationConfiguration
import de.fraunhofer.aisec.cpg.frontends.TestLanguage
import de.fraunhofer.aisec.cpg.frontends.testFrontend
import de.fraunhofer.aisec.cpg.graph.builder.*
import de.fraunhofer.aisec.cpg.passes.UnreachableEOGPass

Expand All @@ -37,7 +38,7 @@ class Passes {
TranslationConfiguration.builder()
.defaultPasses()
.registerPass<UnreachableEOGPass>()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ package de.fraunhofer.aisec.cpg.testcases
import de.fraunhofer.aisec.cpg.InferenceConfiguration
import de.fraunhofer.aisec.cpg.TranslationConfiguration
import de.fraunhofer.aisec.cpg.frontends.TestLanguage
import de.fraunhofer.aisec.cpg.frontends.testFrontend
import de.fraunhofer.aisec.cpg.graph.array
import de.fraunhofer.aisec.cpg.graph.builder.*
import de.fraunhofer.aisec.cpg.graph.newNewArrayExpression
Expand All @@ -39,7 +40,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -97,7 +98,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.inferenceConfiguration(InferenceConfiguration.builder().enabled(false).build())
.build()
) =
Expand Down Expand Up @@ -173,7 +174,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.inferenceConfiguration(
InferenceConfiguration.builder().inferFunctions(false).build()
)
Expand Down Expand Up @@ -251,7 +252,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -328,7 +329,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -388,7 +389,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -436,7 +437,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -498,7 +499,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -546,7 +547,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand All @@ -571,7 +572,7 @@ class Query {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ package de.fraunhofer.aisec.cpg.testcases

import de.fraunhofer.aisec.cpg.TranslationConfiguration
import de.fraunhofer.aisec.cpg.frontends.TestLanguage
import de.fraunhofer.aisec.cpg.frontends.testFrontend
import de.fraunhofer.aisec.cpg.graph.*
import de.fraunhofer.aisec.cpg.graph.builder.*
import de.fraunhofer.aisec.cpg.passes.UnreachableEOGPass
Expand All @@ -37,7 +38,7 @@ class ValueEvaluationTests {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.registerPass<UnreachableEOGPass>()
.build()
) =
Expand Down Expand Up @@ -99,7 +100,7 @@ class ValueEvaluationTests {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.registerPass<UnreachableEOGPass>()
.build()
) =
Expand Down Expand Up @@ -141,7 +142,7 @@ class ValueEvaluationTests {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.registerPass<UnreachableEOGPass>()
.build()
) =
Expand Down Expand Up @@ -246,7 +247,7 @@ class ValueEvaluationTests {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.registerPass<UnreachableEOGPass>()
.build()
) =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,10 @@
*/
package de.fraunhofer.aisec.cpg.testcases

import de.fraunhofer.aisec.cpg.ScopeManager
import de.fraunhofer.aisec.cpg.TranslationConfiguration
import de.fraunhofer.aisec.cpg.TranslationContext
import de.fraunhofer.aisec.cpg.TypeManager
import de.fraunhofer.aisec.cpg.frontends.TestLanguage
import de.fraunhofer.aisec.cpg.frontends.TestLanguageFrontend
import de.fraunhofer.aisec.cpg.frontends.TestLanguageWithColon
import de.fraunhofer.aisec.cpg.frontends.testFrontend
import de.fraunhofer.aisec.cpg.graph.array
import de.fraunhofer.aisec.cpg.graph.builder.*
import de.fraunhofer.aisec.cpg.graph.newNewArrayExpression
Expand All @@ -42,7 +40,7 @@ class GraphExamples {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("."))
.registerLanguage<TestLanguage>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -103,7 +101,7 @@ class GraphExamples {
config: TranslationConfiguration =
TranslationConfiguration.builder()
.defaultPasses()
.registerLanguage(TestLanguage("::"))
.registerLanguage<TestLanguageWithColon>()
.build()
) =
testFrontend(config).build {
Expand Down Expand Up @@ -152,11 +150,5 @@ class GraphExamples {
}
}
}

fun testFrontend(config: TranslationConfiguration): TestLanguageFrontend {
val ctx = TranslationContext(config, ScopeManager(), TypeManager())
val language = config.languages.filterIsInstance<TestLanguage>().first()
return TestLanguageFrontend(language.namespaceDelimiter, language, ctx)
}
}
}
Loading

0 comments on commit 07d2b30

Please # to comment.