@@ -10,6 +10,7 @@ private import semmle.javascript.dataflow.internal.FlowSteps as FlowSteps
1010private import semmle.javascript.dataflow.internal.PreCallGraphStep
1111private import semmle.javascript.dataflow.internal.StepSummary
1212private import semmle.javascript.dataflow.internal.sharedlib.SummaryTypeTracker as SummaryTypeTracker
13+ private import semmle.javascript.dataflow.internal.Contents:: Private as ContentPrivate
1314private import internal.CachedStages
1415
1516/**
@@ -222,13 +223,17 @@ module API {
222223 }
223224
224225 /**
225- * Gets a node representing a member of this API component where the name of the member is
226- * not known statically.
226+ * DEPRECATED. Use either `getArrayElement()` or `getAMember()` instead.
227+ */
228+ deprecated Node getUnknownMember ( ) { result = this .getArrayElement ( ) }
229+
230+ /**
231+ * Gets an array element of unknown index.
227232 */
228233 cached
229- Node getUnknownMember ( ) {
234+ Node getUnknownArrayElement ( ) {
230235 Stages:: ApiStage:: ref ( ) and
231- result = this .getASuccessor ( Label:: unknownMember ( ) )
236+ result = this .getASuccessor ( Label:: content ( ContentPrivate :: MkArrayElementUnknown ( ) ) )
232237 }
233238
234239 cached
@@ -274,7 +279,7 @@ module API {
274279 Stages:: ApiStage:: ref ( ) and
275280 result = this .getMember ( _)
276281 or
277- result = this .getUnknownMember ( )
282+ result = this .getUnknownArrayElement ( )
278283 }
279284
280285 /**
@@ -1505,7 +1510,12 @@ module API {
15051510 /** Gets the `content` edge label for content `c`. */
15061511 LabelContent content ( ContentPrivate:: Content c ) { result .getContent ( ) = c }
15071512
1508- /** Gets the `member` edge label for the unknown member. */
1513+ /**
1514+ * Gets the edge label for an unknown member.
1515+ *
1516+ * Currently this is represented the same way as an unknown array element, but this may
1517+ * change in the future.
1518+ */
15091519 LabelContent unknownMember ( ) { result .getContent ( ) .isUnknownArrayElement ( ) }
15101520
15111521 /**
@@ -1580,7 +1590,6 @@ module API {
15801590 /** Gets an entry-point label for the entry-point `e`. */
15811591 LabelEntryPoint entryPoint ( API:: EntryPoint e ) { result .getEntryPoint ( ) = e }
15821592
1583- private import semmle.javascript.dataflow.internal.Contents:: Private as ContentPrivate
15841593 private import LabelImpl
15851594
15861595 private module LabelImpl {
@@ -1676,7 +1685,7 @@ module API {
16761685 or
16771686 content instanceof ContentPrivate:: MkPromiseError and result = "getPromisedError()"
16781687 or
1679- content instanceof ContentPrivate:: MkArrayElementUnknown and result = "getUnknownMember ()"
1688+ content instanceof ContentPrivate:: MkArrayElementUnknown and result = "getArrayElement ()"
16801689 }
16811690
16821691 override string toString ( ) {
0 commit comments