@@ -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)
5456If 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