Function(
Function {
head: Destructured(
FunctionHeadDestructured {
ellipsis: false,
identifier: None,
arguments: [
FunctionHeadDestructuredArgument {
identifier: "pkgs",
default: Some(
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "import",
span: Span {
start: Position {
line: 1,
column: 11,
},
end: Position {
line: 1,
column: 17,
},
},
},
),
arguments: [
Path(
Path {
parts: [
Raw(
PartRaw {
content: "./..",
span: Span {
start: Position {
line: 1,
column: 18,
},
end: Position {
line: 1,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 1,
column: 18,
},
end: Position {
line: 1,
column: 22,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [],
span: Span {
start: Position {
line: 1,
column: 23,
},
end: Position {
line: 1,
column: 26,
},
},
},
),
],
},
),
),
},
FunctionHeadDestructuredArgument {
identifier: "nixpkgs",
default: Some(
Map(
Map {
recursive: false,
bindings: [],
span: Span {
start: Position {
line: 1,
column: 39,
},
end: Position {
line: 1,
column: 42,
},
},
},
),
),
},
],
},
),
body: LetIn(
LetIn {
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "revision",
span: Span {
start: Position {
line: 3,
column: 3,
},
end: Position {
line: 3,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 3,
column: 14,
},
end: Position {
line: 3,
column: 18,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "lib",
span: Span {
start: Position {
line: 3,
column: 19,
},
end: Position {
line: 3,
column: 22,
},
},
},
),
Raw(
PartRaw {
content: "trivial",
span: Span {
start: Position {
line: 3,
column: 23,
},
end: Position {
line: 3,
column: 30,
},
},
},
),
Raw(
PartRaw {
content: "revisionWithDefault",
span: Span {
start: Position {
line: 3,
column: 31,
},
end: Position {
line: 3,
column: 50,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "nixpkgs",
span: Span {
start: Position {
line: 3,
column: 52,
},
end: Position {
line: 3,
column: 59,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "revision",
span: Span {
start: Position {
line: 3,
column: 60,
},
end: Position {
line: 3,
column: 68,
},
},
},
),
],
default: Some(
String(
String_ {
parts: [
Raw(
PartRaw {
content: "master",
span: Span {
start: Position {
line: 3,
column: 73,
},
end: Position {
line: 3,
column: 79,
},
},
},
),
],
span: Span {
start: Position {
line: 3,
column: 72,
},
end: Position {
line: 3,
column: 80,
},
},
},
),
),
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "libDefPos",
span: Span {
start: Position {
line: 5,
column: 3,
},
end: Position {
line: 5,
column: 12,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "set",
},
),
body: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 6,
column: 5,
},
end: Position {
line: 6,
column: 13,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "map",
span: Span {
start: Position {
line: 6,
column: 14,
},
end: Position {
line: 6,
column: 17,
},
},
},
),
],
default: None,
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "name",
},
),
body: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "name",
span: Span {
start: Position {
line: 8,
column: 9,
},
end: Position {
line: 8,
column: 13,
},
},
},
),
],
to: Identifier(
Identifier {
id: "name",
span: Span {
start: Position {
line: 8,
column: 16,
},
end: Position {
line: 8,
column: 20,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "location",
span: Span {
start: Position {
line: 9,
column: 9,
},
end: Position {
line: 9,
column: 17,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 9,
column: 20,
},
end: Position {
line: 9,
column: 28,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "unsafeGetAttrPos",
span: Span {
start: Position {
line: 9,
column: 29,
},
end: Position {
line: 9,
column: 45,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "name",
span: Span {
start: Position {
line: 9,
column: 46,
},
end: Position {
line: 9,
column: 50,
},
},
},
),
Identifier(
Identifier {
id: "set",
span: Span {
start: Position {
line: 9,
column: 51,
},
end: Position {
line: 9,
column: 54,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 7,
column: 14,
},
end: Position {
line: 10,
column: 8,
},
},
},
),
span: Span {
start: Position {
line: 7,
column: 8,
},
end: Position {
line: 10,
column: 8,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 11,
column: 8,
},
end: Position {
line: 11,
column: 16,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "attrNames",
span: Span {
start: Position {
line: 11,
column: 17,
},
end: Position {
line: 11,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "set",
span: Span {
start: Position {
line: 11,
column: 27,
},
end: Position {
line: 11,
column: 30,
},
},
},
),
],
},
),
],
},
),
span: Span {
start: Position {
line: 5,
column: 15,
},
end: Position {
line: 11,
column: 31,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "libset",
span: Span {
start: Position {
line: 13,
column: 3,
},
end: Position {
line: 13,
column: 9,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "toplib",
},
),
body: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 14,
column: 5,
},
end: Position {
line: 14,
column: 13,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "map",
span: Span {
start: Position {
line: 14,
column: 14,
},
end: Position {
line: 14,
column: 17,
},
},
},
),
],
default: None,
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "subsetname",
},
),
body: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "subsetname",
span: Span {
start: Position {
line: 16,
column: 9,
},
end: Position {
line: 16,
column: 19,
},
},
},
),
],
to: Identifier(
Identifier {
id: "subsetname",
span: Span {
start: Position {
line: 16,
column: 22,
},
end: Position {
line: 16,
column: 32,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "functions",
span: Span {
start: Position {
line: 17,
column: 9,
},
end: Position {
line: 17,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "libDefPos",
span: Span {
start: Position {
line: 17,
column: 21,
},
end: Position {
line: 17,
column: 30,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "toplib",
span: Span {
start: Position {
line: 17,
column: 31,
},
end: Position {
line: 17,
column: 37,
},
},
},
),
attribute_path: [
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "subsetname",
span: Span {
start: Position {
line: 17,
column: 40,
},
end: Position {
line: 17,
column: 50,
},
},
},
),
},
),
],
default: None,
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 15,
column: 20,
},
end: Position {
line: 18,
column: 8,
},
},
},
),
span: Span {
start: Position {
line: 15,
column: 8,
},
end: Position {
line: 18,
column: 8,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 19,
column: 8,
},
end: Position {
line: 19,
column: 16,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "filter",
span: Span {
start: Position {
line: 19,
column: 17,
},
end: Position {
line: 19,
column: 23,
},
},
},
),
],
default: None,
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "name",
},
),
body: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 20,
column: 16,
},
end: Position {
line: 20,
column: 24,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "isAttrs",
span: Span {
start: Position {
line: 20,
column: 25,
},
end: Position {
line: 20,
column: 32,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "toplib",
span: Span {
start: Position {
line: 20,
column: 33,
},
end: Position {
line: 20,
column: 39,
},
},
},
),
attribute_path: [
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "name",
span: Span {
start: Position {
line: 20,
column: 42,
},
end: Position {
line: 20,
column: 46,
},
},
},
),
},
),
],
default: None,
},
),
],
},
),
span: Span {
start: Position {
line: 20,
column: 10,
},
end: Position {
line: 20,
column: 47,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 21,
column: 10,
},
end: Position {
line: 21,
column: 18,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "attrNames",
span: Span {
start: Position {
line: 21,
column: 19,
},
end: Position {
line: 21,
column: 28,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "toplib",
span: Span {
start: Position {
line: 21,
column: 29,
},
end: Position {
line: 21,
column: 35,
},
},
},
),
],
},
),
],
},
),
],
},
),
span: Span {
start: Position {
line: 13,
column: 12,
},
end: Position {
line: 21,
column: 37,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "nixpkgsLib",
span: Span {
start: Position {
line: 23,
column: 3,
},
end: Position {
line: 23,
column: 13,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 23,
column: 16,
},
end: Position {
line: 23,
column: 20,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "lib",
span: Span {
start: Position {
line: 23,
column: 21,
},
end: Position {
line: 23,
column: 24,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "flattenedLibSubset",
span: Span {
start: Position {
line: 25,
column: 3,
},
end: Position {
line: 25,
column: 21,
},
},
},
),
],
to: Function(
Function {
head: Destructured(
FunctionHeadDestructured {
ellipsis: false,
identifier: None,
arguments: [
FunctionHeadDestructuredArgument {
identifier: "subsetname",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "functions",
default: None,
},
],
},
),
body: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 26,
column: 3,
},
end: Position {
line: 26,
column: 11,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "map",
span: Span {
start: Position {
line: 26,
column: 12,
},
end: Position {
line: 26,
column: 15,
},
},
},
),
],
default: None,
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "fn",
},
),
body: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "name",
span: Span {
start: Position {
line: 28,
column: 7,
},
end: Position {
line: 28,
column: 11,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "lib.",
span: Span {
start: Position {
line: 28,
column: 15,
},
end: Position {
line: 28,
column: 32,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "subsetname",
span: Span {
start: Position {
line: 28,
column: 21,
},
end: Position {
line: 28,
column: 31,
},
},
},
),
},
),
Raw(
PartRaw {
content: ".",
span: Span {
start: Position {
line: 28,
column: 15,
},
end: Position {
line: 28,
column: 33,
},
},
},
),
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "fn",
span: Span {
start: Position {
line: 28,
column: 35,
},
end: Position {
line: 28,
column: 37,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "name",
span: Span {
start: Position {
line: 28,
column: 38,
},
end: Position {
line: 28,
column: 42,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 28,
column: 14,
},
end: Position {
line: 28,
column: 44,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "value",
span: Span {
start: Position {
line: 29,
column: 7,
},
end: Position {
line: 29,
column: 12,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "fn",
span: Span {
start: Position {
line: 29,
column: 15,
},
end: Position {
line: 29,
column: 17,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "location",
span: Span {
start: Position {
line: 29,
column: 18,
},
end: Position {
line: 29,
column: 26,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 27,
column: 10,
},
end: Position {
line: 30,
column: 6,
},
},
},
),
span: Span {
start: Position {
line: 27,
column: 6,
},
end: Position {
line: 30,
column: 6,
},
},
},
),
Identifier(
Identifier {
id: "functions",
span: Span {
start: Position {
line: 31,
column: 5,
},
end: Position {
line: 31,
column: 14,
},
},
},
),
],
},
),
span: Span {
start: Position {
line: 25,
column: 24,
},
end: Position {
line: 31,
column: 14,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "locatedlibsets",
span: Span {
start: Position {
line: 33,
column: 3,
},
end: Position {
line: 33,
column: 17,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "libs",
},
),
body: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 33,
column: 26,
},
end: Position {
line: 33,
column: 34,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "map",
span: Span {
start: Position {
line: 33,
column: 35,
},
end: Position {
line: 33,
column: 38,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "flattenedLibSubset",
span: Span {
start: Position {
line: 33,
column: 39,
},
end: Position {
line: 33,
column: 57,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "libset",
span: Span {
start: Position {
line: 33,
column: 59,
},
end: Position {
line: 33,
column: 65,
},
},
},
),
arguments: [
Identifier(
Identifier {
id: "libs",
span: Span {
start: Position {
line: 33,
column: 66,
},
end: Position {
line: 33,
column: 70,
},
},
},
),
],
},
),
],
},
),
span: Span {
start: Position {
line: 33,
column: 20,
},
end: Position {
line: 33,
column: 71,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "removeFilenamePrefix",
span: Span {
start: Position {
line: 34,
column: 3,
},
end: Position {
line: 34,
column: 23,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "prefix",
},
),
body: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "filename",
},
),
body: LetIn(
LetIn {
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "prefixLen",
span: Span {
start: Position {
line: 36,
column: 5,
},
end: Position {
line: 36,
column: 14,
},
},
},
),
],
to: BinaryOperation(
BinaryOperation {
left: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 36,
column: 18,
},
end: Position {
line: 36,
column: 26,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "stringLength",
span: Span {
start: Position {
line: 36,
column: 27,
},
end: Position {
line: 36,
column: 39,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "prefix",
span: Span {
start: Position {
line: 36,
column: 40,
},
end: Position {
line: 36,
column: 46,
},
},
},
),
],
},
),
operator: Addition,
right: Integer(
Integer {
value: "1",
span: Span {
start: Position {
line: 36,
column: 50,
},
end: Position {
line: 36,
column: 51,
},
},
},
),
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "filenameLen",
span: Span {
start: Position {
line: 37,
column: 7,
},
end: Position {
line: 37,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 37,
column: 21,
},
end: Position {
line: 37,
column: 29,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "stringLength",
span: Span {
start: Position {
line: 37,
column: 30,
},
end: Position {
line: 37,
column: 42,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "filename",
span: Span {
start: Position {
line: 37,
column: 43,
},
end: Position {
line: 37,
column: 51,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "substr",
span: Span {
start: Position {
line: 38,
column: 7,
},
end: Position {
line: 38,
column: 13,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 38,
column: 16,
},
end: Position {
line: 38,
column: 24,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "substring",
span: Span {
start: Position {
line: 38,
column: 25,
},
end: Position {
line: 38,
column: 34,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "prefixLen",
span: Span {
start: Position {
line: 38,
column: 35,
},
end: Position {
line: 38,
column: 44,
},
},
},
),
Identifier(
Identifier {
id: "filenameLen",
span: Span {
start: Position {
line: 38,
column: 45,
},
end: Position {
line: 38,
column: 56,
},
},
},
),
Identifier(
Identifier {
id: "filename",
span: Span {
start: Position {
line: 38,
column: 57,
},
end: Position {
line: 38,
column: 65,
},
},
},
),
],
},
),
},
),
],
target: Identifier(
Identifier {
id: "substr",
span: Span {
start: Position {
line: 39,
column: 10,
},
end: Position {
line: 39,
column: 16,
},
},
},
),
span: Span {
start: Position {
line: 35,
column: 5,
},
end: Position {
line: 39,
column: 16,
},
},
},
),
span: Span {
start: Position {
line: 34,
column: 34,
},
end: Position {
line: 39,
column: 16,
},
},
},
),
span: Span {
start: Position {
line: 34,
column: 26,
},
end: Position {
line: 39,
column: 16,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "removeNixpkgs",
span: Span {
start: Position {
line: 41,
column: 3,
},
end: Position {
line: 41,
column: 16,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "removeFilenamePrefix",
span: Span {
start: Position {
line: 41,
column: 19,
},
end: Position {
line: 41,
column: 39,
},
},
},
),
arguments: [
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 41,
column: 41,
},
end: Position {
line: 41,
column: 49,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "toString",
span: Span {
start: Position {
line: 41,
column: 50,
},
end: Position {
line: 41,
column: 58,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 41,
column: 59,
},
end: Position {
line: 41,
column: 63,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "path",
span: Span {
start: Position {
line: 41,
column: 64,
},
end: Position {
line: 41,
column: 68,
},
},
},
),
],
default: None,
},
),
],
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "liblocations",
span: Span {
start: Position {
line: 43,
column: 3,
},
end: Position {
line: 43,
column: 15,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 44,
column: 5,
},
end: Position {
line: 44,
column: 13,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "filter",
span: Span {
start: Position {
line: 44,
column: 14,
},
end: Position {
line: 44,
column: 20,
},
},
},
),
],
default: None,
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "elem",
},
),
body: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "elem",
span: Span {
start: Position {
line: 45,
column: 14,
},
end: Position {
line: 45,
column: 18,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "value",
span: Span {
start: Position {
line: 45,
column: 19,
},
end: Position {
line: 45,
column: 24,
},
},
},
),
],
default: None,
},
),
operator: NotEqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 45,
column: 28,
},
end: Position {
line: 45,
column: 32,
},
},
},
),
},
),
span: Span {
start: Position {
line: 45,
column: 8,
},
end: Position {
line: 45,
column: 32,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "nixpkgsLib",
span: Span {
start: Position {
line: 46,
column: 8,
},
end: Position {
line: 46,
column: 18,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "lists",
span: Span {
start: Position {
line: 46,
column: 19,
},
end: Position {
line: 46,
column: 24,
},
},
},
),
Raw(
PartRaw {
content: "flatten",
span: Span {
start: Position {
line: 46,
column: 25,
},
end: Position {
line: 46,
column: 32,
},
},
},
),
],
default: None,
},
),
arguments: [
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "locatedlibsets",
span: Span {
start: Position {
line: 47,
column: 10,
},
end: Position {
line: 47,
column: 24,
},
},
},
),
arguments: [
Identifier(
Identifier {
id: "nixpkgsLib",
span: Span {
start: Position {
line: 47,
column: 25,
},
end: Position {
line: 47,
column: 35,
},
},
},
),
],
},
),
],
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "fnLocationRelative",
span: Span {
start: Position {
line: 49,
column: 3,
},
end: Position {
line: 49,
column: 21,
},
},
},
),
],
to: Function(
Function {
head: Destructured(
FunctionHeadDestructured {
ellipsis: false,
identifier: None,
arguments: [
FunctionHeadDestructuredArgument {
identifier: "name",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "value",
default: None,
},
],
},
),
body: Map(
Map {
recursive: false,
bindings: [
Inherit(
BindingInherit {
from: None,
attributes: [
Raw(
PartRaw {
content: "name",
span: Span {
start: Position {
line: 51,
column: 15,
},
end: Position {
line: 51,
column: 19,
},
},
},
),
],
span: Span {
start: Position {
line: 50,
column: 6,
},
end: Position {
line: 51,
column: 20,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "value",
span: Span {
start: Position {
line: 52,
column: 7,
},
end: Position {
line: 52,
column: 12,
},
},
},
),
],
to: BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "value",
span: Span {
start: Position {
line: 52,
column: 15,
},
end: Position {
line: 52,
column: 20,
},
},
},
),
operator: Update,
right: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "file",
span: Span {
start: Position {
line: 52,
column: 26,
},
end: Position {
line: 52,
column: 30,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "removeNixpkgs",
span: Span {
start: Position {
line: 52,
column: 33,
},
end: Position {
line: 52,
column: 46,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "value",
span: Span {
start: Position {
line: 52,
column: 47,
},
end: Position {
line: 52,
column: 52,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "file",
span: Span {
start: Position {
line: 52,
column: 53,
},
end: Position {
line: 52,
column: 57,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 52,
column: 24,
},
end: Position {
line: 52,
column: 60,
},
},
},
),
},
),
},
),
],
span: Span {
start: Position {
line: 50,
column: 5,
},
end: Position {
line: 53,
column: 6,
},
},
},
),
span: Span {
start: Position {
line: 49,
column: 24,
},
end: Position {
line: 53,
column: 6,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "relativeLocs",
span: Span {
start: Position {
line: 55,
column: 3,
},
end: Position {
line: 55,
column: 15,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 55,
column: 19,
},
end: Position {
line: 55,
column: 27,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "map",
span: Span {
start: Position {
line: 55,
column: 28,
},
end: Position {
line: 55,
column: 31,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "fnLocationRelative",
span: Span {
start: Position {
line: 55,
column: 32,
},
end: Position {
line: 55,
column: 50,
},
},
},
),
Identifier(
Identifier {
id: "liblocations",
span: Span {
start: Position {
line: 55,
column: 51,
},
end: Position {
line: 55,
column: 63,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "sanitizeId",
span: Span {
start: Position {
line: 56,
column: 3,
},
end: Position {
line: 56,
column: 13,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 56,
column: 16,
},
end: Position {
line: 56,
column: 24,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "replaceStrings",
span: Span {
start: Position {
line: 56,
column: 25,
},
end: Position {
line: 56,
column: 39,
},
},
},
),
],
default: None,
},
),
arguments: [
List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "'",
span: Span {
start: Position {
line: 57,
column: 8,
},
end: Position {
line: 57,
column: 9,
},
},
},
),
],
span: Span {
start: Position {
line: 57,
column: 7,
},
end: Position {
line: 57,
column: 10,
},
},
},
),
],
span: Span {
start: Position {
line: 57,
column: 5,
},
end: Position {
line: 57,
column: 17,
},
},
},
),
List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "-prime",
span: Span {
start: Position {
line: 58,
column: 8,
},
end: Position {
line: 58,
column: 14,
},
},
},
),
],
span: Span {
start: Position {
line: 58,
column: 7,
},
end: Position {
line: 58,
column: 15,
},
},
},
),
],
span: Span {
start: Position {
line: 58,
column: 5,
},
end: Position {
line: 58,
column: 17,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "urlPrefix",
span: Span {
start: Position {
line: 60,
column: 3,
},
end: Position {
line: 60,
column: 12,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "https://github.com/NixOS/nixpkgs/blob/",
span: Span {
start: Position {
line: 60,
column: 16,
},
end: Position {
line: 60,
column: 65,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "revision",
span: Span {
start: Position {
line: 60,
column: 56,
},
end: Position {
line: 60,
column: 64,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 60,
column: 15,
},
end: Position {
line: 60,
column: 66,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "xmlstrings",
span: Span {
start: Position {
line: 61,
column: 3,
},
end: Position {
line: 61,
column: 13,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "nixpkgsLib",
span: Span {
start: Position {
line: 61,
column: 17,
},
end: Position {
line: 61,
column: 27,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "strings",
span: Span {
start: Position {
line: 61,
column: 28,
},
end: Position {
line: 61,
column: 35,
},
},
},
),
Raw(
PartRaw {
content: "concatMapStrings",
span: Span {
start: Position {
line: 61,
column: 36,
},
end: Position {
line: 61,
column: 52,
},
},
},
),
],
default: None,
},
),
arguments: [
Function(
Function {
head: Destructured(
FunctionHeadDestructured {
ellipsis: false,
identifier: None,
arguments: [
FunctionHeadDestructuredArgument {
identifier: "name",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "value",
default: None,
},
],
},
),
body: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "",
span: Span {
start: Position {
line: 64,
column: 1,
},
end: Position {
line: 64,
column: 23,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "name",
span: Span {
start: Position {
line: 64,
column: 25,
},
end: Position {
line: 64,
column: 29,
},
},
},
),
},
),
Raw(
PartRaw {
content: "\n \n Located at\n ",
span: Span {
start: Position {
line: 64,
column: 1,
},
end: Position {
line: 68,
column: 84,
},
},
},
),
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "value",
span: Span {
start: Position {
line: 68,
column: 86,
},
end: Position {
line: 68,
column: 91,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "file",
span: Span {
start: Position {
line: 68,
column: 92,
},
end: Position {
line: 68,
column: 96,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: ":",
span: Span {
start: Position {
line: 64,
column: 1,
},
end: Position {
line: 68,
column: 98,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 68,
column: 100,
},
end: Position {
line: 68,
column: 108,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "toString",
span: Span {
start: Position {
line: 68,
column: 109,
},
end: Position {
line: 68,
column: 117,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "value",
span: Span {
start: Position {
line: 68,
column: 118,
},
end: Position {
line: 68,
column: 123,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "line",
span: Span {
start: Position {
line: 68,
column: 124,
},
end: Position {
line: 68,
column: 128,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "\n in <nixpkgs>.\n \n \n",
span: Span {
start: Position {
line: 64,
column: 1,
},
end: Position {
line: 72,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 63,
column: 7,
},
end: Position {
line: 72,
column: 9,
},
},
},
),
span: Span {
start: Position {
line: 62,
column: 8,
},
end: Position {
line: 72,
column: 9,
},
},
},
),
Identifier(
Identifier {
id: "relativeLocs",
span: Span {
start: Position {
line: 73,
column: 7,
},
end: Position {
line: 73,
column: 19,
},
},
},
),
],
},
),
},
),
],
target: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 75,
column: 4,
},
end: Position {
line: 75,
column: 8,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "writeText",
span: Span {
start: Position {
line: 75,
column: 9,
},
end: Position {
line: 75,
column: 18,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "locations.xml",
span: Span {
start: Position {
line: 76,
column: 6,
},
end: Position {
line: 76,
column: 19,
},
},
},
),
],
span: Span {
start: Position {
line: 76,
column: 5,
},
end: Position {
line: 76,
column: 20,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "\n All the locations for every lib function\n This file is only for inclusion by other files.\n ",
span: Span {
start: Position {
line: 78,
column: 1,
},
end: Position {
line: 83,
column: 10,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "xmlstrings",
span: Span {
start: Position {
line: 83,
column: 12,
},
end: Position {
line: 83,
column: 22,
},
},
},
),
},
),
Raw(
PartRaw {
content: "\n\n",
span: Span {
start: Position {
line: 78,
column: 1,
},
end: Position {
line: 85,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 77,
column: 5,
},
end: Position {
line: 85,
column: 7,
},
},
},
),
],
},
),
span: Span {
start: Position {
line: 2,
column: 1,
},
end: Position {
line: 85,
column: 7,
},
},
},
),
span: Span {
start: Position {
line: 1,
column: 1,
},
end: Position {
line: 85,
column: 7,
},
},
},
)