This mapping has 3 multi-map groups: several pairings are equally correct there. The code view shows one arbitrary valid pairing, not the only one.

This mapping has 2 all-to-all groups: every node on one side corresponds to every node on the other, and none is deleted or inserted. Each member carries an all N:M badge; selecting one highlights all of its counterparts, in the tree and in the code view alike.

Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–1871 unchanged (1871 lines)
1872 baseQuery = baseQuery.Where(e => e.StartDate > now && e.EndDate < now);
1873 }
1874 }
1875
1876 if (filter.PersonIds.Length > 0)
1877 {
1878 baseQuery = baseQuery
1879 .Where(e =>
1880 context.PeopleBaseItemMap.Where(w => context.BaseItems.Where(r => filter.PersonIds.Contains(r.Id)).Any(f => f.Name == w.People.Name))
1881 .Any(f => f.ItemId == e.Id));
1882 }
1883
1884 if (!string.IsNullOrWhiteSpace(filter.Person))
1885 {
1886 baseQuery = baseQuery.Where(e => e.Peoples!.Any(f => f.People.Name == filter.Person));
1887 }
…lines 1888–2576 unchanged (689 lines)

After

…lines 1–1871 unchanged (1871 lines)
1872 baseQuery = baseQuery.Where(e => e.StartDate > now && e.EndDate < now);
1873 }
1874 }
1875
1876 if (filter.PersonIds.Length > 0)
1877 {
1878 var peopleEntityIds = context.BaseItems
1879 .WhereOneOrMany(filter.PersonIds, b => b.Id)
1880 .Join(
1881 context.Peoples,
1882 b => b.Name,
1883 p => p.Name,
1884 (b, p) => p.Id);
1885
1886 baseQuery = baseQuery
1887 .Where(e => context.PeopleBaseItemMap
1888 .Any(m => m.ItemId == e.Id && peopleEntityIds.Contains(m.PeopleId)));
1889 }
1890
1891 if (!string.IsNullOrWhiteSpace(filter.Person))
1892 {
1893 baseQuery = baseQuery.Where(e => e.Peoples!.Any(f => f.People.Name == filter.Person));
1894 }
…lines 1895–2583 unchanged (689 lines)

Before

