@alloy-js/python 0.4.0-dev.0 → 0.4.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/src/components/ImportStatement.js +2 -2
  2. package/dist/src/components/ImportStatement.js.map +1 -1
  3. package/dist/src/components/MemberExpression.d.ts +1 -1
  4. package/dist/src/components/MemberExpression.d.ts.map +1 -1
  5. package/dist/src/components/MemberExpression.js +98 -180
  6. package/dist/src/components/MemberExpression.js.map +1 -1
  7. package/dist/src/components/MemberScope.d.ts.map +1 -1
  8. package/dist/src/components/MemberScope.js +6 -3
  9. package/dist/src/components/MemberScope.js.map +1 -1
  10. package/dist/src/components/SourceFile.d.ts.map +1 -1
  11. package/dist/src/components/SourceFile.js +2 -2
  12. package/dist/src/components/SourceFile.js.map +1 -1
  13. package/dist/src/create-module.d.ts.map +1 -1
  14. package/dist/src/create-module.js +3 -3
  15. package/dist/src/create-module.js.map +1 -1
  16. package/dist/src/symbol-creation.d.ts.map +1 -1
  17. package/dist/src/symbol-creation.js +9 -5
  18. package/dist/src/symbol-creation.js.map +1 -1
  19. package/dist/src/symbols/python-module-scope.d.ts +1 -0
  20. package/dist/src/symbols/python-module-scope.d.ts.map +1 -1
  21. package/dist/src/symbols/python-module-scope.js +9 -2
  22. package/dist/src/symbols/python-module-scope.js.map +1 -1
  23. package/dist/src/symbols/python-output-symbol.d.ts +1 -0
  24. package/dist/src/symbols/python-output-symbol.d.ts.map +1 -1
  25. package/dist/src/symbols/python-output-symbol.js +12 -3
  26. package/dist/src/symbols/python-output-symbol.js.map +1 -1
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +9 -5
  29. package/src/components/ImportStatement.tsx +1 -1
  30. package/src/components/MemberExpression.tsx +174 -298
  31. package/src/components/MemberScope.tsx +16 -4
  32. package/src/components/SourceFile.tsx +2 -1
  33. package/src/create-module.ts +7 -3
  34. package/src/symbol-creation.ts +10 -5
  35. package/src/symbols/python-module-scope.ts +11 -2
  36. package/src/symbols/python-output-symbol.ts +13 -2
  37. package/temp/api.json +72 -2
