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
Make RemoteObject.subtype more lenient because the protocol lies
The RemoteObject.subtype is not statically known, so the protocol's
enum values are insufficient.
One value that exists for sure and is not listed is 'trustedtype'.
In general, we should make this enum more lenient.
This commit introduces the concept of non-exhaustive enums to mark
that some enums are actually just strings with some known values.
Fixes: #546
@@ -49433,36 +49433,190 @@ public final class org/hildan/chrome/devtools/domains/runtime/RemoteObject$Compa
49433
49433
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49434
49434
}
49435
49435
49436
-
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype : java/lang/Enum {
49436
+
public abstract interface class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49437
49437
public static final field Companion Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$Companion;
49438
-
public static final field array Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49439
-
public static final field arraybuffer Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49440
-
public static final field dataview Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49441
-
public static final field date Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49442
-
public static final field error Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49443
-
public static final field generator Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49444
-
public static final field iterator Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49445
-
public static final field map Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49446
-
public static final field node Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49447
-
public static final field null Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49448
-
public static final field promise Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49449
-
public static final field proxy Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49450
-
public static final field regexp Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49451
-
public static final field set Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49452
-
public static final field typedarray Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49453
-
public static final field wasmvalue Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49454
-
public static final field weakmap Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49455
-
public static final field weakset Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49456
-
public static final field webassemblymemory Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49457
-
public static fun getEntries ()Lkotlin/enums/EnumEntries;
49458
-
public static fun valueOf (Ljava/lang/String;)Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49459
-
public static fun values ()[Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype;
49460
49438
}
49461
49439
49462
49440
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$Companion {
49463
49441
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49464
49442
}
49465
49443
49444
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$NotDefinedInProtocol : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49445
+
public static final field Companion Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$NotDefinedInProtocol$Companion;
49446
+
public fun <init> (Ljava/lang/String;)V
49447
+
public final fun component1 ()Ljava/lang/String;
49448
+
public final fun copy (Ljava/lang/String;)Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$NotDefinedInProtocol;
49449
+
public static synthetic fun copy$default (Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$NotDefinedInProtocol;Ljava/lang/String;ILjava/lang/Object;)Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$NotDefinedInProtocol;
49450
+
public fun equals (Ljava/lang/Object;)Z
49451
+
public final fun getValue ()Ljava/lang/String;
49452
+
public fun hashCode ()I
49453
+
public fun toString ()Ljava/lang/String;
49454
+
}
49455
+
49456
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$NotDefinedInProtocol$Companion {
49457
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49458
+
}
49459
+
49460
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$array : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49461
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$array;
49462
+
public fun equals (Ljava/lang/Object;)Z
49463
+
public fun hashCode ()I
49464
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49465
+
public fun toString ()Ljava/lang/String;
49466
+
}
49467
+
49468
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$arraybuffer : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49469
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$arraybuffer;
49470
+
public fun equals (Ljava/lang/Object;)Z
49471
+
public fun hashCode ()I
49472
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49473
+
public fun toString ()Ljava/lang/String;
49474
+
}
49475
+
49476
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$dataview : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49477
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$dataview;
49478
+
public fun equals (Ljava/lang/Object;)Z
49479
+
public fun hashCode ()I
49480
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49481
+
public fun toString ()Ljava/lang/String;
49482
+
}
49483
+
49484
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$date : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49485
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$date;
49486
+
public fun equals (Ljava/lang/Object;)Z
49487
+
public fun hashCode ()I
49488
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49489
+
public fun toString ()Ljava/lang/String;
49490
+
}
49491
+
49492
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$error : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49493
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$error;
49494
+
public fun equals (Ljava/lang/Object;)Z
49495
+
public fun hashCode ()I
49496
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49497
+
public fun toString ()Ljava/lang/String;
49498
+
}
49499
+
49500
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$generator : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49501
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$generator;
49502
+
public fun equals (Ljava/lang/Object;)Z
49503
+
public fun hashCode ()I
49504
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49505
+
public fun toString ()Ljava/lang/String;
49506
+
}
49507
+
49508
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$iterator : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49509
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$iterator;
49510
+
public fun equals (Ljava/lang/Object;)Z
49511
+
public fun hashCode ()I
49512
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49513
+
public fun toString ()Ljava/lang/String;
49514
+
}
49515
+
49516
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$map : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49517
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$map;
49518
+
public fun equals (Ljava/lang/Object;)Z
49519
+
public fun hashCode ()I
49520
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49521
+
public fun toString ()Ljava/lang/String;
49522
+
}
49523
+
49524
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$node : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49525
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$node;
49526
+
public fun equals (Ljava/lang/Object;)Z
49527
+
public fun hashCode ()I
49528
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49529
+
public fun toString ()Ljava/lang/String;
49530
+
}
49531
+
49532
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$null : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49533
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$null;
49534
+
public fun equals (Ljava/lang/Object;)Z
49535
+
public fun hashCode ()I
49536
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49537
+
public fun toString ()Ljava/lang/String;
49538
+
}
49539
+
49540
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$promise : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49541
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$promise;
49542
+
public fun equals (Ljava/lang/Object;)Z
49543
+
public fun hashCode ()I
49544
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49545
+
public fun toString ()Ljava/lang/String;
49546
+
}
49547
+
49548
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$proxy : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49549
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$proxy;
49550
+
public fun equals (Ljava/lang/Object;)Z
49551
+
public fun hashCode ()I
49552
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49553
+
public fun toString ()Ljava/lang/String;
49554
+
}
49555
+
49556
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$regexp : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49557
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$regexp;
49558
+
public fun equals (Ljava/lang/Object;)Z
49559
+
public fun hashCode ()I
49560
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49561
+
public fun toString ()Ljava/lang/String;
49562
+
}
49563
+
49564
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$set : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49565
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$set;
49566
+
public fun equals (Ljava/lang/Object;)Z
49567
+
public fun hashCode ()I
49568
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49569
+
public fun toString ()Ljava/lang/String;
49570
+
}
49571
+
49572
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$trustedtype : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49573
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$trustedtype;
49574
+
public fun equals (Ljava/lang/Object;)Z
49575
+
public fun hashCode ()I
49576
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49577
+
public fun toString ()Ljava/lang/String;
49578
+
}
49579
+
49580
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$typedarray : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49581
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$typedarray;
49582
+
public fun equals (Ljava/lang/Object;)Z
49583
+
public fun hashCode ()I
49584
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49585
+
public fun toString ()Ljava/lang/String;
49586
+
}
49587
+
49588
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$wasmvalue : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49589
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$wasmvalue;
49590
+
public fun equals (Ljava/lang/Object;)Z
49591
+
public fun hashCode ()I
49592
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49593
+
public fun toString ()Ljava/lang/String;
49594
+
}
49595
+
49596
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$weakmap : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49597
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$weakmap;
49598
+
public fun equals (Ljava/lang/Object;)Z
49599
+
public fun hashCode ()I
49600
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49601
+
public fun toString ()Ljava/lang/String;
49602
+
}
49603
+
49604
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$weakset : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49605
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$weakset;
49606
+
public fun equals (Ljava/lang/Object;)Z
49607
+
public fun hashCode ()I
49608
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49609
+
public fun toString ()Ljava/lang/String;
49610
+
}
49611
+
49612
+
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$webassemblymemory : org/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype {
49613
+
public static final field INSTANCE Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectSubtype$webassemblymemory;
49614
+
public fun equals (Ljava/lang/Object;)Z
49615
+
public fun hashCode ()I
49616
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
49617
+
public fun toString ()Ljava/lang/String;
49618
+
}
49619
+
49466
49620
public final class org/hildan/chrome/devtools/domains/runtime/RemoteObjectType : java/lang/Enum {
49467
49621
public static final field Companion Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectType$Companion;
49468
49622
public static final field bigint Lorg/hildan/chrome/devtools/domains/runtime/RemoteObjectType;
Copy file name to clipboardExpand all lines: protocol-generator/cdp-json-parser/src/main/kotlin/org/hildan/chrome/devtools/protocol/json/JsonProtocolTypes.kt
Copy file name to clipboardExpand all lines: protocol-generator/cdp-kotlin-generator/src/main/kotlin/org/hildan/chrome/devtools/protocol/generator/DomainTypesGenerator.kt
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ private fun DomainTypeDeclaration.toDataClassTypeSpec(type: ChromeDPType.Object)
Copy file name to clipboardExpand all lines: protocol-generator/cdp-kotlin-generator/src/main/kotlin/org/hildan/chrome/devtools/protocol/model/Model.kt
Copy file name to clipboardExpand all lines: protocol-generator/cdp-kotlin-generator/src/main/kotlin/org/hildan/chrome/devtools/protocol/preprocessing/EnumFixer.kt
0 commit comments