@alloy-js/go 0.0.1 → 0.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../../src/components/function/function.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAQR,OAAO,EACP,MAAM,EAOP,MAAM,gBAAgB,CAAC;AAYxB,OAAO,EACL,sBAAsB,EAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,EAEnB,MAAM,kCAAkC,CAAC;AAG1C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kBAAkB;IAClB,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAGD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,YAkEvD;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,YAmDxD"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../../src/components/function/function.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAQR,OAAO,EAEP,MAAM,EAIP,MAAM,gBAAgB,CAAC;AAaxB,OAAO,EACL,sBAAsB,EAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,EAEnB,MAAM,kCAAkC,CAAC;AAG1C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kBAAkB;IAClB,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAGD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,YAkEvD;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,YA6DxD"}
@@ -1,5 +1,5 @@
1
1
  import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
- import { Block, computed, Declaration, DeclarationContext, effect, For, Indent, Name, Scope, shallowRef, Show, takeSymbols, useContext, watch } from "@alloy-js/core";
2
+ import { Block, createSymbolSlot, Declaration, DeclarationContext, effect, For, Indent, Name, onCleanup, Scope, Show, useContext } from "@alloy-js/core";
3
3
  import { useGoScope } from "../../scopes/contexts.js";
4
4
  import { createFunctionScope } from "../../scopes/factories.js";
5
5
  import { GoSourceFileScope } from "../../scopes/source-file.js";