@@ -1,4 +1,4 @@
1
- import { createComponent as _$createComponent, memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
2
  import { computed, mapJoin, memo } from "@alloy-js/core";
3
3
  /**
4
4
  * A component that renders import statements based on the provided import records.
@@ -29,7 +29,7 @@ export function ImportStatements(props) {
29
29
  return sortedSymbols.map((symbol, idx, arr) => [_$createComponent(ImportStatement, {
30
30
  path: targetPath,
31
31
  symbols: new Set([symbol])
32
- }), _$memo(() => _$memo(() => idx < arr.length - 1)() && _$createIntrinsic("hbr", {}))]);
32
+ }), idx < arr.length - 1 && _$createIntrinsic("hbr", {})]);
33
33
  }
34
34
  } else {
35
35
  // If no symbols are specified, it's either a wildcard import or a module import
@@ -1 +1 @@
1
- {"version":3,"names":["computed","mapJoin","memo","ImportStatements","props","imports","records","sort","a","b","name","localeCompare","value","module","properties","targetPath","symbols","size","sortedSymbols","Array","from","local","joinImportsFromSameModule","_$createComponent","ImportStatement","path","Set","map","symbol","idx","arr","_$memo","length","_$createIntrinsic","importSymbols","sym","push","parts","target","nis","ImportBinding","importedSymbol","joiner","text","localName","targetName"],"sources":["../../../src/components/ImportStatement.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["computed","mapJoin","memo","ImportStatements","props","imports","records","sort","a","b","name","localeCompare","value","module","properties","targetPath","symbols","size","sortedSymbols","Array","from","local","joinImportsFromSameModule","_$createComponent","ImportStatement","path","Set","map","symbol","idx","arr","length","_$createIntrinsic","importSymbols","sym","push","parts","target","nis","ImportBinding","importedSymbol","joiner","text","localName","targetName","_$memo"],"sources":["../../../src/components/ImportStatement.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,QAAQ,EAAEC,OAAO,EAAEC,IAAI,QAAQ,gBAAgB;AAQxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC7D;EACA,MAAMC,OAAO,GAAGL,QAAQ,CAAC,MACvB,CAAC,GAAGI,KAAK,CAACE,OAAO,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,CAAC,CAAC,EAAE,CAACC,CAAC,CAAC,KAAK;IACpC,OAAOD,CAAC,CAACE,IAAI,CAACC,aAAa,CAACF,CAAC,CAACC,IAAI,CAAC;EACrC,CAAC,CACH,CAAC;EAED,OAAOT,OAAO,CACZ,MAAMI,OAAO,CAACO,KAAK,EACnB,CAAC,CAACC,MAAM,EAAEC,UAAU,CAAC,KAAK;IACxB;IACA,MAAMC,UAAU,GAAGF,MAAM,CAACH,IAAI;IAE9B,IAAII,UAAU,CAACE,OAAO,IAAIF,UAAU,CAACE,OAAO,CAACC,IAAI,GAAG,CAAC,EAAE;MACrD;MACA,MAAMC,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACN,UAAU,CAACE,OAAO,CAAC,CAACT,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAC7DD,CAAC,CAACa,KAAK,CAACX,IAAI,CAACC,aAAa,CAACF,CAAC,CAACY,KAAK,CAACX,IAAI,CACzC,CAAC;MACD,IAAIN,KAAK,CAACkB,yBAAyB,EAAE;QACnC;QACA,OAAAC,iBAAA,CACGC,eAAe;UACdC,IAAI,EAAEV,UAAU;UAChBC,OAAO,EAAE,IAAIU,GAAG,CAACR,aAAa;QAAC;MAGrC,CAAC,MAAM;QACL,OAAOA,aAAa,CAACS,GAAG,CAAC,CAACC,MAAM,EAAEC,GAAG,EAAEC,GAAG,MAAAP,iBAAA,CAErCC,eAAe;UAACC,IAAI,EAAEV,UAAU;UAAEC,OAAO,EAAE,IAAIU,GAAG,CAAC,CAACE,MAAM,CAAC;QAAC,IAClDC,GAAG,GAAGC,GAAG,CAACC,MAAM,GAAG,CAAC,IAAAC,iBAAA,WAAW,CAE7C,CAAC;MACJ;IACF,CAAC,MAAM;MACL;MACA,OAAAT,iBAAA,CACGC,eAAe;QAACC,IAAI,EAAEV,UAAU;QAAA,IAAEC,OAAOA,CAAA;UAAA,OAAEF,UAAU,CAACE,OAAO;QAAA;MAAA;IAElE;EACF,CACF,CAAC;AACH;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,eAAeA,CAACpB,KAA2B,EAAE;EAC3D,OAAOF,IAAI,CAAC,MAAM;IAChB,MAAM;MAAEuB,IAAI;MAAET;IAAQ,CAAC,GAAGZ,KAAK;IAC/B,MAAM6B,aAA+B,GAAG,EAAE;IAE1C,IAAIjB,OAAO,IAAIA,OAAO,CAACC,IAAI,GAAG,CAAC,EAAE;MAC/B,KAAK,MAAMiB,GAAG,IAAIlB,OAAO,EAAE;QACzBiB,aAAa,CAACE,IAAI,CAACD,GAAG,CAAC;MACzB;IACF;IAEA,MAAME,KAAY,GAAG,EAAE;IAEvB,IAAI,CAACpB,OAAO,IAAIA,OAAO,CAACC,IAAI,KAAK,CAAC,EAAE;MAClCmB,KAAK,CAACD,IAAI,CAAC,UAAUV,IAAI,EAAE,CAAC;IAC9B,CAAC,MAAM;MACLQ,aAAa,CAAC1B,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;QAC3B,OAAOD,CAAC,CAAC6B,MAAM,CAAC3B,IAAI,CAACC,aAAa,CAACF,CAAC,CAAC4B,MAAM,CAAC3B,IAAI,CAAC;MACnD,CAAC,CAAC;MACF0B,KAAK,CAACD,IAAI,CAAC,QAAQV,IAAI,UAAU,CAAC;MAClCW,KAAK,CAACD,IAAI,CACRlC,OAAO,CACL,MAAMgC,aAAa,EAClBK,GAAG,IAAAf,iBAAA,CAAMgB,aAAa;QAACC,cAAc,EAAEF;MAAG,EAAI,EAC/C;QAAEG,MAAM,EAAE;MAAK,CACjB,CACF,CAAC;IACH;IACA,OAAOL,KAAK;EACd,CAAC,CAAC;AACJ;AAMA,SAASG,aAAaA,CAACnC,KAAmC,EAAE;EAC1D,MAAMsC,IAAI,GAAGxC,IAAI,CAAC,MAAM;IACtB,MAAMyC,SAAS,GAAGvC,KAAK,CAACoC,cAAc,CAACnB,KAAK,CAACX,IAAI;IACjD,MAAMkC,UAAU,GAAGxC,KAAK,CAACoC,cAAc,CAACH,MAAM,CAAC3B,IAAI;IACnD,IAAIiC,SAAS,KAAKC,UAAU,EAAE;MAC5B,OAAOA,UAAU;IACnB,CAAC,MAAM;MACL,OAAO,GAAGA,UAAU,OAAOD,SAAS,EAAE;IACxC;EACF,CAAC,CAAC;EAEF,QAAAE,MAAA,CAAUH,IAAI;AAChB","ignoreList":[]}
@@ -33,7 +33,7 @@ export interface MemberExpressionProps {
33
33
  */
34
34
  export declare function MemberExpression(props: MemberExpressionProps): Children;
35
35
  export declare namespace MemberExpression {
36
- var Part: (props: MemberExpressionPartProps) => void;
36
+ var Part: (_props: MemberExpressionPartProps) => void;
37
37
  }
38
38
  export interface MemberExpressionPartProps {
39
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MemberExpression.d.ts","sourceRoot":"","sources":["../../../src/components/MemberExpression.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,YAAY,EAGZ,MAAM,EAKP,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,QAAQ,CAcvE;yBAde,gBAAgB;sBA8RS,yBAAyB;;AArDlE,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAErB;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;CAC7B;AAuCD,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;CACH"}
1
+ {"version":3,"file":"MemberExpression.d.ts","sourceRoot":"","sources":["../../../src/components/MemberExpression.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAKR,YAAY,EACZ,MAAM,EAEP,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AA+GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,QAAQ,CAEvE;yBAFe,gBAAgB;;;AAgBhC,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAErB;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;CACH"}
@@ -1,10 +1,89 @@
1
1
  import { createIntrinsic as _$createIntrinsic, memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { childrenArray, computed, For, isComponentCreator, List, reactive, ref, Show, takeSymbols, useBinder } from "@alloy-js/core";
3
- const MEMBER_ACCESS_TYPES = {
4
- ATTRIBUTE: "attribute",
5
- SUBSCRIPTION: "subscription",
6
- CALL: "call"
7
- };
2
+ import { computed, createAccessExpression, For, List, Show } from "@alloy-js/core";
3
+ const exclusiveParts = ["args", "refkey", "symbol", "id", "key", "keys", "slice"];
4
+ const {
5
+ Expression,
6
+ Part,
7
+ registerOuterComponent
8
+ } = createAccessExpression({
9
+ createDescriptor(partProps, sym, first) {
10
+ const foundProps = exclusiveParts.filter(key => key in partProps);
11
+ if (foundProps.length > 1) {
12
+ throw new Error(`Only one of ${foundProps.join(", ")} can be used for a MemberExpression part at a time`);
13
+ }
14
+
15
+ // Validate slice syntax
16
+ if (partProps.slice) {
17
+ const {
18
+ start,
19
+ stop,
20
+ step
21
+ } = partProps.slice;
22
+ if (!start && !stop && !step) {
23
+ throw new Error("MemberExpression.Part: slice object cannot be empty");
24
+ }
25
+ }
26
+
27
+ // Validate keys array
28
+ if (partProps.keys?.length === 0) {
29
+ throw new Error("MemberExpression.Part: keys array cannot be empty");
30
+ }
31
+ if (partProps.args !== undefined) {
32
+ return {
33
+ type: "call",
34
+ name: undefined,
35
+ expression: undefined,
36
+ quoted: false,
37
+ args: partProps.args === true ? [] : partProps.args
38
+ };
39
+ } else if (partProps.key !== undefined || partProps.keys !== undefined || partProps.slice !== undefined) {
40
+ return {
41
+ type: "subscription",
42
+ name: undefined,
43
+ expression: getSubscriptionValue(partProps),
44
+ quoted: partProps.key !== undefined && typeof partProps.key === "string",
45
+ args: undefined
46
+ };
47
+ } else {
48
+ let name;
49
+ if (first && partProps.refkey) {
50
+ name = partProps.refkey;
51
+ } else if (partProps.id !== undefined) {
52
+ if (!isValidIdentifier(partProps.id)) {
53
+ throw new Error(`Invalid identifier: ${partProps.id}`);
54
+ }
55
+ name = partProps.id;
56
+ } else if (sym) {
57
+ name = sym.name;
58
+ } else {
59
+ name = "<unresolved symbol>";
60
+ }
61
+ return {
62
+ type: "attribute",
63
+ name,
64
+ expression: undefined,
65
+ quoted: false,
66
+ args: undefined
67
+ };
68
+ }
69
+ },
70
+ getBase(part) {
71
+ if (part.type !== "attribute") {
72
+ throw new Error("The first part of a MemberExpression must be an id or refkey");
73
+ }
74
+ return part.name;
75
+ },
76
+ formatPart(part, _prevPart, _inCallChain) {
77
+ if (part.type === "call") {
78
+ return formatCallOutput(part);
79
+ } else if (part.type === "attribute") {
80
+ return formatAttributeOutput(part);
81
+ } else {
82
+ return formatSubscriptionOutput(part);
83
+ }
84
+ }
85
+ });
86
+
8
87
  /**
9
88
  * Create a member expression from parts. Each part can provide one of
10
89
  * the following:
@@ -35,162 +114,22 @@ const MEMBER_ACCESS_TYPES = {
35
114
  * ```
36
115
  */
37
116
  export function MemberExpression(props) {
38
- const children = childrenArray(() => props.children);
39
- const parts = childrenToPartDescriptors(children);
40
- // any symbols emitted from the children won't be relevant to
41
- // parent scopes. TODO: emit the proper symbol if we know it?
42
- takeSymbols();
43
- if (parts.length === 0) {
44
- return [];
45
- }
46
- return computed(() => {
47
- return formatChain(parts);
48
- });
117
+ return Expression(props);
49
118
  }
50
119
 
51
120
  /**
52
- * Build part descriptors from the children of a MemberExpression.
53
- */
54
- function childrenToPartDescriptors(children) {
55
- const parts = [];
56
- for (const child of children) {
57
- if (!isComponentCreator(child, MemberExpression.Part)) {
58
- // we ignore non-parts
59
- continue;
60
- }
61
- parts.push(createPartDescriptorFromProps(child.props, child === children[0]));
62
- }
63
- return parts;
64
- }
65
- const exclusiveParts = ["args", "refkey", "symbol", "id", "key", "keys", "slice"];
66
- /**
67
- * Creates a reactive part descriptor from the given part props.
121
+ * A part of a member expression. Each part can provide one of the following
122
+ * props:
68
123
  *
69
- * @param partProps The props for the part.
70
- * @param first Whether this is the first part in the expression. Refkeys are
71
- * handled specially for the first part.
72
- */
73
- function createPartDescriptorFromProps(partProps, first) {
74
- const foundProps = exclusiveParts.filter(key => {
75
- return key in partProps;
76
- });
77
- if (foundProps.length > 1) {
78
- throw new Error(`Only one of ${foundProps.join(", ")} can be used for a MemberExpression part at a time`);
79
- }
80
-
81
- // Validate slice syntax
82
- if (partProps.slice) {
83
- const {
84
- start,
85
- stop,
86
- step
87
- } = partProps.slice;
88
- if (!start && !stop && !step) {
89
- throw new Error("MemberExpression.Part: slice object cannot be empty");
90
- }
91
- }
92
-
93
- // Validate keys array
94
- if (partProps.keys?.length === 0) {
95
- throw new Error("MemberExpression.Part: keys array cannot be empty");
96
- }
97
- const symbolSource = computed(() => {
98
- if (partProps.refkey) {
99
- return getSymbolForRefkey(partProps.refkey).value;
100
- } else if (partProps.symbol) {
101
- return partProps.symbol;
102
- } else {
103
- return undefined;
104
- }
105
- });
106
-
107
- // Return different descriptor types based on what props are provided
108
- let part;
109
- if (partProps.args !== undefined) {
110
- // CallDescriptor
111
- part = {
112
- type: computed(() => {
113
- return "call";
114
- }),
115
- args: ref(partProps.args === true ? [] : partProps.args)
116
- };
117
- } else if (partProps.key !== undefined || partProps.keys !== undefined || partProps.slice !== undefined) {
118
- // SubscriptionDescriptor
119
- part = {
120
- type: computed(() => {
121
- return "subscription";
122
- }),
123
- expression: computed(() => {
124
- return getSubscriptionValue(partProps);
125
- }),
126
- quoted: computed(() => {
127
- return partProps.key !== undefined && typeof partProps.key === "string";
128
- })
129
- };
130
- } else {
131
- // IdentifierDescriptor
132
- part = {
133
- type: computed(() => {
134
- return "attribute";
135
- }),
136
- name: computed(() => {
137
- if (first && partProps.refkey) {
138
- return partProps.refkey;
139
- } else if (partProps.id !== undefined) {
140
- if (!isValidIdentifier(partProps.id)) {
141
- throw new Error(`Invalid identifier: ${partProps.id}`);
142
- }
143
- return partProps.id;
144
- } else if (symbolSource.value) {
145
- return symbolSource.value.name;
146
- } else {
147
- return "<unresolved symbol>";
148
- }
149
- })
150
- };
151
- }
152
- return reactive(part);
153
- }
154
-
155
- /**
156
- * Convert a refkey to a symbol ref using the current binder.
157
- */
158
- function getSymbolForRefkey(refkey) {
159
- const binder = useBinder();
160
- return binder.getSymbolForRefkey(refkey);
161
- }
162
-
163
- /**
164
- * Format a chain of parts into a MemberExpression.
124
+ * * **id**: The identifier for the member expression part
125
+ * * **refkey**: A refkey for a symbol whose name becomes the identifier
126
+ * * **symbol**: a symbol whose name becomes the identifier part
127
+ * * **args**: create a method call with the given args
165
128
  */
166
- function formatChain(parts) {
167
- return computed(() => {
168
- const expression = [];
169
- for (let i = 0; i < parts.length; i++) {
170
- const part = parts[i];
171
- if (i === 0) {
172
- if (!isAttributeDescriptor(part)) {
173
- throw new Error("The first part of a MemberExpression must be an id or refkey");
174
- }
175
- expression.push(part.name);
176
- } else {
177
- if (isCallDescriptor(part)) {
178
- expression.push(formatCallOutput(part));
179
- } else if (isAttributeDescriptor(part)) {
180
- expression.push(formatAttributeOutput(part));
181
- } else if (isSubscriptionDescriptor(part)) {
182
- expression.push(formatSubscriptionOutput(part));
183
- }
184
- }
185
- }
186
- return expression;
187
- });
188
- }
129
+ MemberExpression.Part = Part;
130
+ registerOuterComponent(MemberExpression);
131
+ // --- Formatting helpers ---
189
132
 
190
- /**
191
- * Format a part of a member expression that is an array access.
192
- * This is used for parts like `foo[0]` or `foo["bar"]`.
193
- */
194
133
  function formatSubscriptionOutput(part) {
195
134
  return _$createIntrinsic("group", {
196
135
  get children() {
@@ -248,36 +187,15 @@ function formatCallOutput(part) {
248
187
  }
249
188
  });
250
189
  }
251
- /**
252
- * A part of a member expression. Each part can provide one of the following
253
- * props:
254
- *
255
- * * **id**: The identifier for the member expression part
256
- * * **refkey**: A refkey for a symbol whose name becomes the identifier
257
- * * **symbol**: a symbol whose name becomes the identifier part
258
- * * **args**: create a method call with the given args
259
- */
260
- MemberExpression.Part = function (props) {
261
- /**
262
- * This component does nothing except hold props which are retrieved by
263
- * the `MemberExpression` component.
264
- */
265
- };
190
+
191
+ // --- Utilities ---
192
+
266
193
  function isValidIdentifier(id) {
267
194
  if (typeof id === "string" && id.includes('"')) {
268
195
  return false;
269
196
  }
270
197
  return true;
271
198
  }
272
- function isCallDescriptor(part) {
273
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.CALL;
274
- }
275
- function isAttributeDescriptor(part) {
276
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.ATTRIBUTE;
277
- }
278
- function isSubscriptionDescriptor(part) {
279
- return "type" in part && part.type === MEMBER_ACCESS_TYPES.SUBSCRIPTION;
280
- }
281
199
  function getSubscriptionValue(partProps) {
282
200
  // Handle tuple keys: obj[a, b] → (a, b)
283
201
  if (partProps.keys?.length) {
@@ -1 +1 @@
1
- {"version":3,"names":["childrenArray","computed","For","isComponentCreator","List","reactive","ref","Show","takeSymbols","useBinder","MEMBER_ACCESS_TYPES","ATTRIBUTE","SUBSCRIPTION","CALL","MemberExpression","props","children","parts","childrenToPartDescriptors","length","formatChain","child","Part","push","createPartDescriptorFromProps","exclusiveParts","partProps","first","foundProps","filter","key","Error","join","slice","start","stop","step","keys","symbolSource","refkey","getSymbolForRefkey","value","symbol","undefined","part","args","type","expression","getSubscriptionValue","quoted","name","id","isValidIdentifier","binder","i","isAttributeDescriptor","isCallDescriptor","formatCallOutput","formatAttributeOutput","isSubscriptionDescriptor","formatSubscriptionOutput","_$createIntrinsic","_$memo","_$createComponent","when","each","comma","line","arg","includes","Object"],"sources":["../../../src/components/MemberExpression.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["computed","createAccessExpression","For","List","Show","exclusiveParts","Expression","Part","registerOuterComponent","createDescriptor","partProps","sym","first","foundProps","filter","key","length","Error","join","slice","start","stop","step","keys","args","undefined","type","name","expression","quoted","getSubscriptionValue","refkey","id","isValidIdentifier","getBase","part","formatPart","_prevPart","_inCallChain","formatCallOutput","formatAttributeOutput","formatSubscriptionOutput","MemberExpression","props","_$createIntrinsic","children","_$memo","_$createComponent","when","value","each","comma","line","arg","includes","Object","parts","push"],"sources":["../../../src/components/MemberExpression.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,QAAQ,EACRC,sBAAsB,EACtBC,GAAG,EACHC,IAAI,EAGJC,IAAI,QACC,gBAAgB;AAcvB,MAAMC,cAAmD,GAAG,CAC1D,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,CACR;AAED,MAAM;EAAEC,UAAU;EAAEC,IAAI;EAAEC;AAAuB,CAAC,GAAGP,sBAAsB,CAGzE;EACAQ,gBAAgBA,CAACC,SAAS,EAAEC,GAAG,EAAEC,KAAK,EAAE;IACtC,MAAMC,UAAU,GAAGR,cAAc,CAACS,MAAM,CAAEC,GAAG,IAAKA,GAAG,IAAIL,SAAS,CAAC;IACnE,IAAIG,UAAU,CAACG,MAAM,GAAG,CAAC,EAAE;MACzB,MAAM,IAAIC,KAAK,CACb,eAAeJ,UAAU,CAACK,IAAI,CAAC,IAAI,CAAC,oDACtC,CAAC;IACH;;IAEA;IACA,IAAIR,SAAS,CAACS,KAAK,EAAE;MACnB,MAAM;QAAEC,KAAK;QAAEC,IAAI;QAAEC;MAAK,CAAC,GAAGZ,SAAS,CAACS,KAAK;MAC7C,IAAI,CAACC,KAAK,IAAI,CAACC,IAAI,IAAI,CAACC,IAAI,EAAE;QAC5B,MAAM,IAAIL,KAAK,CAAC,qDAAqD,CAAC;MACxE;IACF;;IAEA;IACA,IAAIP,SAAS,CAACa,IAAI,EAAEP,MAAM,KAAK,CAAC,EAAE;MAChC,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;IACtE;IAEA,IAAIP,SAAS,CAACc,IAAI,KAAKC,SAAS,EAAE;MAChC,OAAO;QACLC,IAAI,EAAE,MAAe;QACrBC,IAAI,EAAEF,SAAS;QACfG,UAAU,EAAEH,SAAS;QACrBI,MAAM,EAAE,KAAK;QACbL,IAAI,EAAEd,SAAS,CAACc,IAAI,KAAK,IAAI,GAAG,EAAE,GAAId,SAAS,CAACc;MAClD,CAAC;IACH,CAAC,MAAM,IACLd,SAAS,CAACK,GAAG,KAAKU,SAAS,IAC3Bf,SAAS,CAACa,IAAI,KAAKE,SAAS,IAC5Bf,SAAS,CAACS,KAAK,KAAKM,SAAS,EAC7B;MACA,OAAO;QACLC,IAAI,EAAE,cAAuB;QAC7BC,IAAI,EAAEF,SAAS;QACfG,UAAU,EAAEE,oBAAoB,CAACpB,SAAS,CAAC;QAC3CmB,MAAM,EACJnB,SAAS,CAACK,GAAG,KAAKU,SAAS,IAAI,OAAOf,SAAS,CAACK,GAAG,KAAK,QAAQ;QAClES,IAAI,EAAEC;MACR,CAAC;IACH,CAAC,MAAM;MACL,IAAIE,IAAc;MAClB,IAAIf,KAAK,IAAIF,SAAS,CAACqB,MAAM,EAAE;QAC7BJ,IAAI,GAAGjB,SAAS,CAACqB,MAAM;MACzB,CAAC,MAAM,IAAIrB,SAAS,CAACsB,EAAE,KAAKP,SAAS,EAAE;QACrC,IAAI,CAACQ,iBAAiB,CAACvB,SAAS,CAACsB,EAAE,CAAC,EAAE;UACpC,MAAM,IAAIf,KAAK,CAAC,uBAAuBP,SAAS,CAACsB,EAAE,EAAE,CAAC;QACxD;QACAL,IAAI,GAAGjB,SAAS,CAACsB,EAAE;MACrB,CAAC,MAAM,IAAIrB,GAAG,EAAE;QACdgB,IAAI,GAAGhB,GAAG,CAACgB,IAAI;MACjB,CAAC,MAAM;QACLA,IAAI,GAAG,qBAAqB;MAC9B;MAEA,OAAO;QACLD,IAAI,EAAE,WAAoB;QAC1BC,IAAI;QACJC,UAAU,EAAEH,SAAS;QACrBI,MAAM,EAAE,KAAK;QACbL,IAAI,EAAEC;MACR,CAAC;IACH;EACF,CAAC;EAEDS,OAAOA,CAACC,IAAI,EAAE;IACZ,IAAIA,IAAI,CAACT,IAAI,KAAK,WAAW,EAAE;MAC7B,MAAM,IAAIT,KAAK,CACb,8DACF,CAAC;IACH;IACA,OAAOkB,IAAI,CAACR,IAAI;EAClB,CAAC;EAEDS,UAAUA,CAACD,IAAI,EAAEE,SAAS,EAAEC,YAAY,EAAE;IACxC,IAAIH,IAAI,CAACT,IAAI,KAAK,MAAM,EAAE;MACxB,OAAOa,gBAAgB,CAACJ,IAAI,CAAC;IAC/B,CAAC,MAAM,IAAIA,IAAI,CAACT,IAAI,KAAK,WAAW,EAAE;MACpC,OAAOc,qBAAqB,CAACL,IAAI,CAAC;IACpC,CAAC,MAAM;MACL,OAAOM,wBAAwB,CAACN,IAAI,CAAC;IACvC;EACF;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,gBAAgBA,CAACC,KAA4B,EAAY;EACvE,OAAOrC,UAAU,CAACqC,KAAK,CAAC;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAD,gBAAgB,CAACnC,IAAI,GAAGA,IAAI;AAC5BC,sBAAsB,CAACkC,gBAAgB,CAAC;AAuExC;;AAEA,SAASD,wBAAwBA,CAACN,IAAoB,EAAE;EACtD,OAAAS,iBAAA;IAAA,IAAAC,SAAA;MAAA,QAEK,EAAE,OAAAD,iBAAA;QAAA,IAAAC,SAAA;UAAA,QAAAD,iBAAA,aAAAE,MAAA,OAGAX,IAAI,CAACN,MAAM,IAAI,GAAG,GAAAiB,MAAA,OAClBX,IAAI,CAACP,UAAU,GAAAkB,MAAA,OACfX,IAAI,CAACN,MAAM,IAAI,GAAG;QAAA;MAAA,IAAAe,iBAAA;IAAA;EAAA;AAK3B;AAEA,SAASJ,qBAAqBA,CAACL,IAAoB,EAAE;EACnD,OAAAS,iBAAA;IAAA,IAAAC,SAAA;MAAA,OAAAD,iBAAA;QAAA,IAAAC,SAAA;UAAA,QAAAD,iBAAA;YAAAC,QAAA;UAAA,IAAAD,iBAAA,aAKO,GAAG,EAAAE,MAAA,OACHX,IAAI,CAACR,IAAI;QAAA;MAAA;IAAA;EAAA;AAIlB;AAEA,SAASY,gBAAgBA,CAACJ,IAAoB,EAAE;EAC9C,MAAMX,IAAI,GAAGxB,QAAQ,CAAC,MAAM;IAC1B,OAAO,OAAOmC,IAAI,CAACX,IAAI,KAAK,SAAS,GAAG,EAAE,GAAIW,IAAI,CAACX,IAAI,IAAI,EAAG;EAChE,CAAC,CAAC;EAEF,OAAAoB,iBAAA;IAAA,IAAAC,SAAA;MAAA,QAEK,EAAE,OAAAE,iBAAA,CAAG3C,IAAI;QAAA,IAAC4C,IAAIA,CAAA;UAAA,OAAExB,IAAI,CAACyB,KAAK,CAACjC,MAAM,IAAI,CAAC;QAAA;QAAA,IAAA6B,SAAA;UAAA,OAAGrB,IAAI,CAACyB,KAAK,CAAC,CAAC,CAAC;QAAA;MAAA,IAAAF,iBAAA,CACtD3C,IAAI;QAAA,IAAC4C,IAAIA,CAAA;UAAA,OAAExB,IAAI,CAACyB,KAAK,CAACjC,MAAM,GAAG,CAAC;QAAA;QAAA,IAAA6B,SAAA;UAAA,QAAAD,iBAAA;YAAA,IAAAC,SAAA;cAAA,QAAAD,iBAAA,aAAAG,iBAAA,CAG5B7C,GAAG;gBAACgD,IAAI,EAAE1B,IAAI;gBAAE2B,KAAK;gBAACC,IAAI;gBAAAP,QAAA,EACvBQ,GAAG,IAAKA;cAAG;YAAA;UAAA,IAAAT,iBAAA;QAAA;MAAA;IAAA;EAAA;AAQzB;;AAEA;;AAEA,SAASX,iBAAiBA,CAACD,EAAY,EAAE;EACvC,IAAI,OAAOA,EAAE,KAAK,QAAQ,IAAIA,EAAE,CAACsB,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC9C,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb;AAEA,SAASxB,oBAAoBA,CAACpB,SAA4B,EAAY;EACpE;EACA,IAAIA,SAAS,CAACa,IAAI,EAAEP,MAAM,EAAE;IAC1B,OAAA+B,iBAAA,CAAQ5C,IAAI;MAACgD,KAAK;MAACC,IAAI;MAAA,IAACP,QAAQA,CAAA;QAAA,OAAEnC,SAAS,CAACa,IAAI;MAAA;IAAA;EAClD;;EAEA;EACA,IAAIb,SAAS,CAACS,KAAK,IAAIoC,MAAM,CAAChC,IAAI,CAACb,SAAS,CAACS,KAAK,CAAC,CAACH,MAAM,GAAG,CAAC,EAAE;IAC9D,MAAM;MAAEI,KAAK;MAAEC,IAAI;MAAEC;IAAK,CAAC,GAAGZ,SAAS,CAACS,KAAK;IAC7C,MAAMqC,KAAK,GAAG,CAACpC,KAAK,GAAGA,KAAK,GAAG,EAAE,EAAE,GAAG,EAAEC,IAAI,GAAGA,IAAI,GAAG,EAAE,CAAC;IAEzD,IAAIC,IAAI,EAAE;MACRkC,KAAK,CAACC,IAAI,CAAC,GAAG,EAAEnC,IAAI,CAAC;IACvB;IAEA,OAAOkC,KAAK;EACd;EAEA,OAAO9C,SAAS,CAACK,GAAG;AACtB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemberScope.d.ts","sourceRoot":"","sources":["../../../src/components/MemberScope.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkC,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,YAQlD"}
1
+ {"version":3,"file":"MemberScope.d.ts","sourceRoot":"","sources":["../../../src/components/MemberScope.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAGT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,YAgBlD"}
@@ -1,10 +1,13 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { MemberScope as CoreMemberScope } from "@alloy-js/core";
2
+ import { MemberScope as CoreMemberScope, createScope } from "@alloy-js/core";
3
3
  import { PythonMemberScope } from "../symbols/python-member-scope.js";
4
4
  import { usePythonScope } from "../symbols/scopes.js";
5
5
  export function MemberScope(props) {
6
- const memberScope = new PythonMemberScope("member-scope", usePythonScope(), {
7
- ownerSymbol: props.ownerSymbol
6
+ const parentScope = usePythonScope();
7
+ const binder = props.ownerSymbol.binder ?? parentScope?.binder;
8
+ const memberScope = createScope(PythonMemberScope, "member-scope", parentScope, {
9
+ ownerSymbol: props.ownerSymbol,
10
+ binder
8
11
  });
9
12
  return _$createComponent(CoreMemberScope, {
10
13
  value: memberScope,
@@ -1 +1 @@
1
- {"version":3,"names":["MemberScope","CoreMemberScope","PythonMemberScope","usePythonScope","props","memberScope","ownerSymbol","_$createComponent","value","children"],"sources":["../../../src/components/MemberScope.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAAmBA,WAAW,IAAIC,eAAe,QAAQ,gBAAgB;AACzE,SAASC,iBAAiB,QAAQ,mCAAmC;AAErE,SAASC,cAAc,QAAQ,sBAAsB;AAMrD,OAAO,SAASH,WAAWA,CAACI,KAAuB,EAAE;EACnD,MAAMC,WAAW,GAAG,IAAIH,iBAAiB,CAAC,cAAc,EAAEC,cAAc,CAAC,CAAC,EAAE;IAC1EG,WAAW,EAAEF,KAAK,CAACE;EACrB,CAAC,CAAC;EAEF,OAAAC,iBAAA,CACGN,eAAe;IAACO,KAAK,EAAEH,WAAW;IAAA,IAAAI,SAAA;MAAA,OAAGL,KAAK,CAACK,QAAQ;IAAA;EAAA;AAExD","ignoreList":[]}
1
+ {"version":3,"names":["MemberScope","CoreMemberScope","createScope","PythonMemberScope","usePythonScope","props","parentScope","binder","ownerSymbol","memberScope","_$createComponent","value","children"],"sources":["../../../src/components/MemberScope.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,WAAW,IAAIC,eAAe,EAC9BC,WAAW,QACN,gBAAgB;AACvB,SAASC,iBAAiB,QAAQ,mCAAmC;AAErE,SAASC,cAAc,QAAQ,sBAAsB;AAMrD,OAAO,SAASJ,WAAWA,CAACK,KAAuB,EAAE;EACnD,MAAMC,WAAW,GAAGF,cAAc,CAAC,CAAC;EACpC,MAAMG,MAAM,GAAGF,KAAK,CAACG,WAAW,CAACD,MAAM,IAAID,WAAW,EAAEC,MAAM;EAC9D,MAAME,WAAW,GAAGP,WAAW,CAC7BC,iBAAiB,EACjB,cAAc,EACdG,WAAW,EACX;IACEE,WAAW,EAAEH,KAAK,CAACG,WAAW;IAC9BD;EACF,CACF,CAAC;EAED,OAAAG,iBAAA,CACGT,eAAe;IAACU,KAAK,EAAEF,WAAW;IAAA,IAAAG,SAAA;MAAA,OAAGP,KAAK,CAACO,QAAQ;IAAA;EAAA;AAExD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAShB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA+CxD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,uBAAuB,CAC3B,CAAC;AAEpD,wBAAgB,aAAa,4BAE5B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAqGhD"}
1
+ {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAUhB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA+CxD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,uBAAuB,CAC3B,CAAC;AAEpD,wBAAgB,aAAa,4BAE5B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YAqGhD"}
@@ -1,5 +1,5 @@
1
1
  import { memo as _$memo, createIntrinsic as _$createIntrinsic, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { childrenArray, SourceFile as CoreSourceFile, createNamedContext, isComponentCreator, List, Scope, Show, SourceDirectoryContext, useContext } from "@alloy-js/core";
2
+ import { childrenArray, SourceFile as CoreSourceFile, createNamedContext, createScope, isComponentCreator, List, Scope, Show, SourceDirectoryContext, useContext } from "@alloy-js/core";
3
3
  import { join } from "pathe";
4
4
  import { PythonModuleScope } from "../symbols/index.js";
5
5
  import { ImportStatements } from "./ImportStatement.js";
@@ -86,7 +86,7 @@ export function SourceFile(props) {
86
86
  const currentDir = directoryContext.path;
87
87
  // Name of the scope is derived from the file path, minus the .py extension, and with slashes replaced by dots
88
88
  const path = join(currentDir, props.path).replace(/\.py$/, "").replace(/\//g, ".");
89
- const scope = new PythonModuleScope(path, undefined);
89
+ const scope = createScope(PythonModuleScope, path, undefined);
90
90
  const sfContext = {
91
91
  scope: scope,
92
92
  module: path
@@ -1 +1 @@
1
- {"version":3,"names":["childrenArray","SourceFile","CoreSourceFile","createNamedContext","isComponentCreator","List","Scope","Show","SourceDirectoryContext","useContext","join","PythonModuleScope","ImportStatements","SimpleCommentBlock","Reference","NON_DEFINITION_NAMES","Set","WRAPPER_COMPONENT_NAMES","firstChildIsDefinition","children","arr","length","first","name","component","has","props","PythonSourceFileContext","useSourceFile","directoryContext","currentDir","path","replace","scope","undefined","sfContext","module","hasChildren","needsExtraSpacing","hasPreamble","header","headerComment","doc","futureImports","_$createComponent","filetype","reference","when","_$createIntrinsic","_$memo","importedModules","size","records","Provider","value","doubleHardline"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,aAAa,EAEbC,UAAU,IAAIC,cAAc,EAC5BC,kBAAkB,EAClBC,kBAAkB,EAClBC,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,sBAAsB,EACtBC,UAAU,QAEL,gBAAgB;AACvB,SAASC,IAAI,QAAQ,OAAO;AAC5B,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,kBAAkB,QAAQ,YAAY;AAC/C,SAASC,SAAS,QAAQ,gBAAgB;;AAE1C;AACA,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAAC,CACnC,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,CACZ,CAAC;;AAEF;AACA,MAAMC,uBAAuB,GAAG,IAAID,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,sBAAsBA,CAACC,QAA8B,EAAW;EACvE,IAAI,CAACA,QAAQ,EAAE,OAAO,KAAK;EAC3B,MAAMC,GAAG,GAAGpB,aAAa,CAAC,MAAMmB,QAAQ,CAAC;EACzC,IAAIC,GAAG,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;EAClC,MAAMC,KAAK,GAAGF,GAAG,CAAC,CAAC,CAAC;;EAEpB;EACA,IAAI,CAAChB,kBAAkB,CAACkB,KAAK,CAAC,EAAE;IAC9B,OAAO,KAAK;EACd;EAEA,MAAMC,IAAI,GAAGD,KAAK,CAACE,SAAS,CAACD,IAAI;EACjC,IAAIR,oBAAoB,CAACU,GAAG,CAACF,IAAI,CAAC,EAAE;IAClC,OAAO,KAAK;EACd;EACA;EACA,IAAIN,uBAAuB,CAACQ,GAAG,CAACF,IAAI,CAAC,IAAID,KAAK,CAACI,KAAK,EAAEP,QAAQ,EAAE;IAC9D,OAAOD,sBAAsB,CAACI,KAAK,CAACI,KAAK,CAACP,QAAoB,CAAC;EACjE;EACA;EACA,OAAO,IAAI;AACb;AAQA,OAAO,MAAMQ,uBAAkE,GAC7ExB,kBAAkB,CAAC,6BAA6B,CAAC;AAEnD,OAAO,SAASyB,aAAaA,CAAA,EAAG;EAC9B,OAAOnB,UAAU,CAACkB,uBAAuB,CAAC;AAC5C;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS1B,UAAUA,CAACyB,KAAsB,EAAE;EACjD,MAAMG,gBAAgB,GAAGpB,UAAU,CAACD,sBAAsB,CAAE;EAC5D,MAAMsB,UAAU,GAAGD,gBAAgB,CAACE,IAAI;EACxC;EACA,MAAMA,IAAY,GAAGrB,IAAI,CAACoB,UAAU,EAAEJ,KAAK,CAACK,IAAI,CAAC,CAC9CC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CACpBA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EACtB,MAAMC,KAAK,GAAG,IAAItB,iBAAiB,CAACoB,IAAI,EAAEG,SAAS,CAAC;EACpD,MAAMC,SAAkC,GAAG;IACzCF,KAAK,EAAEA,KAAK;IACZG,MAAM,EAAEL;EACV,CAAC;;EAED;EACA,MAAMM,WAAW,GACfX,KAAK,CAACP,QAAQ,KAAKe,SAAS,IAC5BlC,aAAa,CAAC,MAAM0B,KAAK,CAACP,QAAQ,CAAC,CAACE,MAAM,GAAG,CAAC;;EAEhD;EACA,MAAMiB,iBAAiB,GAAGpB,sBAAsB,CAACQ,KAAK,CAACP,QAAQ,CAAC;;EAEhE;EACA,MAAMoB,WAAW,GACfb,KAAK,CAACc,MAAM,KAAKN,SAAS,IAC1BR,KAAK,CAACe,aAAa,KAAKP,SAAS,IACjCR,KAAK,CAACgB,GAAG,KAAKR,SAAS,IACvBR,KAAK,CAACiB,aAAa,KAAKT,SAAS;EAEnC,OAAAU,iBAAA,CACG1C,cAAc;IAAA,IACb6B,IAAIA,CAAA;MAAA,OAAEL,KAAK,CAACK,IAAI;IAAA;IAChBc,QAAQ;IACRC,SAAS,EAAEhC,SAAS;IAAA,IACpB0B,MAAMA,CAAA;MAAA,OAAEd,KAAK,CAACc,MAAM;IAAA;IAAA,IAAArB,SAAA;MAAA,QAAAyB,iBAAA,CAGnBrC,IAAI;QAAA,IACHwC,IAAIA,CAAA;UAAA,OACFrB,KAAK,CAACc,MAAM,KAAKN,SAAS,IAC1BR,KAAK,CAACe,aAAa,KAAKP,SAAS,KAChCR,KAAK,CAACgB,GAAG,KAAKR,SAAS,IACtBR,KAAK,CAACiB,aAAa,KAAKT,SAAS,IACjCG,WAAW,CAAC;QAAA;QAAA,IAAAlB,SAAA;UAAA,OAAA6B,iBAAA;QAAA;MAAA,IAAAJ,iBAAA,CAKjBrC,IAAI;QAAA,IAACwC,IAAIA,CAAA;UAAA,OAAErB,KAAK,CAACe,aAAa,KAAKP,SAAS;QAAA;QAAA,IAAAf,SAAA;UAAA,QAAAyB,iBAAA,CAC1C/B,kBAAkB;YAAA,IAAAM,SAAA;cAAA,OAAEO,KAAK,CAACe,aAAa;YAAA;UAAA,IAAAG,iBAAA,CAEvCrC,IAAI;YAAA,IAACwC,IAAIA,CAAA;cAAA,OAAErB,KAAK,CAACgB,GAAG,KAAKR,SAAS;YAAA;YAAA,IAAAf,SAAA;cAAA,OAAA6B,iBAAA;YAAA;UAAA,IAAAJ,iBAAA,CAIlCrC,IAAI;YAAA,IACHwC,IAAIA,CAAA;cAAA,OACFrB,KAAK,CAACgB,GAAG,KAAKR,SAAS,KACtBR,KAAK,CAACiB,aAAa,KAAKT,SAAS,IAAIG,WAAW,CAAC;YAAA;YAAA,IAAAlB,SAAA;cAAA,QAAA6B,iBAAA,aAAAA,iBAAA;YAAA;UAAA;QAAA;MAAA,IAAAJ,iBAAA,CAOvDrC,IAAI;QAAA,IAACwC,IAAIA,CAAA;UAAA,OAAErB,KAAK,CAACgB,GAAG,KAAKR,SAAS;QAAA;QAAA,IAAAf,SAAA;UAAA,QAAA8B,MAAA,OAChCvB,KAAK,CAACgB,GAAG,GAAAE,iBAAA,CACTrC,IAAI;YAAA,IAACwC,IAAIA,CAAA;cAAA,OAAErB,KAAK,CAACiB,aAAa,KAAKT,SAAS,IAAIG,WAAW;YAAA;YAAA,IAAAlB,SAAA;cAAA,OAAA6B,iBAAA;YAAA;UAAA;QAAA;MAAA,IAAAJ,iBAAA,CAI7DrC,IAAI;QAAA,IAACwC,IAAIA,CAAA;UAAA,OAAErB,KAAK,CAACiB,aAAa,KAAKT,SAAS;QAAA;QAAA,IAAAf,SAAA;UAAA,QAAA8B,MAAA,OAC1CvB,KAAK,CAACiB,aAAa,GAAAC,iBAAA,CACnBrC,IAAI;YAACwC,IAAI,EAAEV,WAAW;YAAA,IAAAlB,SAAA;cAAA,QAAA6B,iBAAA,aAAAA,iBAAA;YAAA;UAAA;QAAA;MAAA,IAAAJ,iBAAA,CAKxBrC,IAAI;QAAA,IAACwC,IAAIA,CAAA;UAAA,OAAEd,KAAK,CAACiB,eAAe,CAACC,IAAI,GAAG,CAAC;QAAA;QAAA,IAAAhC,SAAA;UAAA,QAAAyB,iBAAA,CACvChC,gBAAgB;YAAA,IAACwC,OAAOA,CAAA;cAAA,OAAEnB,KAAK,CAACiB,eAAe;YAAA;UAAA,IAAAN,iBAAA,CAC/CrC,IAAI;YAACwC,IAAI,EAAEV,WAAW;YAAA,IAAAlB,SAAA;cAAA,QAAA6B,iBAAA,aAAAA,iBAAA;YAAA;UAAA;QAAA;MAAA,IAAAJ,iBAAA,CAMxBrC,IAAI;QAAA,IACHwC,IAAIA,CAAA;UAAA,OACFT,iBAAiB,KAAKC,WAAW,IAAIN,KAAK,CAACiB,eAAe,CAACC,IAAI,GAAG,CAAC,CAAC;QAAA;QAAA,IAAAhC,SAAA;UAAA,OAAA6B,iBAAA;QAAA;MAAA,IAAAJ,iBAAA,CAKvEjB,uBAAuB,CAAC0B,QAAQ;QAACC,KAAK,EAAEnB,SAAS;QAAA,IAAAhB,SAAA;UAAA,OAAAyB,iBAAA,CAC/CtC,KAAK;YAACgD,KAAK,EAAErB,KAAK;YAAA,IAAAd,SAAA;cAAA,OAAAyB,iBAAA,CAChBrC,IAAI;gBAACwC,IAAI,EAAEV,WAAW;gBAAA,IAAAlB,SAAA;kBAAA,OAAAyB,iBAAA,CACpBvC,IAAI;oBAACkD,cAAc;oBAAA,IAAApC,SAAA;sBAAA,OAAEO,KAAK,CAACP,QAAQ;oBAAA;kBAAA;gBAAA;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA;EAAA;AAMhD","ignoreList":[]}
1
+ {"version":3,"names":["childrenArray","SourceFile","CoreSourceFile","createNamedContext","createScope","isComponentCreator","List","Scope","Show","SourceDirectoryContext","useContext","join","PythonModuleScope","ImportStatements","SimpleCommentBlock","Reference","NON_DEFINITION_NAMES","Set","WRAPPER_COMPONENT_NAMES","firstChildIsDefinition","children","arr","length","first","name","component","has","props","PythonSourceFileContext","useSourceFile","directoryContext","currentDir","path","replace","scope","undefined","sfContext","module","hasChildren","needsExtraSpacing","hasPreamble","header","headerComment","doc","futureImports","_$createComponent","filetype","reference","when","_$createIntrinsic","_$memo","importedModules","size","records","Provider","value","doubleHardline"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"create-module.d.ts","sourceRoot":"","sources":["../../src/create-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EAEX,aAAa,EACd,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,gBAAgB;IAC/B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,gBAAgB;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,CAAC,CAAC;CACf;AAED,MAAM,MAAM,QAAQ,CAAC,WAAW,SAAS,SAAS,MAAM,EAAE,IAAI;KAC3D,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI;KAC9D,CAAC,IAAI,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAqDF,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAC3D,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAelC"}
1
+ {"version":3,"file":"create-module.d.ts","sourceRoot":"","sources":["../../src/create-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,MAAM,EAEX,aAAa,EACd,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,gBAAgB;IAC/B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,gBAAgB;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,CAAC,CAAC;CACf;AAED,MAAM,MAAM,QAAQ,CAAC,WAAW,SAAS,SAAS,MAAM,EAAE,IAAI;KAC3D,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI;KAC9D,CAAC,IAAI,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAwDF,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAC3D,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAelC"}
@@ -1,4 +1,4 @@
1
- import { getSymbolCreatorSymbol, refkey } from "@alloy-js/core";
1
+ import { createScope, getSymbolCreatorSymbol, refkey } from "@alloy-js/core";
2
2
  import { createPythonSymbol } from "./symbol-creation.js";
3
3
  import { PythonModuleScope } from "./symbols/index.js";
4
4
  function createSymbols(binder, props, refkeys) {
@@ -8,8 +8,8 @@ function createSymbols(binder, props, refkeys) {
8
8
  // Otherwise, we append the path to the module name
9
9
  const fullModuleScopeName = props.name + (path === "." ? "" : `.${path}`);
10
10
  const keys = refkeys[path];
11
- const moduleScope = new PythonModuleScope(fullModuleScopeName, undefined, {
12
- binder: binder
11
+ const moduleScope = createScope(PythonModuleScope, fullModuleScopeName, undefined, {
12
+ binder
13
13
  });
14
14
 
15
15
  // Create a symbol for each exported name
@@ -1 +1 @@
1
- {"version":3,"names":["getSymbolCreatorSymbol","refkey","createPythonSymbol","PythonModuleScope","createSymbols","binder","props","refkeys","path","symbols","Object","entries","descriptor","fullModuleScopeName","name","keys","moduleScope","undefined","exportedName","key","_","space","module","createModule","named"],"sources":["../../src/create-module.ts"],"sourcesContent":[null],"mappings":"AAAA,SAEEA,sBAAsB,EAEtBC,MAAM,QAED,gBAAgB;AACvB,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,iBAAiB,QAAQ,oBAAoB;AAmBtD,SAASC,aAAaA,CACpBC,MAAc,EACdC,KAA0C,EAC1CC,OAA4B,EAC5B;EACA;EACA,KAAK,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,KAAK,CAACM,UAAU,CAAC,EAAE;IAC9D;IACA;IACA,MAAMC,mBAAmB,GAAGP,KAAK,CAACQ,IAAI,IAAIN,IAAI,KAAK,GAAG,GAAG,EAAE,GAAG,IAAIA,IAAI,EAAE,CAAC;IACzE,MAAMO,IAAI,GAAGR,OAAO,CAACC,IAAI,CAAC;IAC1B,MAAMQ,WAAW,GAAG,IAAIb,iBAAiB,CAACU,mBAAmB,EAAEI,SAAS,EAAE;MACxEZ,MAAM,EAAEA;IACV,CAAC,CAAC;;IAEF;IACA,KAAK,MAAMa,YAAY,IAAIT,OAAO,IAAI,EAAE,EAAE;MACxC,MAAMU,GAAG,GAAGJ,IAAI,CAACG,YAAY,CAAC;MAE9B,MAAME,CAAC,GAAGlB,kBAAkB,CAACgB,YAAY,EAAE;QACzCG,KAAK,EAAEL,WAAW,CAACP,OAAO;QAC1BJ,MAAM,EAAEA,MAAM;QACdE,OAAO,EAAEY,GAAG;QACZG,MAAM,EAAEN,WAAW,CAACF;MACtB,CAAC,CAAC;IACJ;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,YAAYA,CAC1BjB,KAA2B,EACO;EAClC,MAAMC,OAAY,GAAG;IACnB,CAACP,sBAAsB,CAAC,CAAC,EAAEK,MAAc,EAAE;MACzCD,aAAa,CAACC,MAAM,EAAEC,KAAK,EAAEC,OAAO,CAAC;IACvC;EACF,CAAC;EAED,KAAK,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,KAAK,CAACM,UAAU,CAAC,EAAE;IAC9D,MAAMG,IAA4B,GAAIR,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,CAAE;IACzD,KAAK,MAAMgB,KAAK,IAAIf,OAAO,IAAI,EAAE,EAAE;MACjCM,IAAI,CAACS,KAAK,CAAC,GAAGvB,MAAM,CAACK,KAAK,CAACM,UAAU,EAAEJ,IAAI,EAAEgB,KAAK,CAAC;IACrD;EACF;EAEA,OAAOjB,OAAO;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["createScope","getSymbolCreatorSymbol","refkey","createPythonSymbol","PythonModuleScope","createSymbols","binder","props","refkeys","path","symbols","Object","entries","descriptor","fullModuleScopeName","name","keys","moduleScope","undefined","exportedName","key","_","space","module","createModule","named"],"sources":["../../src/create-module.ts"],"sourcesContent":[null],"mappings":"AAAA,SAEEA,WAAW,EACXC,sBAAsB,EAEtBC,MAAM,QAED,gBAAgB;AACvB,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,iBAAiB,QAAQ,oBAAoB;AAmBtD,SAASC,aAAaA,CACpBC,MAAc,EACdC,KAA0C,EAC1CC,OAA4B,EAC5B;EACA;EACA,KAAK,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,KAAK,CAACM,UAAU,CAAC,EAAE;IAC9D;IACA;IACA,MAAMC,mBAAmB,GAAGP,KAAK,CAACQ,IAAI,IAAIN,IAAI,KAAK,GAAG,GAAG,EAAE,GAAG,IAAIA,IAAI,EAAE,CAAC;IACzE,MAAMO,IAAI,GAAGR,OAAO,CAACC,IAAI,CAAC;IAC1B,MAAMQ,WAAW,GAAGjB,WAAW,CAC7BI,iBAAiB,EACjBU,mBAAmB,EACnBI,SAAS,EACT;MAAEZ;IAAO,CACX,CAAC;;IAED;IACA,KAAK,MAAMa,YAAY,IAAIT,OAAO,IAAI,EAAE,EAAE;MACxC,MAAMU,GAAG,GAAGJ,IAAI,CAACG,YAAY,CAAC;MAE9B,MAAME,CAAC,GAAGlB,kBAAkB,CAACgB,YAAY,EAAE;QACzCG,KAAK,EAAEL,WAAW,CAACP,OAAO;QAC1BJ,MAAM,EAAEA,MAAM;QACdE,OAAO,EAAEY,GAAG;QACZG,MAAM,EAAEN,WAAW,CAACF;MACtB,CAAC,CAAC;IACJ;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,YAAYA,CAC1BjB,KAA2B,EACO;EAClC,MAAMC,OAAY,GAAG;IACnB,CAACP,sBAAsB,CAAC,CAAC,EAAEK,MAAc,EAAE;MACzCD,aAAa,CAACC,MAAM,EAAEC,KAAK,EAAEC,OAAO,CAAC;IACvC;EACF,CAAC;EAED,KAAK,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,KAAK,CAACM,UAAU,CAAC,EAAE;IAC9D,MAAMG,IAA4B,GAAIR,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,CAAE;IACzD,KAAK,MAAMgB,KAAK,IAAIf,OAAO,IAAI,EAAE,EAAE;MACjCM,IAAI,CAACS,KAAK,CAAC,GAAGvB,MAAM,CAACK,KAAK,CAACM,UAAU,EAAEJ,IAAI,EAAEgB,KAAK,CAAC;IACrD;EACF;EAEA,OAAOjB,OAAO;AAChB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-creation.d.ts","sourceRoot":"","sources":["../../src/symbol-creation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAE1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,UAAU,yBAA0B,SAAQ,yBAAyB;IACnE,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,WAAW,GACxB,kBAAkB,GAAG,SAAS,CAOhC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,OAAO,GAAE,yBAA8B,EACvC,IAAI,CAAC,EAAE,cAAc,GACpB,kBAAkB,CAiCpB;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,kBAAuB,sBAKjC"}
1
+ {"version":3,"file":"symbol-creation.d.ts","sourceRoot":"","sources":["../../src/symbol-creation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAE1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,UAAU,yBAA0B,SAAQ,yBAAyB;IACnE,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,WAAW,GACxB,kBAAkB,GAAG,SAAS,CAOhC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,OAAO,GAAE,yBAA8B,EACvC,IAAI,CAAC,EAAE,cAAc,GACpB,kBAAkB,CAiCpB;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,kBAAuB,sBASjC"}
@@ -1,4 +1,4 @@
1
- import { useBinder, useContext } from "@alloy-js/core";
1
+ import { createScope, createSymbol, useContext } from "@alloy-js/core";
2
2
  import { PythonSourceFileContext } from "./components/SourceFile.js";
3
3
  import { usePythonNamePolicy } from "./name-policy.js";
4
4
  import { PythonOutputSymbol, usePythonScope } from "./symbols/index.js";
@@ -35,9 +35,9 @@ export function createPythonSymbol(name, options = {}, kind) {
35
35
  targetSpace = currentScope.symbols;
36
36
  }
37
37
  }
38
- const binder = options.binder ?? currentScope?.binder ?? useBinder();
39
- return new PythonOutputSymbol(name, targetSpace, {
40
- binder: binder,
38
+ const binder = options.binder ?? currentScope?.binder;
39
+ return createSymbol(PythonOutputSymbol, name, targetSpace, {
40
+ binder,
41
41
  aliasTarget: options.aliasTarget,
42
42
  refkeys: options.refkeys,
43
43
  metadata: options.metadata,
@@ -49,6 +49,10 @@ export function createPythonSymbol(name, options = {}, kind) {
49
49
  }
50
50
  export function createLexicalScope(name, options = {}) {
51
51
  const parent = usePythonScope();
52
- return new PythonLexicalScope(name, parent, options);
52
+ const binder = options.binder ?? parent?.binder;
53
+ return createScope(PythonLexicalScope, name, parent, {
54
+ ...options,
55
+ binder
56
+ });
53
57
  }
54
58
  //# sourceMappingURL=symbol-creation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useBinder","useContext","PythonSourceFileContext","usePythonNamePolicy","PythonOutputSymbol","usePythonScope","PythonLexicalScope","findExistingSymbol","name","targetSpace","undefined","existingSymbol","symbolNames","get","createPythonSymbol","options","kind","sfContext","currentScope","space","isMemberScope","instance","ownerSymbol","instanceMembers","staticMembers","Error","symbols","binder","aliasTarget","refkeys","metadata","module","type","ignoreNameConflict","namePolicy","for","createLexicalScope","parent"],"sources":["../../src/symbol-creation.ts"],"sourcesContent":[null],"mappings":"AAAA,SAIEA,SAAS,EACTC,UAAU,QACL,gBAAgB;AACvB,SAASC,uBAAuB,QAAQ,4BAA4B;AACpE,SAAyBC,mBAAmB,QAAQ,kBAAkB;AACtE,SACEC,kBAAkB,EAElBC,cAAc,QACT,oBAAoB;AAC3B,SAASC,kBAAkB,QAAQ,mCAAmC;AAOtE;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,IAAY,EACZC,WAAyB,EACO;EAChC,IAAI,CAACA,WAAW,EAAE;IAChB,OAAOC,SAAS;EAClB;EAEA,MAAMC,cAAc,GAAGF,WAAW,CAACG,WAAW,CAACC,GAAG,CAACL,IAAI,CAAC;EACxD,OAAOG,cAAc;AACvB;;AAEA;AACA;AACA;AACA,OAAO,SAASG,kBAAkBA,CAChCN,IAAsB,EACtBO,OAAkC,GAAG,CAAC,CAAC,EACvCC,IAAqB,EACD;EACpB,MAAMC,SAAS,GAAGhB,UAAU,CAACC,uBAAuB,CAAC;EACrD,MAAMgB,YAAY,GAAGb,cAAc,CAAC,CAAC;EACrC,IAAII,WAAW,GAAGM,OAAO,CAACI,KAAK,IAAIT,SAAS;EAC5C,IAAI,CAACK,OAAO,CAACI,KAAK,IAAID,YAAY,EAAE;IAClC,IAAIA,YAAY,CAACE,aAAa,EAAE;MAC9B,IAAIL,OAAO,CAACM,QAAQ,EAAE;QACpBZ,WAAW,GAAGS,YAAY,CAACI,WAAW,CAAEC,eAAe;MACzD,CAAC,MAAM;QACLd,WAAW,GAAGS,YAAY,CAACI,WAAW,CAAEE,aAAa;MACvD;IACF,CAAC,MAAM;MACL,IAAIT,OAAO,CAACM,QAAQ,EAAE;QACpB,MAAM,IAAII,KAAK,CACb,oCAAoCjB,IAAI,4BAC1C,CAAC;MACH;MACAC,WAAW,GAAIS,YAAY,CAAwBQ,OAAO;IAC5D;EACF;EAEA,MAAMC,MAAM,GAAGZ,OAAO,CAACY,MAAM,IAAIT,YAAY,EAAES,MAAM,IAAI3B,SAAS,CAAC,CAAC;EAEpE,OAAO,IAAII,kBAAkB,CAACI,IAAI,EAAEC,WAAW,EAAE;IAC/CkB,MAAM,EAAEA,MAAM;IACdC,WAAW,EAAEb,OAAO,CAACa,WAAW;IAChCC,OAAO,EAAEd,OAAO,CAACc,OAAO;IACxBC,QAAQ,EAAEf,OAAO,CAACe,QAAQ;IAC1BC,MAAM,EAAEd,SAAS,EAAEc,MAAM;IACzBC,IAAI,EAAEjB,OAAO,CAACiB,IAAI;IAClBC,kBAAkB,EAAElB,OAAO,CAACkB,kBAAkB;IAC9CC,UAAU,EAAE/B,mBAAmB,CAAC,CAAC,CAACgC,GAAG,CAACnB,IAAI;EAC5C,CAAC,CAAC;AACJ;AAEA,OAAO,SAASoB,kBAAkBA,CAChC5B,IAAY,EACZO,OAA2B,GAAG,CAAC,CAAC,EAChC;EACA,MAAMsB,MAAM,GAAGhC,cAAc,CAAC,CAAC;EAE/B,OAAO,IAAIC,kBAAkB,CAACE,IAAI,EAAE6B,MAAM,EAAEtB,OAAO,CAAC;AACtD","ignoreList":[]}
1
+ {"version":3,"names":["createScope","createSymbol","useContext","PythonSourceFileContext","usePythonNamePolicy","PythonOutputSymbol","usePythonScope","PythonLexicalScope","findExistingSymbol","name","targetSpace","undefined","existingSymbol","symbolNames","get","createPythonSymbol","options","kind","sfContext","currentScope","space","isMemberScope","instance","ownerSymbol","instanceMembers","staticMembers","Error","symbols","binder","aliasTarget","refkeys","metadata","module","type","ignoreNameConflict","namePolicy","for","createLexicalScope","parent"],"sources":["../../src/symbol-creation.ts"],"sourcesContent":[null],"mappings":"AAAA,SAIEA,WAAW,EACXC,YAAY,EACZC,UAAU,QACL,gBAAgB;AACvB,SAASC,uBAAuB,QAAQ,4BAA4B;AACpE,SAAyBC,mBAAmB,QAAQ,kBAAkB;AACtE,SACEC,kBAAkB,EAElBC,cAAc,QACT,oBAAoB;AAC3B,SAASC,kBAAkB,QAAQ,mCAAmC;AAOtE;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,IAAY,EACZC,WAAyB,EACO;EAChC,IAAI,CAACA,WAAW,EAAE;IAChB,OAAOC,SAAS;EAClB;EAEA,MAAMC,cAAc,GAAGF,WAAW,CAACG,WAAW,CAACC,GAAG,CAACL,IAAI,CAAC;EACxD,OAAOG,cAAc;AACvB;;AAEA;AACA;AACA;AACA,OAAO,SAASG,kBAAkBA,CAChCN,IAAsB,EACtBO,OAAkC,GAAG,CAAC,CAAC,EACvCC,IAAqB,EACD;EACpB,MAAMC,SAAS,GAAGhB,UAAU,CAACC,uBAAuB,CAAC;EACrD,MAAMgB,YAAY,GAAGb,cAAc,CAAC,CAAC;EACrC,IAAII,WAAW,GAAGM,OAAO,CAACI,KAAK,IAAIT,SAAS;EAC5C,IAAI,CAACK,OAAO,CAACI,KAAK,IAAID,YAAY,EAAE;IAClC,IAAIA,YAAY,CAACE,aAAa,EAAE;MAC9B,IAAIL,OAAO,CAACM,QAAQ,EAAE;QACpBZ,WAAW,GAAGS,YAAY,CAACI,WAAW,CAAEC,eAAe;MACzD,CAAC,MAAM;QACLd,WAAW,GAAGS,YAAY,CAACI,WAAW,CAAEE,aAAa;MACvD;IACF,CAAC,MAAM;MACL,IAAIT,OAAO,CAACM,QAAQ,EAAE;QACpB,MAAM,IAAII,KAAK,CACb,oCAAoCjB,IAAI,4BAC1C,CAAC;MACH;MACAC,WAAW,GAAIS,YAAY,CAAwBQ,OAAO;IAC5D;EACF;EAEA,MAAMC,MAAM,GAAGZ,OAAO,CAACY,MAAM,IAAIT,YAAY,EAAES,MAAM;EAErD,OAAO3B,YAAY,CAACI,kBAAkB,EAAEI,IAAI,EAAEC,WAAW,EAAE;IACzDkB,MAAM;IACNC,WAAW,EAAEb,OAAO,CAACa,WAAW;IAChCC,OAAO,EAAEd,OAAO,CAACc,OAAO;IACxBC,QAAQ,EAAEf,OAAO,CAACe,QAAQ;IAC1BC,MAAM,EAAEd,SAAS,EAAEc,MAAM;IACzBC,IAAI,EAAEjB,OAAO,CAACiB,IAAI;IAClBC,kBAAkB,EAAElB,OAAO,CAACkB,kBAAkB;IAC9CC,UAAU,EAAE/B,mBAAmB,CAAC,CAAC,CAACgC,GAAG,CAACnB,IAAI;EAC5C,CAAC,CAAC;AACJ;AAEA,OAAO,SAASoB,kBAAkBA,CAChC5B,IAAY,EACZO,OAA2B,GAAG,CAAC,CAAC,EAChC;EACA,MAAMsB,MAAM,GAAGhC,cAAc,CAAC,CAAC;EAC/B,MAAMsB,MAAM,GAAGZ,OAAO,CAACY,MAAM,IAAIU,MAAM,EAAEV,MAAM;EAE/C,OAAO5B,WAAW,CAACO,kBAAkB,EAAEE,IAAI,EAAE6B,MAAM,EAAE;IACnD,GAAGtB,OAAO;IACVY;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -16,5 +16,6 @@ export declare class PythonModuleScope extends PythonLexicalScope {
16
16
  get importedSymbols(): Map<PythonOutputSymbol, PythonOutputSymbol>;
17
17
  get importedModules(): ImportRecords;
18
18
  addImport(targetSymbol: PythonOutputSymbol, targetModule: PythonModuleScope): PythonOutputSymbol;
19
+ get debugInfo(): Record<string, unknown>;
19
20
  }
20
21
  //# sourceMappingURL=python-module-scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"python-module-scope.d.ts","sourceRoot":"","sources":["../../../src/symbols/python-module-scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,qBAAa,cAAc;IACzB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE,kBAAkB,CAAC;gBAEf,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB;IAKjE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB;CAGlE;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC9B;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;CAAG;AAE/E,qBAAa,iBAAkB,SAAQ,kBAAkB;;IAGvD,IAAI,eAAe,gDAElB;IAGD,IAAI,eAAe,kBAElB;IAED,SAAS,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB;CA0B5E"}
1
+ {"version":3,"file":"python-module-scope.d.ts","sourceRoot":"","sources":["../../../src/symbols/python-module-scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,qBAAa,cAAc;IACzB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE,kBAAkB,CAAC;gBAEf,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB;IAKjE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB;CAGlE;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC9B;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;CAAG;AAE/E,qBAAa,iBAAkB,SAAQ,kBAAkB;;IAGvD,IAAI,eAAe,gDAElB;IAGD,IAAI,eAAe,kBAElB;IAED,SAAS,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB;IA4B3E,IAAa,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMhD;CACF"}