-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathConstants.cs
More file actions
167 lines (135 loc) · 6.74 KB
/
Copy pathConstants.cs
File metadata and controls
167 lines (135 loc) · 6.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
// Copyright (c) 2019-2026 ReactiveUI Association Incorporated. All rights reserved.
// ReactiveUI Association Incorporated licenses this file to you under the MIT license.
// See the LICENSE file in the project root for full license information.
namespace ReactiveUI.Binding.SourceGenerators;
/// <summary>
/// Constants shared between the source generator and analyzer projects.
/// Contains well-known metadata names for platform detection and API stub definitions.
/// </summary>
internal static class Constants
{
/// <summary>
/// Metadata name for <see cref="System.ComponentModel.INotifyPropertyChanged"/>.
/// </summary>
internal const string INotifyPropertyChangedMetadataName = "System.ComponentModel.INotifyPropertyChanged";
/// <summary>
/// Metadata name for <see cref="System.ComponentModel.INotifyPropertyChanging"/>.
/// </summary>
internal const string INotifyPropertyChangingMetadataName = "System.ComponentModel.INotifyPropertyChanging";
/// <summary>
/// Metadata name for ReactiveUI's <c>IReactiveObject</c> interface.
/// </summary>
internal const string IReactiveObjectMetadataName = "ReactiveUI.IReactiveObject";
/// <summary>
/// Metadata name for WPF's <c>DependencyObject</c> base class.
/// </summary>
internal const string WpfDependencyObjectMetadataName = "System.Windows.DependencyObject";
/// <summary>
/// Metadata name for WinUI's <c>DependencyObject</c> base class.
/// </summary>
internal const string WinUIDependencyObjectMetadataName = "Microsoft.UI.Xaml.DependencyObject";
/// <summary>
/// Metadata name for Apple's <c>NSObject</c> base class (KVO support).
/// </summary>
internal const string NSObjectMetadataName = "Foundation.NSObject";
/// <summary>
/// Metadata name for WinForms' <c>Component</c> base class.
/// </summary>
internal const string WinFormsComponentMetadataName = "System.ComponentModel.Component";
/// <summary>
/// Metadata name for Android's <c>View</c> base class.
/// </summary>
internal const string AndroidViewMetadataName = "Android.Views.View";
/// <summary>
/// Metadata name for <see cref="System.ComponentModel.INotifyDataErrorInfo"/>.
/// </summary>
internal const string INotifyDataErrorInfoMetadataName = "System.ComponentModel.INotifyDataErrorInfo";
/// <summary>
/// Class name for the runtime API stub extension class emitted as post-initialization output.
/// </summary>
internal const string StubExtensionClassName = "ReactiveUIBindingExtensions";
/// <summary>
/// Class name for the scheduler-related extension methods stub class.
/// </summary>
internal const string SchedulerExtensionClassName = "ReactiveSchedulerExtensions";
/// <summary>
/// Class name for the generated per-invocation dispatch class.
/// </summary>
internal const string GeneratedExtensionClassName = "__ReactiveUIGeneratedBindings";
/// <summary>
/// Class name for the generated module-initializer registration class.
/// </summary>
internal const string GeneratedBinderRegistrationClassName = "__GeneratedBinderRegistration";
/// <summary>
/// Method name for after-change property observation (<c>WhenChanged</c>).
/// </summary>
internal const string WhenChangedMethodName = "WhenChanged";
/// <summary>
/// Method name for before-change property observation (<c>WhenChanging</c>).
/// </summary>
internal const string WhenChangingMethodName = "WhenChanging";
/// <summary>
/// Method name for source-generated one-way binding (<c>BindOneWay</c>).
/// </summary>
internal const string BindOneWayMethodName = "BindOneWay";
/// <summary>
/// Method name for source-generated two-way binding (<c>BindTwoWay</c>).
/// </summary>
internal const string BindTwoWayMethodName = "BindTwoWay";
/// <summary>
/// Method name for ReactiveUI-compatible one-way binding (<c>OneWayBind</c>).
/// </summary>
internal const string OneWayBindMethodName = "OneWayBind";
/// <summary>
/// Method name for ReactiveUI-compatible two-way binding (<c>Bind</c>).
/// </summary>
internal const string BindMethodName = "Bind";
/// <summary>
/// Method name for multi-property value observation (<c>WhenAnyValue</c>).
/// </summary>
internal const string WhenAnyValueMethodName = "WhenAnyValue";
/// <summary>
/// Method name for multi-property observation with <c>IObservedChange</c> wrappers (<c>WhenAny</c>).
/// </summary>
internal const string WhenAnyMethodName = "WhenAny";
/// <summary>
/// Method name for observable-of-observables merging (<c>WhenAnyObservable</c>).
/// </summary>
internal const string WhenAnyObservableMethodName = "WhenAnyObservable";
/// <summary>
/// Method name for interaction binding (<c>BindInteraction</c>).
/// </summary>
internal const string BindInteractionMethodName = "BindInteraction";
/// <summary>
/// Method name for command binding (<c>BindCommand</c>).
/// </summary>
internal const string BindCommandMethodName = "BindCommand";
/// <summary>
/// Metadata name for the open generic <c>IViewFor<T></c> interface used for view resolution.
/// </summary>
internal const string IViewForGenericMetadataName = "ReactiveUI.Binding.IViewFor`1";
/// <summary>
/// Metadata name for the <c>IBindingTypeConverter</c> interface used for custom type conversions.
/// </summary>
internal const string IBindingTypeConverterMetadataName = "ReactiveUI.Binding.IBindingTypeConverter";
/// <summary>
/// Metadata name for the open generic <c>IInteraction<TInput, TOutput></c> interface.
/// </summary>
internal const string IInteractionMetadataName = "ReactiveUI.Binding.IInteraction`2";
/// <summary>
/// Metadata name for the <c>System.Windows.Input.ICommand</c> interface.
/// </summary>
internal const string ICommandMetadataName = "System.Windows.Input.ICommand";
/// <summary>
/// Metadata name for the <c>CallerFilePathAttribute</c> used in dispatch stubs.
/// </summary>
internal const string CallerFilePathAttributeName = "System.Runtime.CompilerServices.CallerFilePathAttribute";
/// <summary>
/// Metadata name for the <c>CallerLineNumberAttribute</c> used in dispatch stubs.
/// </summary>
internal const string CallerLineNumberAttributeName = "System.Runtime.CompilerServices.CallerLineNumberAttribute";
/// <summary>
/// Metadata name for the <c>CallerArgumentExpressionAttribute</c> used in dispatch stubs for C# 10+ projects.
/// </summary>
internal const string CallerArgumentExpressionAttributeMetadataName = "System.Runtime.CompilerServices.CallerArgumentExpressionAttribute";
}