Support explicitly reference-selected read-only interface dependencies

This commit is contained in:
Timothy J. Aveni
2026-09-20 22:15:15 -07:00
parent 266d2d98d0
commit c0669d2ed8
12 changed files with 1081 additions and 893 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+3
View File
@@ -1020,6 +1020,7 @@ const lowerDependencyPort = (state: LoweringState, context: DependencyPortContex
kind: "interface",
interfaceRevisionId: target.revisionId,
...lowerSelectedOperations(state, context, target),
...(context.FROM() ? { receiver: "input" as const } : {}),
},
}
: undefined;
@@ -1241,6 +1242,7 @@ const lowerGenericPackageExport = (
kind: "interface",
application: state.types.interfaceByName(identifier(port.identifier(1)), port.typeArguments()),
...lowerSelectedOperations(state, port, state.interfaces.get(identifier(port.identifier(1)))),
...(port.FROM() ? { receiver: "input" as const } : {}),
},
};
const name = identifier(port.identifier(1)),
@@ -1817,6 +1819,7 @@ const lowerBoundDependencies = (
binding: {
kind: "interface",
interfaceRevisionId: interfaceSymbol.revisionId,
...(entry.FROM() ? { receiver: "input" as const } : {}),
...(via ? { via } : {}),
},
},