diff --git a/antlr/YorkieSchema.g4 b/antlr/YorkieSchema.g4 index b6950cf..9ad7ce2 100644 --- a/antlr/YorkieSchema.g4 +++ b/antlr/YorkieSchema.g4 @@ -43,6 +43,7 @@ primaryType | objectType | yorkieType | typeReference + | literal ; primitiveType @@ -60,7 +61,7 @@ objectType ; propertySignature - : propertyName typeAnnotation ';' + : propertyName '?'? typeAnnotation ';' ; propertyName @@ -70,11 +71,11 @@ propertyName // Yorkie specific types yorkieType - : 'yorkie.Object' - | 'yorkie.Array' - | 'yorkie.Counter' - | 'yorkie.Text' - | 'yorkie.Tree' + : 'yorkie.Object' typeArguments + | 'yorkie.Array' typeArguments + | 'yorkie.Counter' typeArguments? + | 'yorkie.Text' typeArguments? + | 'yorkie.Tree' typeArguments? ; typeReference diff --git a/antlr/YorkieSchema.interp b/antlr/YorkieSchema.interp index bcda26a..12d7f84 100644 --- a/antlr/YorkieSchema.interp +++ b/antlr/YorkieSchema.interp @@ -18,6 +18,7 @@ null 'undefined' '{' '}' +'?' 'yorkie.Object' 'yorkie.Array' 'yorkie.Counter' @@ -68,6 +69,7 @@ null null null null +null Identifier StringLiteral NumberLiteral @@ -102,4 +104,4 @@ literal atn: -[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 3, 38, 175, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 3, 2, 7, 2, 48, 10, 2, 12, 2, 14, 2, 51, 11, 2, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 57, 10, 3, 3, 4, 3, 4, 3, 4, 5, 4, 62, 10, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 5, 5, 71, 10, 5, 3, 5, 3, 5, 5, 5, 75, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 7, 8, 87, 10, 8, 12, 8, 14, 8, 90, 11, 8, 3, 9, 3, 9, 3, 9, 7, 9, 95, 10, 9, 12, 9, 14, 9, 98, 11, 9, 3, 10, 3, 10, 3, 10, 7, 10, 103, 10, 10, 12, 10, 14, 10, 106, 11, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 5, 11, 113, 10, 11, 3, 12, 3, 12, 3, 13, 3, 13, 7, 13, 119, 10, 13, 12, 13, 14, 13, 122, 11, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 5, 17, 136, 10, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 7, 19, 146, 10, 19, 12, 19, 14, 19, 149, 11, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 5, 20, 156, 10, 20, 3, 21, 3, 21, 3, 21, 3, 21, 7, 21, 162, 10, 21, 12, 21, 14, 21, 165, 11, 21, 3, 21, 3, 21, 3, 22, 3, 22, 5, 22, 171, 10, 22, 3, 23, 3, 23, 3, 23, 2, 2, 2, 24, 2, 2, 4, 2, 6, 2, 8, 2, 10, 2, 12, 2, 14, 2, 16, 2, 18, 2, 20, 2, 22, 2, 24, 2, 26, 2, 28, 2, 30, 2, 32, 2, 34, 2, 36, 2, 38, 2, 40, 2, 42, 2, 44, 2, 2, 6, 3, 2, 12, 18, 3, 2, 32, 33, 3, 2, 21, 25, 3, 2, 33, 35, 2, 170, 2, 49, 3, 2, 2, 2, 4, 56, 3, 2, 2, 2, 6, 58, 3, 2, 2, 2, 8, 67, 3, 2, 2, 2, 10, 78, 3, 2, 2, 2, 12, 81, 3, 2, 2, 2, 14, 83, 3, 2, 2, 2, 16, 91, 3, 2, 2, 2, 18, 99, 3, 2, 2, 2, 20, 112, 3, 2, 2, 2, 22, 114, 3, 2, 2, 2, 24, 116, 3, 2, 2, 2, 26, 125, 3, 2, 2, 2, 28, 129, 3, 2, 2, 2, 30, 131, 3, 2, 2, 2, 32, 133, 3, 2, 2, 2, 34, 137, 3, 2, 2, 2, 36, 141, 3, 2, 2, 2, 38, 152, 3, 2, 2, 2, 40, 157, 3, 2, 2, 2, 42, 170, 3, 2, 2, 2, 44, 172, 3, 2, 2, 2, 46, 48, 5, 4, 3, 2, 47, 46, 3, 2, 2, 2, 48, 51, 3, 2, 2, 2, 49, 47, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 52, 3, 2, 2, 2, 51, 49, 3, 2, 2, 2, 52, 53, 7, 2, 2, 3, 53, 3, 3, 2, 2, 2, 54, 57, 5, 6, 4, 2, 55, 57, 5, 8, 5, 2, 56, 54, 3, 2, 2, 2, 56, 55, 3, 2, 2, 2, 57, 5, 3, 2, 2, 2, 58, 59, 7, 3, 2, 2, 59, 61, 7, 32, 2, 2, 60, 62, 5, 36, 19, 2, 61, 60, 3, 2, 2, 2, 61, 62, 3, 2, 2, 2, 62, 63, 3, 2, 2, 2, 63, 64, 7, 4, 2, 2, 64, 65, 5, 12, 7, 2, 65, 66, 7, 5, 2, 2, 66, 7, 3, 2, 2, 2, 67, 68, 7, 6, 2, 2, 68, 70, 7, 32, 2, 2, 69, 71, 5, 10, 6, 2, 70, 69, 3, 2, 2, 2, 70, 71, 3, 2, 2, 2, 71, 74, 3, 2, 2, 2, 72, 73, 7, 4, 2, 2, 73, 75, 5, 42, 22, 2, 74, 72, 3, 2, 2, 2, 74, 75, 3, 2, 2, 2, 75, 76, 3, 2, 2, 2, 76, 77, 7, 5, 2, 2, 77, 9, 3, 2, 2, 2, 78, 79, 7, 7, 2, 2, 79, 80, 5, 12, 7, 2, 80, 11, 3, 2, 2, 2, 81, 82, 5, 14, 8, 2, 82, 13, 3, 2, 2, 2, 83, 88, 5, 16, 9, 2, 84, 85, 7, 8, 2, 2, 85, 87, 5, 16, 9, 2, 86, 84, 3, 2, 2, 2, 87, 90, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 15, 3, 2, 2, 2, 90, 88, 3, 2, 2, 2, 91, 96, 5, 18, 10, 2, 92, 93, 7, 9, 2, 2, 93, 95, 5, 18, 10, 2, 94, 92, 3, 2, 2, 2, 95, 98, 3, 2, 2, 2, 96, 94, 3, 2, 2, 2, 96, 97, 3, 2, 2, 2, 97, 17, 3, 2, 2, 2, 98, 96, 3, 2, 2, 2, 99, 104, 5, 20, 11, 2, 100, 101, 7, 10, 2, 2, 101, 103, 7, 11, 2, 2, 102, 100, 3, 2, 2, 2, 103, 106, 3, 2, 2, 2, 104, 102, 3, 2, 2, 2, 104, 105, 3, 2, 2, 2, 105, 19, 3, 2, 2, 2, 106, 104, 3, 2, 2, 2, 107, 113, 5, 34, 18, 2, 108, 113, 5, 22, 12, 2, 109, 113, 5, 24, 13, 2, 110, 113, 5, 30, 16, 2, 111, 113, 5, 32, 17, 2, 112, 107, 3, 2, 2, 2, 112, 108, 3, 2, 2, 2, 112, 109, 3, 2, 2, 2, 112, 110, 3, 2, 2, 2, 112, 111, 3, 2, 2, 2, 113, 21, 3, 2, 2, 2, 114, 115, 9, 2, 2, 2, 115, 23, 3, 2, 2, 2, 116, 120, 7, 19, 2, 2, 117, 119, 5, 26, 14, 2, 118, 117, 3, 2, 2, 2, 119, 122, 3, 2, 2, 2, 120, 118, 3, 2, 2, 2, 120, 121, 3, 2, 2, 2, 121, 123, 3, 2, 2, 2, 122, 120, 3, 2, 2, 2, 123, 124, 7, 20, 2, 2, 124, 25, 3, 2, 2, 2, 125, 126, 5, 28, 15, 2, 126, 127, 5, 10, 6, 2, 127, 128, 7, 5, 2, 2, 128, 27, 3, 2, 2, 2, 129, 130, 9, 3, 2, 2, 130, 29, 3, 2, 2, 2, 131, 132, 9, 4, 2, 2, 132, 31, 3, 2, 2, 2, 133, 135, 7, 32, 2, 2, 134, 136, 5, 40, 21, 2, 135, 134, 3, 2, 2, 2, 135, 136, 3, 2, 2, 2, 136, 33, 3, 2, 2, 2, 137, 138, 7, 26, 2, 2, 138, 139, 5, 12, 7, 2, 139, 140, 7, 27, 2, 2, 140, 35, 3, 2, 2, 2, 141, 142, 7, 28, 2, 2, 142, 147, 5, 38, 20, 2, 143, 144, 7, 29, 2, 2, 144, 146, 5, 38, 20, 2, 145, 143, 3, 2, 2, 2, 146, 149, 3, 2, 2, 2, 147, 145, 3, 2, 2, 2, 147, 148, 3, 2, 2, 2, 148, 150, 3, 2, 2, 2, 149, 147, 3, 2, 2, 2, 150, 151, 7, 30, 2, 2, 151, 37, 3, 2, 2, 2, 152, 155, 7, 32, 2, 2, 153, 154, 7, 31, 2, 2, 154, 156, 5, 12, 7, 2, 155, 153, 3, 2, 2, 2, 155, 156, 3, 2, 2, 2, 156, 39, 3, 2, 2, 2, 157, 158, 7, 28, 2, 2, 158, 163, 5, 12, 7, 2, 159, 160, 7, 29, 2, 2, 160, 162, 5, 12, 7, 2, 161, 159, 3, 2, 2, 2, 162, 165, 3, 2, 2, 2, 163, 161, 3, 2, 2, 2, 163, 164, 3, 2, 2, 2, 164, 166, 3, 2, 2, 2, 165, 163, 3, 2, 2, 2, 166, 167, 7, 30, 2, 2, 167, 41, 3, 2, 2, 2, 168, 171, 7, 32, 2, 2, 169, 171, 5, 44, 23, 2, 170, 168, 3, 2, 2, 2, 170, 169, 3, 2, 2, 2, 171, 43, 3, 2, 2, 2, 172, 173, 9, 5, 2, 2, 173, 45, 3, 2, 2, 2, 17, 49, 56, 61, 70, 74, 88, 96, 104, 112, 120, 135, 147, 155, 163, 170] \ No newline at end of file +[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 3, 39, 195, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 3, 2, 7, 2, 48, 10, 2, 12, 2, 14, 2, 51, 11, 2, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 57, 10, 3, 3, 4, 3, 4, 3, 4, 5, 4, 62, 10, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 5, 5, 71, 10, 5, 3, 5, 3, 5, 5, 5, 75, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 7, 8, 87, 10, 8, 12, 8, 14, 8, 90, 11, 8, 3, 9, 3, 9, 3, 9, 7, 9, 95, 10, 9, 12, 9, 14, 9, 98, 11, 9, 3, 10, 3, 10, 3, 10, 7, 10, 103, 10, 10, 12, 10, 14, 10, 106, 11, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 5, 11, 114, 10, 11, 3, 12, 3, 12, 3, 13, 3, 13, 7, 13, 120, 10, 13, 12, 13, 14, 13, 123, 11, 13, 3, 13, 3, 13, 3, 14, 3, 14, 5, 14, 129, 10, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 142, 10, 16, 3, 16, 3, 16, 5, 16, 146, 10, 16, 3, 16, 3, 16, 5, 16, 150, 10, 16, 5, 16, 152, 10, 16, 3, 17, 3, 17, 5, 17, 156, 10, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 7, 19, 166, 10, 19, 12, 19, 14, 19, 169, 11, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 5, 20, 176, 10, 20, 3, 21, 3, 21, 3, 21, 3, 21, 7, 21, 182, 10, 21, 12, 21, 14, 21, 185, 11, 21, 3, 21, 3, 21, 3, 22, 3, 22, 5, 22, 191, 10, 22, 3, 23, 3, 23, 3, 23, 2, 2, 2, 24, 2, 2, 4, 2, 6, 2, 8, 2, 10, 2, 12, 2, 14, 2, 16, 2, 18, 2, 20, 2, 22, 2, 24, 2, 26, 2, 28, 2, 30, 2, 32, 2, 34, 2, 36, 2, 38, 2, 40, 2, 42, 2, 44, 2, 2, 5, 3, 2, 12, 18, 3, 2, 33, 34, 3, 2, 34, 36, 2, 199, 2, 49, 3, 2, 2, 2, 4, 56, 3, 2, 2, 2, 6, 58, 3, 2, 2, 2, 8, 67, 3, 2, 2, 2, 10, 78, 3, 2, 2, 2, 12, 81, 3, 2, 2, 2, 14, 83, 3, 2, 2, 2, 16, 91, 3, 2, 2, 2, 18, 99, 3, 2, 2, 2, 20, 113, 3, 2, 2, 2, 22, 115, 3, 2, 2, 2, 24, 117, 3, 2, 2, 2, 26, 126, 3, 2, 2, 2, 28, 133, 3, 2, 2, 2, 30, 151, 3, 2, 2, 2, 32, 153, 3, 2, 2, 2, 34, 157, 3, 2, 2, 2, 36, 161, 3, 2, 2, 2, 38, 172, 3, 2, 2, 2, 40, 177, 3, 2, 2, 2, 42, 190, 3, 2, 2, 2, 44, 192, 3, 2, 2, 2, 46, 48, 5, 4, 3, 2, 47, 46, 3, 2, 2, 2, 48, 51, 3, 2, 2, 2, 49, 47, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 52, 3, 2, 2, 2, 51, 49, 3, 2, 2, 2, 52, 53, 7, 2, 2, 3, 53, 3, 3, 2, 2, 2, 54, 57, 5, 6, 4, 2, 55, 57, 5, 8, 5, 2, 56, 54, 3, 2, 2, 2, 56, 55, 3, 2, 2, 2, 57, 5, 3, 2, 2, 2, 58, 59, 7, 3, 2, 2, 59, 61, 7, 33, 2, 2, 60, 62, 5, 36, 19, 2, 61, 60, 3, 2, 2, 2, 61, 62, 3, 2, 2, 2, 62, 63, 3, 2, 2, 2, 63, 64, 7, 4, 2, 2, 64, 65, 5, 12, 7, 2, 65, 66, 7, 5, 2, 2, 66, 7, 3, 2, 2, 2, 67, 68, 7, 6, 2, 2, 68, 70, 7, 33, 2, 2, 69, 71, 5, 10, 6, 2, 70, 69, 3, 2, 2, 2, 70, 71, 3, 2, 2, 2, 71, 74, 3, 2, 2, 2, 72, 73, 7, 4, 2, 2, 73, 75, 5, 42, 22, 2, 74, 72, 3, 2, 2, 2, 74, 75, 3, 2, 2, 2, 75, 76, 3, 2, 2, 2, 76, 77, 7, 5, 2, 2, 77, 9, 3, 2, 2, 2, 78, 79, 7, 7, 2, 2, 79, 80, 5, 12, 7, 2, 80, 11, 3, 2, 2, 2, 81, 82, 5, 14, 8, 2, 82, 13, 3, 2, 2, 2, 83, 88, 5, 16, 9, 2, 84, 85, 7, 8, 2, 2, 85, 87, 5, 16, 9, 2, 86, 84, 3, 2, 2, 2, 87, 90, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 15, 3, 2, 2, 2, 90, 88, 3, 2, 2, 2, 91, 96, 5, 18, 10, 2, 92, 93, 7, 9, 2, 2, 93, 95, 5, 18, 10, 2, 94, 92, 3, 2, 2, 2, 95, 98, 3, 2, 2, 2, 96, 94, 3, 2, 2, 2, 96, 97, 3, 2, 2, 2, 97, 17, 3, 2, 2, 2, 98, 96, 3, 2, 2, 2, 99, 104, 5, 20, 11, 2, 100, 101, 7, 10, 2, 2, 101, 103, 7, 11, 2, 2, 102, 100, 3, 2, 2, 2, 103, 106, 3, 2, 2, 2, 104, 102, 3, 2, 2, 2, 104, 105, 3, 2, 2, 2, 105, 19, 3, 2, 2, 2, 106, 104, 3, 2, 2, 2, 107, 114, 5, 34, 18, 2, 108, 114, 5, 22, 12, 2, 109, 114, 5, 24, 13, 2, 110, 114, 5, 30, 16, 2, 111, 114, 5, 32, 17, 2, 112, 114, 5, 44, 23, 2, 113, 107, 3, 2, 2, 2, 113, 108, 3, 2, 2, 2, 113, 109, 3, 2, 2, 2, 113, 110, 3, 2, 2, 2, 113, 111, 3, 2, 2, 2, 113, 112, 3, 2, 2, 2, 114, 21, 3, 2, 2, 2, 115, 116, 9, 2, 2, 2, 116, 23, 3, 2, 2, 2, 117, 121, 7, 19, 2, 2, 118, 120, 5, 26, 14, 2, 119, 118, 3, 2, 2, 2, 120, 123, 3, 2, 2, 2, 121, 119, 3, 2, 2, 2, 121, 122, 3, 2, 2, 2, 122, 124, 3, 2, 2, 2, 123, 121, 3, 2, 2, 2, 124, 125, 7, 20, 2, 2, 125, 25, 3, 2, 2, 2, 126, 128, 5, 28, 15, 2, 127, 129, 7, 21, 2, 2, 128, 127, 3, 2, 2, 2, 128, 129, 3, 2, 2, 2, 129, 130, 3, 2, 2, 2, 130, 131, 5, 10, 6, 2, 131, 132, 7, 5, 2, 2, 132, 27, 3, 2, 2, 2, 133, 134, 9, 3, 2, 2, 134, 29, 3, 2, 2, 2, 135, 136, 7, 22, 2, 2, 136, 152, 5, 40, 21, 2, 137, 138, 7, 23, 2, 2, 138, 152, 5, 40, 21, 2, 139, 141, 7, 24, 2, 2, 140, 142, 5, 40, 21, 2, 141, 140, 3, 2, 2, 2, 141, 142, 3, 2, 2, 2, 142, 152, 3, 2, 2, 2, 143, 145, 7, 25, 2, 2, 144, 146, 5, 40, 21, 2, 145, 144, 3, 2, 2, 2, 145, 146, 3, 2, 2, 2, 146, 152, 3, 2, 2, 2, 147, 149, 7, 26, 2, 2, 148, 150, 5, 40, 21, 2, 149, 148, 3, 2, 2, 2, 149, 150, 3, 2, 2, 2, 150, 152, 3, 2, 2, 2, 151, 135, 3, 2, 2, 2, 151, 137, 3, 2, 2, 2, 151, 139, 3, 2, 2, 2, 151, 143, 3, 2, 2, 2, 151, 147, 3, 2, 2, 2, 152, 31, 3, 2, 2, 2, 153, 155, 7, 33, 2, 2, 154, 156, 5, 40, 21, 2, 155, 154, 3, 2, 2, 2, 155, 156, 3, 2, 2, 2, 156, 33, 3, 2, 2, 2, 157, 158, 7, 27, 2, 2, 158, 159, 5, 12, 7, 2, 159, 160, 7, 28, 2, 2, 160, 35, 3, 2, 2, 2, 161, 162, 7, 29, 2, 2, 162, 167, 5, 38, 20, 2, 163, 164, 7, 30, 2, 2, 164, 166, 5, 38, 20, 2, 165, 163, 3, 2, 2, 2, 166, 169, 3, 2, 2, 2, 167, 165, 3, 2, 2, 2, 167, 168, 3, 2, 2, 2, 168, 170, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 170, 171, 7, 31, 2, 2, 171, 37, 3, 2, 2, 2, 172, 175, 7, 33, 2, 2, 173, 174, 7, 32, 2, 2, 174, 176, 5, 12, 7, 2, 175, 173, 3, 2, 2, 2, 175, 176, 3, 2, 2, 2, 176, 39, 3, 2, 2, 2, 177, 178, 7, 29, 2, 2, 178, 183, 5, 12, 7, 2, 179, 180, 7, 30, 2, 2, 180, 182, 5, 12, 7, 2, 181, 179, 3, 2, 2, 2, 182, 185, 3, 2, 2, 2, 183, 181, 3, 2, 2, 2, 183, 184, 3, 2, 2, 2, 184, 186, 3, 2, 2, 2, 185, 183, 3, 2, 2, 2, 186, 187, 7, 31, 2, 2, 187, 41, 3, 2, 2, 2, 188, 191, 7, 33, 2, 2, 189, 191, 5, 44, 23, 2, 190, 188, 3, 2, 2, 2, 190, 189, 3, 2, 2, 2, 191, 43, 3, 2, 2, 2, 192, 193, 9, 4, 2, 2, 193, 45, 3, 2, 2, 2, 22, 49, 56, 61, 70, 74, 88, 96, 104, 113, 121, 128, 141, 145, 149, 151, 155, 167, 175, 183, 190] \ No newline at end of file diff --git a/antlr/YorkieSchema.tokens b/antlr/YorkieSchema.tokens index 2c8817c..eaef67a 100644 --- a/antlr/YorkieSchema.tokens +++ b/antlr/YorkieSchema.tokens @@ -27,13 +27,14 @@ T__25=26 T__26=27 T__27=28 T__28=29 -Identifier=30 -StringLiteral=31 -NumberLiteral=32 -BooleanLiteral=33 -SingleLineComment=34 -MultiLineComment=35 -WS=36 +T__29=30 +Identifier=31 +StringLiteral=32 +NumberLiteral=33 +BooleanLiteral=34 +SingleLineComment=35 +MultiLineComment=36 +WS=37 'type'=1 '='=2 ';'=3 @@ -52,14 +53,15 @@ WS=36 'undefined'=16 '{'=17 '}'=18 -'yorkie.Object'=19 -'yorkie.Array'=20 -'yorkie.Counter'=21 -'yorkie.Text'=22 -'yorkie.Tree'=23 -'('=24 -')'=25 -'<'=26 -','=27 -'>'=28 -'extends'=29 +'?'=19 +'yorkie.Object'=20 +'yorkie.Array'=21 +'yorkie.Counter'=22 +'yorkie.Text'=23 +'yorkie.Tree'=24 +'('=25 +')'=26 +'<'=27 +','=28 +'>'=29 +'extends'=30 diff --git a/antlr/YorkieSchemaLexer.interp b/antlr/YorkieSchemaLexer.interp index 2c7af98..0fff93b 100644 --- a/antlr/YorkieSchemaLexer.interp +++ b/antlr/YorkieSchemaLexer.interp @@ -18,6 +18,7 @@ null 'undefined' '{' '}' +'?' 'yorkie.Object' 'yorkie.Array' 'yorkie.Counter' @@ -68,6 +69,7 @@ null null null null +null Identifier StringLiteral NumberLiteral @@ -106,6 +108,7 @@ T__25 T__26 T__27 T__28 +T__29 Identifier StringLiteral NumberLiteral @@ -122,4 +125,4 @@ mode names: DEFAULT_MODE atn: -[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 2, 38, 304, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 7, 31, 235, 10, 31, 12, 31, 14, 31, 238, 11, 31, 3, 32, 3, 32, 7, 32, 242, 10, 32, 12, 32, 14, 32, 245, 11, 32, 3, 32, 3, 32, 3, 33, 6, 33, 250, 10, 33, 13, 33, 14, 33, 251, 3, 33, 3, 33, 6, 33, 256, 10, 33, 13, 33, 14, 33, 257, 5, 33, 260, 10, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 5, 34, 271, 10, 34, 3, 35, 3, 35, 3, 35, 3, 35, 7, 35, 277, 10, 35, 12, 35, 14, 35, 280, 11, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 7, 36, 288, 10, 36, 12, 36, 14, 36, 291, 11, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 6, 37, 299, 10, 37, 13, 37, 14, 37, 300, 3, 37, 3, 37, 3, 289, 2, 2, 38, 3, 2, 3, 5, 2, 4, 7, 2, 5, 9, 2, 6, 11, 2, 7, 13, 2, 8, 15, 2, 9, 17, 2, 10, 19, 2, 11, 21, 2, 12, 23, 2, 13, 25, 2, 14, 27, 2, 15, 29, 2, 16, 31, 2, 17, 33, 2, 18, 35, 2, 19, 37, 2, 20, 39, 2, 21, 41, 2, 22, 43, 2, 23, 45, 2, 24, 47, 2, 25, 49, 2, 26, 51, 2, 27, 53, 2, 28, 55, 2, 29, 57, 2, 30, 59, 2, 31, 61, 2, 32, 63, 2, 33, 65, 2, 34, 67, 2, 35, 69, 2, 36, 71, 2, 37, 73, 2, 38, 3, 2, 8, 5, 2, 67, 92, 97, 97, 99, 124, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 5, 2, 12, 12, 15, 15, 36, 36, 3, 2, 50, 59, 4, 2, 12, 12, 15, 15, 5, 2, 11, 12, 15, 15, 34, 34, 2, 312, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 3, 75, 3, 2, 2, 2, 5, 80, 3, 2, 2, 2, 7, 82, 3, 2, 2, 2, 9, 84, 3, 2, 2, 2, 11, 88, 3, 2, 2, 2, 13, 90, 3, 2, 2, 2, 15, 92, 3, 2, 2, 2, 17, 94, 3, 2, 2, 2, 19, 96, 3, 2, 2, 2, 21, 98, 3, 2, 2, 2, 23, 105, 3, 2, 2, 2, 25, 112, 3, 2, 2, 2, 27, 120, 3, 2, 2, 2, 29, 124, 3, 2, 2, 2, 31, 129, 3, 2, 2, 2, 33, 134, 3, 2, 2, 2, 35, 144, 3, 2, 2, 2, 37, 146, 3, 2, 2, 2, 39, 148, 3, 2, 2, 2, 41, 162, 3, 2, 2, 2, 43, 175, 3, 2, 2, 2, 45, 190, 3, 2, 2, 2, 47, 202, 3, 2, 2, 2, 49, 214, 3, 2, 2, 2, 51, 216, 3, 2, 2, 2, 53, 218, 3, 2, 2, 2, 55, 220, 3, 2, 2, 2, 57, 222, 3, 2, 2, 2, 59, 224, 3, 2, 2, 2, 61, 232, 3, 2, 2, 2, 63, 239, 3, 2, 2, 2, 65, 249, 3, 2, 2, 2, 67, 270, 3, 2, 2, 2, 69, 272, 3, 2, 2, 2, 71, 283, 3, 2, 2, 2, 73, 298, 3, 2, 2, 2, 75, 76, 7, 118, 2, 2, 76, 77, 7, 123, 2, 2, 77, 78, 7, 114, 2, 2, 78, 79, 7, 103, 2, 2, 79, 4, 3, 2, 2, 2, 80, 81, 7, 63, 2, 2, 81, 6, 3, 2, 2, 2, 82, 83, 7, 61, 2, 2, 83, 8, 3, 2, 2, 2, 84, 85, 7, 110, 2, 2, 85, 86, 7, 103, 2, 2, 86, 87, 7, 118, 2, 2, 87, 10, 3, 2, 2, 2, 88, 89, 7, 60, 2, 2, 89, 12, 3, 2, 2, 2, 90, 91, 7, 126, 2, 2, 91, 14, 3, 2, 2, 2, 92, 93, 7, 40, 2, 2, 93, 16, 3, 2, 2, 2, 94, 95, 7, 93, 2, 2, 95, 18, 3, 2, 2, 2, 96, 97, 7, 95, 2, 2, 97, 20, 3, 2, 2, 2, 98, 99, 7, 112, 2, 2, 99, 100, 7, 119, 2, 2, 100, 101, 7, 111, 2, 2, 101, 102, 7, 100, 2, 2, 102, 103, 7, 103, 2, 2, 103, 104, 7, 116, 2, 2, 104, 22, 3, 2, 2, 2, 105, 106, 7, 117, 2, 2, 106, 107, 7, 118, 2, 2, 107, 108, 7, 116, 2, 2, 108, 109, 7, 107, 2, 2, 109, 110, 7, 112, 2, 2, 110, 111, 7, 105, 2, 2, 111, 24, 3, 2, 2, 2, 112, 113, 7, 100, 2, 2, 113, 114, 7, 113, 2, 2, 114, 115, 7, 113, 2, 2, 115, 116, 7, 110, 2, 2, 116, 117, 7, 103, 2, 2, 117, 118, 7, 99, 2, 2, 118, 119, 7, 112, 2, 2, 119, 26, 3, 2, 2, 2, 120, 121, 7, 99, 2, 2, 121, 122, 7, 112, 2, 2, 122, 123, 7, 123, 2, 2, 123, 28, 3, 2, 2, 2, 124, 125, 7, 120, 2, 2, 125, 126, 7, 113, 2, 2, 126, 127, 7, 107, 2, 2, 127, 128, 7, 102, 2, 2, 128, 30, 3, 2, 2, 2, 129, 130, 7, 112, 2, 2, 130, 131, 7, 119, 2, 2, 131, 132, 7, 110, 2, 2, 132, 133, 7, 110, 2, 2, 133, 32, 3, 2, 2, 2, 134, 135, 7, 119, 2, 2, 135, 136, 7, 112, 2, 2, 136, 137, 7, 102, 2, 2, 137, 138, 7, 103, 2, 2, 138, 139, 7, 104, 2, 2, 139, 140, 7, 107, 2, 2, 140, 141, 7, 112, 2, 2, 141, 142, 7, 103, 2, 2, 142, 143, 7, 102, 2, 2, 143, 34, 3, 2, 2, 2, 144, 145, 7, 125, 2, 2, 145, 36, 3, 2, 2, 2, 146, 147, 7, 127, 2, 2, 147, 38, 3, 2, 2, 2, 148, 149, 7, 123, 2, 2, 149, 150, 7, 113, 2, 2, 150, 151, 7, 116, 2, 2, 151, 152, 7, 109, 2, 2, 152, 153, 7, 107, 2, 2, 153, 154, 7, 103, 2, 2, 154, 155, 7, 48, 2, 2, 155, 156, 7, 81, 2, 2, 156, 157, 7, 100, 2, 2, 157, 158, 7, 108, 2, 2, 158, 159, 7, 103, 2, 2, 159, 160, 7, 101, 2, 2, 160, 161, 7, 118, 2, 2, 161, 40, 3, 2, 2, 2, 162, 163, 7, 123, 2, 2, 163, 164, 7, 113, 2, 2, 164, 165, 7, 116, 2, 2, 165, 166, 7, 109, 2, 2, 166, 167, 7, 107, 2, 2, 167, 168, 7, 103, 2, 2, 168, 169, 7, 48, 2, 2, 169, 170, 7, 67, 2, 2, 170, 171, 7, 116, 2, 2, 171, 172, 7, 116, 2, 2, 172, 173, 7, 99, 2, 2, 173, 174, 7, 123, 2, 2, 174, 42, 3, 2, 2, 2, 175, 176, 7, 123, 2, 2, 176, 177, 7, 113, 2, 2, 177, 178, 7, 116, 2, 2, 178, 179, 7, 109, 2, 2, 179, 180, 7, 107, 2, 2, 180, 181, 7, 103, 2, 2, 181, 182, 7, 48, 2, 2, 182, 183, 7, 69, 2, 2, 183, 184, 7, 113, 2, 2, 184, 185, 7, 119, 2, 2, 185, 186, 7, 112, 2, 2, 186, 187, 7, 118, 2, 2, 187, 188, 7, 103, 2, 2, 188, 189, 7, 116, 2, 2, 189, 44, 3, 2, 2, 2, 190, 191, 7, 123, 2, 2, 191, 192, 7, 113, 2, 2, 192, 193, 7, 116, 2, 2, 193, 194, 7, 109, 2, 2, 194, 195, 7, 107, 2, 2, 195, 196, 7, 103, 2, 2, 196, 197, 7, 48, 2, 2, 197, 198, 7, 86, 2, 2, 198, 199, 7, 103, 2, 2, 199, 200, 7, 122, 2, 2, 200, 201, 7, 118, 2, 2, 201, 46, 3, 2, 2, 2, 202, 203, 7, 123, 2, 2, 203, 204, 7, 113, 2, 2, 204, 205, 7, 116, 2, 2, 205, 206, 7, 109, 2, 2, 206, 207, 7, 107, 2, 2, 207, 208, 7, 103, 2, 2, 208, 209, 7, 48, 2, 2, 209, 210, 7, 86, 2, 2, 210, 211, 7, 116, 2, 2, 211, 212, 7, 103, 2, 2, 212, 213, 7, 103, 2, 2, 213, 48, 3, 2, 2, 2, 214, 215, 7, 42, 2, 2, 215, 50, 3, 2, 2, 2, 216, 217, 7, 43, 2, 2, 217, 52, 3, 2, 2, 2, 218, 219, 7, 62, 2, 2, 219, 54, 3, 2, 2, 2, 220, 221, 7, 46, 2, 2, 221, 56, 3, 2, 2, 2, 222, 223, 7, 64, 2, 2, 223, 58, 3, 2, 2, 2, 224, 225, 7, 103, 2, 2, 225, 226, 7, 122, 2, 2, 226, 227, 7, 118, 2, 2, 227, 228, 7, 103, 2, 2, 228, 229, 7, 112, 2, 2, 229, 230, 7, 102, 2, 2, 230, 231, 7, 117, 2, 2, 231, 60, 3, 2, 2, 2, 232, 236, 9, 2, 2, 2, 233, 235, 9, 3, 2, 2, 234, 233, 3, 2, 2, 2, 235, 238, 3, 2, 2, 2, 236, 234, 3, 2, 2, 2, 236, 237, 3, 2, 2, 2, 237, 62, 3, 2, 2, 2, 238, 236, 3, 2, 2, 2, 239, 243, 7, 36, 2, 2, 240, 242, 10, 4, 2, 2, 241, 240, 3, 2, 2, 2, 242, 245, 3, 2, 2, 2, 243, 241, 3, 2, 2, 2, 243, 244, 3, 2, 2, 2, 244, 246, 3, 2, 2, 2, 245, 243, 3, 2, 2, 2, 246, 247, 7, 36, 2, 2, 247, 64, 3, 2, 2, 2, 248, 250, 9, 5, 2, 2, 249, 248, 3, 2, 2, 2, 250, 251, 3, 2, 2, 2, 251, 249, 3, 2, 2, 2, 251, 252, 3, 2, 2, 2, 252, 259, 3, 2, 2, 2, 253, 255, 7, 48, 2, 2, 254, 256, 9, 5, 2, 2, 255, 254, 3, 2, 2, 2, 256, 257, 3, 2, 2, 2, 257, 255, 3, 2, 2, 2, 257, 258, 3, 2, 2, 2, 258, 260, 3, 2, 2, 2, 259, 253, 3, 2, 2, 2, 259, 260, 3, 2, 2, 2, 260, 66, 3, 2, 2, 2, 261, 262, 7, 118, 2, 2, 262, 263, 7, 116, 2, 2, 263, 264, 7, 119, 2, 2, 264, 271, 7, 103, 2, 2, 265, 266, 7, 104, 2, 2, 266, 267, 7, 99, 2, 2, 267, 268, 7, 110, 2, 2, 268, 269, 7, 117, 2, 2, 269, 271, 7, 103, 2, 2, 270, 261, 3, 2, 2, 2, 270, 265, 3, 2, 2, 2, 271, 68, 3, 2, 2, 2, 272, 273, 7, 49, 2, 2, 273, 274, 7, 49, 2, 2, 274, 278, 3, 2, 2, 2, 275, 277, 10, 6, 2, 2, 276, 275, 3, 2, 2, 2, 277, 280, 3, 2, 2, 2, 278, 276, 3, 2, 2, 2, 278, 279, 3, 2, 2, 2, 279, 281, 3, 2, 2, 2, 280, 278, 3, 2, 2, 2, 281, 282, 8, 35, 2, 2, 282, 70, 3, 2, 2, 2, 283, 284, 7, 49, 2, 2, 284, 285, 7, 44, 2, 2, 285, 289, 3, 2, 2, 2, 286, 288, 11, 2, 2, 2, 287, 286, 3, 2, 2, 2, 288, 291, 3, 2, 2, 2, 289, 290, 3, 2, 2, 2, 289, 287, 3, 2, 2, 2, 290, 292, 3, 2, 2, 2, 291, 289, 3, 2, 2, 2, 292, 293, 7, 44, 2, 2, 293, 294, 7, 49, 2, 2, 294, 295, 3, 2, 2, 2, 295, 296, 8, 36, 2, 2, 296, 72, 3, 2, 2, 2, 297, 299, 9, 7, 2, 2, 298, 297, 3, 2, 2, 2, 299, 300, 3, 2, 2, 2, 300, 298, 3, 2, 2, 2, 300, 301, 3, 2, 2, 2, 301, 302, 3, 2, 2, 2, 302, 303, 8, 37, 3, 2, 303, 74, 3, 2, 2, 2, 12, 2, 236, 243, 251, 257, 259, 270, 278, 289, 300, 4, 2, 3, 2, 8, 2, 2] \ No newline at end of file +[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 2, 39, 308, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 7, 32, 239, 10, 32, 12, 32, 14, 32, 242, 11, 32, 3, 33, 3, 33, 7, 33, 246, 10, 33, 12, 33, 14, 33, 249, 11, 33, 3, 33, 3, 33, 3, 34, 6, 34, 254, 10, 34, 13, 34, 14, 34, 255, 3, 34, 3, 34, 6, 34, 260, 10, 34, 13, 34, 14, 34, 261, 5, 34, 264, 10, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 5, 35, 275, 10, 35, 3, 36, 3, 36, 3, 36, 3, 36, 7, 36, 281, 10, 36, 12, 36, 14, 36, 284, 11, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 7, 37, 292, 10, 37, 12, 37, 14, 37, 295, 11, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 6, 38, 303, 10, 38, 13, 38, 14, 38, 304, 3, 38, 3, 38, 3, 293, 2, 2, 39, 3, 2, 3, 5, 2, 4, 7, 2, 5, 9, 2, 6, 11, 2, 7, 13, 2, 8, 15, 2, 9, 17, 2, 10, 19, 2, 11, 21, 2, 12, 23, 2, 13, 25, 2, 14, 27, 2, 15, 29, 2, 16, 31, 2, 17, 33, 2, 18, 35, 2, 19, 37, 2, 20, 39, 2, 21, 41, 2, 22, 43, 2, 23, 45, 2, 24, 47, 2, 25, 49, 2, 26, 51, 2, 27, 53, 2, 28, 55, 2, 29, 57, 2, 30, 59, 2, 31, 61, 2, 32, 63, 2, 33, 65, 2, 34, 67, 2, 35, 69, 2, 36, 71, 2, 37, 73, 2, 38, 75, 2, 39, 3, 2, 8, 5, 2, 67, 92, 97, 97, 99, 124, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 5, 2, 12, 12, 15, 15, 36, 36, 3, 2, 50, 59, 4, 2, 12, 12, 15, 15, 5, 2, 11, 12, 15, 15, 34, 34, 2, 316, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 3, 77, 3, 2, 2, 2, 5, 82, 3, 2, 2, 2, 7, 84, 3, 2, 2, 2, 9, 86, 3, 2, 2, 2, 11, 90, 3, 2, 2, 2, 13, 92, 3, 2, 2, 2, 15, 94, 3, 2, 2, 2, 17, 96, 3, 2, 2, 2, 19, 98, 3, 2, 2, 2, 21, 100, 3, 2, 2, 2, 23, 107, 3, 2, 2, 2, 25, 114, 3, 2, 2, 2, 27, 122, 3, 2, 2, 2, 29, 126, 3, 2, 2, 2, 31, 131, 3, 2, 2, 2, 33, 136, 3, 2, 2, 2, 35, 146, 3, 2, 2, 2, 37, 148, 3, 2, 2, 2, 39, 150, 3, 2, 2, 2, 41, 152, 3, 2, 2, 2, 43, 166, 3, 2, 2, 2, 45, 179, 3, 2, 2, 2, 47, 194, 3, 2, 2, 2, 49, 206, 3, 2, 2, 2, 51, 218, 3, 2, 2, 2, 53, 220, 3, 2, 2, 2, 55, 222, 3, 2, 2, 2, 57, 224, 3, 2, 2, 2, 59, 226, 3, 2, 2, 2, 61, 228, 3, 2, 2, 2, 63, 236, 3, 2, 2, 2, 65, 243, 3, 2, 2, 2, 67, 253, 3, 2, 2, 2, 69, 274, 3, 2, 2, 2, 71, 276, 3, 2, 2, 2, 73, 287, 3, 2, 2, 2, 75, 302, 3, 2, 2, 2, 77, 78, 7, 118, 2, 2, 78, 79, 7, 123, 2, 2, 79, 80, 7, 114, 2, 2, 80, 81, 7, 103, 2, 2, 81, 4, 3, 2, 2, 2, 82, 83, 7, 63, 2, 2, 83, 6, 3, 2, 2, 2, 84, 85, 7, 61, 2, 2, 85, 8, 3, 2, 2, 2, 86, 87, 7, 110, 2, 2, 87, 88, 7, 103, 2, 2, 88, 89, 7, 118, 2, 2, 89, 10, 3, 2, 2, 2, 90, 91, 7, 60, 2, 2, 91, 12, 3, 2, 2, 2, 92, 93, 7, 126, 2, 2, 93, 14, 3, 2, 2, 2, 94, 95, 7, 40, 2, 2, 95, 16, 3, 2, 2, 2, 96, 97, 7, 93, 2, 2, 97, 18, 3, 2, 2, 2, 98, 99, 7, 95, 2, 2, 99, 20, 3, 2, 2, 2, 100, 101, 7, 112, 2, 2, 101, 102, 7, 119, 2, 2, 102, 103, 7, 111, 2, 2, 103, 104, 7, 100, 2, 2, 104, 105, 7, 103, 2, 2, 105, 106, 7, 116, 2, 2, 106, 22, 3, 2, 2, 2, 107, 108, 7, 117, 2, 2, 108, 109, 7, 118, 2, 2, 109, 110, 7, 116, 2, 2, 110, 111, 7, 107, 2, 2, 111, 112, 7, 112, 2, 2, 112, 113, 7, 105, 2, 2, 113, 24, 3, 2, 2, 2, 114, 115, 7, 100, 2, 2, 115, 116, 7, 113, 2, 2, 116, 117, 7, 113, 2, 2, 117, 118, 7, 110, 2, 2, 118, 119, 7, 103, 2, 2, 119, 120, 7, 99, 2, 2, 120, 121, 7, 112, 2, 2, 121, 26, 3, 2, 2, 2, 122, 123, 7, 99, 2, 2, 123, 124, 7, 112, 2, 2, 124, 125, 7, 123, 2, 2, 125, 28, 3, 2, 2, 2, 126, 127, 7, 120, 2, 2, 127, 128, 7, 113, 2, 2, 128, 129, 7, 107, 2, 2, 129, 130, 7, 102, 2, 2, 130, 30, 3, 2, 2, 2, 131, 132, 7, 112, 2, 2, 132, 133, 7, 119, 2, 2, 133, 134, 7, 110, 2, 2, 134, 135, 7, 110, 2, 2, 135, 32, 3, 2, 2, 2, 136, 137, 7, 119, 2, 2, 137, 138, 7, 112, 2, 2, 138, 139, 7, 102, 2, 2, 139, 140, 7, 103, 2, 2, 140, 141, 7, 104, 2, 2, 141, 142, 7, 107, 2, 2, 142, 143, 7, 112, 2, 2, 143, 144, 7, 103, 2, 2, 144, 145, 7, 102, 2, 2, 145, 34, 3, 2, 2, 2, 146, 147, 7, 125, 2, 2, 147, 36, 3, 2, 2, 2, 148, 149, 7, 127, 2, 2, 149, 38, 3, 2, 2, 2, 150, 151, 7, 65, 2, 2, 151, 40, 3, 2, 2, 2, 152, 153, 7, 123, 2, 2, 153, 154, 7, 113, 2, 2, 154, 155, 7, 116, 2, 2, 155, 156, 7, 109, 2, 2, 156, 157, 7, 107, 2, 2, 157, 158, 7, 103, 2, 2, 158, 159, 7, 48, 2, 2, 159, 160, 7, 81, 2, 2, 160, 161, 7, 100, 2, 2, 161, 162, 7, 108, 2, 2, 162, 163, 7, 103, 2, 2, 163, 164, 7, 101, 2, 2, 164, 165, 7, 118, 2, 2, 165, 42, 3, 2, 2, 2, 166, 167, 7, 123, 2, 2, 167, 168, 7, 113, 2, 2, 168, 169, 7, 116, 2, 2, 169, 170, 7, 109, 2, 2, 170, 171, 7, 107, 2, 2, 171, 172, 7, 103, 2, 2, 172, 173, 7, 48, 2, 2, 173, 174, 7, 67, 2, 2, 174, 175, 7, 116, 2, 2, 175, 176, 7, 116, 2, 2, 176, 177, 7, 99, 2, 2, 177, 178, 7, 123, 2, 2, 178, 44, 3, 2, 2, 2, 179, 180, 7, 123, 2, 2, 180, 181, 7, 113, 2, 2, 181, 182, 7, 116, 2, 2, 182, 183, 7, 109, 2, 2, 183, 184, 7, 107, 2, 2, 184, 185, 7, 103, 2, 2, 185, 186, 7, 48, 2, 2, 186, 187, 7, 69, 2, 2, 187, 188, 7, 113, 2, 2, 188, 189, 7, 119, 2, 2, 189, 190, 7, 112, 2, 2, 190, 191, 7, 118, 2, 2, 191, 192, 7, 103, 2, 2, 192, 193, 7, 116, 2, 2, 193, 46, 3, 2, 2, 2, 194, 195, 7, 123, 2, 2, 195, 196, 7, 113, 2, 2, 196, 197, 7, 116, 2, 2, 197, 198, 7, 109, 2, 2, 198, 199, 7, 107, 2, 2, 199, 200, 7, 103, 2, 2, 200, 201, 7, 48, 2, 2, 201, 202, 7, 86, 2, 2, 202, 203, 7, 103, 2, 2, 203, 204, 7, 122, 2, 2, 204, 205, 7, 118, 2, 2, 205, 48, 3, 2, 2, 2, 206, 207, 7, 123, 2, 2, 207, 208, 7, 113, 2, 2, 208, 209, 7, 116, 2, 2, 209, 210, 7, 109, 2, 2, 210, 211, 7, 107, 2, 2, 211, 212, 7, 103, 2, 2, 212, 213, 7, 48, 2, 2, 213, 214, 7, 86, 2, 2, 214, 215, 7, 116, 2, 2, 215, 216, 7, 103, 2, 2, 216, 217, 7, 103, 2, 2, 217, 50, 3, 2, 2, 2, 218, 219, 7, 42, 2, 2, 219, 52, 3, 2, 2, 2, 220, 221, 7, 43, 2, 2, 221, 54, 3, 2, 2, 2, 222, 223, 7, 62, 2, 2, 223, 56, 3, 2, 2, 2, 224, 225, 7, 46, 2, 2, 225, 58, 3, 2, 2, 2, 226, 227, 7, 64, 2, 2, 227, 60, 3, 2, 2, 2, 228, 229, 7, 103, 2, 2, 229, 230, 7, 122, 2, 2, 230, 231, 7, 118, 2, 2, 231, 232, 7, 103, 2, 2, 232, 233, 7, 112, 2, 2, 233, 234, 7, 102, 2, 2, 234, 235, 7, 117, 2, 2, 235, 62, 3, 2, 2, 2, 236, 240, 9, 2, 2, 2, 237, 239, 9, 3, 2, 2, 238, 237, 3, 2, 2, 2, 239, 242, 3, 2, 2, 2, 240, 238, 3, 2, 2, 2, 240, 241, 3, 2, 2, 2, 241, 64, 3, 2, 2, 2, 242, 240, 3, 2, 2, 2, 243, 247, 7, 36, 2, 2, 244, 246, 10, 4, 2, 2, 245, 244, 3, 2, 2, 2, 246, 249, 3, 2, 2, 2, 247, 245, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 250, 3, 2, 2, 2, 249, 247, 3, 2, 2, 2, 250, 251, 7, 36, 2, 2, 251, 66, 3, 2, 2, 2, 252, 254, 9, 5, 2, 2, 253, 252, 3, 2, 2, 2, 254, 255, 3, 2, 2, 2, 255, 253, 3, 2, 2, 2, 255, 256, 3, 2, 2, 2, 256, 263, 3, 2, 2, 2, 257, 259, 7, 48, 2, 2, 258, 260, 9, 5, 2, 2, 259, 258, 3, 2, 2, 2, 260, 261, 3, 2, 2, 2, 261, 259, 3, 2, 2, 2, 261, 262, 3, 2, 2, 2, 262, 264, 3, 2, 2, 2, 263, 257, 3, 2, 2, 2, 263, 264, 3, 2, 2, 2, 264, 68, 3, 2, 2, 2, 265, 266, 7, 118, 2, 2, 266, 267, 7, 116, 2, 2, 267, 268, 7, 119, 2, 2, 268, 275, 7, 103, 2, 2, 269, 270, 7, 104, 2, 2, 270, 271, 7, 99, 2, 2, 271, 272, 7, 110, 2, 2, 272, 273, 7, 117, 2, 2, 273, 275, 7, 103, 2, 2, 274, 265, 3, 2, 2, 2, 274, 269, 3, 2, 2, 2, 275, 70, 3, 2, 2, 2, 276, 277, 7, 49, 2, 2, 277, 278, 7, 49, 2, 2, 278, 282, 3, 2, 2, 2, 279, 281, 10, 6, 2, 2, 280, 279, 3, 2, 2, 2, 281, 284, 3, 2, 2, 2, 282, 280, 3, 2, 2, 2, 282, 283, 3, 2, 2, 2, 283, 285, 3, 2, 2, 2, 284, 282, 3, 2, 2, 2, 285, 286, 8, 36, 2, 2, 286, 72, 3, 2, 2, 2, 287, 288, 7, 49, 2, 2, 288, 289, 7, 44, 2, 2, 289, 293, 3, 2, 2, 2, 290, 292, 11, 2, 2, 2, 291, 290, 3, 2, 2, 2, 292, 295, 3, 2, 2, 2, 293, 294, 3, 2, 2, 2, 293, 291, 3, 2, 2, 2, 294, 296, 3, 2, 2, 2, 295, 293, 3, 2, 2, 2, 296, 297, 7, 44, 2, 2, 297, 298, 7, 49, 2, 2, 298, 299, 3, 2, 2, 2, 299, 300, 8, 37, 2, 2, 300, 74, 3, 2, 2, 2, 301, 303, 9, 7, 2, 2, 302, 301, 3, 2, 2, 2, 303, 304, 3, 2, 2, 2, 304, 302, 3, 2, 2, 2, 304, 305, 3, 2, 2, 2, 305, 306, 3, 2, 2, 2, 306, 307, 8, 38, 3, 2, 307, 76, 3, 2, 2, 2, 12, 2, 240, 247, 255, 261, 263, 274, 282, 293, 304, 4, 2, 3, 2, 8, 2, 2] \ No newline at end of file diff --git a/antlr/YorkieSchemaLexer.tokens b/antlr/YorkieSchemaLexer.tokens index 2c8817c..eaef67a 100644 --- a/antlr/YorkieSchemaLexer.tokens +++ b/antlr/YorkieSchemaLexer.tokens @@ -27,13 +27,14 @@ T__25=26 T__26=27 T__27=28 T__28=29 -Identifier=30 -StringLiteral=31 -NumberLiteral=32 -BooleanLiteral=33 -SingleLineComment=34 -MultiLineComment=35 -WS=36 +T__29=30 +Identifier=31 +StringLiteral=32 +NumberLiteral=33 +BooleanLiteral=34 +SingleLineComment=35 +MultiLineComment=36 +WS=37 'type'=1 '='=2 ';'=3 @@ -52,14 +53,15 @@ WS=36 'undefined'=16 '{'=17 '}'=18 -'yorkie.Object'=19 -'yorkie.Array'=20 -'yorkie.Counter'=21 -'yorkie.Text'=22 -'yorkie.Tree'=23 -'('=24 -')'=25 -'<'=26 -','=27 -'>'=28 -'extends'=29 +'?'=19 +'yorkie.Object'=20 +'yorkie.Array'=21 +'yorkie.Counter'=22 +'yorkie.Text'=23 +'yorkie.Tree'=24 +'('=25 +')'=26 +'<'=27 +','=28 +'>'=29 +'extends'=30 diff --git a/antlr/YorkieSchemaLexer.ts b/antlr/YorkieSchemaLexer.ts index 2938e9e..1a58736 100644 --- a/antlr/YorkieSchemaLexer.ts +++ b/antlr/YorkieSchemaLexer.ts @@ -45,13 +45,14 @@ export class YorkieSchemaLexer extends Lexer { public static readonly T__26 = 27; public static readonly T__27 = 28; public static readonly T__28 = 29; - public static readonly Identifier = 30; - public static readonly StringLiteral = 31; - public static readonly NumberLiteral = 32; - public static readonly BooleanLiteral = 33; - public static readonly SingleLineComment = 34; - public static readonly MultiLineComment = 35; - public static readonly WS = 36; + public static readonly T__29 = 30; + public static readonly Identifier = 31; + public static readonly StringLiteral = 32; + public static readonly NumberLiteral = 33; + public static readonly BooleanLiteral = 34; + public static readonly SingleLineComment = 35; + public static readonly MultiLineComment = 36; + public static readonly WS = 37; // tslint:disable:no-trailing-whitespace public static readonly channelNames: string[] = [ @@ -67,22 +68,24 @@ export class YorkieSchemaLexer extends Lexer { "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", - "T__25", "T__26", "T__27", "T__28", "Identifier", "StringLiteral", "NumberLiteral", - "BooleanLiteral", "SingleLineComment", "MultiLineComment", "WS", + "T__25", "T__26", "T__27", "T__28", "T__29", "Identifier", "StringLiteral", + "NumberLiteral", "BooleanLiteral", "SingleLineComment", "MultiLineComment", + "WS", ]; private static readonly _LITERAL_NAMES: Array = [ undefined, "'type'", "'='", "';'", "'let'", "':'", "'|'", "'&'", "'['", "']'", "'number'", "'string'", "'boolean'", "'any'", "'void'", "'null'", - "'undefined'", "'{'", "'}'", "'yorkie.Object'", "'yorkie.Array'", "'yorkie.Counter'", - "'yorkie.Text'", "'yorkie.Tree'", "'('", "')'", "'<'", "','", "'>'", "'extends'", + "'undefined'", "'{'", "'}'", "'?'", "'yorkie.Object'", "'yorkie.Array'", + "'yorkie.Counter'", "'yorkie.Text'", "'yorkie.Tree'", "'('", "')'", "'<'", + "','", "'>'", "'extends'", ]; private static readonly _SYMBOLIC_NAMES: Array = [ undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, - undefined, undefined, "Identifier", "StringLiteral", "NumberLiteral", + undefined, undefined, undefined, "Identifier", "StringLiteral", "NumberLiteral", "BooleanLiteral", "SingleLineComment", "MultiLineComment", "WS", ]; public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(YorkieSchemaLexer._LITERAL_NAMES, YorkieSchemaLexer._SYMBOLIC_NAMES, []); @@ -116,139 +119,140 @@ export class YorkieSchemaLexer extends Lexer { public get modeNames(): string[] { return YorkieSchemaLexer.modeNames; } public static readonly _serializedATN: string = - "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02&\u0130\b\x01" + + "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02\'\u0134\b\x01" + "\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06" + "\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r" + "\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t" + "\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t" + "\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t" + "\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04\"\t" + - "\"\x04#\t#\x04$\t$\x04%\t%\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03" + - "\x03\x03\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x06\x03" + - "\x06\x03\x07\x03\x07\x03\b\x03\b\x03\t\x03\t\x03\n\x03\n\x03\v\x03\v\x03" + - "\v\x03\v\x03\v\x03\v\x03\v\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03" + - "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0E\x03" + - "\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x10\x03" + - "\x10\x03\x10\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03" + - "\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x13\x03\x13\x03\x14\x03\x14\x03" + - "\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03" + - "\x14\x03\x14\x03\x14\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03" + - "\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03" + - "\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03" + - "\x16\x03\x16\x03\x16\x03\x16\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03" + - "\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x18\x03\x18\x03" + - "\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03" + - "\x18\x03\x19\x03\x19\x03\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1C\x03\x1C\x03" + - "\x1D\x03\x1D\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03" + - "\x1E\x03\x1F\x03\x1F\x07\x1F\xEB\n\x1F\f\x1F\x0E\x1F\xEE\v\x1F\x03 \x03" + - " \x07 \xF2\n \f \x0E \xF5\v \x03 \x03 \x03!\x06!\xFA\n!\r!\x0E!\xFB\x03" + - "!\x03!\x06!\u0100\n!\r!\x0E!\u0101\x05!\u0104\n!\x03\"\x03\"\x03\"\x03" + - "\"\x03\"\x03\"\x03\"\x03\"\x03\"\x05\"\u010F\n\"\x03#\x03#\x03#\x03#\x07" + - "#\u0115\n#\f#\x0E#\u0118\v#\x03#\x03#\x03$\x03$\x03$\x03$\x07$\u0120\n" + - "$\f$\x0E$\u0123\v$\x03$\x03$\x03$\x03$\x03$\x03%\x06%\u012B\n%\r%\x0E" + - "%\u012C\x03%\x03%\x03\u0121\x02\x02&\x03\x02\x03\x05\x02\x04\x07\x02\x05" + - "\t\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17" + - "\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10\x1F\x02\x11!\x02\x12#\x02\x13" + - "%\x02\x14\'\x02\x15)\x02\x16+\x02\x17-\x02\x18/\x02\x191\x02\x1A3\x02" + - "\x1B5\x02\x1C7\x02\x1D9\x02\x1E;\x02\x1F=\x02 ?\x02!A\x02\"C\x02#E\x02" + - "$G\x02%I\x02&\x03\x02\b\x05\x02C\\aac|\x06\x022;C\\aac|\x05\x02\f\f\x0F" + - "\x0F$$\x03\x022;\x04\x02\f\f\x0F\x0F\x05\x02\v\f\x0F\x0F\"\"\x02\u0138" + - "\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02" + - "\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02" + - "\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02" + - "\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02" + - "\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02\x02\x1F\x03\x02\x02\x02\x02" + - "!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02\x02\x02\'\x03" + - "\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03\x02\x02\x02\x02-\x03\x02\x02" + - "\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02\x02\x023\x03\x02\x02\x02\x02" + - "5\x03\x02\x02\x02\x027\x03\x02\x02\x02\x029\x03\x02\x02\x02\x02;\x03\x02" + - "\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02\x02\x02\x02A\x03\x02\x02\x02" + - "\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02\x02G\x03\x02\x02\x02\x02I\x03" + - "\x02\x02\x02\x03K\x03\x02\x02\x02\x05P\x03\x02\x02\x02\x07R\x03\x02\x02" + - "\x02\tT\x03\x02\x02\x02\vX\x03\x02\x02\x02\rZ\x03\x02\x02\x02\x0F\\\x03" + - "\x02\x02\x02\x11^\x03\x02\x02\x02\x13`\x03\x02\x02\x02\x15b\x03\x02\x02" + - "\x02\x17i\x03\x02\x02\x02\x19p\x03\x02\x02\x02\x1Bx\x03\x02\x02\x02\x1D" + - "|\x03\x02\x02\x02\x1F\x81\x03\x02\x02\x02!\x86\x03\x02\x02\x02#\x90\x03" + - "\x02\x02\x02%\x92\x03\x02\x02\x02\'\x94\x03\x02\x02\x02)\xA2\x03\x02\x02" + - "\x02+\xAF\x03\x02\x02\x02-\xBE\x03\x02\x02\x02/\xCA\x03\x02\x02\x021\xD6" + - "\x03\x02\x02\x023\xD8\x03\x02\x02\x025\xDA\x03\x02\x02\x027\xDC\x03\x02" + - "\x02\x029\xDE\x03\x02\x02\x02;\xE0\x03\x02\x02\x02=\xE8\x03\x02\x02\x02" + - "?\xEF\x03\x02\x02\x02A\xF9\x03\x02\x02\x02C\u010E\x03\x02\x02\x02E\u0110" + - "\x03\x02\x02\x02G\u011B\x03\x02\x02\x02I\u012A\x03\x02\x02\x02KL\x07v" + - "\x02\x02LM\x07{\x02\x02MN\x07r\x02\x02NO\x07g\x02\x02O\x04\x03\x02\x02" + - "\x02PQ\x07?\x02\x02Q\x06\x03\x02\x02\x02RS\x07=\x02\x02S\b\x03\x02\x02" + - "\x02TU\x07n\x02\x02UV\x07g\x02\x02VW\x07v\x02\x02W\n\x03\x02\x02\x02X" + - "Y\x07<\x02\x02Y\f\x03\x02\x02\x02Z[\x07~\x02\x02[\x0E\x03\x02\x02\x02" + - "\\]\x07(\x02\x02]\x10\x03\x02\x02\x02^_\x07]\x02\x02_\x12\x03\x02\x02" + - "\x02`a\x07_\x02\x02a\x14\x03\x02\x02\x02bc\x07p\x02\x02cd\x07w\x02\x02" + - "de\x07o\x02\x02ef\x07d\x02\x02fg\x07g\x02\x02gh\x07t\x02\x02h\x16\x03" + - "\x02\x02\x02ij\x07u\x02\x02jk\x07v\x02\x02kl\x07t\x02\x02lm\x07k\x02\x02" + - "mn\x07p\x02\x02no\x07i\x02\x02o\x18\x03\x02\x02\x02pq\x07d\x02\x02qr\x07" + - "q\x02\x02rs\x07q\x02\x02st\x07n\x02\x02tu\x07g\x02\x02uv\x07c\x02\x02" + - "vw\x07p\x02\x02w\x1A\x03\x02\x02\x02xy\x07c\x02\x02yz\x07p\x02\x02z{\x07" + - "{\x02\x02{\x1C\x03\x02\x02\x02|}\x07x\x02\x02}~\x07q\x02\x02~\x7F\x07" + - "k\x02\x02\x7F\x80\x07f\x02\x02\x80\x1E\x03\x02\x02\x02\x81\x82\x07p\x02" + - "\x02\x82\x83\x07w\x02\x02\x83\x84\x07n\x02\x02\x84\x85\x07n\x02\x02\x85" + - " \x03\x02\x02\x02\x86\x87\x07w\x02\x02\x87\x88\x07p\x02\x02\x88\x89\x07" + - "f\x02\x02\x89\x8A\x07g\x02\x02\x8A\x8B\x07h\x02\x02\x8B\x8C\x07k\x02\x02" + - "\x8C\x8D\x07p\x02\x02\x8D\x8E\x07g\x02\x02\x8E\x8F\x07f\x02\x02\x8F\"" + - "\x03\x02\x02\x02\x90\x91\x07}\x02\x02\x91$\x03\x02\x02\x02\x92\x93\x07" + - "\x7F\x02\x02\x93&\x03\x02\x02\x02\x94\x95\x07{\x02\x02\x95\x96\x07q\x02" + - "\x02\x96\x97\x07t\x02\x02\x97\x98\x07m\x02\x02\x98\x99\x07k\x02\x02\x99" + - "\x9A\x07g\x02\x02\x9A\x9B\x070\x02\x02\x9B\x9C\x07Q\x02\x02\x9C\x9D\x07" + - "d\x02\x02\x9D\x9E\x07l\x02\x02\x9E\x9F\x07g\x02\x02\x9F\xA0\x07e\x02\x02" + - "\xA0\xA1\x07v\x02\x02\xA1(\x03\x02\x02\x02\xA2\xA3\x07{\x02\x02\xA3\xA4" + - "\x07q\x02\x02\xA4\xA5\x07t\x02\x02\xA5\xA6\x07m\x02\x02\xA6\xA7\x07k\x02" + - "\x02\xA7\xA8\x07g\x02\x02\xA8\xA9\x070\x02\x02\xA9\xAA\x07C\x02\x02\xAA" + - "\xAB\x07t\x02\x02\xAB\xAC\x07t\x02\x02\xAC\xAD\x07c\x02\x02\xAD\xAE\x07" + - "{\x02\x02\xAE*\x03\x02\x02\x02\xAF\xB0\x07{\x02\x02\xB0\xB1\x07q\x02\x02" + - "\xB1\xB2\x07t\x02\x02\xB2\xB3\x07m\x02\x02\xB3\xB4\x07k\x02\x02\xB4\xB5" + - "\x07g\x02\x02\xB5\xB6\x070\x02\x02\xB6\xB7\x07E\x02\x02\xB7\xB8\x07q\x02" + - "\x02\xB8\xB9\x07w\x02\x02\xB9\xBA\x07p\x02\x02\xBA\xBB\x07v\x02\x02\xBB" + - "\xBC\x07g\x02\x02\xBC\xBD\x07t\x02\x02\xBD,\x03\x02\x02\x02\xBE\xBF\x07" + - "{\x02\x02\xBF\xC0\x07q\x02\x02\xC0\xC1\x07t\x02\x02\xC1\xC2\x07m\x02\x02" + - "\xC2\xC3\x07k\x02\x02\xC3\xC4\x07g\x02\x02\xC4\xC5\x070\x02\x02\xC5\xC6" + - "\x07V\x02\x02\xC6\xC7\x07g\x02\x02\xC7\xC8\x07z\x02\x02\xC8\xC9\x07v\x02" + - "\x02\xC9.\x03\x02\x02\x02\xCA\xCB\x07{\x02\x02\xCB\xCC\x07q\x02\x02\xCC" + - "\xCD\x07t\x02\x02\xCD\xCE\x07m\x02\x02\xCE\xCF\x07k\x02\x02\xCF\xD0\x07" + - "g\x02\x02\xD0\xD1\x070\x02\x02\xD1\xD2\x07V\x02\x02\xD2\xD3\x07t\x02\x02" + - "\xD3\xD4\x07g\x02\x02\xD4\xD5\x07g\x02\x02\xD50\x03\x02\x02\x02\xD6\xD7" + - "\x07*\x02\x02\xD72\x03\x02\x02\x02\xD8\xD9\x07+\x02\x02\xD94\x03\x02\x02" + - "\x02\xDA\xDB\x07>\x02\x02\xDB6\x03\x02\x02\x02\xDC\xDD\x07.\x02\x02\xDD" + - "8\x03\x02\x02\x02\xDE\xDF\x07@\x02\x02\xDF:\x03\x02\x02\x02\xE0\xE1\x07" + - "g\x02\x02\xE1\xE2\x07z\x02\x02\xE2\xE3\x07v\x02\x02\xE3\xE4\x07g\x02\x02" + - "\xE4\xE5\x07p\x02\x02\xE5\xE6\x07f\x02\x02\xE6\xE7\x07u\x02\x02\xE7<\x03" + - "\x02\x02\x02\xE8\xEC\t\x02\x02\x02\xE9\xEB\t\x03\x02\x02\xEA\xE9\x03\x02" + - "\x02\x02\xEB\xEE\x03\x02\x02\x02\xEC\xEA\x03\x02\x02\x02\xEC\xED\x03\x02" + - "\x02\x02\xED>\x03\x02\x02\x02\xEE\xEC\x03\x02\x02\x02\xEF\xF3\x07$\x02" + - "\x02\xF0\xF2\n\x04\x02\x02\xF1\xF0\x03\x02\x02\x02\xF2\xF5\x03\x02\x02" + - "\x02\xF3\xF1\x03\x02\x02\x02\xF3\xF4\x03\x02\x02\x02\xF4\xF6\x03\x02\x02" + - "\x02\xF5\xF3\x03\x02\x02\x02\xF6\xF7\x07$\x02\x02\xF7@\x03\x02\x02\x02" + - "\xF8\xFA\t\x05\x02\x02\xF9\xF8\x03\x02\x02\x02\xFA\xFB\x03\x02\x02\x02" + - "\xFB\xF9\x03\x02\x02\x02\xFB\xFC\x03\x02\x02\x02\xFC\u0103\x03\x02\x02" + - "\x02\xFD\xFF\x070\x02\x02\xFE\u0100\t\x05\x02\x02\xFF\xFE\x03\x02\x02" + - "\x02\u0100\u0101\x03\x02\x02\x02\u0101\xFF\x03\x02\x02\x02\u0101\u0102" + - "\x03\x02\x02\x02\u0102\u0104\x03\x02\x02\x02\u0103\xFD\x03\x02\x02\x02" + - "\u0103\u0104\x03\x02\x02\x02\u0104B\x03\x02\x02\x02\u0105\u0106\x07v\x02" + - "\x02\u0106\u0107\x07t\x02\x02\u0107\u0108\x07w\x02\x02\u0108\u010F\x07" + - "g\x02\x02\u0109\u010A\x07h\x02\x02\u010A\u010B\x07c\x02\x02\u010B\u010C" + - "\x07n\x02\x02\u010C\u010D\x07u\x02\x02\u010D\u010F\x07g\x02\x02\u010E" + - "\u0105\x03\x02\x02\x02\u010E\u0109\x03\x02\x02\x02\u010FD\x03\x02\x02" + - "\x02\u0110\u0111\x071\x02\x02\u0111\u0112\x071\x02\x02\u0112\u0116\x03" + - "\x02\x02\x02\u0113\u0115\n\x06\x02\x02\u0114\u0113\x03\x02\x02\x02\u0115" + - "\u0118\x03\x02\x02\x02\u0116\u0114\x03\x02\x02\x02\u0116\u0117\x03\x02" + - "\x02\x02\u0117\u0119\x03\x02\x02\x02\u0118\u0116\x03\x02\x02\x02\u0119" + - "\u011A\b#\x02\x02\u011AF\x03\x02\x02\x02\u011B\u011C\x071\x02\x02\u011C" + - "\u011D\x07,\x02\x02\u011D\u0121\x03\x02\x02\x02\u011E\u0120\v\x02\x02" + - "\x02\u011F\u011E\x03\x02\x02\x02\u0120\u0123\x03\x02\x02\x02\u0121\u0122" + - "\x03\x02\x02\x02\u0121\u011F\x03\x02\x02\x02\u0122\u0124\x03\x02\x02\x02" + - "\u0123\u0121\x03\x02\x02\x02\u0124\u0125\x07,\x02\x02\u0125\u0126\x07" + - "1\x02\x02\u0126\u0127\x03\x02\x02\x02\u0127\u0128\b$\x02\x02\u0128H\x03" + - "\x02\x02\x02\u0129\u012B\t\x07\x02\x02\u012A\u0129\x03\x02\x02\x02\u012B" + - "\u012C\x03\x02\x02\x02\u012C\u012A\x03\x02\x02\x02\u012C\u012D\x03\x02" + - "\x02\x02\u012D\u012E\x03\x02\x02\x02\u012E\u012F\b%\x03\x02\u012FJ\x03" + - "\x02\x02\x02\f\x02\xEC\xF3\xFB\u0101\u0103\u010E\u0116\u0121\u012C\x04" + - "\x02\x03\x02\b\x02\x02"; + "\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x03\x02\x03\x02\x03\x02\x03\x02\x03" + + "\x02\x03\x03\x03\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03" + + "\x06\x03\x06\x03\x07\x03\x07\x03\b\x03\b\x03\t\x03\t\x03\n\x03\n\x03\v" + + "\x03\v\x03\v\x03\v\x03\v\x03\v\x03\v\x03\f\x03\f\x03\f\x03\f\x03\f\x03" + + "\f\x03\f\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\x0E\x03\x0E" + + "\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x10\x03\x10" + + "\x03\x10\x03\x10\x03\x10\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11" + + "\x03\x11\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x13\x03\x13\x03\x14" + + "\x03\x14\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15" + + "\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03\x16" + + "\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16" + + "\x03\x16\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17" + + "\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x18\x03\x18" + + "\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18" + + "\x03\x18\x03\x19\x03\x19\x03\x19\x03\x19\x03\x19\x03\x19\x03\x19\x03\x19" + + "\x03\x19\x03\x19\x03\x19\x03\x19\x03\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1C" + + "\x03\x1C\x03\x1D\x03\x1D\x03\x1E\x03\x1E\x03\x1F\x03\x1F\x03\x1F\x03\x1F" + + "\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03 \x03 \x07 \xEF\n \f \x0E \xF2\v " + + "\x03!\x03!\x07!\xF6\n!\f!\x0E!\xF9\v!\x03!\x03!\x03\"\x06\"\xFE\n\"\r" + + "\"\x0E\"\xFF\x03\"\x03\"\x06\"\u0104\n\"\r\"\x0E\"\u0105\x05\"\u0108\n" + + "\"\x03#\x03#\x03#\x03#\x03#\x03#\x03#\x03#\x03#\x05#\u0113\n#\x03$\x03" + + "$\x03$\x03$\x07$\u0119\n$\f$\x0E$\u011C\v$\x03$\x03$\x03%\x03%\x03%\x03" + + "%\x07%\u0124\n%\f%\x0E%\u0127\v%\x03%\x03%\x03%\x03%\x03%\x03&\x06&\u012F" + + "\n&\r&\x0E&\u0130\x03&\x03&\x03\u0125\x02\x02\'\x03\x02\x03\x05\x02\x04" + + "\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v" + + "\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10\x1F\x02\x11!" + + "\x02\x12#\x02\x13%\x02\x14\'\x02\x15)\x02\x16+\x02\x17-\x02\x18/\x02\x19" + + "1\x02\x1A3\x02\x1B5\x02\x1C7\x02\x1D9\x02\x1E;\x02\x1F=\x02 ?\x02!A\x02" + + "\"C\x02#E\x02$G\x02%I\x02&K\x02\'\x03\x02\b\x05\x02C\\aac|\x06\x022;C" + + "\\aac|\x05\x02\f\f\x0F\x0F$$\x03\x022;\x04\x02\f\f\x0F\x0F\x05\x02\v\f" + + "\x0F\x0F\"\"\x02\u013C\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02" + + "\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02" + + "\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02" + + "\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02" + + "\x19\x03\x02\x02\x02\x02\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02\x02" + + "\x1F\x03\x02\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03" + + "\x02\x02\x02\x02\'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03\x02\x02" + + "\x02\x02-\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02\x02\x02" + + "3\x03\x02\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02\x029\x03\x02" + + "\x02\x02\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02\x02\x02" + + "\x02A\x03\x02\x02\x02\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02\x02G\x03" + + "\x02\x02\x02\x02I\x03\x02\x02\x02\x02K\x03\x02\x02\x02\x03M\x03\x02\x02" + + "\x02\x05R\x03\x02\x02\x02\x07T\x03\x02\x02\x02\tV\x03\x02\x02\x02\vZ\x03" + + "\x02\x02\x02\r\\\x03\x02\x02\x02\x0F^\x03\x02\x02\x02\x11`\x03\x02\x02" + + "\x02\x13b\x03\x02\x02\x02\x15d\x03\x02\x02\x02\x17k\x03\x02\x02\x02\x19" + + "r\x03\x02\x02\x02\x1Bz\x03\x02\x02\x02\x1D~\x03\x02\x02\x02\x1F\x83\x03" + + "\x02\x02\x02!\x88\x03\x02\x02\x02#\x92\x03\x02\x02\x02%\x94\x03\x02\x02" + + "\x02\'\x96\x03\x02\x02\x02)\x98\x03\x02\x02\x02+\xA6\x03\x02\x02\x02-" + + "\xB3\x03\x02\x02\x02/\xC2\x03\x02\x02\x021\xCE\x03\x02\x02\x023\xDA\x03" + + "\x02\x02\x025\xDC\x03\x02\x02\x027\xDE\x03\x02\x02\x029\xE0\x03\x02\x02" + + "\x02;\xE2\x03\x02\x02\x02=\xE4\x03\x02\x02\x02?\xEC\x03\x02\x02\x02A\xF3" + + "\x03\x02\x02\x02C\xFD\x03\x02\x02\x02E\u0112\x03\x02\x02\x02G\u0114\x03" + + "\x02\x02\x02I\u011F\x03\x02\x02\x02K\u012E\x03\x02\x02\x02MN\x07v\x02" + + "\x02NO\x07{\x02\x02OP\x07r\x02\x02PQ\x07g\x02\x02Q\x04\x03\x02\x02\x02" + + "RS\x07?\x02\x02S\x06\x03\x02\x02\x02TU\x07=\x02\x02U\b\x03\x02\x02\x02" + + "VW\x07n\x02\x02WX\x07g\x02\x02XY\x07v\x02\x02Y\n\x03\x02\x02\x02Z[\x07" + + "<\x02\x02[\f\x03\x02\x02\x02\\]\x07~\x02\x02]\x0E\x03\x02\x02\x02^_\x07" + + "(\x02\x02_\x10\x03\x02\x02\x02`a\x07]\x02\x02a\x12\x03\x02\x02\x02bc\x07" + + "_\x02\x02c\x14\x03\x02\x02\x02de\x07p\x02\x02ef\x07w\x02\x02fg\x07o\x02" + + "\x02gh\x07d\x02\x02hi\x07g\x02\x02ij\x07t\x02\x02j\x16\x03\x02\x02\x02" + + "kl\x07u\x02\x02lm\x07v\x02\x02mn\x07t\x02\x02no\x07k\x02\x02op\x07p\x02" + + "\x02pq\x07i\x02\x02q\x18\x03\x02\x02\x02rs\x07d\x02\x02st\x07q\x02\x02" + + "tu\x07q\x02\x02uv\x07n\x02\x02vw\x07g\x02\x02wx\x07c\x02\x02xy\x07p\x02" + + "\x02y\x1A\x03\x02\x02\x02z{\x07c\x02\x02{|\x07p\x02\x02|}\x07{\x02\x02" + + "}\x1C\x03\x02\x02\x02~\x7F\x07x\x02\x02\x7F\x80\x07q\x02\x02\x80\x81\x07" + + "k\x02\x02\x81\x82\x07f\x02\x02\x82\x1E\x03\x02\x02\x02\x83\x84\x07p\x02" + + "\x02\x84\x85\x07w\x02\x02\x85\x86\x07n\x02\x02\x86\x87\x07n\x02\x02\x87" + + " \x03\x02\x02\x02\x88\x89\x07w\x02\x02\x89\x8A\x07p\x02\x02\x8A\x8B\x07" + + "f\x02\x02\x8B\x8C\x07g\x02\x02\x8C\x8D\x07h\x02\x02\x8D\x8E\x07k\x02\x02" + + "\x8E\x8F\x07p\x02\x02\x8F\x90\x07g\x02\x02\x90\x91\x07f\x02\x02\x91\"" + + "\x03\x02\x02\x02\x92\x93\x07}\x02\x02\x93$\x03\x02\x02\x02\x94\x95\x07" + + "\x7F\x02\x02\x95&\x03\x02\x02\x02\x96\x97\x07A\x02\x02\x97(\x03\x02\x02" + + "\x02\x98\x99\x07{\x02\x02\x99\x9A\x07q\x02\x02\x9A\x9B\x07t\x02\x02\x9B" + + "\x9C\x07m\x02\x02\x9C\x9D\x07k\x02\x02\x9D\x9E\x07g\x02\x02\x9E\x9F\x07" + + "0\x02\x02\x9F\xA0\x07Q\x02\x02\xA0\xA1\x07d\x02\x02\xA1\xA2\x07l\x02\x02" + + "\xA2\xA3\x07g\x02\x02\xA3\xA4\x07e\x02\x02\xA4\xA5\x07v\x02\x02\xA5*\x03" + + "\x02\x02\x02\xA6\xA7\x07{\x02\x02\xA7\xA8\x07q\x02\x02\xA8\xA9\x07t\x02" + + "\x02\xA9\xAA\x07m\x02\x02\xAA\xAB\x07k\x02\x02\xAB\xAC\x07g\x02\x02\xAC" + + "\xAD\x070\x02\x02\xAD\xAE\x07C\x02\x02\xAE\xAF\x07t\x02\x02\xAF\xB0\x07" + + "t\x02\x02\xB0\xB1\x07c\x02\x02\xB1\xB2\x07{\x02\x02\xB2,\x03\x02\x02\x02" + + "\xB3\xB4\x07{\x02\x02\xB4\xB5\x07q\x02\x02\xB5\xB6\x07t\x02\x02\xB6\xB7" + + "\x07m\x02\x02\xB7\xB8\x07k\x02\x02\xB8\xB9\x07g\x02\x02\xB9\xBA\x070\x02" + + "\x02\xBA\xBB\x07E\x02\x02\xBB\xBC\x07q\x02\x02\xBC\xBD\x07w\x02\x02\xBD" + + "\xBE\x07p\x02\x02\xBE\xBF\x07v\x02\x02\xBF\xC0\x07g\x02\x02\xC0\xC1\x07" + + "t\x02\x02\xC1.\x03\x02\x02\x02\xC2\xC3\x07{\x02\x02\xC3\xC4\x07q\x02\x02" + + "\xC4\xC5\x07t\x02\x02\xC5\xC6\x07m\x02\x02\xC6\xC7\x07k\x02\x02\xC7\xC8" + + "\x07g\x02\x02\xC8\xC9\x070\x02\x02\xC9\xCA\x07V\x02\x02\xCA\xCB\x07g\x02" + + "\x02\xCB\xCC\x07z\x02\x02\xCC\xCD\x07v\x02\x02\xCD0\x03\x02\x02\x02\xCE" + + "\xCF\x07{\x02\x02\xCF\xD0\x07q\x02\x02\xD0\xD1\x07t\x02\x02\xD1\xD2\x07" + + "m\x02\x02\xD2\xD3\x07k\x02\x02\xD3\xD4\x07g\x02\x02\xD4\xD5\x070\x02\x02" + + "\xD5\xD6\x07V\x02\x02\xD6\xD7\x07t\x02\x02\xD7\xD8\x07g\x02\x02\xD8\xD9" + + "\x07g\x02\x02\xD92\x03\x02\x02\x02\xDA\xDB\x07*\x02\x02\xDB4\x03\x02\x02" + + "\x02\xDC\xDD\x07+\x02\x02\xDD6\x03\x02\x02\x02\xDE\xDF\x07>\x02\x02\xDF" + + "8\x03\x02\x02\x02\xE0\xE1\x07.\x02\x02\xE1:\x03\x02\x02\x02\xE2\xE3\x07" + + "@\x02\x02\xE3<\x03\x02\x02\x02\xE4\xE5\x07g\x02\x02\xE5\xE6\x07z\x02\x02" + + "\xE6\xE7\x07v\x02\x02\xE7\xE8\x07g\x02\x02\xE8\xE9\x07p\x02\x02\xE9\xEA" + + "\x07f\x02\x02\xEA\xEB\x07u\x02\x02\xEB>\x03\x02\x02\x02\xEC\xF0\t\x02" + + "\x02\x02\xED\xEF\t\x03\x02\x02\xEE\xED\x03\x02\x02\x02\xEF\xF2\x03\x02" + + "\x02\x02\xF0\xEE\x03\x02\x02\x02\xF0\xF1\x03\x02\x02\x02\xF1@\x03\x02" + + "\x02\x02\xF2\xF0\x03\x02\x02\x02\xF3\xF7\x07$\x02\x02\xF4\xF6\n\x04\x02" + + "\x02\xF5\xF4\x03\x02\x02\x02\xF6\xF9\x03\x02\x02\x02\xF7\xF5\x03\x02\x02" + + "\x02\xF7\xF8\x03\x02\x02\x02\xF8\xFA\x03\x02\x02\x02\xF9\xF7\x03\x02\x02" + + "\x02\xFA\xFB\x07$\x02\x02\xFBB\x03\x02\x02\x02\xFC\xFE\t\x05\x02\x02\xFD" + + "\xFC\x03\x02\x02\x02\xFE\xFF\x03\x02\x02\x02\xFF\xFD\x03\x02\x02\x02\xFF" + + "\u0100\x03\x02\x02\x02\u0100\u0107\x03\x02\x02\x02\u0101\u0103\x070\x02" + + "\x02\u0102\u0104\t\x05\x02\x02\u0103\u0102\x03\x02\x02\x02\u0104\u0105" + + "\x03\x02\x02\x02\u0105\u0103\x03\x02\x02\x02\u0105\u0106\x03\x02\x02\x02" + + "\u0106\u0108\x03\x02\x02\x02\u0107\u0101\x03\x02\x02\x02\u0107\u0108\x03" + + "\x02\x02\x02\u0108D\x03\x02\x02\x02\u0109\u010A\x07v\x02\x02\u010A\u010B" + + "\x07t\x02\x02\u010B\u010C\x07w\x02\x02\u010C\u0113\x07g\x02\x02\u010D" + + "\u010E\x07h\x02\x02\u010E\u010F\x07c\x02\x02\u010F\u0110\x07n\x02\x02" + + "\u0110\u0111\x07u\x02\x02\u0111\u0113\x07g\x02\x02\u0112\u0109\x03\x02" + + "\x02\x02\u0112\u010D\x03\x02\x02\x02\u0113F\x03\x02\x02\x02\u0114\u0115" + + "\x071\x02\x02\u0115\u0116\x071\x02\x02\u0116\u011A\x03\x02\x02\x02\u0117" + + "\u0119\n\x06\x02\x02\u0118\u0117\x03\x02\x02\x02\u0119\u011C\x03\x02\x02" + + "\x02\u011A\u0118\x03\x02\x02\x02\u011A\u011B\x03\x02\x02\x02\u011B\u011D" + + "\x03\x02\x02\x02\u011C\u011A\x03\x02\x02\x02\u011D\u011E\b$\x02\x02\u011E" + + "H\x03\x02\x02\x02\u011F\u0120\x071\x02\x02\u0120\u0121\x07,\x02\x02\u0121" + + "\u0125\x03\x02\x02\x02\u0122\u0124\v\x02\x02\x02\u0123\u0122\x03\x02\x02" + + "\x02\u0124\u0127\x03\x02\x02\x02\u0125\u0126\x03\x02\x02\x02\u0125\u0123" + + "\x03\x02\x02\x02\u0126\u0128\x03\x02\x02\x02\u0127\u0125\x03\x02\x02\x02" + + "\u0128\u0129\x07,\x02\x02\u0129\u012A\x071\x02\x02\u012A\u012B\x03\x02" + + "\x02\x02\u012B\u012C\b%\x02\x02\u012CJ\x03\x02\x02\x02\u012D\u012F\t\x07" + + "\x02\x02\u012E\u012D\x03\x02\x02\x02\u012F\u0130\x03\x02\x02\x02\u0130" + + "\u012E\x03\x02\x02\x02\u0130\u0131\x03\x02\x02\x02\u0131\u0132\x03\x02" + + "\x02\x02\u0132\u0133\b&\x03\x02\u0133L\x03\x02\x02\x02\f\x02\xF0\xF7\xFF" + + "\u0105\u0107\u0112\u011A\u0125\u0130\x04\x02\x03\x02\b\x02\x02"; public static __ATN: ATN; public static get _ATN(): ATN { if (!YorkieSchemaLexer.__ATN) { diff --git a/antlr/YorkieSchemaParser.ts b/antlr/YorkieSchemaParser.ts index cdb8d08..60ecfe0 100644 --- a/antlr/YorkieSchemaParser.ts +++ b/antlr/YorkieSchemaParser.ts @@ -57,13 +57,14 @@ export class YorkieSchemaParser extends Parser { public static readonly T__26 = 27; public static readonly T__27 = 28; public static readonly T__28 = 29; - public static readonly Identifier = 30; - public static readonly StringLiteral = 31; - public static readonly NumberLiteral = 32; - public static readonly BooleanLiteral = 33; - public static readonly SingleLineComment = 34; - public static readonly MultiLineComment = 35; - public static readonly WS = 36; + public static readonly T__29 = 30; + public static readonly Identifier = 31; + public static readonly StringLiteral = 32; + public static readonly NumberLiteral = 33; + public static readonly BooleanLiteral = 34; + public static readonly SingleLineComment = 35; + public static readonly MultiLineComment = 36; + public static readonly WS = 37; public static readonly RULE_document = 0; public static readonly RULE_declaration = 1; public static readonly RULE_typeAliasDeclaration = 2; @@ -98,15 +99,16 @@ export class YorkieSchemaParser extends Parser { private static readonly _LITERAL_NAMES: Array = [ undefined, "'type'", "'='", "';'", "'let'", "':'", "'|'", "'&'", "'['", "']'", "'number'", "'string'", "'boolean'", "'any'", "'void'", "'null'", - "'undefined'", "'{'", "'}'", "'yorkie.Object'", "'yorkie.Array'", "'yorkie.Counter'", - "'yorkie.Text'", "'yorkie.Tree'", "'('", "')'", "'<'", "','", "'>'", "'extends'", + "'undefined'", "'{'", "'}'", "'?'", "'yorkie.Object'", "'yorkie.Array'", + "'yorkie.Counter'", "'yorkie.Text'", "'yorkie.Tree'", "'('", "')'", "'<'", + "','", "'>'", "'extends'", ]; private static readonly _SYMBOLIC_NAMES: Array = [ undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, - undefined, undefined, "Identifier", "StringLiteral", "NumberLiteral", + undefined, undefined, undefined, "Identifier", "StringLiteral", "NumberLiteral", "BooleanLiteral", "SingleLineComment", "MultiLineComment", "WS", ]; public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(YorkieSchemaParser._LITERAL_NAMES, YorkieSchemaParser._SYMBOLIC_NAMES, []); @@ -230,7 +232,7 @@ export class YorkieSchemaParser extends Parser { this.state = 59; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la === YorkieSchemaParser.T__25) { + if (_la === YorkieSchemaParser.T__26) { { this.state = 58; this.typeParameters(); @@ -494,10 +496,10 @@ export class YorkieSchemaParser extends Parser { let _localctx: PrimaryTypeContext = new PrimaryTypeContext(this._ctx, this.state); this.enterRule(_localctx, 18, YorkieSchemaParser.RULE_primaryType); try { - this.state = 110; + this.state = 111; this._errHandler.sync(this); switch (this._input.LA(1)) { - case YorkieSchemaParser.T__23: + case YorkieSchemaParser.T__24: this.enterOuterAlt(_localctx, 1); { this.state = 105; @@ -524,11 +526,11 @@ export class YorkieSchemaParser extends Parser { this.objectType(); } break; - case YorkieSchemaParser.T__18: case YorkieSchemaParser.T__19: case YorkieSchemaParser.T__20: case YorkieSchemaParser.T__21: case YorkieSchemaParser.T__22: + case YorkieSchemaParser.T__23: this.enterOuterAlt(_localctx, 4); { this.state = 108; @@ -542,6 +544,15 @@ export class YorkieSchemaParser extends Parser { this.typeReference(); } break; + case YorkieSchemaParser.StringLiteral: + case YorkieSchemaParser.NumberLiteral: + case YorkieSchemaParser.BooleanLiteral: + this.enterOuterAlt(_localctx, 6); + { + this.state = 110; + this.literal(); + } + break; default: throw new NoViableAltException(this); } @@ -568,7 +579,7 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 112; + this.state = 113; _la = this._input.LA(1); if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << YorkieSchemaParser.T__9) | (1 << YorkieSchemaParser.T__10) | (1 << YorkieSchemaParser.T__11) | (1 << YorkieSchemaParser.T__12) | (1 << YorkieSchemaParser.T__13) | (1 << YorkieSchemaParser.T__14) | (1 << YorkieSchemaParser.T__15))) !== 0))) { this._errHandler.recoverInline(this); @@ -604,23 +615,23 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 114; + this.state = 115; this.match(YorkieSchemaParser.T__16); - this.state = 118; + this.state = 119; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === YorkieSchemaParser.Identifier || _la === YorkieSchemaParser.StringLiteral) { { { - this.state = 115; + this.state = 116; this.propertySignature(); } } - this.state = 120; + this.state = 121; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 121; + this.state = 122; this.match(YorkieSchemaParser.T__17); } } @@ -642,14 +653,25 @@ export class YorkieSchemaParser extends Parser { public propertySignature(): PropertySignatureContext { let _localctx: PropertySignatureContext = new PropertySignatureContext(this._ctx, this.state); this.enterRule(_localctx, 24, YorkieSchemaParser.RULE_propertySignature); + let _la: number; try { this.enterOuterAlt(_localctx, 1); { - this.state = 123; - this.propertyName(); this.state = 124; + this.propertyName(); + this.state = 126; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la === YorkieSchemaParser.T__18) { + { + this.state = 125; + this.match(YorkieSchemaParser.T__18); + } + } + + this.state = 128; this.typeAnnotation(); - this.state = 125; + this.state = 129; this.match(YorkieSchemaParser.T__2); } } @@ -675,7 +697,7 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 127; + this.state = 131; _la = this._input.LA(1); if (!(_la === YorkieSchemaParser.Identifier || _la === YorkieSchemaParser.StringLiteral)) { this._errHandler.recoverInline(this); @@ -709,20 +731,80 @@ export class YorkieSchemaParser extends Parser { this.enterRule(_localctx, 28, YorkieSchemaParser.RULE_yorkieType); let _la: number; try { - this.enterOuterAlt(_localctx, 1); - { - this.state = 129; - _la = this._input.LA(1); - if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << YorkieSchemaParser.T__18) | (1 << YorkieSchemaParser.T__19) | (1 << YorkieSchemaParser.T__20) | (1 << YorkieSchemaParser.T__21) | (1 << YorkieSchemaParser.T__22))) !== 0))) { - this._errHandler.recoverInline(this); - } else { - if (this._input.LA(1) === Token.EOF) { - this.matchedEOF = true; + this.state = 149; + this._errHandler.sync(this); + switch (this._input.LA(1)) { + case YorkieSchemaParser.T__19: + this.enterOuterAlt(_localctx, 1); + { + this.state = 133; + this.match(YorkieSchemaParser.T__19); + this.state = 134; + this.typeArguments(); + } + break; + case YorkieSchemaParser.T__20: + this.enterOuterAlt(_localctx, 2); + { + this.state = 135; + this.match(YorkieSchemaParser.T__20); + this.state = 136; + this.typeArguments(); + } + break; + case YorkieSchemaParser.T__21: + this.enterOuterAlt(_localctx, 3); + { + this.state = 137; + this.match(YorkieSchemaParser.T__21); + this.state = 139; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la === YorkieSchemaParser.T__26) { + { + this.state = 138; + this.typeArguments(); + } } - this._errHandler.reportMatch(this); - this.consume(); - } + } + break; + case YorkieSchemaParser.T__22: + this.enterOuterAlt(_localctx, 4); + { + this.state = 141; + this.match(YorkieSchemaParser.T__22); + this.state = 143; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la === YorkieSchemaParser.T__26) { + { + this.state = 142; + this.typeArguments(); + } + } + + } + break; + case YorkieSchemaParser.T__23: + this.enterOuterAlt(_localctx, 5); + { + this.state = 145; + this.match(YorkieSchemaParser.T__23); + this.state = 147; + this._errHandler.sync(this); + _la = this._input.LA(1); + if (_la === YorkieSchemaParser.T__26) { + { + this.state = 146; + this.typeArguments(); + } + } + + } + break; + default: + throw new NoViableAltException(this); } } catch (re) { @@ -747,14 +829,14 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 131; + this.state = 151; this.match(YorkieSchemaParser.Identifier); - this.state = 133; + this.state = 153; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la === YorkieSchemaParser.T__25) { + if (_la === YorkieSchemaParser.T__26) { { - this.state = 132; + this.state = 152; this.typeArguments(); } } @@ -782,12 +864,12 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 135; - this.match(YorkieSchemaParser.T__23); - this.state = 136; - this.type(); - this.state = 137; + this.state = 155; this.match(YorkieSchemaParser.T__24); + this.state = 156; + this.type(); + this.state = 157; + this.match(YorkieSchemaParser.T__25); } } catch (re) { @@ -812,28 +894,28 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 139; - this.match(YorkieSchemaParser.T__25); - this.state = 140; + this.state = 159; + this.match(YorkieSchemaParser.T__26); + this.state = 160; this.typeParameter(); - this.state = 145; + this.state = 165; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === YorkieSchemaParser.T__26) { + while (_la === YorkieSchemaParser.T__27) { { { - this.state = 141; - this.match(YorkieSchemaParser.T__26); - this.state = 142; + this.state = 161; + this.match(YorkieSchemaParser.T__27); + this.state = 162; this.typeParameter(); } } - this.state = 147; + this.state = 167; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 148; - this.match(YorkieSchemaParser.T__27); + this.state = 168; + this.match(YorkieSchemaParser.T__28); } } catch (re) { @@ -858,16 +940,16 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 150; + this.state = 170; this.match(YorkieSchemaParser.Identifier); - this.state = 153; + this.state = 173; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la === YorkieSchemaParser.T__28) { + if (_la === YorkieSchemaParser.T__29) { { - this.state = 151; - this.match(YorkieSchemaParser.T__28); - this.state = 152; + this.state = 171; + this.match(YorkieSchemaParser.T__29); + this.state = 172; this.type(); } } @@ -896,28 +978,28 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 155; - this.match(YorkieSchemaParser.T__25); - this.state = 156; + this.state = 175; + this.match(YorkieSchemaParser.T__26); + this.state = 176; this.type(); - this.state = 161; + this.state = 181; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === YorkieSchemaParser.T__26) { + while (_la === YorkieSchemaParser.T__27) { { { - this.state = 157; - this.match(YorkieSchemaParser.T__26); - this.state = 158; + this.state = 177; + this.match(YorkieSchemaParser.T__27); + this.state = 178; this.type(); } } - this.state = 163; + this.state = 183; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 164; - this.match(YorkieSchemaParser.T__27); + this.state = 184; + this.match(YorkieSchemaParser.T__28); } } catch (re) { @@ -939,13 +1021,13 @@ export class YorkieSchemaParser extends Parser { let _localctx: ExpressionContext = new ExpressionContext(this._ctx, this.state); this.enterRule(_localctx, 40, YorkieSchemaParser.RULE_expression); try { - this.state = 168; + this.state = 188; this._errHandler.sync(this); switch (this._input.LA(1)) { case YorkieSchemaParser.Identifier: this.enterOuterAlt(_localctx, 1); { - this.state = 166; + this.state = 186; this.match(YorkieSchemaParser.Identifier); } break; @@ -954,7 +1036,7 @@ export class YorkieSchemaParser extends Parser { case YorkieSchemaParser.BooleanLiteral: this.enterOuterAlt(_localctx, 2); { - this.state = 167; + this.state = 187; this.literal(); } break; @@ -984,9 +1066,9 @@ export class YorkieSchemaParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 170; + this.state = 190; _la = this._input.LA(1); - if (!(((((_la - 31)) & ~0x1F) === 0 && ((1 << (_la - 31)) & ((1 << (YorkieSchemaParser.StringLiteral - 31)) | (1 << (YorkieSchemaParser.NumberLiteral - 31)) | (1 << (YorkieSchemaParser.BooleanLiteral - 31)))) !== 0))) { + if (!(((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & ((1 << (YorkieSchemaParser.StringLiteral - 32)) | (1 << (YorkieSchemaParser.NumberLiteral - 32)) | (1 << (YorkieSchemaParser.BooleanLiteral - 32)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { @@ -1014,7 +1096,7 @@ export class YorkieSchemaParser extends Parser { } public static readonly _serializedATN: string = - "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03&\xAF\x04\x02" + + "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03\'\xC3\x04\x02" + "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" + "\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04" + "\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04" + @@ -1025,65 +1107,77 @@ export class YorkieSchemaParser extends Parser { "\x05\x05K\n\x05\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07" + "\x03\b\x03\b\x03\b\x07\bW\n\b\f\b\x0E\bZ\v\b\x03\t\x03\t\x03\t\x07\t_" + "\n\t\f\t\x0E\tb\v\t\x03\n\x03\n\x03\n\x07\ng\n\n\f\n\x0E\nj\v\n\x03\v" + - "\x03\v\x03\v\x03\v\x03\v\x05\vq\n\v\x03\f\x03\f\x03\r\x03\r\x07\rw\n\r" + - "\f\r\x0E\rz\v\r\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0F\x03" + - "\x0F\x03\x10\x03\x10\x03\x11\x03\x11\x05\x11\x88\n\x11\x03\x12\x03\x12" + - "\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13\x07\x13\x92\n\x13\f\x13" + - "\x0E\x13\x95\v\x13\x03\x13\x03\x13\x03\x14\x03\x14\x03\x14\x05\x14\x9C" + - "\n\x14\x03\x15\x03\x15\x03\x15\x03\x15\x07\x15\xA2\n\x15\f\x15\x0E\x15" + - "\xA5\v\x15\x03\x15\x03\x15\x03\x16\x03\x16\x05\x16\xAB\n\x16\x03\x17\x03" + - "\x17\x03\x17\x02\x02\x02\x18\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02" + - "\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x1C\x02\x1E\x02" + - " \x02\"\x02$\x02&\x02(\x02*\x02,\x02\x02\x06\x03\x02\f\x12\x03\x02 !\x03" + - "\x02\x15\x19\x03\x02!#\x02\xAA\x021\x03\x02\x02\x02\x048\x03\x02\x02\x02" + - "\x06:\x03\x02\x02\x02\bC\x03\x02\x02\x02\nN\x03\x02\x02\x02\fQ\x03\x02" + - "\x02\x02\x0ES\x03\x02\x02\x02\x10[\x03\x02\x02\x02\x12c\x03\x02\x02\x02" + - "\x14p\x03\x02\x02\x02\x16r\x03\x02\x02\x02\x18t\x03\x02\x02\x02\x1A}\x03" + - "\x02\x02\x02\x1C\x81\x03\x02\x02\x02\x1E\x83\x03\x02\x02\x02 \x85\x03" + - "\x02\x02\x02\"\x89\x03\x02\x02\x02$\x8D\x03\x02\x02\x02&\x98\x03\x02\x02" + - "\x02(\x9D\x03\x02\x02\x02*\xAA\x03\x02\x02\x02,\xAC\x03\x02\x02\x02.0" + - "\x05\x04\x03\x02/.\x03\x02\x02\x0203\x03\x02\x02\x021/\x03\x02\x02\x02" + - "12\x03\x02\x02\x0224\x03\x02\x02\x0231\x03\x02\x02\x0245\x07\x02\x02\x03" + - "5\x03\x03\x02\x02\x0269\x05\x06\x04\x0279\x05\b\x05\x0286\x03\x02\x02" + - "\x0287\x03\x02\x02\x029\x05\x03\x02\x02\x02:;\x07\x03\x02\x02;=\x07 \x02" + - "\x02<>\x05$\x13\x02=<\x03\x02\x02\x02=>\x03\x02\x02\x02>?\x03\x02\x02" + - "\x02?@\x07\x04\x02\x02@A\x05\f\x07\x02AB\x07\x05\x02\x02B\x07\x03\x02" + - "\x02\x02CD\x07\x06\x02\x02DF\x07 \x02\x02EG\x05\n\x06\x02FE\x03\x02\x02" + - "\x02FG\x03\x02\x02\x02GJ\x03\x02\x02\x02HI\x07\x04\x02\x02IK\x05*\x16" + - "\x02JH\x03\x02\x02\x02JK\x03\x02\x02\x02KL\x03\x02\x02\x02LM\x07\x05\x02" + - "\x02M\t\x03\x02\x02\x02NO\x07\x07\x02\x02OP\x05\f\x07\x02P\v\x03\x02\x02" + - "\x02QR\x05\x0E\b\x02R\r\x03\x02\x02\x02SX\x05\x10\t\x02TU\x07\b\x02\x02" + - "UW\x05\x10\t\x02VT\x03\x02\x02\x02WZ\x03\x02\x02\x02XV\x03\x02\x02\x02" + - "XY\x03\x02\x02\x02Y\x0F\x03\x02\x02\x02ZX\x03\x02\x02\x02[`\x05\x12\n" + - "\x02\\]\x07\t\x02\x02]_\x05\x12\n\x02^\\\x03\x02\x02\x02_b\x03\x02\x02" + - "\x02`^\x03\x02\x02\x02`a\x03\x02\x02\x02a\x11\x03\x02\x02\x02b`\x03\x02" + - "\x02\x02ch\x05\x14\v\x02de\x07\n\x02\x02eg\x07\v\x02\x02fd\x03\x02\x02" + - "\x02gj\x03\x02\x02\x02hf\x03\x02\x02\x02hi\x03\x02\x02\x02i\x13\x03\x02" + - "\x02\x02jh\x03\x02\x02\x02kq\x05\"\x12\x02lq\x05\x16\f\x02mq\x05\x18\r" + - "\x02nq\x05\x1E\x10\x02oq\x05 \x11\x02pk\x03\x02\x02\x02pl\x03\x02\x02" + - "\x02pm\x03\x02\x02\x02pn\x03\x02\x02\x02po\x03\x02\x02\x02q\x15\x03\x02" + - "\x02\x02rs\t\x02\x02\x02s\x17\x03\x02\x02\x02tx\x07\x13\x02\x02uw\x05" + - "\x1A\x0E\x02vu\x03\x02\x02\x02wz\x03\x02\x02\x02xv\x03\x02\x02\x02xy\x03" + - "\x02\x02\x02y{\x03\x02\x02\x02zx\x03\x02\x02\x02{|\x07\x14\x02\x02|\x19" + - "\x03\x02\x02\x02}~\x05\x1C\x0F\x02~\x7F\x05\n\x06\x02\x7F\x80\x07\x05" + - "\x02\x02\x80\x1B\x03\x02\x02\x02\x81\x82\t\x03\x02\x02\x82\x1D\x03\x02" + - "\x02\x02\x83\x84\t\x04\x02\x02\x84\x1F\x03\x02\x02\x02\x85\x87\x07 \x02" + - "\x02\x86\x88\x05(\x15\x02\x87\x86\x03\x02\x02\x02\x87\x88\x03\x02\x02" + - "\x02\x88!\x03\x02\x02\x02\x89\x8A\x07\x1A\x02\x02\x8A\x8B\x05\f\x07\x02" + - "\x8B\x8C\x07\x1B\x02\x02\x8C#\x03\x02\x02\x02\x8D\x8E\x07\x1C\x02\x02" + - "\x8E\x93\x05&\x14\x02\x8F\x90\x07\x1D\x02\x02\x90\x92\x05&\x14\x02\x91" + - "\x8F\x03\x02\x02\x02\x92\x95\x03\x02\x02\x02\x93\x91\x03\x02\x02\x02\x93" + - "\x94\x03\x02\x02\x02\x94\x96\x03\x02\x02\x02\x95\x93\x03\x02\x02\x02\x96" + - "\x97\x07\x1E\x02\x02\x97%\x03\x02\x02\x02\x98\x9B\x07 \x02\x02\x99\x9A" + - "\x07\x1F\x02\x02\x9A\x9C\x05\f\x07\x02\x9B\x99\x03\x02\x02\x02\x9B\x9C" + - "\x03\x02\x02\x02\x9C\'\x03\x02\x02\x02\x9D\x9E\x07\x1C\x02\x02\x9E\xA3" + - "\x05\f\x07\x02\x9F\xA0\x07\x1D\x02\x02\xA0\xA2\x05\f\x07\x02\xA1\x9F\x03" + - "\x02\x02\x02\xA2\xA5\x03\x02\x02\x02\xA3\xA1\x03\x02\x02\x02\xA3\xA4\x03" + - "\x02\x02\x02\xA4\xA6\x03\x02\x02\x02\xA5\xA3\x03\x02\x02\x02\xA6\xA7\x07" + - "\x1E\x02\x02\xA7)\x03\x02\x02\x02\xA8\xAB\x07 \x02\x02\xA9\xAB\x05,\x17" + - "\x02\xAA\xA8\x03\x02\x02\x02\xAA\xA9\x03\x02\x02\x02\xAB+\x03\x02\x02" + - "\x02\xAC\xAD\t\x05\x02\x02\xAD-\x03\x02\x02\x02\x1118=FJX`hpx\x87\x93" + - "\x9B\xA3\xAA"; + "\x03\v\x03\v\x03\v\x03\v\x03\v\x05\vr\n\v\x03\f\x03\f\x03\r\x03\r\x07" + + "\rx\n\r\f\r\x0E\r{\v\r\x03\r\x03\r\x03\x0E\x03\x0E\x05\x0E\x81\n\x0E\x03" + + "\x0E\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03" + + "\x10\x03\x10\x05\x10\x8E\n\x10\x03\x10\x03\x10\x05\x10\x92\n\x10\x03\x10" + + "\x03\x10\x05\x10\x96\n\x10\x05\x10\x98\n\x10\x03\x11\x03\x11\x05\x11\x9C" + + "\n\x11\x03\x12\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13" + + "\x07\x13\xA6\n\x13\f\x13\x0E\x13\xA9\v\x13\x03\x13\x03\x13\x03\x14\x03" + + "\x14\x03\x14\x05\x14\xB0\n\x14\x03\x15\x03\x15\x03\x15\x03\x15\x07\x15" + + "\xB6\n\x15\f\x15\x0E\x15\xB9\v\x15\x03\x15\x03\x15\x03\x16\x03\x16\x05" + + "\x16\xBF\n\x16\x03\x17\x03\x17\x03\x17\x02\x02\x02\x18\x02\x02\x04\x02" + + "\x06\x02\b\x02\n\x02\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18" + + "\x02\x1A\x02\x1C\x02\x1E\x02 \x02\"\x02$\x02&\x02(\x02*\x02,\x02\x02\x05" + + "\x03\x02\f\x12\x03\x02!\"\x03\x02\"$\x02\xC7\x021\x03\x02\x02\x02\x04" + + "8\x03\x02\x02\x02\x06:\x03\x02\x02\x02\bC\x03\x02\x02\x02\nN\x03\x02\x02" + + "\x02\fQ\x03\x02\x02\x02\x0ES\x03\x02\x02\x02\x10[\x03\x02\x02\x02\x12" + + "c\x03\x02\x02\x02\x14q\x03\x02\x02\x02\x16s\x03\x02\x02\x02\x18u\x03\x02" + + "\x02\x02\x1A~\x03\x02\x02\x02\x1C\x85\x03\x02\x02\x02\x1E\x97\x03\x02" + + "\x02\x02 \x99\x03\x02\x02\x02\"\x9D\x03\x02\x02\x02$\xA1\x03\x02\x02\x02" + + "&\xAC\x03\x02\x02\x02(\xB1\x03\x02\x02\x02*\xBE\x03\x02\x02\x02,\xC0\x03" + + "\x02\x02\x02.0\x05\x04\x03\x02/.\x03\x02\x02\x0203\x03\x02\x02\x021/\x03" + + "\x02\x02\x0212\x03\x02\x02\x0224\x03\x02\x02\x0231\x03\x02\x02\x0245\x07" + + "\x02\x02\x035\x03\x03\x02\x02\x0269\x05\x06\x04\x0279\x05\b\x05\x0286" + + "\x03\x02\x02\x0287\x03\x02\x02\x029\x05\x03\x02\x02\x02:;\x07\x03\x02" + + "\x02;=\x07!\x02\x02<>\x05$\x13\x02=<\x03\x02\x02\x02=>\x03\x02\x02\x02" + + ">?\x03\x02\x02\x02?@\x07\x04\x02\x02@A\x05\f\x07\x02AB\x07\x05\x02\x02" + + "B\x07\x03\x02\x02\x02CD\x07\x06\x02\x02DF\x07!\x02\x02EG\x05\n\x06\x02" + + "FE\x03\x02\x02\x02FG\x03\x02\x02\x02GJ\x03\x02\x02\x02HI\x07\x04\x02\x02" + + "IK\x05*\x16\x02JH\x03\x02\x02\x02JK\x03\x02\x02\x02KL\x03\x02\x02\x02" + + "LM\x07\x05\x02\x02M\t\x03\x02\x02\x02NO\x07\x07\x02\x02OP\x05\f\x07\x02" + + "P\v\x03\x02\x02\x02QR\x05\x0E\b\x02R\r\x03\x02\x02\x02SX\x05\x10\t\x02" + + "TU\x07\b\x02\x02UW\x05\x10\t\x02VT\x03\x02\x02\x02WZ\x03\x02\x02\x02X" + + "V\x03\x02\x02\x02XY\x03\x02\x02\x02Y\x0F\x03\x02\x02\x02ZX\x03\x02\x02" + + "\x02[`\x05\x12\n\x02\\]\x07\t\x02\x02]_\x05\x12\n\x02^\\\x03\x02\x02\x02" + + "_b\x03\x02\x02\x02`^\x03\x02\x02\x02`a\x03\x02\x02\x02a\x11\x03\x02\x02" + + "\x02b`\x03\x02\x02\x02ch\x05\x14\v\x02de\x07\n\x02\x02eg\x07\v\x02\x02" + + "fd\x03\x02\x02\x02gj\x03\x02\x02\x02hf\x03\x02\x02\x02hi\x03\x02\x02\x02" + + "i\x13\x03\x02\x02\x02jh\x03\x02\x02\x02kr\x05\"\x12\x02lr\x05\x16\f\x02" + + "mr\x05\x18\r\x02nr\x05\x1E\x10\x02or\x05 \x11\x02pr\x05,\x17\x02qk\x03" + + "\x02\x02\x02ql\x03\x02\x02\x02qm\x03\x02\x02\x02qn\x03\x02\x02\x02qo\x03" + + "\x02\x02\x02qp\x03\x02\x02\x02r\x15\x03\x02\x02\x02st\t\x02\x02\x02t\x17" + + "\x03\x02\x02\x02uy\x07\x13\x02\x02vx\x05\x1A\x0E\x02wv\x03\x02\x02\x02" + + "x{\x03\x02\x02\x02yw\x03\x02\x02\x02yz\x03\x02\x02\x02z|\x03\x02\x02\x02" + + "{y\x03\x02\x02\x02|}\x07\x14\x02\x02}\x19\x03\x02\x02\x02~\x80\x05\x1C" + + "\x0F\x02\x7F\x81\x07\x15\x02\x02\x80\x7F\x03\x02\x02\x02\x80\x81\x03\x02" + + "\x02\x02\x81\x82\x03\x02\x02\x02\x82\x83\x05\n\x06\x02\x83\x84\x07\x05" + + "\x02\x02\x84\x1B\x03\x02\x02\x02\x85\x86\t\x03\x02\x02\x86\x1D\x03\x02" + + "\x02\x02\x87\x88\x07\x16\x02\x02\x88\x98\x05(\x15\x02\x89\x8A\x07\x17" + + "\x02\x02\x8A\x98\x05(\x15\x02\x8B\x8D\x07\x18\x02\x02\x8C\x8E\x05(\x15" + + "\x02\x8D\x8C\x03\x02\x02\x02\x8D\x8E\x03\x02\x02\x02\x8E\x98\x03\x02\x02" + + "\x02\x8F\x91\x07\x19\x02\x02\x90\x92\x05(\x15\x02\x91\x90\x03\x02\x02" + + "\x02\x91\x92\x03\x02\x02\x02\x92\x98\x03\x02\x02\x02\x93\x95\x07\x1A\x02" + + "\x02\x94\x96\x05(\x15\x02\x95\x94\x03\x02\x02\x02\x95\x96\x03\x02\x02" + + "\x02\x96\x98\x03\x02\x02\x02\x97\x87\x03\x02\x02\x02\x97\x89\x03\x02\x02" + + "\x02\x97\x8B\x03\x02\x02\x02\x97\x8F\x03\x02\x02\x02\x97\x93\x03\x02\x02" + + "\x02\x98\x1F\x03\x02\x02\x02\x99\x9B\x07!\x02\x02\x9A\x9C\x05(\x15\x02" + + "\x9B\x9A\x03\x02\x02\x02\x9B\x9C\x03\x02\x02\x02\x9C!\x03\x02\x02\x02" + + "\x9D\x9E\x07\x1B\x02\x02\x9E\x9F\x05\f\x07\x02\x9F\xA0\x07\x1C\x02\x02" + + "\xA0#\x03\x02\x02\x02\xA1\xA2\x07\x1D\x02\x02\xA2\xA7\x05&\x14\x02\xA3" + + "\xA4\x07\x1E\x02\x02\xA4\xA6\x05&\x14\x02\xA5\xA3\x03\x02\x02\x02\xA6" + + "\xA9\x03\x02\x02\x02\xA7\xA5\x03\x02\x02\x02\xA7\xA8\x03\x02\x02\x02\xA8" + + "\xAA\x03\x02\x02\x02\xA9\xA7\x03\x02\x02\x02\xAA\xAB\x07\x1F\x02\x02\xAB" + + "%\x03\x02\x02\x02\xAC\xAF\x07!\x02\x02\xAD\xAE\x07 \x02\x02\xAE\xB0\x05" + + "\f\x07\x02\xAF\xAD\x03\x02\x02\x02\xAF\xB0\x03\x02\x02\x02\xB0\'\x03\x02" + + "\x02\x02\xB1\xB2\x07\x1D\x02\x02\xB2\xB7\x05\f\x07\x02\xB3\xB4\x07\x1E" + + "\x02\x02\xB4\xB6\x05\f\x07\x02\xB5\xB3\x03\x02\x02\x02\xB6\xB9\x03\x02" + + "\x02\x02\xB7\xB5\x03\x02\x02\x02\xB7\xB8\x03\x02\x02\x02\xB8\xBA\x03\x02" + + "\x02\x02\xB9\xB7\x03\x02\x02\x02\xBA\xBB\x07\x1F\x02\x02\xBB)\x03\x02" + + "\x02\x02\xBC\xBF\x07!\x02\x02\xBD\xBF\x05,\x17\x02\xBE\xBC\x03\x02\x02" + + "\x02\xBE\xBD\x03\x02\x02\x02\xBF+\x03\x02\x02\x02\xC0\xC1\t\x04\x02\x02" + + "\xC1-\x03\x02\x02\x02\x1618=FJX`hqy\x80\x8D\x91\x95\x97\x9B\xA7\xAF\xB7" + + "\xBE"; public static __ATN: ATN; public static get _ATN(): ATN { if (!YorkieSchemaParser.__ATN) { @@ -1429,6 +1523,9 @@ export class PrimaryTypeContext extends ParserRuleContext { public typeReference(): TypeReferenceContext | undefined { return this.tryGetRuleContext(0, TypeReferenceContext); } + public literal(): LiteralContext | undefined { + return this.tryGetRuleContext(0, LiteralContext); + } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } @@ -1591,6 +1688,9 @@ export class PropertyNameContext extends ParserRuleContext { export class YorkieTypeContext extends ParserRuleContext { + public typeArguments(): TypeArgumentsContext | undefined { + return this.tryGetRuleContext(0, TypeArgumentsContext); + } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } diff --git a/src/main.ts b/src/main.ts index e81f779..ba63b49 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,11 +1,11 @@ import { EditorState } from '@codemirror/state'; import { linter, lintGutter, Diagnostic } from '@codemirror/lint'; import { basicSetup, EditorView } from 'codemirror'; -import { getDiagnostics } from './validator'; +import { toDiagnostics } from './validator'; -const yorkieLinter = linter((view) => { +const yorkieLinter = linter((view): Array => { const code = view.state.doc.toString(); - const diagnostics: Diagnostic[] = getDiagnostics(code).map((data) => { + return toDiagnostics(code).map((data) => { return { from: view.state.doc.line(data.range.start.line).from + @@ -15,7 +15,6 @@ const yorkieLinter = linter((view) => { severity: data.severity, }; }); - return diagnostics; }); new EditorView({ @@ -25,7 +24,7 @@ new EditorView({ // This is the root of your document // Every schema must define a Document type type Document = { - // theme: "light" | "dark"; + theme: "light" | "dark"; history: Event[]; text: yorkie.Text; }; diff --git a/src/validator.ts b/src/validator.ts index b540da8..dc35d6d 100644 --- a/src/validator.ts +++ b/src/validator.ts @@ -126,8 +126,8 @@ export function validate(data: string): boolean { return true; } -export function getDiagnostics(data: string): Diagnostic[] { - const diagnostics: Diagnostic[] = []; +export function toDiagnostics(data: string): Array { + const diagnostics: Array = []; const stream = CharStreams.fromString(data); const lexer = new YorkieSchemaLexer(stream); diff --git a/test/schema.test.ts b/test/schema.test.ts index 99551cd..ba56e83 100644 --- a/test/schema.test.ts +++ b/test/schema.test.ts @@ -2,7 +2,7 @@ import { describe, it, expect } from 'vitest'; import { validate } from '../src/validator'; describe('Schema:TypeScript', () => { - it.skip('should validate value restriction with literal types', () => { + it('should validate value restriction with literal types', () => { const schema = ` type Document = { theme: "light" | "dark"; @@ -66,7 +66,7 @@ describe('Schema:TypeScript', () => { expect(validate(schema)).toBe(true); }); - it.skip('should validate optional properties', () => { + it('should validate optional properties', () => { const schema = ` type Document = { title: string; @@ -126,33 +126,32 @@ describe('Schema:Yorkie', () => { expect(validate(schema)).toBe(true); }); - it.skip('should validate Yorkie types with user-defined attributes', () => { + it('should validate Yorkie types with user-defined attributes', () => { const schema = ` type Document = { text1: yorkie.Text<{}>; - text2: yorkie.Text<{bold: boolean}>; + text2: yorkie.Text<{bold: boolean;}>; }; `; expect(validate(schema)).toBe(true); }); - it.skip('should detect incorrect usage of Yorkie type', () => { + it('should detect incorrect usage of Yorkie type', () => { const schema = ` type Document = { object: yorkie.Object; array: yorkie.Array; }; `; - // TODO(hackerwins): We need to figure out the intention of this test. expect(validate(schema)).toBe(false); }); - it.skip("should parse a schema using Yorkie's complex types", () => { + it(`should parse a schema using Yorkie's complex types`, () => { const schema = ` type Todo = { title: string; completed: boolean; - } + }; type Document = { object: yorkie.Object<{}>; array: yorkie.Array; @@ -203,10 +202,10 @@ describe('Schema:User-Defined', () => { banana: number; cookie: boolean; dog: number[]; - string_or_number: string | number; - array_of_string_or_number: (string | number)[]; + stringOrNumber: string | number; + arrayOfStringOrNumber: (string | number)[]; complex: string | number | boolean[]; - array_of_complex: (string | number | boolean)[]; + arrayOfComplex: (string | number | boolean)[]; }; type UserDetail = { address: string; @@ -219,8 +218,8 @@ describe('Schema:User-Defined', () => { }); }); -describe.skip('Schema:Exception', () => { - it('should not parse a schema with undefined types', () => { +describe('Schema:Exception', () => { + it.skip('should not parse a schema with undefined types', () => { const schema = ` type Document = { unknownType: Hello; @@ -233,31 +232,31 @@ describe.skip('Schema:Exception', () => { const schema = ` type string = { field1: string; - } + }; `; expect(validate(schema)).toBe(false); }); - it('shoud restrict unused type definition', () => { + it.skip('shoud restrict unused type definition', () => { const schema = ` type UserType = { field1: string; - } + }; `; expect(validate(schema)).toBe(false); }); - it('should detect type cycle', () => { + it.skip('should detect type cycle', () => { const schema = ` type Hello = { field1: string; field2: World; - } + }; type World = { field1: string; field2: Hello; - } + }; `; expect(validate(schema)).toBe(false); });