Skip to content

Commit bb716dd

Browse files
authored
Merge pull request github#11499 from michaelnebel/java/kotlinstd
Kotlin: Migrate standard library models to data extensions.
2 parents 691188b + 3098077 commit bb716dd

File tree

12 files changed

+6513
-6312
lines changed

12 files changed

+6513
-6312
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/**
2+
* @name Extract MaD negative summary model rows.
3+
* @description This extracts the Models as data negative summary model rows.
4+
* @id csharp/utils/modelconverter/generate-data-extensions-negative-summary
5+
*/
6+
7+
import csharp
8+
import semmle.code.csharp.dataflow.ExternalFlow
9+
10+
from string package, string type, string name, string signature, string provenance
11+
where
12+
negativeSummaryModel(package, type, name, signature, provenance) and
13+
provenance != "generated"
14+
select package, type, name, signature, provenance order by package, type, name, signature

java/ql/lib/ext/generated/kotlinstdlib.model.yml

Lines changed: 6473 additions & 0 deletions
Large diffs are not rendered by default.

java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ private module Frameworks {
9898
private import semmle.code.java.frameworks.apache.Collections
9999
private import semmle.code.java.frameworks.apache.Lang
100100
private import semmle.code.java.frameworks.Flexjson
101-
private import semmle.code.java.frameworks.generated
102101
private import semmle.code.java.frameworks.guava.Guava
103102
private import semmle.code.java.frameworks.jackson.JacksonSerializability
104103
private import semmle.code.java.frameworks.javaee.jsf.JSFRenderer
@@ -135,7 +134,7 @@ private module Frameworks {
135134
*
136135
* Extend this class to add additional source definitions.
137136
*/
138-
class SourceModelCsv = SourceModelCsvInternal;
137+
deprecated class SourceModelCsv = SourceModelCsvInternal;
139138

140139
private class SourceModelCsvInternal extends Unit {
141140
/** Holds if `row` specifies a source definition. */
@@ -149,7 +148,7 @@ private class SourceModelCsvInternal extends Unit {
149148
*
150149
* Extend this class to add additional sink definitions.
151150
*/
152-
class SinkModelCsv = SinkModelCsvInternal;
151+
deprecated class SinkModelCsv = SinkModelCsvInternal;
153152

154153
private class SinkModelCsvInternal extends Unit {
155154
/** Holds if `row` specifies a sink definition. */
@@ -163,7 +162,7 @@ private class SinkModelCsvInternal extends Unit {
163162
*
164163
* Extend this class to add additional flow summary definitions.
165164
*/
166-
class SummaryModelCsv = SummaryModelCsvInternal;
165+
deprecated class SummaryModelCsv = SummaryModelCsvInternal;
167166

168167
private class SummaryModelCsvInternal extends Unit {
169168
/** Holds if `row` specifies a summary definition. */
@@ -177,7 +176,7 @@ private class SummaryModelCsvInternal extends Unit {
177176
*
178177
* Extend this class to add additional negative summary definitions.
179178
*/
180-
class NegativeSummaryModelCsv = NegativeSummaryModelCsvInternal;
179+
deprecated class NegativeSummaryModelCsv = NegativeSummaryModelCsvInternal;
181180

182181
private class NegativeSummaryModelCsvInternal extends Unit {
183182
/** Holds if `row` specifies a negative summary definition. */
@@ -555,7 +554,7 @@ module ModelValidation {
555554
not type.regexpMatch("[a-zA-Z0-9_\\$<>]+") and
556555
result = "Dubious type \"" + type + "\" in " + pred + " model."
557556
or
558-
not name.regexpMatch("[a-zA-Z0-9_]*") and
557+
not name.regexpMatch("[a-zA-Z0-9_\\-]*") and
559558
result = "Dubious name \"" + name + "\" in " + pred + " model."
560559
or
561560
not signature.regexpMatch("|\\([a-zA-Z0-9_\\.\\$<>,\\[\\]]*\\)") and

java/ql/lib/semmle/code/java/frameworks/generated.qll

Lines changed: 0 additions & 9 deletions
This file was deleted.

java/ql/lib/semmle/code/java/frameworks/kotlin/NegativeStdLibGenerated.qll

Lines changed: 0 additions & 4414 deletions
This file was deleted.

java/ql/lib/semmle/code/java/frameworks/kotlin/StdLibGenerated.qll

Lines changed: 0 additions & 1868 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/**
2+
* @name Extract MaD negative summary model rows.
3+
* @description This extracts the Models as data negative summary model rows.
4+
* @id java/utils/modelconverter/generate-data-extensions-negative-summary
5+
*/
6+
7+
import java
8+
import semmle.code.java.dataflow.ExternalFlow
9+
10+
from string package, string type, string name, string signature, string provenance
11+
where
12+
negativeSummaryModel(package, type, name, signature, provenance) and
13+
provenance != "generated"
14+
select package, type, name, signature, provenance order by package, type, name, signature

java/ql/test/library-tests/dataflow/external-models/negativesummaries.expected

Whitespace-only changes.

java/ql/test/library-tests/dataflow/external-models/negativesummaries.ql

Lines changed: 0 additions & 7 deletions
This file was deleted.

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ def makeContent(self):
7474
summaries = self.getAddsTo("ExtractSummaries.ql", helpers.summaryModelPredicate)
7575
sources = self.getAddsTo("ExtractSources.ql", helpers.sourceModelPredicate)
7676
sinks = self.getAddsTo("ExtractSinks.ql", helpers.sinkModelPredicate)
77-
return merge(sources, sinks, summaries)
77+
negativeSummaries = self.getAddsTo("ExtractNegativeSummaries.ql", helpers.negativeSummaryModelPredicate)
78+
return merge(sources, sinks, summaries, negativeSummaries)
7879

7980

8081
def save(self, extensions):

0 commit comments

Comments
 (0)