mirror of
https://github.com/github/codeql.git
synced 2026-04-28 18:25:24 +02:00
Merge pull request #6884 from geoffw0/setliterals
Replace or chains with set literals.
This commit is contained in:
@@ -38,11 +38,12 @@ class TearDownMethod extends Method {
|
||||
|
||||
private class TestRelatedAnnotation extends Annotation {
|
||||
TestRelatedAnnotation() {
|
||||
this.getType().getPackage().hasName("org.testng.annotations") or
|
||||
this.getType().getPackage().hasName("org.junit") or
|
||||
this.getType().getPackage().hasName("org.junit.runner") or
|
||||
this.getType().getPackage().hasName("org.junit.jupiter.api") or
|
||||
this.getType().getPackage().hasName("org.junit.jupiter.params")
|
||||
this.getType()
|
||||
.getPackage()
|
||||
.hasName([
|
||||
"org.testng.annotations", "org.junit", "org.junit.runner", "org.junit.jupiter.api",
|
||||
"org.junit.jupiter.params"
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,16 +17,11 @@ import semmle.code.java.controlflow.UnreachableBlocks
|
||||
class ExcludeDebuggingProfilingLogging extends ExcludedConstantField {
|
||||
ExcludeDebuggingProfilingLogging() {
|
||||
exists(string validFieldName |
|
||||
validFieldName = "debug" or
|
||||
validFieldName = "profiling" or
|
||||
validFieldName = "profile" or
|
||||
validFieldName = "time" or
|
||||
validFieldName = "verbose" or
|
||||
validFieldName = "report" or
|
||||
validFieldName = "dbg" or
|
||||
validFieldName = "timing" or
|
||||
validFieldName = "assert" or
|
||||
validFieldName = "log"
|
||||
validFieldName =
|
||||
[
|
||||
"debug", "profiling", "profile", "time", "verbose", "report", "dbg", "timing", "assert",
|
||||
"log"
|
||||
]
|
||||
|
|
||||
getName().regexpMatch(".*(?i)" + validFieldName + ".*")
|
||||
) and
|
||||
|
||||
@@ -25,9 +25,7 @@ string getAJaxRsPackage(string subpackage) { result = getAJaxRsPackage() + "." +
|
||||
class JaxWsEndpoint extends Class {
|
||||
JaxWsEndpoint() {
|
||||
exists(AnnotationType a | a = this.getAnAnnotation().getType() |
|
||||
a.hasName("WebService") or
|
||||
a.hasName("WebServiceProvider") or
|
||||
a.hasName("WebServiceClient")
|
||||
a.hasName(["WebService", "WebServiceProvider", "WebServiceClient"])
|
||||
)
|
||||
}
|
||||
|
||||
@@ -35,8 +33,7 @@ class JaxWsEndpoint extends Class {
|
||||
Callable getARemoteMethod() {
|
||||
result = this.getACallable() and
|
||||
exists(AnnotationType a | a = result.getAnAnnotation().getType() |
|
||||
a.hasName("WebMethod") or
|
||||
a.hasName("WebEndpoint")
|
||||
a.hasName(["WebMethod", "WebEndpoint"])
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -62,12 +59,7 @@ class JaxRsResourceMethod extends Method {
|
||||
a = this.getAnAnnotation().getType() and
|
||||
a.getPackage().getName() = getAJaxRsPackage()
|
||||
|
|
||||
a.hasName("GET") or
|
||||
a.hasName("POST") or
|
||||
a.hasName("DELETE") or
|
||||
a.hasName("PUT") or
|
||||
a.hasName("OPTIONS") or
|
||||
a.hasName("HEAD")
|
||||
a.hasName(["GET", "POST", "DELETE", "PUT", "OPTIONS", "HEAD"])
|
||||
)
|
||||
or
|
||||
// A JaxRS resource method can also inherit these annotations from a supertype, but only if
|
||||
@@ -201,13 +193,10 @@ class JaxRsInjectionAnnotation extends JaxRSAnnotation {
|
||||
a = this.getType() and
|
||||
a.getPackage().getName() = getAJaxRsPackage()
|
||||
|
|
||||
a.hasName("BeanParam") or
|
||||
a.hasName("CookieParam") or
|
||||
a.hasName("FormParam") or
|
||||
a.hasName("HeaderParam") or
|
||||
a.hasName("MatrixParam") or
|
||||
a.hasName("PathParam") or
|
||||
a.hasName("QueryParam")
|
||||
a.hasName([
|
||||
"BeanParam", "CookieParam", "FormParam", "HeaderParam", "MatrixParam", "PathParam",
|
||||
"QueryParam"
|
||||
])
|
||||
)
|
||||
or
|
||||
this.getType().hasQualifiedName(getAJaxRsPackage("core"), "Context")
|
||||
|
||||
@@ -40,13 +40,7 @@ class ProtobufMessageLite extends Interface {
|
||||
*/
|
||||
Method getAGetterMethod() {
|
||||
exists(RefType decl | decl = result.getDeclaringType() and decl = this.getASubtype+() |
|
||||
exists(string name, string suffix |
|
||||
suffix = "" or
|
||||
suffix = "list" or
|
||||
suffix = "map" or
|
||||
suffix = "ordefault" or
|
||||
suffix = "orthrow"
|
||||
|
|
||||
exists(string name, string suffix | suffix = ["", "list", "map", "ordefault", "orthrow"] |
|
||||
exists(Field f | f.getDeclaringType() = decl |
|
||||
f.getName().toLowerCase().replaceAll("_", "") = name
|
||||
) and
|
||||
|
||||
@@ -266,11 +266,7 @@ class MetricRefType extends RefType, MetricElement {
|
||||
* for use with the specialization index metric.
|
||||
*/
|
||||
predicate ignoreOverride(Method c) {
|
||||
c.hasStringSignature("equals(Object)") or
|
||||
c.hasStringSignature("hashCode()") or
|
||||
c.hasStringSignature("toString()") or
|
||||
c.hasStringSignature("finalize()") or
|
||||
c.hasStringSignature("clone()")
|
||||
c.hasStringSignature(["equals(Object)", "hashCode()", "toString()", "finalize()", "clone()"])
|
||||
}
|
||||
|
||||
/** Gets a method that overrides a non-abstract method in a super type. */
|
||||
|
||||
@@ -7,10 +7,7 @@ import java
|
||||
predicate relativePath(Element tree, string command) {
|
||||
exists(StringLiteral lit, string text | tree = lit and text = lit.getRepresentedString() |
|
||||
text != "" and
|
||||
(
|
||||
text.regexpMatch("[^/\\\\ \t]*") or
|
||||
text.regexpMatch("[^/\\\\ \t]*[ \t].*")
|
||||
) and
|
||||
text.regexpMatch(["[^/\\\\ \t]*", "[^/\\\\ \t]*[ \t].*"]) and
|
||||
command = text.replaceAll("\t", " ").splitAt(" ", 0).replaceAll("\"", "")
|
||||
)
|
||||
or
|
||||
@@ -35,39 +32,11 @@ predicate arrayStartingWithRelative(Element tree, string command) {
|
||||
* because they do not correspond to files in the filesystem.
|
||||
*/
|
||||
predicate shellBuiltin(string command) {
|
||||
command = "." or
|
||||
command = "[" or
|
||||
command = "[[" or
|
||||
command = "alias" or
|
||||
command = "builtin" or
|
||||
command = "case" or
|
||||
command = "command" or
|
||||
command = "compgen" or
|
||||
command = "complete" or
|
||||
command = "compopt" or
|
||||
command = "echo" or
|
||||
command = "eval" or
|
||||
command = "exec" or
|
||||
command = "false" or
|
||||
command = "fc" or
|
||||
command = "for" or
|
||||
command = "getopts" or
|
||||
command = "help" or
|
||||
command = "history" or
|
||||
command = "if" or
|
||||
command = "kill" or
|
||||
command = "printf" or
|
||||
command = "pwd" or
|
||||
command = "select" or
|
||||
command = "source" or
|
||||
command = "test" or
|
||||
command = "time" or
|
||||
command = "times" or
|
||||
command = "trap" or
|
||||
command = "true" or
|
||||
command = "type" or
|
||||
command = "typeset" or
|
||||
command = "ulimit" or
|
||||
command = "until" or
|
||||
command = "while"
|
||||
command =
|
||||
[
|
||||
".", "[", "[[", "alias", "builtin", "case", "command", "compgen", "complete", "compopt",
|
||||
"echo", "eval", "exec", "false", "fc", "for", "getopts", "help", "history", "if", "kill",
|
||||
"printf", "pwd", "select", "source", "test", "time", "times", "trap", "true", "type",
|
||||
"typeset", "ulimit", "until", "while"
|
||||
]
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,179 +5,30 @@ import java
|
||||
*/
|
||||
|
||||
private predicate trivialPositiveIntValue(string s) {
|
||||
s = "0" or
|
||||
s = "1" or
|
||||
s = "2" or
|
||||
s = "3" or
|
||||
s = "4" or
|
||||
s = "5" or
|
||||
s = "6" or
|
||||
s = "7" or
|
||||
s = "8" or
|
||||
s = "9" or
|
||||
s = "10" or
|
||||
s = "11" or
|
||||
s = "12" or
|
||||
s = "13" or
|
||||
s = "14" or
|
||||
s = "15" or
|
||||
s = "16" or
|
||||
s = "17" or
|
||||
s = "18" or
|
||||
s = "19" or
|
||||
s = "20" or
|
||||
s = "16" or
|
||||
s = "32" or
|
||||
s = "64" or
|
||||
s = "128" or
|
||||
s = "256" or
|
||||
s = "512" or
|
||||
s = "1024" or
|
||||
s = "2048" or
|
||||
s = "4096" or
|
||||
s = "16384" or
|
||||
s = "32768" or
|
||||
s = "65536" or
|
||||
s = "1048576" or
|
||||
s = "2147483648" or
|
||||
s = "4294967296" or
|
||||
s = "15" or
|
||||
s = "31" or
|
||||
s = "63" or
|
||||
s = "127" or
|
||||
s = "255" or
|
||||
s = "511" or
|
||||
s = "1023" or
|
||||
s = "2047" or
|
||||
s = "4095" or
|
||||
s = "16383" or
|
||||
s = "32767" or
|
||||
s = "65535" or
|
||||
s = "1048577" or
|
||||
s = "2147483647" or
|
||||
s = "4294967295" or
|
||||
s = "0x00000001" or
|
||||
s = "0x00000002" or
|
||||
s = "0x00000004" or
|
||||
s = "0x00000008" or
|
||||
s = "0x00000010" or
|
||||
s = "0x00000020" or
|
||||
s = "0x00000040" or
|
||||
s = "0x00000080" or
|
||||
s = "0x00000100" or
|
||||
s = "0x00000200" or
|
||||
s = "0x00000400" or
|
||||
s = "0x00000800" or
|
||||
s = "0x00001000" or
|
||||
s = "0x00002000" or
|
||||
s = "0x00004000" or
|
||||
s = "0x00008000" or
|
||||
s = "0x00010000" or
|
||||
s = "0x00020000" or
|
||||
s = "0x00040000" or
|
||||
s = "0x00080000" or
|
||||
s = "0x00100000" or
|
||||
s = "0x00200000" or
|
||||
s = "0x00400000" or
|
||||
s = "0x00800000" or
|
||||
s = "0x01000000" or
|
||||
s = "0x02000000" or
|
||||
s = "0x04000000" or
|
||||
s = "0x08000000" or
|
||||
s = "0x10000000" or
|
||||
s = "0x20000000" or
|
||||
s = "0x40000000" or
|
||||
s = "0x80000000" or
|
||||
s = "0x00000001" or
|
||||
s = "0x00000003" or
|
||||
s = "0x00000007" or
|
||||
s = "0x0000000f" or
|
||||
s = "0x0000001f" or
|
||||
s = "0x0000003f" or
|
||||
s = "0x0000007f" or
|
||||
s = "0x000000ff" or
|
||||
s = "0x000001ff" or
|
||||
s = "0x000003ff" or
|
||||
s = "0x000007ff" or
|
||||
s = "0x00000fff" or
|
||||
s = "0x00001fff" or
|
||||
s = "0x00003fff" or
|
||||
s = "0x00007fff" or
|
||||
s = "0x0000ffff" or
|
||||
s = "0x0001ffff" or
|
||||
s = "0x0003ffff" or
|
||||
s = "0x0007ffff" or
|
||||
s = "0x000fffff" or
|
||||
s = "0x001fffff" or
|
||||
s = "0x003fffff" or
|
||||
s = "0x007fffff" or
|
||||
s = "0x00ffffff" or
|
||||
s = "0x01ffffff" or
|
||||
s = "0x03ffffff" or
|
||||
s = "0x07ffffff" or
|
||||
s = "0x0fffffff" or
|
||||
s = "0x1fffffff" or
|
||||
s = "0x3fffffff" or
|
||||
s = "0x7fffffff" or
|
||||
s = "0xffffffff" or
|
||||
s = "0x0001" or
|
||||
s = "0x0002" or
|
||||
s = "0x0004" or
|
||||
s = "0x0008" or
|
||||
s = "0x0010" or
|
||||
s = "0x0020" or
|
||||
s = "0x0040" or
|
||||
s = "0x0080" or
|
||||
s = "0x0100" or
|
||||
s = "0x0200" or
|
||||
s = "0x0400" or
|
||||
s = "0x0800" or
|
||||
s = "0x1000" or
|
||||
s = "0x2000" or
|
||||
s = "0x4000" or
|
||||
s = "0x8000" or
|
||||
s = "0x0001" or
|
||||
s = "0x0003" or
|
||||
s = "0x0007" or
|
||||
s = "0x000f" or
|
||||
s = "0x001f" or
|
||||
s = "0x003f" or
|
||||
s = "0x007f" or
|
||||
s = "0x00ff" or
|
||||
s = "0x01ff" or
|
||||
s = "0x03ff" or
|
||||
s = "0x07ff" or
|
||||
s = "0x0fff" or
|
||||
s = "0x1fff" or
|
||||
s = "0x3fff" or
|
||||
s = "0x7fff" or
|
||||
s = "0xffff" or
|
||||
s = "0x01" or
|
||||
s = "0x02" or
|
||||
s = "0x04" or
|
||||
s = "0x08" or
|
||||
s = "0x10" or
|
||||
s = "0x20" or
|
||||
s = "0x40" or
|
||||
s = "0x80" or
|
||||
s = "0x01" or
|
||||
s = "0x03" or
|
||||
s = "0x07" or
|
||||
s = "0x0f" or
|
||||
s = "0x1f" or
|
||||
s = "0x3f" or
|
||||
s = "0x7f" or
|
||||
s = "0xff" or
|
||||
s = "0x00" or
|
||||
s = "10" or
|
||||
s = "100" or
|
||||
s = "1000" or
|
||||
s = "10000" or
|
||||
s = "100000" or
|
||||
s = "1000000" or
|
||||
s = "10000000" or
|
||||
s = "100000000" or
|
||||
s = "1000000000"
|
||||
s =
|
||||
[
|
||||
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16",
|
||||
"17", "18", "19", "20", "16", "32", "64", "128", "256", "512", "1024", "2048", "4096",
|
||||
"16384", "32768", "65536", "1048576", "2147483648", "4294967296", "15", "31", "63", "127",
|
||||
"255", "511", "1023", "2047", "4095", "16383", "32767", "65535", "1048577", "2147483647",
|
||||
"4294967295", "0x00000001", "0x00000002", "0x00000004", "0x00000008", "0x00000010",
|
||||
"0x00000020", "0x00000040", "0x00000080", "0x00000100", "0x00000200", "0x00000400",
|
||||
"0x00000800", "0x00001000", "0x00002000", "0x00004000", "0x00008000", "0x00010000",
|
||||
"0x00020000", "0x00040000", "0x00080000", "0x00100000", "0x00200000", "0x00400000",
|
||||
"0x00800000", "0x01000000", "0x02000000", "0x04000000", "0x08000000", "0x10000000",
|
||||
"0x20000000", "0x40000000", "0x80000000", "0x00000001", "0x00000003", "0x00000007",
|
||||
"0x0000000f", "0x0000001f", "0x0000003f", "0x0000007f", "0x000000ff", "0x000001ff",
|
||||
"0x000003ff", "0x000007ff", "0x00000fff", "0x00001fff", "0x00003fff", "0x00007fff",
|
||||
"0x0000ffff", "0x0001ffff", "0x0003ffff", "0x0007ffff", "0x000fffff", "0x001fffff",
|
||||
"0x003fffff", "0x007fffff", "0x00ffffff", "0x01ffffff", "0x03ffffff", "0x07ffffff",
|
||||
"0x0fffffff", "0x1fffffff", "0x3fffffff", "0x7fffffff", "0xffffffff", "0x0001", "0x0002",
|
||||
"0x0004", "0x0008", "0x0010", "0x0020", "0x0040", "0x0080", "0x0100", "0x0200", "0x0400",
|
||||
"0x0800", "0x1000", "0x2000", "0x4000", "0x8000", "0x0001", "0x0003", "0x0007", "0x000f",
|
||||
"0x001f", "0x003f", "0x007f", "0x00ff", "0x01ff", "0x03ff", "0x07ff", "0x0fff", "0x1fff",
|
||||
"0x3fff", "0x7fff", "0xffff", "0x01", "0x02", "0x04", "0x08", "0x10", "0x20", "0x40", "0x80",
|
||||
"0x01", "0x03", "0x07", "0x0f", "0x1f", "0x3f", "0x7f", "0xff", "0x00", "10", "100", "1000",
|
||||
"10000", "100000", "1000000", "10000000", "100000000", "1000000000"
|
||||
]
|
||||
}
|
||||
|
||||
private predicate trivialIntValue(string s) {
|
||||
|
||||
Reference in New Issue
Block a user