TranslationUnit[0:0->6:0] FunctionDeclaration[0:0->6:0] Type[0:0->0:3] bool foo ( ) FunctionDefinition[1:0->6:0] { IfStatement[2:4->5:20] Predicate: BinaryExpression[2:8->2:14] NumericLiteral[2:8->2:8] 1 == NumericLiteral[2:13->2:13] 2 Then: ReturnStatement[3:8->3:19] BooleanLiteral[3:15->3:18] true Else: ReturnStatement[5:8->5:20] BooleanLiteral[5:15->5:19] false }