mirror of
https://github.com/github/codeql.git
synced 2026-04-26 01:05:15 +02:00
refactor miscellaneous expression uses to dataflow nodes
This commit is contained in:
committed by
erik-krogh
parent
6697dd1396
commit
5b61db9fd3
@@ -68,7 +68,7 @@ private class TrackStringsInAngularCode extends DataFlow::SourceNode::Range, Dat
|
||||
*/
|
||||
private DataFlow::CallNode angularModuleCall(string name) {
|
||||
result = angular().getAMemberCall("module") and
|
||||
result.getArgument(0).asExpr().mayHaveStringValue(name)
|
||||
result.getArgument(0).mayHaveStringValue(name)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -280,7 +280,7 @@ abstract class CustomDirective extends DirectiveInstance {
|
||||
InjectableFunction getController() { result = this.getMember("controller") }
|
||||
|
||||
/** Gets the template URL of this directive, if any. */
|
||||
string getTemplateUrl() { this.getMember("templateUrl").asExpr().mayHaveStringValue(result) }
|
||||
string getTemplateUrl() { this.getMember("templateUrl").mayHaveStringValue(result) }
|
||||
|
||||
/**
|
||||
* Gets a template file for this directive, if any.
|
||||
@@ -298,9 +298,7 @@ abstract class CustomDirective extends DirectiveInstance {
|
||||
else result = DirectiveInstance.super.getAScope()
|
||||
}
|
||||
|
||||
private string getRestrictionString() {
|
||||
this.getMember("restrict").asExpr().mayHaveStringValue(result)
|
||||
}
|
||||
private string getRestrictionString() { this.getMember("restrict").mayHaveStringValue(result) }
|
||||
|
||||
private predicate hasTargetType(DirectiveTargetType type) {
|
||||
not exists(this.getRestrictionString()) or
|
||||
@@ -383,10 +381,12 @@ class GeneralDirective extends CustomDirective, MkCustomDirective {
|
||||
override DataFlow::FunctionNode getALinkFunction() { result = this.getLinkFunction(_) }
|
||||
|
||||
override predicate bindsToController() {
|
||||
this.getMemberInit("bindToController").asExpr().mayHaveBooleanValue(true)
|
||||
this.getMemberInit("bindToController").mayHaveBooleanValue(true)
|
||||
}
|
||||
|
||||
override predicate hasIsolateScope() { this.getMember("scope").asExpr() instanceof ObjectExpr }
|
||||
override predicate hasIsolateScope() {
|
||||
this.getMember("scope") instanceof DataFlow::ObjectLiteralNode
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -930,9 +930,7 @@ class RouteSetup extends DataFlow::CallNode, DependencyInjection {
|
||||
|
|
||||
result = controllerProperty
|
||||
or
|
||||
exists(ControllerDefinition def |
|
||||
controllerProperty.asExpr().mayHaveStringValue(def.getName())
|
||||
|
|
||||
exists(ControllerDefinition def | controllerProperty.mayHaveStringValue(def.getName()) |
|
||||
result = def.getAService()
|
||||
)
|
||||
)
|
||||
@@ -1012,7 +1010,7 @@ private class RouteInstantiatedController extends Controller {
|
||||
|
||||
override predicate boundTo(DOM::ElementDefinition elem) {
|
||||
exists(string url, HTML::HtmlFile template |
|
||||
setup.getRouteParam("templateUrl").asExpr().mayHaveStringValue(url) and
|
||||
setup.getRouteParam("templateUrl").mayHaveStringValue(url) and
|
||||
template.getAbsolutePath().regexpMatch(".*\\Q" + url + "\\E") and
|
||||
elem.getFile() = template
|
||||
)
|
||||
@@ -1020,7 +1018,7 @@ private class RouteInstantiatedController extends Controller {
|
||||
|
||||
override predicate boundToAs(DOM::ElementDefinition elem, string name) {
|
||||
this.boundTo(elem) and
|
||||
setup.getRouteParam("controllerAs").asExpr().mayHaveStringValue(name)
|
||||
setup.getRouteParam("controllerAs").mayHaveStringValue(name)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ abstract class RecipeDefinition extends DataFlow::CallNode, CustomServiceDefinit
|
||||
this = moduleRef(_).getAMethodCall(methodName) or
|
||||
this = builtinServiceRef("$provide").getAMethodCall(methodName)
|
||||
) and
|
||||
getArgument(0).asExpr().mayHaveStringValue(name)
|
||||
getArgument(0).mayHaveStringValue(name)
|
||||
}
|
||||
|
||||
override string getName() { result = name }
|
||||
@@ -281,7 +281,7 @@ private predicate isCustomServiceDefinitionOnModule(
|
||||
DataFlow::Node factoryFunction
|
||||
) {
|
||||
mce = moduleRef(_).getAMethodCall(moduleMethodName) and
|
||||
mce.getArgument(0).asExpr().mayHaveStringValue(serviceName) and
|
||||
mce.getArgument(0).mayHaveStringValue(serviceName) and
|
||||
factoryFunction = mce.getArgument(1)
|
||||
}
|
||||
|
||||
@@ -296,7 +296,7 @@ private predicate isCustomServiceDefinitionOnProvider(
|
||||
factoryArgument = mce.getOptionArgument(0, serviceName)
|
||||
or
|
||||
mce.getNumArgument() = 2 and
|
||||
mce.getArgument(0).asExpr().mayHaveStringValue(serviceName) and
|
||||
mce.getArgument(0).mayHaveStringValue(serviceName) and
|
||||
factoryArgument = mce.getArgument(1)
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user