mirror of
https://github.com/github/codeql.git
synced 2025-12-22 11:46:32 +01:00
Sync files and make language specific adjustments.
This commit is contained in:
@@ -23,9 +23,9 @@ module Public {
|
|||||||
* content type, or a return kind.
|
* content type, or a return kind.
|
||||||
*/
|
*/
|
||||||
class SummaryComponent extends TSummaryComponent {
|
class SummaryComponent extends TSummaryComponent {
|
||||||
/** Gets a textual representation of this component used for flow summaries. */
|
/** Gets a textual representation of this component used for MaD models. */
|
||||||
string getAccessStep() {
|
string getMadRepresentation() {
|
||||||
result = getAccessStepSpecific(this)
|
result = getMadRepresentationSpecific(this)
|
||||||
or
|
or
|
||||||
exists(ArgumentPosition pos |
|
exists(ArgumentPosition pos |
|
||||||
this = TParameterSummaryComponent(pos) and
|
this = TParameterSummaryComponent(pos) and
|
||||||
@@ -46,7 +46,7 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this summary component. */
|
/** Gets a textual representation of this summary component. */
|
||||||
string toString() { result = this.getAccessStep() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing summary components. */
|
/** Provides predicates for constructing summary components. */
|
||||||
@@ -127,21 +127,21 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack used for MaD models. */
|
/** Gets a textual representation of this stack used for MaD models. */
|
||||||
string getAccessPath() {
|
string getMadRepresentation() {
|
||||||
exists(SummaryComponent head, SummaryComponentStack tail |
|
exists(SummaryComponent head, SummaryComponentStack tail |
|
||||||
head = this.head() and
|
head = this.head() and
|
||||||
tail = this.tail() and
|
tail = this.tail() and
|
||||||
result = tail.getAccessPath() + "." + head.getAccessStep()
|
result = tail.getMadRepresentation() + "." + head.getMadRepresentation()
|
||||||
)
|
)
|
||||||
or
|
or
|
||||||
exists(SummaryComponent c |
|
exists(SummaryComponent c |
|
||||||
this = TSingletonSummaryComponentStack(c) and
|
this = TSingletonSummaryComponentStack(c) and
|
||||||
result = c.getAccessStep()
|
result = c.getMadRepresentation()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack. */
|
/** Gets a textual representation of this stack. */
|
||||||
string toString() { result = this.getAccessPath() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing stacks of summary components. */
|
/** Provides predicates for constructing stacks of summary components. */
|
||||||
@@ -1350,8 +1350,8 @@ module Private {
|
|||||||
c.relevantSummary(input, output, preservesValue) and
|
c.relevantSummary(input, output, preservesValue) and
|
||||||
csv =
|
csv =
|
||||||
c.getCallableCsv() // Callable information
|
c.getCallableCsv() // Callable information
|
||||||
+ input.getAccessPath() + ";" // input
|
+ input.getMadRepresentation() + ";" // input
|
||||||
+ output.getAccessPath() + ";" // output
|
+ output.getMadRepresentation() + ";" // output
|
||||||
+ renderKind(preservesValue) + ";" // kind
|
+ renderKind(preservesValue) + ";" // kind
|
||||||
+ renderProvenance(c) // provenance
|
+ renderProvenance(c) // provenance
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ DataFlowCallable inject(SummarizedCallable c) { result.asSummarizedCallable() =
|
|||||||
/** Gets the parameter position of the instance parameter. */
|
/** Gets the parameter position of the instance parameter. */
|
||||||
ArgumentPosition callbackSelfParameterPosition() { result = -1 }
|
ArgumentPosition callbackSelfParameterPosition() { result = -1 }
|
||||||
|
|
||||||
/** Gets the textual representation of a parameter position in the format used for flow summaries. */
|
/** Gets the textual representation of a parameter position in the format used for MaD models. */
|
||||||
string getParameterPosition(ParameterPosition pos) { result = pos.toString() }
|
string getParameterPosition(ParameterPosition pos) { result = pos.toString() }
|
||||||
|
|
||||||
/** Gets the textual representation of an argument position in the format used for flow summaries. */
|
/** Gets the textual representation of an argument position in the format used for MaD models. */
|
||||||
string getArgumentPosition(ArgumentPosition pos) { result = pos.toString() }
|
string getArgumentPosition(ArgumentPosition pos) { result = pos.toString() }
|
||||||
|
|
||||||
/** Gets the synthesized data-flow call for `receiver`. */
|
/** Gets the synthesized data-flow call for `receiver`. */
|
||||||
@@ -110,8 +110,8 @@ private string getContentSpecific(Content c) {
|
|||||||
c instanceof PointerContent and result = "Dereference"
|
c instanceof PointerContent and result = "Dereference"
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of the content in the format used for flow summaries. */
|
/** Gets the textual representation of the content in the format used for MaD models. */
|
||||||
string getAccessStepSpecific(SummaryComponent sc) {
|
string getMadRepresentationSpecific(SummaryComponent sc) {
|
||||||
exists(Content c | sc = TContentSummaryComponent(c) and result = getContentSpecific(c))
|
exists(Content c | sc = TContentSummaryComponent(c) and result = getContentSpecific(c))
|
||||||
or
|
or
|
||||||
exists(ReturnKind rk |
|
exists(ReturnKind rk |
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ module Public {
|
|||||||
* content type, or a return kind.
|
* content type, or a return kind.
|
||||||
*/
|
*/
|
||||||
class SummaryComponent extends TSummaryComponent {
|
class SummaryComponent extends TSummaryComponent {
|
||||||
/** Gets a textual representation of this component used for flow summaries. */
|
/** Gets a textual representation of this component used for MaD models. */
|
||||||
string getAccessStep() {
|
string getMadRepresentation() {
|
||||||
result = getAccessStepSpecific(this)
|
result = getMadRepresentationSpecific(this)
|
||||||
or
|
or
|
||||||
exists(ArgumentPosition pos |
|
exists(ArgumentPosition pos |
|
||||||
this = TParameterSummaryComponent(pos) and
|
this = TParameterSummaryComponent(pos) and
|
||||||
@@ -46,7 +46,7 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this summary component. */
|
/** Gets a textual representation of this summary component. */
|
||||||
string toString() { result = this.getAccessStep() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing summary components. */
|
/** Provides predicates for constructing summary components. */
|
||||||
@@ -127,21 +127,21 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack used for MaD models. */
|
/** Gets a textual representation of this stack used for MaD models. */
|
||||||
string getAccessPath() {
|
string getMadRepresentation() {
|
||||||
exists(SummaryComponent head, SummaryComponentStack tail |
|
exists(SummaryComponent head, SummaryComponentStack tail |
|
||||||
head = this.head() and
|
head = this.head() and
|
||||||
tail = this.tail() and
|
tail = this.tail() and
|
||||||
result = tail.getAccessPath() + "." + head.getAccessStep()
|
result = tail.getMadRepresentation() + "." + head.getMadRepresentation()
|
||||||
)
|
)
|
||||||
or
|
or
|
||||||
exists(SummaryComponent c |
|
exists(SummaryComponent c |
|
||||||
this = TSingletonSummaryComponentStack(c) and
|
this = TSingletonSummaryComponentStack(c) and
|
||||||
result = c.getAccessStep()
|
result = c.getMadRepresentation()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack. */
|
/** Gets a textual representation of this stack. */
|
||||||
string toString() { result = this.getAccessPath() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing stacks of summary components. */
|
/** Provides predicates for constructing stacks of summary components. */
|
||||||
@@ -1350,8 +1350,8 @@ module Private {
|
|||||||
c.relevantSummary(input, output, preservesValue) and
|
c.relevantSummary(input, output, preservesValue) and
|
||||||
csv =
|
csv =
|
||||||
c.getCallableCsv() // Callable information
|
c.getCallableCsv() // Callable information
|
||||||
+ input.getAccessPath() + ";" // input
|
+ input.getMadRepresentation() + ";" // input
|
||||||
+ output.getAccessPath() + ";" // output
|
+ output.getMadRepresentation() + ";" // output
|
||||||
+ renderKind(preservesValue) + ";" // kind
|
+ renderKind(preservesValue) + ";" // kind
|
||||||
+ renderProvenance(c) // provenance
|
+ renderProvenance(c) // provenance
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -193,8 +193,8 @@ private string getContentSpecific(Content c) {
|
|||||||
c instanceof MapValueContent and result = "MapValue"
|
c instanceof MapValueContent and result = "MapValue"
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of the content in the format used for flow summaries. */
|
/** Gets the textual representation of the content in the format used for MaD models. */
|
||||||
string getAccessStepSpecific(SummaryComponent sc) {
|
string getMadRepresentationSpecific(SummaryComponent sc) {
|
||||||
exists(Content c | sc = TContentSummaryComponent(c) and result = getContentSpecific(c))
|
exists(Content c | sc = TContentSummaryComponent(c) and result = getContentSpecific(c))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,10 +203,10 @@ private string positionToString(int pos) {
|
|||||||
if pos = -1 then result = "this" else result = pos.toString()
|
if pos = -1 then result = "this" else result = pos.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of a parameter position in the format used for flow summaries. */
|
/** Gets the textual representation of a parameter position in the format used for MaD models. */
|
||||||
string getParameterPosition(ParameterPosition pos) { result = positionToString(pos) }
|
string getParameterPosition(ParameterPosition pos) { result = positionToString(pos) }
|
||||||
|
|
||||||
/** Gets the textual representation of an argument position in the format used for flow summaries. */
|
/** Gets the textual representation of an argument position in the format used for MaD models. */
|
||||||
string getArgumentPosition(ArgumentPosition pos) { result = positionToString(pos) }
|
string getArgumentPosition(ArgumentPosition pos) { result = positionToString(pos) }
|
||||||
|
|
||||||
/** Holds if input specification component `c` needs a reference. */
|
/** Holds if input specification component `c` needs a reference. */
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ module Public {
|
|||||||
* content type, or a return kind.
|
* content type, or a return kind.
|
||||||
*/
|
*/
|
||||||
class SummaryComponent extends TSummaryComponent {
|
class SummaryComponent extends TSummaryComponent {
|
||||||
/** Gets a textual representation of this component used for flow summaries. */
|
/** Gets a textual representation of this component used for MaD models. */
|
||||||
string getAccessStep() {
|
string getMadRepresentation() {
|
||||||
result = getAccessStepSpecific(this)
|
result = getMadRepresentationSpecific(this)
|
||||||
or
|
or
|
||||||
exists(ArgumentPosition pos |
|
exists(ArgumentPosition pos |
|
||||||
this = TParameterSummaryComponent(pos) and
|
this = TParameterSummaryComponent(pos) and
|
||||||
@@ -46,7 +46,7 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this summary component. */
|
/** Gets a textual representation of this summary component. */
|
||||||
string toString() { result = this.getAccessStep() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing summary components. */
|
/** Provides predicates for constructing summary components. */
|
||||||
@@ -127,21 +127,21 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack used for MaD models. */
|
/** Gets a textual representation of this stack used for MaD models. */
|
||||||
string getAccessPath() {
|
string getMadRepresentation() {
|
||||||
exists(SummaryComponent head, SummaryComponentStack tail |
|
exists(SummaryComponent head, SummaryComponentStack tail |
|
||||||
head = this.head() and
|
head = this.head() and
|
||||||
tail = this.tail() and
|
tail = this.tail() and
|
||||||
result = tail.getAccessPath() + "." + head.getAccessStep()
|
result = tail.getMadRepresentation() + "." + head.getMadRepresentation()
|
||||||
)
|
)
|
||||||
or
|
or
|
||||||
exists(SummaryComponent c |
|
exists(SummaryComponent c |
|
||||||
this = TSingletonSummaryComponentStack(c) and
|
this = TSingletonSummaryComponentStack(c) and
|
||||||
result = c.getAccessStep()
|
result = c.getMadRepresentation()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack. */
|
/** Gets a textual representation of this stack. */
|
||||||
string toString() { result = this.getAccessPath() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing stacks of summary components. */
|
/** Provides predicates for constructing stacks of summary components. */
|
||||||
@@ -1350,8 +1350,8 @@ module Private {
|
|||||||
c.relevantSummary(input, output, preservesValue) and
|
c.relevantSummary(input, output, preservesValue) and
|
||||||
csv =
|
csv =
|
||||||
c.getCallableCsv() // Callable information
|
c.getCallableCsv() // Callable information
|
||||||
+ input.getAccessPath() + ";" // input
|
+ input.getMadRepresentation() + ";" // input
|
||||||
+ output.getAccessPath() + ";" // output
|
+ output.getMadRepresentation() + ";" // output
|
||||||
+ renderKind(preservesValue) + ";" // kind
|
+ renderKind(preservesValue) + ";" // kind
|
||||||
+ renderProvenance(c) // provenance
|
+ renderProvenance(c) // provenance
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -146,15 +146,15 @@ private string getContentSpecific(Content cs) {
|
|||||||
exists(string attr | cs = TAttributeContent(attr) and result = "Attribute[" + attr + "]")
|
exists(string attr | cs = TAttributeContent(attr) and result = "Attribute[" + attr + "]")
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of a summary component in the format used for flow summaries. */
|
/** Gets the textual representation of a summary component in the format used for MaD models. */
|
||||||
string getAccessStepSpecific(SummaryComponent sc) {
|
string getMadRepresentationSpecific(SummaryComponent sc) {
|
||||||
exists(Content c |
|
exists(Content c |
|
||||||
sc = TContentSummaryComponent(c) and
|
sc = TContentSummaryComponent(c) and
|
||||||
result = getContentSpecific(c)
|
result = getContentSpecific(c)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of a parameter position in the format used for flow summaries. */
|
/** Gets the textual representation of a parameter position in the format used for MaD models. */
|
||||||
string getParameterPosition(ParameterPosition pos) {
|
string getParameterPosition(ParameterPosition pos) {
|
||||||
pos.isSelf() and result = "self"
|
pos.isSelf() and result = "self"
|
||||||
or
|
or
|
||||||
@@ -169,7 +169,7 @@ string getParameterPosition(ParameterPosition pos) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of an argument position in the format used for flow summaries. */
|
/** Gets the textual representation of an argument position in the format used for MaD models. */
|
||||||
string getArgumentPosition(ArgumentPosition pos) {
|
string getArgumentPosition(ArgumentPosition pos) {
|
||||||
pos.isSelf() and result = "self"
|
pos.isSelf() and result = "self"
|
||||||
or
|
or
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ module Public {
|
|||||||
* content type, or a return kind.
|
* content type, or a return kind.
|
||||||
*/
|
*/
|
||||||
class SummaryComponent extends TSummaryComponent {
|
class SummaryComponent extends TSummaryComponent {
|
||||||
/** Gets a textual representation of this component used for flow summaries. */
|
/** Gets a textual representation of this component used for MaD models. */
|
||||||
string getAccessStep() {
|
string getMadRepresentation() {
|
||||||
result = getAccessStepSpecific(this)
|
result = getMadRepresentationSpecific(this)
|
||||||
or
|
or
|
||||||
exists(ArgumentPosition pos |
|
exists(ArgumentPosition pos |
|
||||||
this = TParameterSummaryComponent(pos) and
|
this = TParameterSummaryComponent(pos) and
|
||||||
@@ -46,7 +46,7 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this summary component. */
|
/** Gets a textual representation of this summary component. */
|
||||||
string toString() { result = this.getAccessStep() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing summary components. */
|
/** Provides predicates for constructing summary components. */
|
||||||
@@ -127,21 +127,21 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack used for MaD models. */
|
/** Gets a textual representation of this stack used for MaD models. */
|
||||||
string getAccessPath() {
|
string getMadRepresentation() {
|
||||||
exists(SummaryComponent head, SummaryComponentStack tail |
|
exists(SummaryComponent head, SummaryComponentStack tail |
|
||||||
head = this.head() and
|
head = this.head() and
|
||||||
tail = this.tail() and
|
tail = this.tail() and
|
||||||
result = tail.getAccessPath() + "." + head.getAccessStep()
|
result = tail.getMadRepresentation() + "." + head.getMadRepresentation()
|
||||||
)
|
)
|
||||||
or
|
or
|
||||||
exists(SummaryComponent c |
|
exists(SummaryComponent c |
|
||||||
this = TSingletonSummaryComponentStack(c) and
|
this = TSingletonSummaryComponentStack(c) and
|
||||||
result = c.getAccessStep()
|
result = c.getMadRepresentation()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack. */
|
/** Gets a textual representation of this stack. */
|
||||||
string toString() { result = this.getAccessPath() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing stacks of summary components. */
|
/** Provides predicates for constructing stacks of summary components. */
|
||||||
@@ -1350,8 +1350,8 @@ module Private {
|
|||||||
c.relevantSummary(input, output, preservesValue) and
|
c.relevantSummary(input, output, preservesValue) and
|
||||||
csv =
|
csv =
|
||||||
c.getCallableCsv() // Callable information
|
c.getCallableCsv() // Callable information
|
||||||
+ input.getAccessPath() + ";" // input
|
+ input.getMadRepresentation() + ";" // input
|
||||||
+ output.getAccessPath() + ";" // output
|
+ output.getMadRepresentation() + ";" // output
|
||||||
+ renderKind(preservesValue) + ";" // kind
|
+ renderKind(preservesValue) + ";" // kind
|
||||||
+ renderProvenance(c) // provenance
|
+ renderProvenance(c) // provenance
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -165,8 +165,8 @@ private string getContentSetSpecific(ContentSet cs) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of a summary component in the format used for flow summaries. */
|
/** Gets the textual representation of a summary component in the format used for MaD models. */
|
||||||
string getAccessStepSpecific(SummaryComponent sc) {
|
string getMadRepresentationSpecific(SummaryComponent sc) {
|
||||||
exists(ContentSet cs | sc = TContentSummaryComponent(cs) and result = getContentSetSpecific(cs))
|
exists(ContentSet cs | sc = TContentSummaryComponent(cs) and result = getContentSetSpecific(cs))
|
||||||
or
|
or
|
||||||
exists(ContentSet cs |
|
exists(ContentSet cs |
|
||||||
@@ -186,7 +186,7 @@ string getAccessStepSpecific(SummaryComponent sc) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of a parameter position in the format used for flow summaries. */
|
/** Gets the textual representation of a parameter position in the format used for MaD models. */
|
||||||
string getParameterPosition(ParameterPosition pos) {
|
string getParameterPosition(ParameterPosition pos) {
|
||||||
exists(int i |
|
exists(int i |
|
||||||
pos.isPositional(i) and
|
pos.isPositional(i) and
|
||||||
@@ -219,7 +219,7 @@ string getParameterPosition(ParameterPosition pos) {
|
|||||||
result = "hash-splat"
|
result = "hash-splat"
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of an argument position in the format used for flow summaries. */
|
/** Gets the textual representation of an argument position in the format used for MaD models. */
|
||||||
string getArgumentPosition(ArgumentPosition pos) {
|
string getArgumentPosition(ArgumentPosition pos) {
|
||||||
pos.isSelf() and result = "self"
|
pos.isSelf() and result = "self"
|
||||||
or
|
or
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ module Public {
|
|||||||
* content type, or a return kind.
|
* content type, or a return kind.
|
||||||
*/
|
*/
|
||||||
class SummaryComponent extends TSummaryComponent {
|
class SummaryComponent extends TSummaryComponent {
|
||||||
/** Gets a textual representation of this component used for flow summaries. */
|
/** Gets a textual representation of this component used for MaD models. */
|
||||||
string getAccessStep() {
|
string getMadRepresentation() {
|
||||||
result = getAccessStepSpecific(this)
|
result = getMadRepresentationSpecific(this)
|
||||||
or
|
or
|
||||||
exists(ArgumentPosition pos |
|
exists(ArgumentPosition pos |
|
||||||
this = TParameterSummaryComponent(pos) and
|
this = TParameterSummaryComponent(pos) and
|
||||||
@@ -46,7 +46,7 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this summary component. */
|
/** Gets a textual representation of this summary component. */
|
||||||
string toString() { result = this.getAccessStep() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing summary components. */
|
/** Provides predicates for constructing summary components. */
|
||||||
@@ -127,21 +127,21 @@ module Public {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack used for MaD models. */
|
/** Gets a textual representation of this stack used for MaD models. */
|
||||||
string getAccessPath() {
|
string getMadRepresentation() {
|
||||||
exists(SummaryComponent head, SummaryComponentStack tail |
|
exists(SummaryComponent head, SummaryComponentStack tail |
|
||||||
head = this.head() and
|
head = this.head() and
|
||||||
tail = this.tail() and
|
tail = this.tail() and
|
||||||
result = tail.getAccessPath() + "." + head.getAccessStep()
|
result = tail.getMadRepresentation() + "." + head.getMadRepresentation()
|
||||||
)
|
)
|
||||||
or
|
or
|
||||||
exists(SummaryComponent c |
|
exists(SummaryComponent c |
|
||||||
this = TSingletonSummaryComponentStack(c) and
|
this = TSingletonSummaryComponentStack(c) and
|
||||||
result = c.getAccessStep()
|
result = c.getMadRepresentation()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a textual representation of this stack. */
|
/** Gets a textual representation of this stack. */
|
||||||
string toString() { result = this.getAccessPath() }
|
string toString() { result = this.getMadRepresentation() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Provides predicates for constructing stacks of summary components. */
|
/** Provides predicates for constructing stacks of summary components. */
|
||||||
@@ -1350,8 +1350,8 @@ module Private {
|
|||||||
c.relevantSummary(input, output, preservesValue) and
|
c.relevantSummary(input, output, preservesValue) and
|
||||||
csv =
|
csv =
|
||||||
c.getCallableCsv() // Callable information
|
c.getCallableCsv() // Callable information
|
||||||
+ input.getAccessPath() + ";" // input
|
+ input.getMadRepresentation() + ";" // input
|
||||||
+ output.getAccessPath() + ";" // output
|
+ output.getMadRepresentation() + ";" // output
|
||||||
+ renderKind(preservesValue) + ";" // kind
|
+ renderKind(preservesValue) + ";" // kind
|
||||||
+ renderProvenance(c) // provenance
|
+ renderProvenance(c) // provenance
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ SummaryComponent interpretComponentSpecific(AccessPathToken c) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of the content in the format used for flow summaries. */
|
/** Gets the textual representation of the content in the format used for MaD models. */
|
||||||
private string getContentSpecific(ContentSet cs) {
|
private string getContentSpecific(ContentSet cs) {
|
||||||
exists(Content::FieldContent c |
|
exists(Content::FieldContent c |
|
||||||
cs.isSingleton(c) and
|
cs.isSingleton(c) and
|
||||||
@@ -111,8 +111,8 @@ private string getContentSpecific(ContentSet cs) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of a summary component in the format used for flow summaries. */
|
/** Gets the textual representation of a summary component in the format used for MaD models. */
|
||||||
string getAccessStepSpecific(SummaryComponent sc) {
|
string getMadRepresentationSpecific(SummaryComponent sc) {
|
||||||
exists(ContentSet c | sc = TContentSummaryComponent(c) and result = getContentSpecific(c))
|
exists(ContentSet c | sc = TContentSummaryComponent(c) and result = getContentSpecific(c))
|
||||||
or
|
or
|
||||||
exists(ReturnKind rk |
|
exists(ReturnKind rk |
|
||||||
@@ -122,10 +122,10 @@ string getAccessStepSpecific(SummaryComponent sc) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the textual representation of a parameter position in the format used for flow summaries. */
|
/** Gets the textual representation of a parameter position in the format used for MaD models. */
|
||||||
string getParameterPosition(ParameterPosition pos) { result = pos.toString() }
|
string getParameterPosition(ParameterPosition pos) { result = pos.toString() }
|
||||||
|
|
||||||
/** Gets the textual representation of an argument position in the format used for flow summaries. */
|
/** Gets the textual representation of an argument position in the format used for MaD models. */
|
||||||
string getArgumentPosition(ArgumentPosition pos) { result = pos.toString() }
|
string getArgumentPosition(ArgumentPosition pos) { result = pos.toString() }
|
||||||
|
|
||||||
/** Holds if input specification component `c` needs a reference. */
|
/** Holds if input specification component `c` needs a reference. */
|
||||||
|
|||||||
Reference in New Issue
Block a user