| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| #mixed_content // f.c.MixedContent; Location 1:1-18:8 |
| #if // f.c.ConditionalBlock; Location 1:1-1:15 |
| - condition: exp // f.c.Identifier; Location 1:6-1:8 |
| - AST-node subtype: "0" // Integer |
| #if // f.c.ConditionalBlock; Location 2:1-2:16 |
| - condition: exp // f.c.Identifier; Location 2:6-2:8 |
| - AST-node subtype: "0" // Integer |
| #text // f.c.TextBlock; Location 2:10-2:10 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 2:17-2:17 |
| - content: "\n" // String |
| #if // f.c.ConditionalBlock; Location 3:1-3:20 |
| - condition: exp // f.c.Identifier; Location 3:6-3:8 |
| - AST-node subtype: "0" // Integer |
| ${...} // f.c.DollarVariable; Location 3:10-3:13 |
| - content: 1 // f.c.NumberLiteral; Location 3:12-3:12 |
| #text // f.c.TextBlock; Location 3:14-3:14 |
| - content: "2" // String |
| #text // f.c.TextBlock; Location 3:21-3:21 |
| - content: "\n" // String |
| #if-#elseif-#else-container // f.c.IfBlock; Location 4:1-4:22 |
| #if // f.c.ConditionalBlock; Location 4:1-4:9 |
| - condition: exp // f.c.Identifier; Location 4:6-4:8 |
| - AST-node subtype: "0" // Integer |
| #else // f.c.ConditionalBlock; Location 4:10-4:16 |
| - condition: null // Null |
| - AST-node subtype: "1" // Integer |
| #if-#elseif-#else-container // f.c.IfBlock; Location 5:1-5:24 |
| #if // f.c.ConditionalBlock; Location 5:1-5:10 |
| - condition: exp // f.c.Identifier; Location 5:6-5:8 |
| - AST-node subtype: "0" // Integer |
| #text // f.c.TextBlock; Location 5:10-5:10 |
| - content: "1" // String |
| #else // f.c.ConditionalBlock; Location 5:11-5:18 |
| - condition: null // Null |
| - AST-node subtype: "1" // Integer |
| #text // f.c.TextBlock; Location 5:18-5:18 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 5:25-5:25 |
| - content: "\n" // String |
| #if-#elseif-#else-container // f.c.IfBlock; Location 6:1-6:32 |
| #if // f.c.ConditionalBlock; Location 6:1-6:14 |
| - condition: exp // f.c.Identifier; Location 6:6-6:8 |
| - AST-node subtype: "0" // Integer |
| ${...} // f.c.DollarVariable; Location 6:10-6:13 |
| - content: 1 // f.c.NumberLiteral; Location 6:12-6:12 |
| #text // f.c.TextBlock; Location 6:14-6:14 |
| - content: "2" // String |
| #else // f.c.ConditionalBlock; Location 6:15-6:26 |
| - condition: null // Null |
| - AST-node subtype: "1" // Integer |
| ${...} // f.c.DollarVariable; Location 6:22-6:25 |
| - content: 1 // f.c.NumberLiteral; Location 6:24-6:24 |
| #text // f.c.TextBlock; Location 6:26-6:26 |
| - content: "2" // String |
| #text // f.c.TextBlock; Location 6:33-6:33 |
| - content: "\n" // String |
| #if-#elseif-#else-container // f.c.IfBlock; Location 7:1-7:28 |
| #if // f.c.ConditionalBlock; Location 7:1-7:9 |
| - condition: exp // f.c.Identifier; Location 7:6-7:8 |
| - AST-node subtype: "0" // Integer |
| #elseif // f.c.ConditionalBlock; Location 7:10-7:22 |
| - condition: exp // f.c.Identifier; Location 7:19-7:21 |
| - AST-node subtype: "2" // Integer |
| #if-#elseif-#else-container // f.c.IfBlock; Location 8:1-8:29 |
| #if // f.c.ConditionalBlock; Location 8:1-8:9 |
| - condition: exp // f.c.Identifier; Location 8:6-8:8 |
| - AST-node subtype: "0" // Integer |
| #elseif // f.c.ConditionalBlock; Location 8:10-8:23 |
| - condition: exp // f.c.Identifier; Location 8:19-8:21 |
| - AST-node subtype: "2" // Integer |
| #text // f.c.TextBlock; Location 8:23-8:23 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 8:30-8:30 |
| - content: "\n" // String |
| #attempt // f.c.AttemptBlock; Location 9:1-9:31 |
| - error handler: #recover // f.c.RecoveryBlock; Location 9:11-9:20 |
| #recover // f.c.RecoveryBlock; Location 9:11-9:20 |
| #attempt // f.c.AttemptBlock; Location 10:1-10:33 |
| - error handler: #recover // f.c.RecoveryBlock; Location 10:12-10:22 |
| #text // f.c.TextBlock; Location 10:22-10:22 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 10:11-10:11 |
| - content: "1" // String |
| #recover // f.c.RecoveryBlock; Location 10:12-10:22 |
| #text // f.c.TextBlock; Location 10:22-10:22 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 10:34-10:34 |
| - content: "\n" // String |
| #list // f.c.IteratorBlock; Location 11:1-11:22 |
| - list source: s // f.c.Identifier; Location 11:8-11:8 |
| - target loop variable: "i" // String |
| #list // f.c.IteratorBlock; Location 12:1-12:23 |
| - list source: s // f.c.Identifier; Location 12:8-12:8 |
| - target loop variable: "i" // String |
| #text // f.c.TextBlock; Location 12:15-12:15 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 12:24-12:24 |
| - content: "\n" // String |
| #list // f.c.IteratorBlock; Location 13:1-13:28 |
| - list source: s // f.c.Identifier; Location 13:8-13:8 |
| - target loop variable: "i" // String |
| #sep // f.c.Sep; Location 13:15-13:20 |
| #list // f.c.IteratorBlock; Location 14:1-14:30 |
| - list source: s // f.c.Identifier; Location 14:8-14:8 |
| - target loop variable: "i" // String |
| #text // f.c.TextBlock; Location 14:15-14:15 |
| - content: "1" // String |
| #sep // f.c.Sep; Location 14:16-14:22 |
| #text // f.c.TextBlock; Location 14:22-14:22 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 14:31-14:31 |
| - content: "\n" // String |
| #list // f.c.IteratorBlock; Location 15:1-15:45 |
| - list source: s // f.c.Identifier; Location 15:8-15:8 |
| #items // f.c.Items; Location 15:10-15:37 |
| - target loop variable: "i" // String |
| #sep // f.c.Sep; Location 15:23-15:28 |
| #list // f.c.IteratorBlock; Location 16:1-16:49 |
| - list source: s // f.c.Identifier; Location 16:8-16:8 |
| #text // f.c.TextBlock; Location 16:10-16:10 |
| - content: "1" // String |
| #items // f.c.Items; Location 16:11-16:40 |
| - target loop variable: "i" // String |
| #text // f.c.TextBlock; Location 16:24-16:24 |
| - content: "1" // String |
| #sep // f.c.Sep; Location 16:25-16:31 |
| #text // f.c.TextBlock; Location 16:31-16:31 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 16:41-16:41 |
| - content: "1" // String |
| #text // f.c.TextBlock; Location 16:50-17:2 |
| - content: "\n1\n" // String |
| ${...} // f.c.DollarVariable; Location 18:1-18:8 |
| - content: + // f.c.AddConcatExpression; Location 18:3-18:7 |
| - left-hand operand: x // f.c.Identifier; Location 18:3-18:3 |
| - right-hand operand: y // f.c.Identifier; Location 18:7-18:7 |