Skip to content

Commit 10ab702

Browse files
authored
[ffigen] Separate Symbols into distinct kinds (#2675)
1 parent f3d890c commit 10ab702

34 files changed

+730
-679
lines changed

pkgs/ffigen/example/libclang-example/generated_bindings.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ class LibClang {
4949
.asFunction<DartClang_disposeString>();
5050

5151
/// Free the given string set.
52-
void clang_disposeStringSet(ffi.Pointer<CXStringSet> set$) {
53-
return _clang_disposeStringSet(set$);
52+
void clang_disposeStringSet(ffi.Pointer<CXStringSet> set) {
53+
return _clang_disposeStringSet(set);
5454
}
5555

5656
late final _clang_disposeStringSetPtr =

pkgs/ffigen/example/objective_c/avf_audio_bindings.dart

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -672,11 +672,11 @@ class AVAudioPlayer extends objc.NSObject {
672672
}
673673

674674
/// allocWithZone:
675-
static AVAudioPlayer allocWithZone(ffi.Pointer<objc.NSZone> zone$1) {
675+
static AVAudioPlayer allocWithZone(ffi.Pointer<objc.NSZone> zone) {
676676
final $ret = _objc_msgSend_1cwp428(
677677
_class_AVAudioPlayer,
678678
_sel_allocWithZone_,
679-
zone$1,
679+
zone,
680680
);
681681
return AVAudioPlayer.castFromPointer($ret, retain: false, release: true);
682682
}
@@ -844,7 +844,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
844844

845845
/// initWithContentsOfURL:error:
846846
AVAudioPlayer? initWithContentsOfURL(
847-
objc.NSURL url$1, {
847+
objc.NSURL url, {
848848
required ffi.Pointer<ffi.Pointer<objc.ObjCObject>> error,
849849
}) {
850850
objc.checkOsVersionInternal(
@@ -855,7 +855,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
855855
final $ret = _objc_msgSend_1lhpu4m(
856856
this.ref.retainAndReturnPointer(),
857857
_sel_initWithContentsOfURL_error_,
858-
url$1.ref.pointer,
858+
url.ref.pointer,
859859
error,
860860
);
861861
return $ret.address == 0
@@ -865,7 +865,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
865865

866866
/// initWithContentsOfURL:fileTypeHint:error:
867867
AVAudioPlayer? initWithContentsOfURL$1(
868-
objc.NSURL url$1, {
868+
objc.NSURL url, {
869869
objc.NSString? fileTypeHint,
870870
required ffi.Pointer<ffi.Pointer<objc.ObjCObject>> error,
871871
}) {
@@ -877,7 +877,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
877877
final $ret = _objc_msgSend_1pnyuds(
878878
this.ref.retainAndReturnPointer(),
879879
_sel_initWithContentsOfURL_fileTypeHint_error_,
880-
url$1.ref.pointer,
880+
url.ref.pointer,
881881
fileTypeHint?.ref.pointer ?? ffi.nullptr,
882882
error,
883883
);
@@ -888,7 +888,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
888888

889889
/// initWithData:error:
890890
AVAudioPlayer? initWithData(
891-
objc.NSData data$1, {
891+
objc.NSData data, {
892892
required ffi.Pointer<ffi.Pointer<objc.ObjCObject>> error,
893893
}) {
894894
objc.checkOsVersionInternal(
@@ -899,7 +899,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
899899
final $ret = _objc_msgSend_1lhpu4m(
900900
this.ref.retainAndReturnPointer(),
901901
_sel_initWithData_error_,
902-
data$1.ref.pointer,
902+
data.ref.pointer,
903903
error,
904904
);
905905
return $ret.address == 0
@@ -909,7 +909,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
909909

910910
/// initWithData:fileTypeHint:error:
911911
AVAudioPlayer? initWithData$1(
912-
objc.NSData data$1, {
912+
objc.NSData data, {
913913
objc.NSString? fileTypeHint,
914914
required ffi.Pointer<ffi.Pointer<objc.ObjCObject>> error,
915915
}) {
@@ -921,7 +921,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
921921
final $ret = _objc_msgSend_1pnyuds(
922922
this.ref.retainAndReturnPointer(),
923923
_sel_initWithData_fileTypeHint_error_,
924-
data$1.ref.pointer,
924+
data.ref.pointer,
925925
fileTypeHint?.ref.pointer ?? ffi.nullptr,
926926
error,
927927
);
@@ -1199,7 +1199,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
11991199
}
12001200

12011201
/// setVolume:fadeDuration:
1202-
void setVolume(double volume$1, {required double fadeDuration}) {
1202+
void setVolume(double volume, {required double fadeDuration}) {
12031203
objc.checkOsVersionInternal(
12041204
'AVAudioPlayer.setVolume:fadeDuration:',
12051205
iOS: (false, (10, 0, 0)),
@@ -1208,7 +1208,7 @@ extension AVAudioPlayer$Methods on AVAudioPlayer {
12081208
_objc_msgSend_1p4uk9e(
12091209
this.ref.pointer,
12101210
_sel_setVolume_fadeDuration_,
1211-
volume$1,
1211+
volume,
12121212
fadeDuration,
12131213
);
12141214
}

pkgs/ffigen/example/swift/swift_api_bindings.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,11 @@ class SwiftClass extends objc.NSObject {
141141
}
142142

143143
/// allocWithZone:
144-
static SwiftClass allocWithZone(ffi.Pointer<objc.NSZone> zone$1) {
144+
static SwiftClass allocWithZone(ffi.Pointer<objc.NSZone> zone) {
145145
final $ret = _objc_msgSend_1cwp428(
146146
_class_SwiftClass,
147147
_sel_allocWithZone_,
148-
zone$1,
148+
zone,
149149
);
150150
return SwiftClass.castFromPointer($ret, retain: false, release: true);
151151
}

pkgs/ffigen/lib/src/code_generator/binding.dart

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ abstract class Binding extends AstNode implements Declaration {
4040
Binding({
4141
required this.usr,
4242
required this.originalName,
43-
required String name,
43+
required Symbol symbol,
4444
this.dartDoc,
4545
this.isInternal = false,
46-
}) : _symbol = Symbol(name);
46+
}) : _symbol = symbol;
4747

4848
/// Converts a Binding to its actual string representation.
4949
///
@@ -72,10 +72,13 @@ abstract class LookUpBinding extends Binding {
7272
LookUpBinding({
7373
String? usr,
7474
String? originalName,
75-
required super.name,
75+
required super.symbol,
7676
super.dartDoc,
7777
super.isInternal,
78-
}) : super(usr: usr ?? name, originalName: originalName ?? name);
78+
}) : super(
79+
usr: usr ?? symbol.oldName,
80+
originalName: originalName ?? symbol.oldName,
81+
);
7982

8083
@override
8184
void visit(Visitation visitation) => visitation.visitLookUpBinding(this);
@@ -88,10 +91,13 @@ abstract class NoLookUpBinding extends Binding {
8891
NoLookUpBinding({
8992
String? usr,
9093
String? originalName,
91-
required super.name,
94+
required super.symbol,
9295
super.dartDoc,
9396
super.isInternal,
94-
}) : super(usr: usr ?? name, originalName: originalName ?? name);
97+
}) : super(
98+
usr: usr ?? symbol.oldName,
99+
originalName: originalName ?? symbol.oldName,
100+
);
95101

96102
@override
97103
void visit(Visitation visitation) => visitation.visitNoLookUpBinding(this);

pkgs/ffigen/lib/src/code_generator/compound.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ class CompoundMember extends AstNode {
167167
required this.type,
168168
this.dartDoc,
169169
}) : originalName = originalName ?? name,
170-
_symbol = Symbol(name);
170+
_symbol = Symbol(name, SymbolKind.field);
171171

172172
@override
173173
void visitChildren(Visitor visitor) {

pkgs/ffigen/lib/src/code_generator/constant.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import '../visitor/ast.dart';
66
import 'binding.dart';
77
import 'binding_string.dart';
8+
import 'scope.dart';
89
import 'utils.dart';
910
import 'writer.dart';
1011

@@ -31,11 +32,11 @@ class Constant extends NoLookUpBinding {
3132
Constant({
3233
super.usr,
3334
super.originalName,
34-
required super.name,
35+
required String name,
3536
super.dartDoc,
3637
required this.rawType,
3738
required this.rawValue,
38-
});
39+
}) : super(symbol: Symbol(name, SymbolKind.field));
3940

4041
@override
4142
BindingString toBindingString(Writer w) {

pkgs/ffigen/lib/src/code_generator/dart_keywords.dart

Lines changed: 0 additions & 73 deletions
This file was deleted.

pkgs/ffigen/lib/src/code_generator/enum_class.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ class EnumConstant extends AstNode {
301301
required this.value,
302302
this.dartDoc,
303303
}) : originalName = originalName ?? name,
304-
_symbol = Symbol(name);
304+
_symbol = Symbol(name, SymbolKind.field);
305305

306306
@override
307307
void visitChildren(Visitor visitor) {

pkgs/ffigen/lib/src/code_generator/func.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ class Func extends LookUpBinding with HasLocalScope {
7575
parameters: parameters,
7676
varArgParameters: varArgParameters,
7777
),
78-
super(name: name) {
78+
super(symbol: Symbol(name, SymbolKind.method)) {
7979
for (var i = 0; i < functionType.parameters.length; i++) {
8080
if (functionType.parameters[i].symbol.oldName.isEmpty) {
81-
functionType.parameters[i].symbol = Symbol('arg$i');
81+
functionType.parameters[i].symbol = Symbol('arg$i', SymbolKind.field);
8282
}
8383
}
8484

@@ -250,7 +250,7 @@ class Parameter extends AstNode {
250250
required Type type,
251251
required this.objCConsumed,
252252
}) : originalName = originalName ?? name,
253-
symbol = Symbol(name),
253+
symbol = Symbol(name, SymbolKind.field),
254254
// A [NativeFunc] is wrapped with a pointer because this is a shorthand
255255
// used in C for Pointer to function.
256256
type = type.typealiasType is NativeFunc ? PointerType(type) : type;

pkgs/ffigen/lib/src/code_generator/global.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'binding_string.dart';
88
import 'compound.dart';
99
import 'imports.dart';
1010
import 'pointer.dart';
11+
import 'scope.dart';
1112
import 'type.dart';
1213
import 'utils.dart';
1314
import 'writer.dart';
@@ -33,13 +34,13 @@ class Global extends LookUpBinding {
3334
Global({
3435
super.usr,
3536
super.originalName,
36-
required super.name,
37+
required String name,
3738
required this.type,
3839
super.dartDoc,
3940
this.exposeSymbolAddress = false,
4041
this.constant = false,
4142
this.loadFromNativeAsset = false,
42-
});
43+
}) : super(symbol: Symbol(name, SymbolKind.field));
4344

4445
@override
4546
BindingString toBindingString(Writer w) {

0 commit comments

Comments
 (0)