@@ -33,6 +33,7 @@ def __init__ (self, language):
33
33
self .generateSources = False
34
34
self .generateSummaries = False
35
35
self .generateNeutrals = False
36
+ self .generateContentSummaries = False
36
37
self .generateTypeBasedSummaries = False
37
38
self .dryRun = False
38
39
self .dirname = "modelgenerator"
@@ -50,6 +51,7 @@ def printHelp(self):
50
51
--with-sources
51
52
--with-summaries
52
53
--with-neutrals
54
+ --with-content-summaries (Experimental). May not be used in conjunction with --with-summaries
53
55
--with-typebased-summaries (Experimental)
54
56
If none of these flags are specified, all models are generated except for the type based models.
55
57
@@ -81,6 +83,10 @@ def make(language):
81
83
generator .printHelp ()
82
84
sys .exit (0 )
83
85
86
+ if "--with-summaries" in sys .argv and "--with-content-summaries" in sys .argv :
87
+ generator .printHelp ()
88
+ sys .exit (0 )
89
+
84
90
if "--with-sinks" in sys .argv :
85
91
sys .argv .remove ("--with-sinks" )
86
92
generator .generateSinks = True
@@ -97,6 +103,10 @@ def make(language):
97
103
sys .argv .remove ("--with-neutrals" )
98
104
generator .generateNeutrals = True
99
105
106
+ if "--with-content-summaries" in sys .argv :
107
+ sys .argv .remove ("--with-content-summaries" )
108
+ generator .generateContentSummaries = True
109
+
100
110
if "--with-typebased-summaries" in sys .argv :
101
111
sys .argv .remove ("--with-typebased-summaries" )
102
112
generator .generateTypeBasedSummaries = True
@@ -105,7 +115,7 @@ def make(language):
105
115
sys .argv .remove ("--dry-run" )
106
116
generator .dryRun = True
107
117
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 :
109
119
generator .generateSinks = generator .generateSources = generator .generateSummaries = generator .generateNeutrals = True
110
120
111
121
n = len (sys .argv )
@@ -162,8 +172,13 @@ def makeContent(self):
162
172
neutralAddsTo = self .getAddsTo ("CaptureNeutralModels.ql" , helpers .neutralModelPredicate )
163
173
else :
164
174
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 )
167
182
168
183
def makeTypeBasedContent (self ):
169
184
if self .generateTypeBasedSummaries :
0 commit comments