@@ -96,38 +96,62 @@ export function FunctionReceiver(props) {
96
96
  if (!(functionSymbol instanceof FunctionSymbol)) {
97
97
  throw new Error("FuncReceiver must be used inside a function.");
98
98
  }
99
- const typeParams = shallowRef(props.typeParameters ?? []);
100
- const taken = takeSymbols();
99
+ const FunctionTypeSlot = createSymbolSlot();
100
+
101
+ // Add the function symbol to the receiver type's members
101
102
  effect(() => {
102
- if (taken.size !== 1) return;
103
- const symbol = Array.from(taken)[0];
104
- if (symbol.enclosingPackage !== receiverSymbol.enclosingPackage) {
105
- throw new Error(`Receiver symbol ${receiverSymbol.name} must be in the same package as the type ${symbol.name}.`);
103
+ const typeSymbol = FunctionTypeSlot.firstSymbol.value;
104
+ if (!typeSymbol) {
105
+ return;
106
106
  }
107
- if (!(symbol instanceof NamedTypeSymbol)) {
108
- throw new Error(`Receiver type must be a named type, got ${symbol.constructor.name}.`);
107
+ if (typeSymbol.enclosingPackage !== receiverSymbol.enclosingPackage) {
108
+ throw new Error(`Receiver symbol ${receiverSymbol.name} must be in the same package as the type ${typeSymbol.name}.`);
109
109
  }
110
- functionSymbol.spaces = symbol.members;
111
- if (!props.typeParameters) {
112
- typeParams.value = symbol.typeParameters ?? [];
110
+ if (!(typeSymbol instanceof NamedTypeSymbol)) {
111
+ throw new Error(`Receiver type must be a named type, got ${typeSymbol.constructor.name}.`);
113
112
  }
114
- watch(() => symbol.typeParameters, newParams => {
115
- if (props.typeParameters) return;
116
- typeParams.value = newParams ?? [];
117
- });
118
- });
119
- const typeParamsComponent = computed(() => {
120
- if (typeParams.value.length === 0) return null;
121
- return _$createComponent(TypeParameters, {
122
- get parameters() {
123
- return typeParams.value;
124
- }
113
+ functionSymbol.receiverSymbol = typeSymbol;
114
+ typeSymbol.members.add(functionSymbol);
115
+ onCleanup(() => {
116
+ functionSymbol.receiverSymbol = undefined;
117
+ typeSymbol.members.delete(functionSymbol);
125
118
  });
126
119
  });
127
120
  return _$createComponent(Declaration, {
128
121
  symbol: receiverSymbol,
129
122
  get children() {
130
- return [_$createComponent(Name, {}), " ", _$memo(() => props.type), _$memo(() => typeParamsComponent.value)];
123
+ return [_$createComponent(Name, {}), " ", _$createComponent(FunctionTypeSlot, {
124
+ get children() {
125
+ return props.type;
126
+ }
127
+ }), _$createComponent(Show, {
128
+ get when() {
129
+ return !!props.typeParameters;
130
+ },
131
+ get children() {
132
+ return _$createComponent(TypeParameters, {
133
+ get parameters() {
134
+ return props.typeParameters;
135
+ }
136
+ });
137
+ }
138
+ }), _$createComponent(Show, {
139
+ get when() {
140
+ return !props.typeParameters && !!functionSymbol.receiverSymbol;
141
+ },
142
+ get children() {
143
+ return _$createComponent(TypeParameters, {
144
+ get parameters() {
145
+ return [...functionSymbol.receiverSymbol.typeParameters].map(s => {
146
+ return {
147
+ name: s.name,
148
+ constraint: s.constraint
149
+ };
150
+ });
151
+ }
152
+ });
153
+ }
154
+ })];
131
155
  }
132
156
  });
133
157
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Block","computed","Declaration","DeclarationContext","effect","For","Indent","Name","Scope","shallowRef","Show","takeSymbols","useContext","watch","useGoScope","createFunctionScope","GoSourceFileScope","createFunctionSymbol","createParameterSymbol","FunctionSymbol","NamedTypeSymbol","LineComment","FunctionParameters","TypeParameters","FunctionDeclaration","props","isFileScope","receiver","Error","functionSymbol","name","refkeys","refkey","functionScope","_$createComponent","symbol","children","value","when","Boolean","doc","_$createIntrinsic","_$memo","parameters","typeParameters","returns","Array","isArray","length","softline","each","joiner","flatContents","ender","ret","singleLine","FunctionReceiver","receiverSymbol","typeParams","taken","size","from","enclosingPackage","constructor","spaces","members","newParams","typeParamsComponent","type"],"sources":["../../../../src/components/function/function.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Block","createSymbolSlot","Declaration","DeclarationContext","effect","For","Indent","Name","onCleanup","Scope","Show","useContext","useGoScope","createFunctionScope","GoSourceFileScope","createFunctionSymbol","createParameterSymbol","FunctionSymbol","NamedTypeSymbol","LineComment","FunctionParameters","TypeParameters","FunctionDeclaration","props","isFileScope","receiver","Error","functionSymbol","name","refkeys","refkey","functionScope","_$createComponent","symbol","children","value","when","Boolean","doc","_$createIntrinsic","_$memo","parameters","typeParameters","returns","Array","isArray","length","softline","each","joiner","flatContents","ender","ret","singleLine","FunctionReceiver","receiverSymbol","FunctionTypeSlot","typeSymbol","firstSymbol","enclosingPackage","constructor","members","add","undefined","delete","type","map","s","constraint"],"sources":["../../../../src/components/function/function.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -349,7 +349,7 @@ describe("type parameters", () => {
349
349
  name: "TestStruct",
350
350
  typeParameters: [{
351
351
  name: "T",
352
- constraint: "any"
352
+ constraint: "interface{ ~string | ~[]byte }"
353
353
  }],
354
354
  get children() {
355
355
  return [_$createComponent(StructDeclaration, {}), _$createIntrinsic("hbr", {})];
@@ -365,11 +365,11 @@ describe("type parameters", () => {
365
365
  })];
366
366
  }
367
367
  })).toRenderTo(`
368
- package alloy
368
+ package alloy
369
369
 
370
- type TestStruct[T any] struct{}
371
- func (s TestStruct[T any]) MethodOne() {}
372
- `);
370
+ type TestStruct[T interface{ ~string | ~[]byte }] struct{}
371
+ func (s TestStruct[T interface{ ~string | ~[]byte }]) MethodOne() {}
372
+ `);
373
373
  });
374
374
  it("method type param", () => {
375
375
  const ReceiverRefkey = refkey("ReceiverRefkey");
@@ -1 +1 @@
1
- {"version":3,"names":["code","Output","refkey","render","describe","expect","it","TestPackage","ModuleDirectory","SourceDirectory","SourceFile","StructDeclaration","TypeDeclaration","FunctionDeclaration","FunctionReceiver","Wrapper","props","_$createComponent","children","name","_$createIntrinsic","_$memo","toRenderTo","params","type","res","parameters","returns","doc","singleLine","ReceiverRefkey","receiver","variadic","path","toThrowError","T","typeParameters","constraint"],"sources":["../../../../src/components/function/function.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["code","Output","refkey","render","describe","expect","it","TestPackage","ModuleDirectory","SourceDirectory","SourceFile","StructDeclaration","TypeDeclaration","FunctionDeclaration","FunctionReceiver","Wrapper","props","_$createComponent","children","name","_$createIntrinsic","_$memo","toRenderTo","params","type","res","parameters","returns","doc","singleLine","ReceiverRefkey","receiver","variadic","path","toThrowError","T","typeParameters","constraint"],"sources":["../../../../src/components/function/function.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/type/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAMhB,OAAO,EACP,MAAM,EAIP,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAEnB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,CAAC,2BAA2B,CACxC,CAAC;AAE/C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,YAUpE;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,YA6B1D"}
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/type/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAMhB,OAAO,EACP,MAAM,EAIP,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EACL,kBAAkB,EAEnB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,CAAC,2BAA2B,CACxC,CAAC;AAE/C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,YAUpE;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB;IAChB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,YAqC1D"}
@@ -2,6 +2,7 @@ import { createComponent as _$createComponent, createIntrinsic as _$createIntrin
2
2
  import { createContext, Declaration, Indent, List, Name, Scope, Show, useContext } from "@alloy-js/core";
3
3
  import { createNamedTypeScope } from "../../scopes/factories.js";
4
4
  import { createTypeSymbol } from "../../symbols/factories.js";
5
+ import { TypeParameterSymbol } from "../../symbols/type-parameter.js";
5
6
  import { LineComment } from "../doc/comment.js";
6
7
  import { TypeParameters } from "../parameters/typeparameters.js";
7
8
  export const TypeDeclarationGroupContext = createContext();
@@ -27,11 +28,19 @@ export function TypeDeclarationGroup(props) {
27
28
  }
28
29
  export function TypeDeclaration(props) {
29
30
  const typeGroup = useContext(TypeDeclarationGroupContext);
30
- const symbol = props.symbol ?? createTypeSymbol(props.name, "type", {
31
- refkeys: props.refkey,
32
- typeParameters: props.typeParameters
33
- // TODO: set aliasTarget when alias is true
34
- });
31
+ let symbol = props.symbol;
32
+ if (!symbol) {
33
+ symbol = createTypeSymbol(props.name, "type", {
34
+ refkeys: props.refkey
35
+ // TODO: set aliasTarget when alias is true
36
+ });
37
+ for (const typeParameter of props.typeParameters ?? []) {
38
+ new TypeParameterSymbol(typeParameter.name, symbol.typeParameters, {
39
+ refkeys: typeParameter.refkey,
40
+ constraint: typeParameter.constraint
41
+ });
42
+ }
43
+ }
35
44
  const typeScope = createNamedTypeScope(symbol);
36
45
  return [_$createComponent(Show, {
37
46
  get when() {
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","Declaration","Indent","List","Name","Scope","Show","useContext","createNamedTypeScope","createTypeSymbol","LineComment","TypeParameters","TypeDeclarationGroupContext","TypeDeclarationGroup","props","_$createComponent","Provider","value","active","children","trailingBreak","hardline","TypeDeclaration","typeGroup","symbol","name","refkeys","refkey","typeParameters","typeScope","when","Boolean","doc","_$createIntrinsic","_$memo","parameters","alias"],"sources":["../../../../src/components/type/declaration.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAGEA,aAAa,EACbC,WAAW,EACXC,MAAM,EACNC,IAAI,EACJC,IAAI,EAGJC,KAAK,EACLC,IAAI,EACJC,UAAU,QACL,gBAAgB;AACvB,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,gBAAgB,QAAQ,4BAA4B;AAE7D,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAEEC,cAAc;AAWhB,OAAO,MAAMC,2BAA0E,GACrFZ,aAAa,CAA8B,CAAC;AAE9C,OAAO,SAASa,oBAAoBA,CAACC,KAAgC,EAAE;EACrE,OAAAC,iBAAA,CACGH,2BAA2B,CAACI,QAAQ;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAE;IAAK,CAAC;IAAA,IAAAC,SAAA;MAAA,kBAAAJ,iBAAA,CAE1Db,MAAM;QAACkB,aAAa;QAAA,IAAAD,SAAA;UAAA,OAAAJ,iBAAA,CAClBZ,IAAI;YAACkB,QAAQ;YAAA,IAAAF,SAAA;cAAA,OAAEL,KAAK,CAACK,QAAQ;YAAA;UAAA;QAAA;MAAA;IAAA;EAAA;AAKtC;AAmBA,OAAO,SAASG,eAAeA,CAACR,KAA2B,EAAE;EAC3D,MAAMS,SAAS,GAAGhB,UAAU,CAACK,2BAA2B,CAAC;EAEzD,MAAMY,MAAM,GACVV,KAAK,CAACU,MAAM,IACZf,gBAAgB,CAACK,KAAK,CAACW,IAAI,EAAE,MAAM,EAAE;IACnCC,OAAO,EAAEZ,KAAK,CAACa,MAAM;IACrBC,cAAc,EAAEd,KAAK,CAACc;IACtB;EACF,CAAC,CAAC;EACJ,MAAMC,SAAS,GAAGrB,oBAAoB,CAACgB,MAAM,CAAC;EAE9C,QAAAT,iBAAA,CAEKT,IAAI;IAAA,IAACwB,IAAIA,CAAA;MAAA,OAAEC,OAAO,CAACjB,KAAK,CAACkB,GAAG,CAAC;IAAA;IAAA,IAAAb,SAAA;MAAA,QAAAJ,iBAAA,CAC3BL,WAAW;QAAA,IAACS,QAAQA,CAAA;UAAA,OAAEL,KAAK,CAACkB,GAAG;QAAA;MAAA,IAAAC,iBAAA;IAAA;EAAA,IAAAlB,iBAAA,CAGjCd,WAAW;IAACuB,MAAM,EAAEA,MAAM;IAAA,IAAAL,SAAA;MAAA,QAAAe,MAAA,OACxBX,SAAS,EAAEL,MAAM,GAAG,EAAE,GAAG,OAAO,GAAAH,iBAAA,CAChCX,IAAI,OAAAW,iBAAA,CACJV,KAAK;QAACY,KAAK,EAAEY,SAAS;QAAA,IAAAV,SAAA;UAAA,QAAAJ,iBAAA,CACpBJ,cAAc;YAAA,IAACwB,UAAUA,CAAA;cAAA,OAAErB,KAAK,CAACc,cAAc;YAAA;UAAA,IAAAM,MAAA,OAC/CpB,KAAK,CAACsB,KAAK,GAAG,KAAK,GAAG,GAAG,GAAAF,MAAA,OACzBpB,KAAK,CAACK,QAAQ;QAAA;MAAA;IAAA;EAAA;AAKzB","ignoreList":[]}
1
+ {"version":3,"names":["createContext","Declaration","Indent","List","Name","Scope","Show","useContext","createNamedTypeScope","createTypeSymbol","TypeParameterSymbol","LineComment","TypeParameters","TypeDeclarationGroupContext","TypeDeclarationGroup","props","_$createComponent","Provider","value","active","children","trailingBreak","hardline","TypeDeclaration","typeGroup","symbol","name","refkeys","refkey","typeParameter","typeParameters","constraint","typeScope","when","Boolean","doc","_$createIntrinsic","_$memo","parameters","alias"],"sources":["../../../../src/components/type/declaration.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAGEA,aAAa,EACbC,WAAW,EACXC,MAAM,EACNC,IAAI,EACJC,IAAI,EAGJC,KAAK,EACLC,IAAI,EACJC,UAAU,QACL,gBAAgB;AACvB,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,gBAAgB,QAAQ,4BAA4B;AAE7D,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAEEC,cAAc;AAWhB,OAAO,MAAMC,2BAA0E,GACrFb,aAAa,CAA8B,CAAC;AAE9C,OAAO,SAASc,oBAAoBA,CAACC,KAAgC,EAAE;EACrE,OAAAC,iBAAA,CACGH,2BAA2B,CAACI,QAAQ;IAACC,KAAK,EAAE;MAAEC,MAAM,EAAE;IAAK,CAAC;IAAA,IAAAC,SAAA;MAAA,kBAAAJ,iBAAA,CAE1Dd,MAAM;QAACmB,aAAa;QAAA,IAAAD,SAAA;UAAA,OAAAJ,iBAAA,CAClBb,IAAI;YAACmB,QAAQ;YAAA,IAAAF,SAAA;cAAA,OAAEL,KAAK,CAACK,QAAQ;YAAA;UAAA;QAAA;MAAA;IAAA;EAAA;AAKtC;AAmBA,OAAO,SAASG,eAAeA,CAACR,KAA2B,EAAE;EAC3D,MAAMS,SAAS,GAAGjB,UAAU,CAACM,2BAA2B,CAAC;EAEzD,IAAIY,MAAM,GAAGV,KAAK,CAACU,MAAM;EACzB,IAAI,CAACA,MAAM,EAAE;IACXA,MAAM,GAAGhB,gBAAgB,CAACM,KAAK,CAACW,IAAI,EAAE,MAAM,EAAE;MAC5CC,OAAO,EAAEZ,KAAK,CAACa;MACf;IACF,CAAC,CAAC;IAEF,KAAK,MAAMC,aAAa,IAAId,KAAK,CAACe,cAAc,IAAI,EAAE,EAAE;MACtD,IAAIpB,mBAAmB,CAACmB,aAAa,CAACH,IAAI,EAAED,MAAM,CAACK,cAAc,EAAE;QACjEH,OAAO,EAAEE,aAAa,CAACD,MAAM;QAC7BG,UAAU,EAAEF,aAAa,CAACE;MAC5B,CAAC,CAAC;IACJ;EACF;EAEA,MAAMC,SAAS,GAAGxB,oBAAoB,CAACiB,MAAM,CAAC;EAE9C,QAAAT,iBAAA,CAEKV,IAAI;IAAA,IAAC2B,IAAIA,CAAA;MAAA,OAAEC,OAAO,CAACnB,KAAK,CAACoB,GAAG,CAAC;IAAA;IAAA,IAAAf,SAAA;MAAA,QAAAJ,iBAAA,CAC3BL,WAAW;QAAA,IAACS,QAAQA,CAAA;UAAA,OAAEL,KAAK,CAACoB,GAAG;QAAA;MAAA,IAAAC,iBAAA;IAAA;EAAA,IAAApB,iBAAA,CAGjCf,WAAW;IAACwB,MAAM,EAAEA,MAAM;IAAA,IAAAL,SAAA;MAAA,QAAAiB,MAAA,OACxBb,SAAS,EAAEL,MAAM,GAAG,EAAE,GAAG,OAAO,GAAAH,iBAAA,CAChCZ,IAAI,OAAAY,iBAAA,CACJX,KAAK;QAACa,KAAK,EAAEc,SAAS;QAAA,IAAAZ,SAAA;UAAA,QAAAJ,iBAAA,CACpBJ,cAAc;YAAA,IAAC0B,UAAUA,CAAA;cAAA,OAAEvB,KAAK,CAACe,cAAc;YAAA;UAAA,IAAAO,MAAA,OAC/CtB,KAAK,CAACwB,KAAK,GAAG,KAAK,GAAG,GAAG,GAAAF,MAAA,OACzBtB,KAAK,CAACK,QAAQ;QAAA;MAAA;IAAA;EAAA;AAKzB","ignoreList":[]}
@@ -1,10 +1,14 @@
1
1
  import { Namekey, OutputSpace } from "@alloy-js/core";
2
2
  import { GoSymbol, GoSymbolOptions } from "./go.js";
3
+ import { NamedTypeSymbol } from "./named-type.js";
3
4
  /**
4
5
  * A symbol for a function in Go, including receivers.
5
6
  */
6
7
  export declare class FunctionSymbol extends GoSymbol {
8
+ #private;
7
9
  readonly symbolKind = "function";
8
10
  constructor(name: string | Namekey, spaces: OutputSpace | undefined, options?: GoSymbolOptions);
11
+ get receiverSymbol(): NamedTypeSymbol | undefined;
12
+ set receiverSymbol(value: NamedTypeSymbol | undefined);
9
13
  }
10
14
  //# sourceMappingURL=function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/symbols/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,SAAgB,UAAU,cAAc;gBAGtC,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,GAAE,eAAoB;CAIhC"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/symbols/function.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;;IAC1C,SAAgB,UAAU,cAAc;gBAGtC,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,GAAE,eAAoB;IAO/B,IAAI,cAAc,IAAI,eAAe,GAAG,SAAS,CAGhD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,EAYpD;CACF"}
@@ -1,5 +1,5 @@
1
+ import { track, TrackOpTypes, trigger, TriggerOpTypes } from "@alloy-js/core";
1
2
  import { GoSymbol } from "./go.js";
2
-
3
3
  /**
4
4
  * A symbol for a function in Go, including receivers.
5
5
  */
@@ -8,5 +8,17 @@ export class FunctionSymbol extends GoSymbol {
8
8
  constructor(name, spaces, options = {}) {
9
9
  super(name, spaces, options);
10
10
  }
11
+ #receiverSymbol = undefined;
12
+ get receiverSymbol() {
13
+ track(this, TrackOpTypes.GET, "receiverSymbol");
14
+ return this.#receiverSymbol;
15
+ }
16
+ set receiverSymbol(value) {
17
+ if (this.#receiverSymbol === value) {
18
+ return;
19
+ }
20
+ trigger(this, TriggerOpTypes.SET, "receiverSymbol", value, this.#receiverSymbol);
21
+ this.#receiverSymbol = value;
22
+ }
11
23
  }
12
24
  //# sourceMappingURL=function.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GoSymbol","FunctionSymbol","symbolKind","constructor","name","spaces","options"],"sources":["../../../src/symbols/function.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,QAAQ,QAAyB,SAAS;;AAEnD;AACA;AACA;AACA,OAAO,MAAMC,cAAc,SAASD,QAAQ,CAAC;EAC3BE,UAAU,GAAG,UAAU;EAEvCC,WAAWA,CACTC,IAAsB,EACtBC,MAA+B,EAC/BC,OAAwB,GAAG,CAAC,CAAC,EAC7B;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC9B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["track","TrackOpTypes","trigger","TriggerOpTypes","GoSymbol","FunctionSymbol","symbolKind","constructor","name","spaces","options","receiverSymbol","undefined","GET","value","SET"],"sources":["../../../src/symbols/function.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,KAAK,EACLC,YAAY,EACZC,OAAO,EACPC,cAAc,QACT,gBAAgB;AACvB,SAASC,QAAQ,QAAyB,SAAS;AAGnD;AACA;AACA;AACA,OAAO,MAAMC,cAAc,SAASD,QAAQ,CAAC;EAC3BE,UAAU,GAAG,UAAU;EAEvCC,WAAWA,CACTC,IAAsB,EACtBC,MAA+B,EAC/BC,OAAwB,GAAG,CAAC,CAAC,EAC7B;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC9B;EAEA,CAACC,cAAc,GAAqBC,SAAS;EAE7C,IAAID,cAAcA,CAAA,EAAgC;IAChDX,KAAK,CAAC,IAAI,EAAEC,YAAY,CAACY,GAAG,EAAE,gBAAgB,CAAC;IAC/C,OAAO,IAAI,CAAC,CAACF,cAAc;EAC7B;EAEA,IAAIA,cAAcA,CAACG,KAAkC,EAAE;IACrD,IAAI,IAAI,CAAC,CAACH,cAAc,KAAKG,KAAK,EAAE;MAClC;IACF;IACAZ,OAAO,CACL,IAAI,EACJC,cAAc,CAACY,GAAG,EAClB,gBAAgB,EAChBD,KAAK,EACL,IAAI,CAAC,CAACH,cACR,CAAC;IACD,IAAI,CAAC,CAACA,cAAc,GAAGG,KAAK;EAC9B;AACF","ignoreList":[]}
@@ -1,10 +1,9 @@
1
1
  import { Namekey, OutputSpace } from "@alloy-js/core";
2
- import { TypeParameterProps } from "../components/parameters/typeparameters.jsx";
3
2
  import { GoSymbol, GoSymbolOptions } from "./go.js";
4
3
  export type NamedTypeTypeKind = "import" | "function" | "var" | "type" | "struct" | "struct-member" | "interface" | "interface-member" | "package";
5
4
  export type NamedTypeSymbolKind = "named-type" | "package";
6
5
  export interface NamedTypeSymbolOptions extends GoSymbolOptions {
7
- typeParameters?: TypeParameterProps[];
6
+ typeParameters?: GoSymbol[];
8
7
  }
9
8
  /**
10
9
  * A symbol for a named type in Go such as a struct, interface, and so forth.
@@ -16,8 +15,7 @@ export declare class NamedTypeSymbol extends GoSymbol {
16
15
  constructor(name: string | Namekey, spaces: OutputSpace[] | OutputSpace | undefined, kind: NamedTypeTypeKind, options?: NamedTypeSymbolOptions);
17
16
  get typeKind(): NamedTypeTypeKind;
18
17
  set typeKind(value: NamedTypeTypeKind);
19
- get typeParameters(): TypeParameterProps[] | undefined;
20
- set typeParameters(value: TypeParameterProps[] | undefined);
18
+ get typeParameters(): import("@alloy-js/core").OutputMemberSpace;
21
19
  copy(): NamedTypeSymbol;
22
20
  get members(): import("@alloy-js/core").OutputMemberSpace;
23
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"named-type.d.ts","sourceRoot":"","sources":["../../../src/symbols/named-type.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGpD,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,UAAU,GACV,KAAK,GACL,MAAM,GACN,QAAQ,GACR,eAAe,GACf,WAAW,GACX,kBAAkB,GAClB,SAAS,CAAC;AACd,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;;IAC3C,SAAgB,UAAU,EAAE,mBAAmB,CAAgB;IAC/D,gBAAuB,YAAY,WAAe;gBAGhD,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,EAC/C,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE,sBAAsB;IAQlC,IAAI,QAAQ,IAIQ,iBAAiB,CADpC;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAOpC;IAGD,IAAI,cAAc,IAIQ,kBAAkB,EAAE,GAAG,SAAS,CADzD;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAOzD;IAED,IAAI;IAYJ,IAAI,OAAO,+CAEV;CACF"}
1
+ {"version":3,"file":"named-type.d.ts","sourceRoot":"","sources":["../../../src/symbols/named-type.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGpD,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,UAAU,GACV,KAAK,GACL,MAAM,GACN,QAAQ,GACR,eAAe,GACf,WAAW,GACX,kBAAkB,GAClB,SAAS,CAAC;AACd,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;;IAC3C,SAAgB,UAAU,EAAE,mBAAmB,CAAgB;IAC/D,gBAAuB,YAAY,WAAiC;gBAGlE,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,SAAS,EAC/C,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE,sBAAsB;IAOlC,IAAI,QAAQ,IAIQ,iBAAiB,CADpC;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAOpC;IAED,IAAI,cAAc,+CAEjB;IAED,IAAI;IAYJ,IAAI,OAAO,+CAEV;CACF"}
@@ -8,11 +8,10 @@ import { GoSymbol } from "./go.js";
8
8
  */
9
9
  export class NamedTypeSymbol extends GoSymbol {
10
10
  symbolKind = "named-type";
11
- static memberSpaces = ["members"];
11
+ static memberSpaces = ["members", "typeParameters"];
12
12
  constructor(name, spaces, kind, options) {
13
13
  super(name, spaces, options);
14
14
  this.#typeKind = kind;
15
- this.#typeParameters = options?.typeParameters;
16
15
  }
17
16
  #typeKind;
18
17
  get typeKind() {
@@ -27,18 +26,8 @@ export class NamedTypeSymbol extends GoSymbol {
27
26
  this.#typeKind = value;
28
27
  trigger(this, TriggerOpTypes.SET, "typeKind", value, old);
29
28
  }
30
- #typeParameters;
31
29
  get typeParameters() {
32
- track(this, TrackOpTypes.GET, "typeParameters");
33
- return this.#typeParameters;
34
- }
35
- set typeParameters(value) {
36
- const old = this.#typeParameters;
37
- if (old === value) {
38
- return;
39
- }
40
- this.#typeParameters = value;
41
- trigger(this, TriggerOpTypes.SET, "typeParameters", value, old);
30
+ return this.memberSpaceFor("typeParameters");
42
31
  }
43
32
  copy() {
44
33
  const options = this.getGoCopyOptions();
@@ -1 +1 @@
1
- {"version":3,"names":["track","TrackOpTypes","trigger","TriggerOpTypes","GoSymbol","NamedTypeSymbol","symbolKind","memberSpaces","constructor","name","spaces","kind","options","typeKind","typeParameters","GET","value","old","SET","copy","getGoCopyOptions","undefined","initializeGoCopy","members","memberSpaceFor"],"sources":["../../../src/symbols/named-type.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,KAAK,EACLC,YAAY,EACZC,OAAO,EACPC,cAAc,QACT,gBAAgB;AAEvB,SAASC,QAAQ,QAAyB,SAAS;;AAEnD;;AAiBA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,SAASD,QAAQ,CAAC;EAC5BE,UAAU,GAAwB,YAAY;EAC9D,OAAuBC,YAAY,GAAG,CAAC,SAAS,CAAC;EAEjDC,WAAWA,CACTC,IAAsB,EACtBC,MAA+C,EAC/CC,IAAuB,EACvBC,OAAgC,EAChC;IACA,KAAK,CAACH,IAAI,EAAEC,MAAM,EAAEE,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACC,QAAQ,GAAGF,IAAI;IACrB,IAAI,CAAC,CAACG,cAAc,GAAGF,OAAO,EAAEE,cAAc;EAChD;EAEA,CAACD,QAAQ;EACT,IAAIA,QAAQA,CAAA,EAAG;IACbb,KAAK,CAAC,IAAI,EAAEC,YAAY,CAACc,GAAG,EAAE,UAAU,CAAC;IACzC,OAAO,IAAI,CAAC,CAACF,QAAQ;EACvB;EACA,IAAIA,QAAQA,CAACG,KAAwB,EAAE;IACrC,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACJ,QAAQ;IAC1B,IAAII,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IACA,IAAI,CAAC,CAACH,QAAQ,GAAGG,KAAK;IACtBd,OAAO,CAAC,IAAI,EAAEC,cAAc,CAACe,GAAG,EAAE,UAAU,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC3D;EAEA,CAACH,cAAc;EACf,IAAIA,cAAcA,CAAA,EAAG;IACnBd,KAAK,CAAC,IAAI,EAAEC,YAAY,CAACc,GAAG,EAAE,gBAAgB,CAAC;IAC/C,OAAO,IAAI,CAAC,CAACD,cAAc;EAC7B;EACA,IAAIA,cAAcA,CAACE,KAAuC,EAAE;IAC1D,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACH,cAAc;IAChC,IAAIG,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IACA,IAAI,CAAC,CAACF,cAAc,GAAGE,KAAK;IAC5Bd,OAAO,CAAC,IAAI,EAAEC,cAAc,CAACe,GAAG,EAAE,gBAAgB,EAAEF,KAAK,EAAEC,GAAG,CAAC;EACjE;EAEAE,IAAIA,CAAA,EAAG;IACL,MAAMP,OAAO,GAAG,IAAI,CAACQ,gBAAgB,CAAC,CAAC;IACvC,MAAMD,IAAI,GAAG,IAAId,eAAe,CAC9B,IAAI,CAACI,IAAI,EACTY,SAAS,EACT,IAAI,CAAC,CAACR,QAAQ,EACdD,OACF,CAAC;IACD,IAAI,CAACU,gBAAgB,CAACH,IAAI,CAAC;IAC3B,OAAOA,IAAI;EACb;EAEA,IAAII,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACC,cAAc,CAAC,SAAS,CAAC;EACvC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["track","TrackOpTypes","trigger","TriggerOpTypes","GoSymbol","NamedTypeSymbol","symbolKind","memberSpaces","constructor","name","spaces","kind","options","typeKind","GET","value","old","SET","typeParameters","memberSpaceFor","copy","getGoCopyOptions","undefined","initializeGoCopy","members"],"sources":["../../../src/symbols/named-type.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,KAAK,EACLC,YAAY,EACZC,OAAO,EACPC,cAAc,QACT,gBAAgB;AACvB,SAASC,QAAQ,QAAyB,SAAS;;AAEnD;;AAiBA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,SAASD,QAAQ,CAAC;EAC5BE,UAAU,GAAwB,YAAY;EAC9D,OAAuBC,YAAY,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC;EAEnEC,WAAWA,CACTC,IAAsB,EACtBC,MAA+C,EAC/CC,IAAuB,EACvBC,OAAgC,EAChC;IACA,KAAK,CAACH,IAAI,EAAEC,MAAM,EAAEE,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACC,QAAQ,GAAGF,IAAI;EACvB;EAEA,CAACE,QAAQ;EACT,IAAIA,QAAQA,CAAA,EAAG;IACbb,KAAK,CAAC,IAAI,EAAEC,YAAY,CAACa,GAAG,EAAE,UAAU,CAAC;IACzC,OAAO,IAAI,CAAC,CAACD,QAAQ;EACvB;EACA,IAAIA,QAAQA,CAACE,KAAwB,EAAE;IACrC,MAAMC,GAAG,GAAG,IAAI,CAAC,CAACH,QAAQ;IAC1B,IAAIG,GAAG,KAAKD,KAAK,EAAE;MACjB;IACF;IACA,IAAI,CAAC,CAACF,QAAQ,GAAGE,KAAK;IACtBb,OAAO,CAAC,IAAI,EAAEC,cAAc,CAACc,GAAG,EAAE,UAAU,EAAEF,KAAK,EAAEC,GAAG,CAAC;EAC3D;EAEA,IAAIE,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACC,cAAc,CAAC,gBAAgB,CAAC;EAC9C;EAEAC,IAAIA,CAAA,EAAG;IACL,MAAMR,OAAO,GAAG,IAAI,CAACS,gBAAgB,CAAC,CAAC;IACvC,MAAMD,IAAI,GAAG,IAAIf,eAAe,CAC9B,IAAI,CAACI,IAAI,EACTa,SAAS,EACT,IAAI,CAAC,CAACT,QAAQ,EACdD,OACF,CAAC;IACD,IAAI,CAACW,gBAAgB,CAACH,IAAI,CAAC;IAC3B,OAAOA,IAAI;EACb;EAEA,IAAII,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACL,cAAc,CAAC,SAAS,CAAC;EACvC;AACF","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import { Children, Namekey, OutputSpace } from "@alloy-js/core";
2
+ import { GoSymbol, GoSymbolOptions } from "./go.js";
3
+ interface TypeParameterSymbolOptions extends GoSymbolOptions {
4
+ constraint?: Children;
5
+ }
6
+ /**
7
+ * A symbol for type parameters in Go.
8
+ */
9
+ export declare class TypeParameterSymbol extends GoSymbol {
10
+ #private;
11
+ readonly symbolKind = "type-parameter";
12
+ constructor(name: string | Namekey, spaces: OutputSpace | undefined, options?: TypeParameterSymbolOptions);
13
+ get constraint(): Children;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=type-parameter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-parameter.d.ts","sourceRoot":"","sources":["../../../src/symbols/type-parameter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEpD,UAAU,0BAA2B,SAAQ,eAAe;IAC1D,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB;AACD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;;IAC/C,SAAgB,UAAU,oBAAoB;gBAG5C,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,GAAE,0BAA+B;IAO1C,IAAI,UAAU,IAAI,QAAQ,CAEzB;CACF"}
@@ -0,0 +1,16 @@
1
+ import { GoSymbol } from "./go.js";
2
+ /**
3
+ * A symbol for type parameters in Go.
4
+ */
5
+ export class TypeParameterSymbol extends GoSymbol {
6
+ symbolKind = "type-parameter";
7
+ constructor(name, spaces, options = {}) {
8
+ super(name, spaces, options);
9
+ this.#constraint = options.constraint ?? "any";
10
+ }
11
+ #constraint;
12
+ get constraint() {
13
+ return this.#constraint;
14
+ }
15
+ }
16
+ //# sourceMappingURL=type-parameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GoSymbol","TypeParameterSymbol","symbolKind","constructor","name","spaces","options","constraint"],"sources":["../../../src/symbols/type-parameter.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,QAAQ,QAAyB,SAAS;AAKnD;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,SAASD,QAAQ,CAAC;EAChCE,UAAU,GAAG,gBAAgB;EAE7CC,WAAWA,CACTC,IAAsB,EACtBC,MAA+B,EAC/BC,OAAmC,GAAG,CAAC,CAAC,EACxC;IACA,KAAK,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC;IAC5B,IAAI,CAAC,CAACC,UAAU,GAAGD,OAAO,CAACC,UAAU,IAAI,KAAK;EAChD;EAEA,CAACA,UAAU;EACX,IAAIA,UAAUA,CAAA,EAAa;IACzB,OAAO,IAAI,CAAC,CAACA,UAAU;EACzB;AACF","ignoreList":[]}