1
Files
fluent-java/fluent.syntax/src/test/resources/reference_fixtures/callee_expressions.json
Voomra 499c699cd1 feat: fluent.syntax
Портирование кода из fluent-kotlin
https://github.com/projectfluent/fluent-kotlin
2025-07-21 15:23:11 +03:00

707 lines
16 KiB
JSON

{
"type": "Resource",
"body": [
{
"content": "Callees in placeables.",
"type": "GroupComment",
"span": {
"type": "Span",
"start": 0,
"end": 25
}
},
{
"type": "Message",
"id": {
"type": "Identifier",
"name": "function-callee-placeable",
"span": {
"type": "Span",
"start": 27,
"end": 52
}
},
"value": {
"type": "Pattern",
"elements": [
{
"type": "Placeable",
"expression": {
"type": "FunctionReference",
"id": {
"type": "Identifier",
"name": "FUNCTION",
"span": {
"type": "Span",
"start": 56,
"end": 64
}
},
"arguments": {
"type": "CallArguments",
"positional": [],
"named": [],
"span": {
"type": "Span",
"start": 64,
"end": 66
}
},
"span": {
"type": "Span",
"start": 56,
"end": 66
}
},
"span": {
"type": "Span",
"start": 55,
"end": 67
}
}
],
"span": {
"type": "Span",
"start": 55,
"end": 67
}
},
"attributes": [],
"comment": null,
"span": {
"type": "Span",
"start": 27,
"end": 67
}
},
{
"type": "Message",
"id": {
"type": "Identifier",
"name": "term-callee-placeable",
"span": {
"type": "Span",
"start": 68,
"end": 89
}
},
"value": {
"type": "Pattern",
"elements": [
{
"type": "Placeable",
"expression": {
"type": "TermReference",
"id": {
"type": "Identifier",
"name": "term",
"span": {
"type": "Span",
"start": 94,
"end": 98
}
},
"attribute": null,
"arguments": {
"type": "CallArguments",
"positional": [],
"named": [],
"span": {
"type": "Span",
"start": 98,
"end": 100
}
},
"span": {
"type": "Span",
"start": 93,
"end": 100
}
},
"span": {
"type": "Span",
"start": 92,
"end": 101
}
}
],
"span": {
"type": "Span",
"start": 92,
"end": 101
}
},
"attributes": [],
"comment": null,
"span": {
"type": "Span",
"start": 68,
"end": 101
}
},
{
"content": "ERROR Messages cannot be parameterized.",
"type": "Comment",
"span": {
"type": "Span",
"start": 103,
"end": 144
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0008",
"arguments": [],
"message": "The callee has to be an upper-case identifier or a term",
"span": {
"type": "Span",
"start": 180,
"end": 180
}
}
],
"content": "message-callee-placeable = {message()}\n",
"span": {
"type": "Span",
"start": 145,
"end": 184
}
},
{
"content": "ERROR Equivalent to a MessageReference callee.",
"type": "Comment",
"span": {
"type": "Span",
"start": 184,
"end": 232
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0008",
"arguments": [],
"message": "The callee has to be an upper-case identifier or a term",
"span": {
"type": "Span",
"start": 272,
"end": 272
}
}
],
"content": "mixed-case-callee-placeable = {Function()}\n",
"span": {
"type": "Span",
"start": 233,
"end": 276
}
},
{
"content": "ERROR Message attributes cannot be parameterized.",
"type": "Comment",
"span": {
"type": "Span",
"start": 276,
"end": 327
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0003",
"arguments": [
"}"
],
"message": "Expected token: \"}\"",
"span": {
"type": "Span",
"start": 373,
"end": 373
}
}
],
"content": "message-attr-callee-placeable = {message.attr()}\n",
"span": {
"type": "Span",
"start": 328,
"end": 377
}
},
{
"content": "ERROR Term attributes may not be used in Placeables.",
"type": "Comment",
"span": {
"type": "Span",
"start": 377,
"end": 431
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0019",
"arguments": [],
"message": "Attributes of terms cannot be used as placeables",
"span": {
"type": "Span",
"start": 474,
"end": 474
}
}
],
"content": "term-attr-callee-placeable = {-term.attr()}\n",
"span": {
"type": "Span",
"start": 432,
"end": 476
}
},
{
"content": "ERROR Variables cannot be parameterized.",
"type": "Comment",
"span": {
"type": "Span",
"start": 476,
"end": 518
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0003",
"arguments": [
"}"
],
"message": "Expected token: \"}\"",
"span": {
"type": "Span",
"start": 557,
"end": 557
}
}
],
"content": "variable-callee-placeable = {$variable()}\n\n\n",
"span": {
"type": "Span",
"start": 519,
"end": 563
}
},
{
"content": "Callees in selectors.",
"type": "GroupComment",
"span": {
"type": "Span",
"start": 563,
"end": 587
}
},
{
"type": "Message",
"id": {
"type": "Identifier",
"name": "function-callee-selector",
"span": {
"type": "Span",
"start": 589,
"end": 613
}
},
"value": {
"type": "Pattern",
"elements": [
{
"type": "Placeable",
"expression": {
"type": "SelectExpression",
"selector": {
"type": "FunctionReference",
"id": {
"type": "Identifier",
"name": "FUNCTION",
"span": {
"type": "Span",
"start": 617,
"end": 625
}
},
"arguments": {
"type": "CallArguments",
"positional": [],
"named": [],
"span": {
"type": "Span",
"start": 625,
"end": 627
}
},
"span": {
"type": "Span",
"start": 617,
"end": 627
}
},
"variants": [
{
"type": "Variant",
"key": {
"type": "Identifier",
"name": "key",
"span": {
"type": "Span",
"start": 636,
"end": 639
}
},
"value": {
"type": "Pattern",
"elements": [
{
"type": "TextElement",
"value": "Value",
"span": {
"type": "Span",
"start": 641,
"end": 646
}
}
],
"span": {
"type": "Span",
"start": 641,
"end": 646
}
},
"default": true,
"span": {
"type": "Span",
"start": 634,
"end": 646
}
}
],
"span": {
"type": "Span",
"start": 617,
"end": 647
}
},
"span": {
"type": "Span",
"start": 616,
"end": 648
}
}
],
"span": {
"type": "Span",
"start": 616,
"end": 648
}
},
"attributes": [],
"comment": null,
"span": {
"type": "Span",
"start": 589,
"end": 648
}
},
{
"type": "Message",
"id": {
"type": "Identifier",
"name": "term-attr-callee-selector",
"span": {
"type": "Span",
"start": 649,
"end": 674
}
},
"value": {
"type": "Pattern",
"elements": [
{
"type": "Placeable",
"expression": {
"type": "SelectExpression",
"selector": {
"type": "TermReference",
"id": {
"type": "Identifier",
"name": "term",
"span": {
"type": "Span",
"start": 679,
"end": 683
}
},
"attribute": {
"type": "Identifier",
"name": "attr",
"span": {
"type": "Span",
"start": 684,
"end": 688
}
},
"arguments": {
"type": "CallArguments",
"positional": [],
"named": [],
"span": {
"type": "Span",
"start": 688,
"end": 690
}
},
"span": {
"type": "Span",
"start": 678,
"end": 690
}
},
"variants": [
{
"type": "Variant",
"key": {
"type": "Identifier",
"name": "key",
"span": {
"type": "Span",
"start": 699,
"end": 702
}
},
"value": {
"type": "Pattern",
"elements": [
{
"type": "TextElement",
"value": "Value",
"span": {
"type": "Span",
"start": 704,
"end": 709
}
}
],
"span": {
"type": "Span",
"start": 704,
"end": 709
}
},
"default": true,
"span": {
"type": "Span",
"start": 697,
"end": 709
}
}
],
"span": {
"type": "Span",
"start": 678,
"end": 710
}
},
"span": {
"type": "Span",
"start": 677,
"end": 711
}
}
],
"span": {
"type": "Span",
"start": 677,
"end": 711
}
},
"attributes": [],
"comment": null,
"span": {
"type": "Span",
"start": 649,
"end": 711
}
},
{
"content": "ERROR Messages cannot be parameterized.",
"type": "Comment",
"span": {
"type": "Span",
"start": 713,
"end": 754
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0008",
"arguments": [],
"message": "The callee has to be an upper-case identifier or a term",
"span": {
"type": "Span",
"start": 789,
"end": 789
}
}
],
"content": "message-callee-selector = {message() ->\n *[key] Value\n}\n",
"span": {
"type": "Span",
"start": 755,
"end": 813
}
},
{
"content": "ERROR Equivalent to a MessageReference callee.",
"type": "Comment",
"span": {
"type": "Span",
"start": 813,
"end": 861
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0008",
"arguments": [],
"message": "The callee has to be an upper-case identifier or a term",
"span": {
"type": "Span",
"start": 900,
"end": 900
}
}
],
"content": "mixed-case-callee-selector = {Function() ->\n *[key] Value\n}\n",
"span": {
"type": "Span",
"start": 862,
"end": 924
}
},
{
"content": "ERROR Message attributes cannot be parameterized.",
"type": "Comment",
"span": {
"type": "Span",
"start": 924,
"end": 975
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0003",
"arguments": [
"}"
],
"message": "Expected token: \"}\"",
"span": {
"type": "Span",
"start": 1020,
"end": 1020
}
}
],
"content": "message-attr-callee-selector = {message.attr() ->\n *[key] Value\n}\n",
"span": {
"type": "Span",
"start": 976,
"end": 1044
}
},
{
"content": "ERROR Term values may not be used as selectors.",
"type": "Comment",
"span": {
"type": "Span",
"start": 1044,
"end": 1093
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0017",
"arguments": [],
"message": "Terms cannot be used as selectors",
"span": {
"type": "Span",
"start": 1126,
"end": 1126
}
}
],
"content": "term-callee-selector = {-term() ->\n *[key] Value\n}\n",
"span": {
"type": "Span",
"start": 1094,
"end": 1147
}
},
{
"content": "ERROR Variables cannot be parameterized.",
"type": "Comment",
"span": {
"type": "Span",
"start": 1147,
"end": 1189
}
},
{
"type": "Junk",
"annotations": [
{
"type": "Annotation",
"code": "E0003",
"arguments": [
"}"
],
"message": "Expected token: \"}\"",
"span": {
"type": "Span",
"start": 1227,
"end": 1227
}
}
],
"content": "variable-callee-selector = {$variable() ->\n *[key] Value\n}\n",
"span": {
"type": "Span",
"start": 1190,
"end": 1251
}
}
],
"span": {
"type": "Span",
"start": 0,
"end": 1251
}
}