schema codemarkup.chef.1 { import src import chef import code import code.chef import codemarkup.types predicate ChefEntityUses: { target: code.chef.Entity, file: src.File, range: src.ByteSpan, } {{ symbol = Symbol }, File, Span } where chef.ReferencedAt { Symbol, { File, Span } } predicate ChefEntityLocation: { entity: code.chef.Entity, location: codemarkup.types.Location, } { { symbol = Symbol }, { EntityName, File, { span = Span }, nothing } } where chef.DefinedAt { Symbol,{File, Span} }; Symbol.identifier = chef.Name EntityName; predicate ChefResolveLocation: { location: codemarkup.types.Location, entity: code.chef.Entity, } { { EntityName, File, {span = Span}, nothing }, { symbol = Symbol } } where chef.DefinedAt { Symbol,{File, Span} }; Symbol.identifier = chef.Name EntityName predicate ChefFileEntityXRefLocations: { file: src.File, xref: codemarkup.types.XRefLocation, entity: code.chef.Entity, } { File, {Location, {span = Span}}, { symbol = Symbol } } where chef.ReferencedAt { Symbol, { File, Span } }; Symbol.identifier = chef.Name EntityName; chef.DefinedAt { Symbol, {TargetFile,TargetSpan} }; Location = codemarkup.types.Location { EntityName, TargetFile, { span = TargetSpan }, nothing } }