| /* |
| * 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 |
| #text // f.c.TextBlock |
| - content: "1 " // String |
| @ // f.c.UnifiedCall |
| - callee: foo // f.c.Identifier |
| - argument name: "x" // String |
| - argument value: 1 // f.c.NumberLiteral |
| - argument name: "y" // String |
| - argument value: 2 // f.c.NumberLiteral |
| - target loop variable: "b1" // String |
| - target loop variable: "b2" // String |
| #text // f.c.TextBlock |
| - content: "x" // String |
| #text // f.c.TextBlock |
| - content: "\n2 " // String |
| @ // f.c.UnifiedCall |
| - callee: . // f.c.Dot |
| - left-hand operand: ns // f.c.Identifier |
| - right-hand operand: "bar" // String |
| - argument value: 1 // f.c.NumberLiteral |
| - argument value: 2 // f.c.NumberLiteral |
| - target loop variable: "b1" // String |
| - target loop variable: "b2" // String |
| #text // f.c.TextBlock |
| - content: "y" // String |
| #text // f.c.TextBlock |
| - content: "\n3 " // String |
| #assign // f.c.Assignment |
| - assignment target: "x" // String |
| - assignment operator: "=" // String |
| - assignment source: 123 // f.c.NumberLiteral |
| - variable scope: "1" // Integer |
| - namespace: null // Null |
| #assign // f.c.Assignment |
| - assignment target: "x" // String |
| - assignment operator: "=" // String |
| - assignment source: 123 // f.c.NumberLiteral |
| - variable scope: "1" // Integer |
| - namespace: ns // f.c.Identifier |
| #global // f.c.Assignment |
| - assignment target: "x" // String |
| - assignment operator: "=" // String |
| - assignment source: 123 // f.c.NumberLiteral |
| - variable scope: "3" // Integer |
| - namespace: null // Null |
| #text // f.c.TextBlock |
| - content: "\n4 " // String |
| #if-#elseif-#else-container // f.c.IfBlock |
| #if // f.c.ConditionalBlock |
| - condition: == // f.c.ComparisonExpression |
| - left-hand operand: + // f.c.AddConcatExpression |
| - left-hand operand: x // f.c.Identifier |
| - right-hand operand: 1 // f.c.NumberLiteral |
| - right-hand operand: 0 // f.c.NumberLiteral |
| - AST-node subtype: "0" // Integer |
| #text // f.c.TextBlock |
| - content: "foo" // String |
| ${...} // f.c.DollarVariable |
| - content: y // f.c.Identifier |
| #text // f.c.TextBlock |
| - content: "bar" // String |
| #else // f.c.ConditionalBlock |
| - condition: null // Null |
| - AST-node subtype: "1" // Integer |
| ${...} // f.c.DollarVariable |
| - content: "static" // f.c.StringLiteral |
| ${...} // f.c.DollarVariable |
| - content: dynamic "..." // f.c.StringLiteral |
| - value part: "x" // String |
| - value part: ${...} // f.c.DollarVariable |
| - content: * // f.c.ArithmeticExpression |
| - left-hand operand: baaz // f.c.Identifier |
| - right-hand operand: 10 // f.c.NumberLiteral |
| - AST-node subtype: "1" // Integer |
| - value part: "y" // String |
| #text // f.c.TextBlock |
| - content: "\n5 " // String |
| #switch // f.c.SwitchBlock |
| - value: x // f.c.Identifier |
| #case // f.c.Case |
| - condition: 1 // f.c.NumberLiteral |
| - AST-node subtype: "0" // Integer |
| #text // f.c.TextBlock |
| - content: "one" // String |
| #case // f.c.Case |
| - condition: 2 // f.c.NumberLiteral |
| - AST-node subtype: "0" // Integer |
| #text // f.c.TextBlock |
| - content: "two" // String |
| #default // f.c.Case |
| - condition: null // Null |
| - AST-node subtype: "1" // Integer |
| #text // f.c.TextBlock |
| - content: "more" // String |
| #text // f.c.TextBlock |
| - content: "\n6 " // String |
| #macro // f.c.Macro |
| - assignment target: "foo" // String |
| - parameter name: "x" // String |
| - parameter default: null // Null |
| - parameter name: "y" // String |
| - parameter default: 2 // f.c.NumberLiteral |
| - parameter name: "z" // String |
| - parameter default: + // f.c.AddConcatExpression |
| - left-hand operand: y // f.c.Identifier |
| - right-hand operand: 1 // f.c.NumberLiteral |
| - catch-all parameter name: "q" // String |
| - AST-node subtype: "0" // Integer |
| #nested // f.c.BodyInstruction |
| - passed value: x // f.c.Identifier |
| - passed value: y // f.c.Identifier |
| #text // f.c.TextBlock |
| - content: "\n7 " // String |
| #function // f.c.Macro |
| - assignment target: "foo" // String |
| - parameter name: "x" // String |
| - parameter default: null // Null |
| - parameter name: "y" // String |
| - parameter default: null // Null |
| - catch-all parameter name: null // Null |
| - AST-node subtype: "1" // Integer |
| #local // f.c.Assignment |
| - assignment target: "x" // String |
| - assignment operator: "=" // String |
| - assignment source: 123 // f.c.NumberLiteral |
| - variable scope: "2" // Integer |
| - namespace: null // Null |
| #return // f.c.ReturnInstruction |
| - value: 1 // f.c.NumberLiteral |
| #text // f.c.TextBlock |
| - content: "\n8 " // String |
| #list // f.c.IteratorBlock |
| - list source: xs // f.c.Identifier |
| - target loop variable: "x" // String |
| #text // f.c.TextBlock |
| - content: "\n9 " // String |
| #list-#else-container // f.c.ListElseContainer |
| #list // f.c.IteratorBlock |
| - list source: xs // f.c.Identifier |
| #text // f.c.TextBlock |
| - content: "[" // String |
| #items // f.c.Items |
| - target loop variable: "x" // String |
| ${...} // f.c.DollarVariable |
| - content: x // f.c.Identifier |
| #sep // f.c.Sep |
| #text // f.c.TextBlock |
| - content: ", " // String |
| #text // f.c.TextBlock |
| - content: "]" // String |
| #else // f.c.ElseOfList |
| #text // f.c.TextBlock |
| - content: "None" // String |
| #text // f.c.TextBlock |
| - content: "\n10 " // String |
| #--...-- // f.c.Comment |
| - content: " A comment " // String |
| #text // f.c.TextBlock |
| - content: "\n11 " // String |
| #outputformat // f.c.OutputFormatBlock |
| - value: "XML" // f.c.StringLiteral |
| #noautoesc // f.c.NoAutoEscBlock |
| ${...} // f.c.DollarVariable |
| - content: a // f.c.Identifier |
| #autoesc // f.c.AutoEscBlock |
| ${...} // f.c.DollarVariable |
| - content: b // f.c.Identifier |
| ${...} // f.c.DollarVariable |
| - content: c // f.c.Identifier |