compilation_unit
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "RS0030"
comment "// Do not use banned APIs"
comment "// Do not enforce that because EFCore cannot deal with cultu"...
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CA1304"
comment "// Specify CultureInfo"
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CA1311"
comment "// Specify a culture or use an invariant version"
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CA1862"
comment "// Use the 'StringComparison' method overloads to perform ca"...
using_directive
using "using"
identifier "System"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Collections"
. "."
identifier "Concurrent"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Collections"
. "."
identifier "Generic"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Globalization"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Linq"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Linq"
. "."
identifier "Expressions"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Reflection"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Text"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Text"
. "."
identifier "Json"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Threading"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Threading"
. "."
identifier "Tasks"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Data"
. "."
identifier "Enums"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Enums"
; ";"
using_directive
using "using"
qualified_name
identifier "Jellyfin"
. "."
identifier "Extensions"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Extensions"
. "."
identifier "Json"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Server"
. "."
identifier "Implementations"
. "."
identifier "Extensions"
; ";"
using_directive
using "using"
qualified_name
identifier "MediaBrowser"
. "."
identifier "Common"
; ";"
using_directive
using "using"
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Channels"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Configuration"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
. "."
identifier "Audio"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
. "."
identifier "TV"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "LiveTv"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Persistence"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "Dto"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "LiveTv"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "Querying"
; ";"
using_directive
using "using"
qualified_name
identifier "Microsoft"
. "."
identifier "EntityFrameworkCore"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Microsoft"
. "."
identifier "Extensions"
. "."
identifier "Logging"
; ";"
using_directive
using "using"
identifier "BaseItemDto"
= "="
qualified_name
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
. "."
identifier "BaseItem"
; ";"
using_directive
using "using"
identifier "BaseItemEntity"
= "="
qualified_name
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Entities"
. "."
identifier "BaseItemEntity"
; ";"
file_scoped_namespace_declaration
namespace "namespace"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Server"
. "."
identifier "Implementations"
. "."
identifier "Item"
; ";"
comment "/*\n All queries in this class and all other nullable enab"...
comment "/// <summary>"
comment "/// Handles all storage logic for BaseItems."
comment "/// </summary>"
class_declaration
modifier
public "public"
modifier
sealed "sealed"
class "class"
identifier "BaseItemRepository"
base_list
: ":"
identifier "IItemRepository"
declaration_list
{ "{"
comment "/// <summary>"
comment "/// Gets the placeholder id for UserData detached items."
comment "/// </summary>"
field_declaration (+26 nodes collapsed)
comment "/// <summary>"
comment "/// This holds all the types in the running assemblies"
comment "/// so that we can de-serialize properly when we don't have "...
comment "/// </summary>"
field_declaration (+37 nodes collapsed)
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "IDbContextFactory"
type_argument_list
< "<"
identifier "JellyfinDbContext"
> ">"
variable_declarator
identifier "_dbProvider"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IServerApplicationHost"
variable_declarator
identifier "_appHost"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IItemTypeLookup"
variable_declarator
identifier "_itemTypeLookup"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IServerConfigurationManager"
variable_declarator
identifier "_serverConfigurationManager"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "ILogger"
type_argument_list
< "<"
identifier "BaseItemRepository"
> ">"
variable_declarator
identifier "_logger"
; ";"
field_declaration (+34 nodes collapsed)
field_declaration (+27 nodes collapsed)
field_declaration (+27 nodes collapsed)
field_declaration (+27 nodes collapsed)
field_declaration (+27 nodes collapsed)
field_declaration (+55 nodes collapsed)
comment "/// <summary>"
comment "/// Initializes a new instance of the <see cref=\"BaseItemRep"...
comment "/// </summary>"
comment "/// <param name=\"dbProvider\">The db factory.</param>"
comment "/// <param name=\"appHost\">The Application host.</param>"
comment "/// <param name=\"itemTypeLookup\">The static type lookup.</pa"...
comment "/// <param name=\"serverConfigurationManager\">The server Conf"...
comment "/// <param name=\"logger\">System logger.</param>"
constructor_declaration (+69 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+1062 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+106 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+132 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+36 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+36 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+37 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+37 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+345 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+190 nodes collapsed)
comment "/// <inheritdoc/>"
method_declaration (+455 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+437 nodes collapsed)
method_declaration (+425 nodes collapsed)
method_declaration (+135 nodes collapsed)
method_declaration (+131 nodes collapsed)
method_declaration (+87 nodes collapsed)
method_declaration (+63 nodes collapsed)
comment "/// <inheritdoc/>"
method_declaration (+95 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+645 nodes collapsed)
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CA1307"
comment "// Specify StringComparison for clarity"
comment "/// <summary>"
comment "/// Gets the type."
comment "/// </summary>"
comment "/// <param name=\"typeName\">Name of the type.</param>"
comment "/// <returns>Type.</returns>"
comment "/// <exception cref=\"ArgumentNullException\"><c>typeName</c> "...
method_declaration (+100 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+190 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+35 nodes collapsed)
comment "/// <inheritdoc cref=\"IItemRepository\"/>"
method_declaration (+1804 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+246 nodes collapsed)
comment "/// <summary>"
comment "/// Maps a Entity to the DTO."
comment "/// </summary>"
comment "/// <param name=\"entity\">The entity.</param>"
comment "/// <param name=\"dto\">The dto base instance.</param>"
comment "/// <param name=\"appHost\">The Application server Host.</para"...
comment "/// <param name=\"logger\">The applogger.</param>"
comment "/// <returns>The dto to map.</returns>"
method_declaration (+1662 nodes collapsed)
comment "/// <summary>"
comment "/// Maps a Entity to the DTO."
comment "/// </summary>"
comment "/// <param name=\"dto\">The entity.</param>"
comment "/// <returns>The dto to map.</returns>"
method_declaration (+1683 nodes collapsed)
method_declaration (+274 nodes collapsed)
method_declaration (+35 nodes collapsed)
method_declaration (+148 nodes collapsed)
comment "/// <summary>"
comment "/// Deserializes a BaseItemEntity and sets all properties."
comment "/// </summary>"
comment "/// <param name=\"baseItemEntity\">The DB entity.</param>"
comment "/// <param name=\"logger\">Logger.</param>"
comment "/// <param name=\"appHost\">The application server Host.</para"...
comment "/// <param name=\"skipDeserialization\">If only mapping should"...
comment "/// <returns>A mapped BaseItem.</returns>"
comment "/// <exception cref=\"InvalidOperationException\">Will be thro"...
method_declaration (+240 nodes collapsed)
method_declaration (+1770 nodes collapsed)
method_declaration (+79 nodes collapsed)
method_declaration (+53 nodes collapsed)
method_declaration (+342 nodes collapsed)
method_declaration (+131 nodes collapsed)
method_declaration (+147 nodes collapsed)
method_declaration (+45 nodes collapsed)
method_declaration (+272 nodes collapsed)
method_declaration (+71 nodes collapsed)
method_declaration (+226 nodes collapsed)
method_declaration (+454 nodes collapsed)
method_declaration
modifier
private "private"
generic_name
identifier "IQueryable"
type_argument_list
< "<"
identifier "BaseItemEntity"
> ">"
identifier "TranslateQuery"
parameter_list
( "("
parameter
generic_name
identifier "IQueryable"
type_argument_list
< "<"
identifier "BaseItemEntity"
> ">"
identifier "baseQuery"
, ","
parameter
identifier "JellyfinDbContext"
identifier "context"
, ","
parameter
identifier "InternalItemsQuery"
identifier "filter"
) ")"
block
{ "{"
local_declaration_statement
modifier
const "const"
variable_declaration
predefined_type "int"
variable_declarator
identifier "HDWidth"
= "="
integer_literal "1200"
; ";"
local_declaration_statement
modifier
const "const"
variable_declaration
predefined_type "int"
variable_declarator
identifier "UHDWidth"
= "="
integer_literal "3800"
; ";"
local_declaration_statement
modifier
const "const"
variable_declaration
predefined_type "int"
variable_declarator
identifier "UHDHeight"
= "="
integer_literal "2100"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "minWidth"
= "="
member_access_expression
identifier "filter"
. "."
identifier "MinWidth"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "maxWidth"
= "="
member_access_expression
identifier "filter"
. "."
identifier "MaxWidth"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "now"
= "="
member_access_expression
identifier "DateTime"
. "."
identifier "UtcNow"
; ";"
if_statement (+237 nodes collapsed)
if_statement (+35 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+35 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+41 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "tags"
= "="
invocation_expression
member_access_expression
member_access_expression
identifier "filter"
. "."
identifier "Tags"
. "."
identifier "ToList"
argument_list
( "("
) ")"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "excludeTags"
= "="
invocation_expression
member_access_expression
member_access_expression
identifier "filter"
. "."
identifier "ExcludeTags"
. "."
identifier "ToList"
argument_list
( "("
) ")"
; ";"
if_statement (+131 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+62 nodes collapsed)
if_statement (+62 nodes collapsed)
if_statement (+62 nodes collapsed)
if_statement (+259 nodes collapsed)
if_statement (+41 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "includeTypes"
= "="
member_access_expression
identifier "filter"
. "."
identifier "IncludeItemTypes"
; ";"
comment "// Only specify excluded types if no included types are spec"...
if_statement (+307 nodes collapsed)
if_statement (+62 nodes collapsed)
if_statement (+52 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+86 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+53 nodes collapsed)
if_statement (+53 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+53 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "minEndDate"
= "="
member_access_expression
identifier "filter"
. "."
identifier "MinEndDate"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "maxEndDate"
= "="
member_access_expression
identifier "filter"
. "."
identifier "MaxEndDate"
; ";"
if_statement (+50 nodes collapsed)
if_statement (+35 nodes collapsed)
if_statement (+35 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+105 nodes collapsed)
if_statement (+98 nodes collapsed)
if_statement
if "if"
( "("
binary_expression
member_access_expression
member_access_expression
identifier "filter"
. "."
identifier "PersonIds"
. "."
identifier "Length"
> ">"
integer_literal "0"
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "baseQuery"
= "="
invocation_expression
member_access_expression
identifier "baseQuery"
. "."
identifier "Where"
argument_list
( "("
argument
lambda_expression
implicit_parameter "e"
=> "=>"
invocation_expression any 2:1
member_access_expression any 2:1
invocation_expression any 2:1
member_access_expression any 2:1
member_access_expression
identifier "context"
. "."
identifier "PeopleBaseItemMap"
. "."
identifier "Where"
argument_list
( "("
argument
lambda_expression
implicit_parameter "w"
=> "=>"
invocation_expression
member_access_expression
invocation_expression
member_access_expression
member_access_expression
identifier "context"
. "."
identifier "BaseItems"
. "."
identifier "Where"
argument_list
( "("
argument
lambda_expression
implicit_parameter "r"
=> "=>"
invocation_expression
member_access_expression
member_access_expression
identifier "filter"
. "."
identifier "PersonIds"
. "."
identifier "Contains"
argument_list
( "("
argument
member_access_expression
identifier "r"
. "."
identifier "Id"
) ")"
) ")"
. "."
identifier "Any"
argument_list
( "("
argument
lambda_expression
implicit_parameter "f"
=> "=>"
binary_expression
member_access_expression
identifier "f"
. "." all 2:2
identifier "Name" all 2:2
== "=="
member_access_expression
member_access_expression
identifier "w"
. "."
identifier "People"
. "." all 2:2
identifier "Name" all 2:2
) ")"
) ")"
. "."
identifier "Any"
argument_list
( "("
argument
lambda_expression
implicit_parameter "f"
=> "=>"
binary_expression any 1:2
member_access_expression
identifier "f"
. "."
identifier "ItemId"
== "=="
member_access_expression
identifier "e"
. "."
identifier "Id"
) ")"
) ")"
; ";"
} "}"
if_statement (+69 nodes collapsed)
if_statement (+26 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+64 nodes collapsed)
comment "// These are the same, for now"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "nameContains"
= "="
member_access_expression
identifier "filter"
. "."
identifier "NameContains"
; ";"
if_statement (+194 nodes collapsed)
if_statement (+57 nodes collapsed)
if_statement (+92 nodes collapsed)
if_statement (+92 nodes collapsed)
if_statement (+105 nodes collapsed)
if_statement (+74 nodes collapsed)
if_statement (+74 nodes collapsed)
if_statement (+74 nodes collapsed)
if_statement (+339 nodes collapsed)
if_statement (+146 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+89 nodes collapsed)
if_statement (+48 nodes collapsed)
if_statement (+51 nodes collapsed)
if_statement (+142 nodes collapsed)
if_statement (+136 nodes collapsed)
if_statement (+138 nodes collapsed)
if_statement (+51 nodes collapsed)
if_statement (+50 nodes collapsed)
local_declaration_statement (+22 nodes collapsed)
if_statement (+104 nodes collapsed)
local_declaration_statement (+22 nodes collapsed)
if_statement (+104 nodes collapsed)
if_statement (+422 nodes collapsed)
if_statement (+104 nodes collapsed)
if_statement (+104 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+88 nodes collapsed)
if_statement (+86 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+67 nodes collapsed)
if_statement (+64 nodes collapsed)
if_statement (+106 nodes collapsed)
if_statement (+91 nodes collapsed)
if_statement (+91 nodes collapsed)
if_statement (+91 nodes collapsed)
if_statement (+67 nodes collapsed)
if_statement (+49 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "isVirtualItem"
= "="
binary_expression
member_access_expression
identifier "filter"
. "."
identifier "IsVirtualItem"
?? "??"
member_access_expression
identifier "filter"
. "."
identifier "IsMissing"
; ";"
if_statement (+38 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+79 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+52 nodes collapsed)
if_statement (+153 nodes collapsed)
if_statement (+311 nodes collapsed)
if_statement (+58 nodes collapsed)
if_statement (+58 nodes collapsed)
if_statement (+58 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "queryTopParentIds"
= "="
member_access_expression
identifier "filter"
. "."
identifier "TopParentIds"
; ";"
if_statement (+163 nodes collapsed)
if_statement (+67 nodes collapsed)
if_statement (+129 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+111 nodes collapsed)
if_statement (+508 nodes collapsed)
if_statement (+99 nodes collapsed)
if_statement (+110 nodes collapsed)
if_statement (+98 nodes collapsed)
if_statement (+104 nodes collapsed)
if_statement (+108 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+128 nodes collapsed)
return_statement
return "return"
identifier "baseQuery"
; ";"
} "}"
comment "/// <inheritdoc/>"
method_declaration (+105 nodes collapsed)
comment "/// <inheritdoc/>"
method_declaration (+248 nodes collapsed)
method_declaration (+259 nodes collapsed)
comment "/// <inheritdoc/>"
method_declaration (+201 nodes collapsed)
} "}"

After

compilation_unit
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "RS0030"
comment "// Do not use banned APIs"
comment "// Do not enforce that because EFCore cannot deal with cultu"...
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CA1304"
comment "// Specify CultureInfo"
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CA1311"
comment "// Specify a culture or use an invariant version"
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CA1862"
comment "// Use the 'StringComparison' method overloads to perform ca"...
using_directive
using "using"
identifier "System"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Collections"
. "."
identifier "Concurrent"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Collections"
. "."
identifier "Generic"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Globalization"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Linq"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Linq"
. "."
identifier "Expressions"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Reflection"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Text"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Text"
. "."
identifier "Json"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Threading"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Threading"
. "."
identifier "Tasks"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Data"
. "."
identifier "Enums"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Enums"
; ";"
using_directive
using "using"
qualified_name
identifier "Jellyfin"
. "."
identifier "Extensions"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Extensions"
. "."
identifier "Json"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Server"
. "."
identifier "Implementations"
. "."
identifier "Extensions"
; ";"
using_directive
using "using"
qualified_name
identifier "MediaBrowser"
. "."
identifier "Common"
; ";"
using_directive
using "using"
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Channels"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Configuration"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
. "."
identifier "Audio"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
. "."
identifier "TV"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "LiveTv"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Persistence"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "Dto"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "LiveTv"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "Querying"
; ";"
using_directive
using "using"
qualified_name
identifier "Microsoft"
. "."
identifier "EntityFrameworkCore"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Microsoft"
. "."
identifier "Extensions"
. "."
identifier "Logging"
; ";"
using_directive
using "using"
identifier "BaseItemDto"
= "="
qualified_name
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
. "."
identifier "BaseItem"
; ";"
using_directive
using "using"
identifier "BaseItemEntity"
= "="
qualified_name
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Entities"
. "."
identifier "BaseItemEntity"
; ";"
file_scoped_namespace_declaration
namespace "namespace"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Server"
. "."
identifier "Implementations"
. "."
identifier "Item"
; ";"
comment "/*\n All queries in this class and all other nullable enab"...
comment "/// <summary>"
comment "/// Handles all storage logic for BaseItems."
comment "/// </summary>"
class_declaration
modifier
public "public"
modifier
sealed "sealed"
class "class"
identifier "BaseItemRepository"
base_list
: ":"
identifier "IItemRepository"
declaration_list
{ "{"
comment "/// <summary>"
comment "/// Gets the placeholder id for UserData detached items."
comment "/// </summary>"
field_declaration (+26 nodes collapsed)
comment "/// <summary>"
comment "/// This holds all the types in the running assemblies"
comment "/// so that we can de-serialize properly when we don't have "...
comment "/// </summary>"
field_declaration (+37 nodes collapsed)
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "IDbContextFactory"
type_argument_list
< "<"
identifier "JellyfinDbContext"
> ">"
variable_declarator
identifier "_dbProvider"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IServerApplicationHost"
variable_declarator
identifier "_appHost"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IItemTypeLookup"
variable_declarator
identifier "_itemTypeLookup"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IServerConfigurationManager"
variable_declarator
identifier "_serverConfigurationManager"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "ILogger"
type_argument_list
< "<"
identifier "BaseItemRepository"
> ">"
variable_declarator
identifier "_logger"
; ";"
field_declaration (+34 nodes collapsed)
field_declaration (+27 nodes collapsed)
field_declaration (+27 nodes collapsed)
field_declaration (+27 nodes collapsed)
field_declaration (+27 nodes collapsed)
field_declaration (+55 nodes collapsed)
comment "/// <summary>"
comment "/// Initializes a new instance of the <see cref=\"BaseItemRep"...
comment "/// </summary>"
comment "/// <param name=\"dbProvider\">The db factory.</param>"
comment "/// <param name=\"appHost\">The Application host.</param>"
comment "/// <param name=\"itemTypeLookup\">The static type lookup.</pa"...
comment "/// <param name=\"serverConfigurationManager\">The server Conf"...
comment "/// <param name=\"logger\">System logger.</param>"
constructor_declaration (+69 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+1062 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+106 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+132 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+58 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+36 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+36 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+37 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+37 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+345 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+190 nodes collapsed)
comment "/// <inheritdoc/>"
method_declaration (+455 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+437 nodes collapsed)
method_declaration (+425 nodes collapsed)
method_declaration (+135 nodes collapsed)
method_declaration (+131 nodes collapsed)
method_declaration (+87 nodes collapsed)
method_declaration (+63 nodes collapsed)
comment "/// <inheritdoc/>"
method_declaration (+95 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+645 nodes collapsed)
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CA1307"
comment "// Specify StringComparison for clarity"
comment "/// <summary>"
comment "/// Gets the type."
comment "/// </summary>"
comment "/// <param name=\"typeName\">Name of the type.</param>"
comment "/// <returns>Type.</returns>"
comment "/// <exception cref=\"ArgumentNullException\"><c>typeName</c> "...
method_declaration (+100 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+190 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+35 nodes collapsed)
comment "/// <inheritdoc cref=\"IItemRepository\"/>"
method_declaration (+1804 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+246 nodes collapsed)
comment "/// <summary>"
comment "/// Maps a Entity to the DTO."
comment "/// </summary>"
comment "/// <param name=\"entity\">The entity.</param>"
comment "/// <param name=\"dto\">The dto base instance.</param>"
comment "/// <param name=\"appHost\">The Application server Host.</para"...
comment "/// <param name=\"logger\">The applogger.</param>"
comment "/// <returns>The dto to map.</returns>"
method_declaration (+1662 nodes collapsed)
comment "/// <summary>"
comment "/// Maps a Entity to the DTO."
comment "/// </summary>"
comment "/// <param name=\"dto\">The entity.</param>"
comment "/// <returns>The dto to map.</returns>"
method_declaration (+1683 nodes collapsed)
method_declaration (+274 nodes collapsed)
method_declaration (+35 nodes collapsed)
method_declaration (+148 nodes collapsed)
comment "/// <summary>"
comment "/// Deserializes a BaseItemEntity and sets all properties."
comment "/// </summary>"
comment "/// <param name=\"baseItemEntity\">The DB entity.</param>"
comment "/// <param name=\"logger\">Logger.</param>"
comment "/// <param name=\"appHost\">The application server Host.</para"...
comment "/// <param name=\"skipDeserialization\">If only mapping should"...
comment "/// <returns>A mapped BaseItem.</returns>"
comment "/// <exception cref=\"InvalidOperationException\">Will be thro"...
method_declaration (+240 nodes collapsed)
method_declaration (+1770 nodes collapsed)
method_declaration (+79 nodes collapsed)
method_declaration (+53 nodes collapsed)
method_declaration (+342 nodes collapsed)
method_declaration (+131 nodes collapsed)
method_declaration (+147 nodes collapsed)
method_declaration (+45 nodes collapsed)
method_declaration (+272 nodes collapsed)
method_declaration (+71 nodes collapsed)
method_declaration (+226 nodes collapsed)
method_declaration (+454 nodes collapsed)
method_declaration
modifier
private "private"
generic_name
identifier "IQueryable"
type_argument_list
< "<"
identifier "BaseItemEntity"
> ">"
identifier "TranslateQuery"
parameter_list
( "("
parameter
generic_name
identifier "IQueryable"
type_argument_list
< "<"
identifier "BaseItemEntity"
> ">"
identifier "baseQuery"
, ","
parameter
identifier "JellyfinDbContext"
identifier "context"
, ","
parameter
identifier "InternalItemsQuery"
identifier "filter"
) ")"
block
{ "{"
local_declaration_statement
modifier
const "const"
variable_declaration
predefined_type "int"
variable_declarator
identifier "HDWidth"
= "="
integer_literal "1200"
; ";"
local_declaration_statement
modifier
const "const"
variable_declaration
predefined_type "int"
variable_declarator
identifier "UHDWidth"
= "="
integer_literal "3800"
; ";"
local_declaration_statement
modifier
const "const"
variable_declaration
predefined_type "int"
variable_declarator
identifier "UHDHeight"
= "="
integer_literal "2100"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "minWidth"
= "="
member_access_expression
identifier "filter"
. "."
identifier "MinWidth"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "maxWidth"
= "="
member_access_expression
identifier "filter"
. "."
identifier "MaxWidth"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "now"
= "="
member_access_expression
identifier "DateTime"
. "."
identifier "UtcNow"
; ";"
if_statement (+237 nodes collapsed)
if_statement (+35 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+35 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+41 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "tags"
= "="
invocation_expression
member_access_expression
member_access_expression
identifier "filter"
. "."
identifier "Tags"
. "."
identifier "ToList"
argument_list
( "("
) ")"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "excludeTags"
= "="
invocation_expression
member_access_expression
member_access_expression
identifier "filter"
. "."
identifier "ExcludeTags"
. "."
identifier "ToList"
argument_list
( "("
) ")"
; ";"
if_statement (+131 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+62 nodes collapsed)
if_statement (+62 nodes collapsed)
if_statement (+62 nodes collapsed)
if_statement (+259 nodes collapsed)
if_statement (+41 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "includeTypes"
= "="
member_access_expression
identifier "filter"
. "."
identifier "IncludeItemTypes"
; ";"
comment "// Only specify excluded types if no included types are spec"...
if_statement (+307 nodes collapsed)
if_statement (+62 nodes collapsed)
if_statement (+52 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+86 nodes collapsed)
if_statement (+41 nodes collapsed)
if_statement (+53 nodes collapsed)
if_statement (+53 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+53 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "minEndDate"
= "="
member_access_expression
identifier "filter"
. "."
identifier "MinEndDate"
; ";"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "maxEndDate"
= "="
member_access_expression
identifier "filter"
. "."
identifier "MaxEndDate"
; ";"
if_statement (+50 nodes collapsed)
if_statement (+35 nodes collapsed)
if_statement (+35 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+105 nodes collapsed)
if_statement (+98 nodes collapsed)
if_statement
if "if"
( "("
binary_expression
member_access_expression
member_access_expression
identifier "filter"
. "."
identifier "PersonIds"
. "."
identifier "Length"
> ">"
integer_literal "0"
) ")"
block
{ "{"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "peopleEntityIds"
= "="
invocation_expression
member_access_expression
invocation_expression
member_access_expression
member_access_expression
identifier "context"
. "."
identifier "BaseItems"
. "."
identifier "WhereOneOrMany"
argument_list
( "("
argument
member_access_expression
identifier "filter"
. "."
identifier "PersonIds"
, ","
argument
lambda_expression
implicit_parameter "b"
=> "=>"
member_access_expression
identifier "b"
. "."
identifier "Id"
) ")"
. "."
identifier "Join"
argument_list
( "("
argument
member_access_expression
identifier "context"
. "."
identifier "Peoples"
, ","
argument
lambda_expression
implicit_parameter "b"
=> "=>"
member_access_expression
identifier "b"
. "." all 2:2
identifier "Name" all 2:2
, ","
argument
lambda_expression
implicit_parameter "p"
=> "=>"
member_access_expression
identifier "p"
. "." all 2:2
identifier "Name" all 2:2
, ","
argument
lambda_expression
parameter_list
( "("
parameter
identifier "b"
, ","
parameter
identifier "p"
) ")"
=> "=>"
member_access_expression
identifier "p"
. "."
identifier "Id"
) ")"
; ";"
expression_statement
assignment_expression
identifier "baseQuery"
= "="
invocation_expression
member_access_expression
identifier "baseQuery"
. "."
identifier "Where"
argument_list
( "("
argument
lambda_expression
implicit_parameter "e"
=> "=>"
invocation_expression any 2:1
member_access_expression any 2:1
member_access_expression
identifier "context"
. "."
identifier "PeopleBaseItemMap"
. "."
identifier "Any"
argument_list
( "("
argument
lambda_expression
implicit_parameter "m"
=> "=>"
binary_expression any 1:2
binary_expression any 1:2
member_access_expression
identifier "m"
. "."
identifier "ItemId"
== "=="
member_access_expression
identifier "e"
. "."
identifier "Id"
&& "&&"
invocation_expression
member_access_expression
identifier "peopleEntityIds"
. "."
identifier "Contains"
argument_list
( "("
argument
member_access_expression
identifier "m"
. "."
identifier "PeopleId"
) ")"
) ")"
) ")"
; ";"
} "}"
if_statement (+69 nodes collapsed)
if_statement (+26 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+64 nodes collapsed)
comment "// These are the same, for now"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "nameContains"
= "="
member_access_expression
identifier "filter"
. "."
identifier "NameContains"
; ";"
if_statement (+194 nodes collapsed)
if_statement (+57 nodes collapsed)
if_statement (+92 nodes collapsed)
if_statement (+92 nodes collapsed)
if_statement (+105 nodes collapsed)
if_statement (+74 nodes collapsed)
if_statement (+74 nodes collapsed)
if_statement (+74 nodes collapsed)
if_statement (+339 nodes collapsed)
if_statement (+146 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+89 nodes collapsed)
if_statement (+48 nodes collapsed)
if_statement (+51 nodes collapsed)
if_statement (+142 nodes collapsed)
if_statement (+136 nodes collapsed)
if_statement (+138 nodes collapsed)
if_statement (+51 nodes collapsed)
if_statement (+50 nodes collapsed)
local_declaration_statement (+22 nodes collapsed)
if_statement (+104 nodes collapsed)
local_declaration_statement (+22 nodes collapsed)
if_statement (+104 nodes collapsed)
if_statement (+422 nodes collapsed)
if_statement (+104 nodes collapsed)
if_statement (+104 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+88 nodes collapsed)
if_statement (+86 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+67 nodes collapsed)
if_statement (+64 nodes collapsed)
if_statement (+106 nodes collapsed)
if_statement (+91 nodes collapsed)
if_statement (+91 nodes collapsed)
if_statement (+91 nodes collapsed)
if_statement (+67 nodes collapsed)
if_statement (+49 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "isVirtualItem"
= "="
binary_expression
member_access_expression
identifier "filter"
. "."
identifier "IsVirtualItem"
?? "??"
member_access_expression
identifier "filter"
. "."
identifier "IsMissing"
; ";"
if_statement (+38 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+79 nodes collapsed)
if_statement (+44 nodes collapsed)
if_statement (+52 nodes collapsed)
if_statement (+153 nodes collapsed)
if_statement (+311 nodes collapsed)
if_statement (+58 nodes collapsed)
if_statement (+58 nodes collapsed)
if_statement (+58 nodes collapsed)
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "queryTopParentIds"
= "="
member_access_expression
identifier "filter"
. "."
identifier "TopParentIds"
; ";"
if_statement (+163 nodes collapsed)
if_statement (+67 nodes collapsed)
if_statement (+129 nodes collapsed)
if_statement (+49 nodes collapsed)
if_statement (+111 nodes collapsed)
if_statement (+508 nodes collapsed)
if_statement (+99 nodes collapsed)
if_statement (+110 nodes collapsed)
if_statement (+98 nodes collapsed)
if_statement (+104 nodes collapsed)
if_statement (+108 nodes collapsed)
if_statement (+80 nodes collapsed)
if_statement (+128 nodes collapsed)
return_statement
return "return"
identifier "baseQuery"
; ";"
} "}"
comment "/// <inheritdoc/>"
method_declaration (+105 nodes collapsed)
comment "/// <inheritdoc/>"
method_declaration (+248 nodes collapsed)
method_declaration (+259 nodes collapsed)
comment "/// <inheritdoc/>"
method_declaration (+201 nodes collapsed)
} "}"