Test enum classes
Fix
@@ -210,3 +210,65 @@ class Test(x: Int, y: Int) {
(value_arguments
(value_argument (integer_literal))
(value_argument (integer_literal))))))))
+
+==================
+Enum classes
+==================
+
+enum class Suit {
+ DIAMONDS, CLOVERS, HEARTS, SPADES
+}
+
+enum class Color(val rgb: Int) {
+ RED(0xFF0000),
+ GREEN(0x00FF00),
+ BLUE(0x0000FF);
+
+ override fun toString() = rgb.toString(16)
+}
+
+---
+
+(source_file
+ (class_declaration
+ (type_identifier)
+ (enum_class_body
+ (enum_entry
+ (simple_identifier))
+ (enum_entry
+ (simple_identifier))
+ (enum_entry
+ (simple_identifier))
+ (enum_entry
+ (simple_identifier))))
+ (class_declaration
+ (type_identifier)
+ (primary_constructor
+ (class_parameter
+ (simple_identifier)
+ (user_type (type_identifier))))
+ (enum_class_body
+ (enum_entry
+ (simple_identifier)
+ (value_arguments
+ (value_argument (hex_literal))))
+ (enum_entry
+ (simple_identifier)
+ (value_arguments
+ (value_argument (hex_literal))))
+ (enum_entry
+ (simple_identifier)
+ (value_arguments
+ (value_argument (hex_literal))))
+ (function_declaration
+ (modifiers (member_modifier))
+ (simple_identifier)
+ (function_body
+ (call_expression
+ (navigation_expression
+ (simple_identifier)
+ (navigation_suffix
+ (simple_identifier)))
+ (call_suffix
+ (value_arguments
+ (value_argument (integer_literal))))))))))
