Skip to content

Commit 7bf7df2

Browse files
committed
C#/Java: Add model generator option for making content based summaries.
1 parent 6e8941e commit 7bf7df2

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

misc/scripts/models-as-data/generate_flow_model.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ def __init__ (self, language):
3333
self.generateSources = False
3434
self.generateSummaries = False
3535
self.generateNeutrals = False
36+
self.generateContentSummaries = False
3637
self.generateTypeBasedSummaries = False
3738
self.dryRun = False
3839
self.dirname = "modelgenerator"
@@ -50,6 +51,7 @@ def printHelp(self):
5051
--with-sources
5152
--with-summaries
5253
--with-neutrals
54+
--with-content-summaries (Experimental). May not be used in conjunction with --with-summaries
5355
--with-typebased-summaries (Experimental)
5456
If none of these flags are specified, all models are generated except for the type based models.
5557
@@ -81,6 +83,10 @@ def make(language):
8183
generator.printHelp()
8284
sys.exit(0)
8385

86+
if "--with-summaries" in sys.argv and "--with-content-summaries" in sys.argv:
87+
generator.printHelp()
88+
sys.exit(0)
89+
8490
if "--with-sinks" in sys.argv:
8591
sys.argv.remove("--with-sinks")
8692
generator.generateSinks = True
@@ -97,6 +103,10 @@ def make(language):
97103
sys.argv.remove("--with-neutrals")
98104
generator.generateNeutrals = True
99105

106+
if "--with-content-summaries" in sys.argv:
107+
sys.argv.remove("--with-content-summaries")
108+
generator.generateContentSummaries = True
109+
100110
if "--with-typebased-summaries" in sys.argv:
101111
sys.argv.remove("--with-typebased-summaries")
102112
generator.generateTypeBasedSummaries = True
@@ -105,7 +115,7 @@ def make(language):
105115
sys.argv.remove("--dry-run")
106116
generator.dryRun = True
107117

108-
if not generator.generateSinks and not generator.generateSources and not generator.generateSummaries and not generator.generateNeutrals and not generator.generateTypeBasedSummaries:
118+
if not generator.generateSinks and not generator.generateSources and not generator.generateSummaries and not generator.generateNeutrals and not generator.generateTypeBasedSummaries and not generator.generateContentSummaries:
109119
generator.generateSinks = generator.generateSources = generator.generateSummaries = generator.generateNeutrals = True
110120

111121
n = len(sys.argv)
@@ -162,8 +172,13 @@ def makeContent(self):
162172
neutralAddsTo = self.getAddsTo("CaptureNeutralModels.ql", helpers.neutralModelPredicate)
163173
else:
164174
neutralAddsTo = { }
165-
166-
return helpers.merge(summaryAddsTo, sinkAddsTo, sourceAddsTo, neutralAddsTo)
175+
176+
if self.generateContentSummaries:
177+
contentSummaryAddsTo = self.getAddsTo("CaptureContentSummaryModels.ql", helpers.summaryModelPredicate)
178+
else:
179+
contentSummaryAddsTo = { }
180+
181+
return helpers.merge(summaryAddsTo, contentSummaryAddsTo, sinkAddsTo, sourceAddsTo, neutralAddsTo)
167182

168183
def makeTypeBasedContent(self):
169184
if self.generateTypeBasedSummaries:

0 commit comments

Comments
 (0)