You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for Context Parameters (#2094) (#2112)
* Add support for Context Parameters (#2094)
* Add support for Context Parameters (#2094)
* Add support for Context Parameters (#2094)
* Add support for Context Parameters (#2094)
Co-authored-by: Egor Andreevich <[email protected]>
* Add support for Context Parameters (#2094)
* Add support for Context Parameters (#2094)
* Add support for Context Parameters (#2094)
---------
Co-authored-by: Egor Andreevich <[email protected]>
KotlinPoet supports Kotlin's context parameters feature, which allows you to add context parameters to functions and properties. Context parameters are added using the `contextParameter()` method:
Copy file name to clipboardExpand all lines: kotlinpoet/api/kotlinpoet.api
+28-4
Original file line number
Diff line number
Diff line change
@@ -154,6 +154,22 @@ public final class com/squareup/kotlinpoet/CodeBlocks {
154
154
public static final fun withIndent (Lcom/squareup/kotlinpoet/CodeBlock$Builder;Lkotlin/jvm/functions/Function1;)Lcom/squareup/kotlinpoet/CodeBlock$Builder;
155
155
}
156
156
157
+
public final class com/squareup/kotlinpoet/ContextParameter {
158
+
public fun <init> (Lcom/squareup/kotlinpoet/TypeName;)V
159
+
public fun <init> (Ljava/lang/String;Lcom/squareup/kotlinpoet/TypeName;)V
160
+
public fun equals (Ljava/lang/Object;)Z
161
+
public final fun getName ()Ljava/lang/String;
162
+
public final fun getType ()Lcom/squareup/kotlinpoet/TypeName;
163
+
public fun hashCode ()I
164
+
public fun toString ()Ljava/lang/String;
165
+
}
166
+
167
+
public abstract interface class com/squareup/kotlinpoet/ContextParameterizable {
168
+
}
169
+
170
+
public abstract interface class com/squareup/kotlinpoet/ContextParameterizable$Builder {
171
+
}
172
+
157
173
public abstract interface class com/squareup/kotlinpoet/ContextReceivable {
158
174
}
159
175
@@ -293,14 +309,15 @@ public final class com/squareup/kotlinpoet/FileSpec$Companion {
293
309
public static synthetic fun scriptBuilder$default (Lcom/squareup/kotlinpoet/FileSpec$Companion;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/squareup/kotlinpoet/FileSpec$Builder;
294
310
}
295
311
296
-
public final class com/squareup/kotlinpoet/FunSpec : com/squareup/kotlinpoet/Annotatable, com/squareup/kotlinpoet/ContextReceivable, com/squareup/kotlinpoet/Documentable, com/squareup/kotlinpoet/OriginatingElementsHolder, com/squareup/kotlinpoet/Taggable {
312
+
public final class com/squareup/kotlinpoet/FunSpec : com/squareup/kotlinpoet/Annotatable, com/squareup/kotlinpoet/ContextParameterizable, com/squareup/kotlinpoet/ContextReceivable, com/squareup/kotlinpoet/Documentable, com/squareup/kotlinpoet/OriginatingElementsHolder, com/squareup/kotlinpoet/Taggable {
297
313
public static final field Companion Lcom/squareup/kotlinpoet/FunSpec$Companion;
298
314
public static final fun builder (Lcom/squareup/kotlinpoet/MemberName;)Lcom/squareup/kotlinpoet/FunSpec$Builder;
299
315
public static final fun builder (Ljava/lang/String;)Lcom/squareup/kotlinpoet/FunSpec$Builder;
300
316
public static final fun constructorBuilder ()Lcom/squareup/kotlinpoet/FunSpec$Builder;
301
317
public fun equals (Ljava/lang/Object;)Z
302
318
public fun getAnnotations ()Ljava/util/List;
303
319
public final fun getBody ()Lcom/squareup/kotlinpoet/CodeBlock;
320
+
public fun getContextParameters ()Ljava/util/List;
304
321
public fun getContextReceiverTypes ()Ljava/util/List;
305
322
public final fun getDelegateConstructor ()Ljava/lang/String;
306
323
public final fun getDelegateConstructorArguments ()Ljava/util/List;
@@ -330,7 +347,7 @@ public final class com/squareup/kotlinpoet/FunSpec : com/squareup/kotlinpoet/Ann
330
347
public fun toString ()Ljava/lang/String;
331
348
}
332
349
333
-
public final class com/squareup/kotlinpoet/FunSpec$Builder : com/squareup/kotlinpoet/Annotatable$Builder, com/squareup/kotlinpoet/ContextReceivable$Builder, com/squareup/kotlinpoet/Documentable$Builder, com/squareup/kotlinpoet/OriginatingElementsHolder$Builder, com/squareup/kotlinpoet/Taggable$Builder {
350
+
public final class com/squareup/kotlinpoet/FunSpec$Builder : com/squareup/kotlinpoet/Annotatable$Builder, com/squareup/kotlinpoet/ContextParameterizable$Builder, com/squareup/kotlinpoet/ContextReceivable$Builder, com/squareup/kotlinpoet/Documentable$Builder, com/squareup/kotlinpoet/OriginatingElementsHolder$Builder, com/squareup/kotlinpoet/Taggable$Builder {
334
351
public synthetic fun addAnnotation (Lcom/squareup/kotlinpoet/AnnotationSpec;)Lcom/squareup/kotlinpoet/Annotatable$Builder;
335
352
public fun addAnnotation (Lcom/squareup/kotlinpoet/AnnotationSpec;)Lcom/squareup/kotlinpoet/FunSpec$Builder;
336
353
public synthetic fun addAnnotation (Lcom/squareup/kotlinpoet/ClassName;)Lcom/squareup/kotlinpoet/Annotatable$Builder;
@@ -375,6 +392,9 @@ public final class com/squareup/kotlinpoet/FunSpec$Builder : com/squareup/kotlin
375
392
public final fun callThisConstructor ([Ljava/lang/String;)Lcom/squareup/kotlinpoet/FunSpec$Builder;
376
393
public static synthetic fun callThisConstructor$default (Lcom/squareup/kotlinpoet/FunSpec$Builder;[Lcom/squareup/kotlinpoet/CodeBlock;ILjava/lang/Object;)Lcom/squareup/kotlinpoet/FunSpec$Builder;
377
394
public final fun clearBody ()Lcom/squareup/kotlinpoet/FunSpec$Builder;
395
+
public synthetic fun contextParameter (Lcom/squareup/kotlinpoet/TypeName;)Lcom/squareup/kotlinpoet/ContextParameterizable$Builder;
396
+
public synthetic fun contextParameter (Ljava/lang/String;Lcom/squareup/kotlinpoet/TypeName;)Lcom/squareup/kotlinpoet/ContextParameterizable$Builder;
397
+
public synthetic fun contextParameters (Ljava/lang/Iterable;)Lcom/squareup/kotlinpoet/ContextParameterizable$Builder;
378
398
public synthetic fun contextReceivers (Ljava/lang/Iterable;)Lcom/squareup/kotlinpoet/ContextReceivable$Builder;
379
399
public final fun endControlFlow ()Lcom/squareup/kotlinpoet/FunSpec$Builder;
380
400
public fun getAnnotations ()Ljava/util/List;
@@ -720,7 +740,7 @@ public final class com/squareup/kotlinpoet/ParameterizedTypeNames {
720
740
public static final fun get (Ljava/lang/reflect/ParameterizedType;)Lcom/squareup/kotlinpoet/ParameterizedTypeName;
721
741
}
722
742
723
-
public final class com/squareup/kotlinpoet/PropertySpec : com/squareup/kotlinpoet/Annotatable, com/squareup/kotlinpoet/ContextReceivable, com/squareup/kotlinpoet/Documentable, com/squareup/kotlinpoet/OriginatingElementsHolder, com/squareup/kotlinpoet/Taggable {
743
+
public final class com/squareup/kotlinpoet/PropertySpec : com/squareup/kotlinpoet/Annotatable, com/squareup/kotlinpoet/ContextParameterizable, com/squareup/kotlinpoet/ContextReceivable, com/squareup/kotlinpoet/Documentable, com/squareup/kotlinpoet/OriginatingElementsHolder, com/squareup/kotlinpoet/Taggable {
724
744
public static final field Companion Lcom/squareup/kotlinpoet/PropertySpec$Companion;
725
745
public static final fun builder (Ljava/lang/String;Lcom/squareup/kotlinpoet/TypeName;Ljava/lang/Iterable;)Lcom/squareup/kotlinpoet/PropertySpec$Builder;
726
746
public static final fun builder (Ljava/lang/String;Lcom/squareup/kotlinpoet/TypeName;[Lcom/squareup/kotlinpoet/KModifier;)Lcom/squareup/kotlinpoet/PropertySpec$Builder;
@@ -730,6 +750,7 @@ public final class com/squareup/kotlinpoet/PropertySpec : com/squareup/kotlinpoe
730
750
public static final fun builder (Ljava/lang/String;Lkotlin/reflect/KClass;[Lcom/squareup/kotlinpoet/KModifier;)Lcom/squareup/kotlinpoet/PropertySpec$Builder;
731
751
public fun equals (Ljava/lang/Object;)Z
732
752
public fun getAnnotations ()Ljava/util/List;
753
+
public fun getContextParameters ()Ljava/util/List;
733
754
public fun getContextReceiverTypes ()Ljava/util/List;
734
755
public final fun getDelegated ()Z
735
756
public final fun getGetter ()Lcom/squareup/kotlinpoet/FunSpec;
@@ -754,7 +775,7 @@ public final class com/squareup/kotlinpoet/PropertySpec : com/squareup/kotlinpoe
754
775
public fun toString ()Ljava/lang/String;
755
776
}
756
777
757
-
public final class com/squareup/kotlinpoet/PropertySpec$Builder : com/squareup/kotlinpoet/Annotatable$Builder, com/squareup/kotlinpoet/ContextReceivable$Builder, com/squareup/kotlinpoet/Documentable$Builder, com/squareup/kotlinpoet/OriginatingElementsHolder$Builder, com/squareup/kotlinpoet/Taggable$Builder {
778
+
public final class com/squareup/kotlinpoet/PropertySpec$Builder : com/squareup/kotlinpoet/Annotatable$Builder, com/squareup/kotlinpoet/ContextParameterizable$Builder, com/squareup/kotlinpoet/ContextReceivable$Builder, com/squareup/kotlinpoet/Documentable$Builder, com/squareup/kotlinpoet/OriginatingElementsHolder$Builder, com/squareup/kotlinpoet/Taggable$Builder {
758
779
public synthetic fun addAnnotation (Lcom/squareup/kotlinpoet/AnnotationSpec;)Lcom/squareup/kotlinpoet/Annotatable$Builder;
759
780
public fun addAnnotation (Lcom/squareup/kotlinpoet/AnnotationSpec;)Lcom/squareup/kotlinpoet/PropertySpec$Builder;
760
781
public synthetic fun addAnnotation (Lcom/squareup/kotlinpoet/ClassName;)Lcom/squareup/kotlinpoet/Annotatable$Builder;
@@ -774,6 +795,9 @@ public final class com/squareup/kotlinpoet/PropertySpec$Builder : com/squareup/k
774
795
public final fun addTypeVariable (Lcom/squareup/kotlinpoet/TypeVariableName;)Lcom/squareup/kotlinpoet/PropertySpec$Builder;
775
796
public final fun addTypeVariables (Ljava/lang/Iterable;)Lcom/squareup/kotlinpoet/PropertySpec$Builder;
776
797
public final fun build ()Lcom/squareup/kotlinpoet/PropertySpec;
798
+
public synthetic fun contextParameter (Lcom/squareup/kotlinpoet/TypeName;)Lcom/squareup/kotlinpoet/ContextParameterizable$Builder;
799
+
public synthetic fun contextParameter (Ljava/lang/String;Lcom/squareup/kotlinpoet/TypeName;)Lcom/squareup/kotlinpoet/ContextParameterizable$Builder;
800
+
public synthetic fun contextParameters (Ljava/lang/Iterable;)Lcom/squareup/kotlinpoet/ContextParameterizable$Builder;
777
801
public final fun delegate (Lcom/squareup/kotlinpoet/CodeBlock;)Lcom/squareup/kotlinpoet/PropertySpec$Builder;
778
802
public final fun delegate (Ljava/lang/String;[Ljava/lang/Object;)Lcom/squareup/kotlinpoet/PropertySpec$Builder;
0 commit comments