diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index d905201fd4533..092756a060255 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -25,8 +25,12 @@ * packages in the group `` according to the `packageGrouping` * predicate. * 2. The `type` column selects a type within that package. - * 3. The `subtypes` is a boolean that indicates whether to jump to an - * arbitrary subtype of that type. + * 3. The `subtypes` column is a boolean that controls what restrictions we + * place on the receiver of a method. When it is false, we only consider + * methods where the receiver base type has the exact type specified by this + * row. When it is true receiver types which embed the specified type are + * allowed, and for interface methods, receiver types which implement the + * interface are allowed. * 4. The `name` column optionally selects a specific named member of the type. * 5. The `signature` column is always empty. * 6. The `ext` column is always empty.