FunctionDecl 0x559d840e0a50 line:3:5 main 'int ()' `-CompoundStmt 0x559d840eac10 |-DeclStmt 0x559d840e0d38 | `-VarDecl 0x559d840e0b90 col:6 used nums 'int [4]' cinit | `-InitListExpr 0x559d840e0cd8 'int [4]' | |-IntegerLiteral 0x559d840e0bf8 'int' 1 | |-IntegerLiteral 0x559d840e0c18 'int' 2 | |-IntegerLiteral 0x559d840e0c38 'int' 3 | `-IntegerLiteral 0x559d840e0c58 'int' 4 |-CXXForRangeStmt 0x559d840e1518 | |-<<>> | |-DeclStmt 0x559d840e1080 | | `-VarDecl 0x559d840e0e78 col:12 implicit used __range1 'int (&)[4]' cinit | | `-DeclRefExpr 0x559d840e0d50 'int [4]' lvalue Var 0x559d840e0b90 'nums' 'int [4]' | |-DeclStmt 0x559d840e13b8 | | `-VarDecl 0x559d840e1110 col:11 implicit used __begin1 'int *':'int *' cinit | | `-ImplicitCastExpr 0x559d840e12c8 'int *' | | `-DeclRefExpr 0x559d840e1098 'int [4]' lvalue Var 0x559d840e0e78 '__range1' 'int (&)[4]' | |-DeclStmt 0x559d840e13d0 | | `-VarDecl 0x559d840e11b0 col:11 implicit used __end1 'int *':'int *' cinit | | `-BinaryOperator 0x559d840e1318 'int *' '+' | | |-ImplicitCastExpr 0x559d840e1300 'int *' | | | `-DeclRefExpr 0x559d840e10b8 'int [4]' lvalue Var 0x559d840e0e78 '__range1' 'int (&)[4]' | | `-IntegerLiteral 0x559d840e12e0 'long' 4 | |-BinaryOperator 0x559d840e1458 'bool' '!=' | | |-ImplicitCastExpr 0x559d840e1428 'int *':'int *' | | | `-DeclRefExpr 0x559d840e13e8 'int *':'int *' lvalue Var 0x559d840e1110 '__begin1' 'int *':'int *' | | `-ImplicitCastExpr 0x559d840e1440 'int *':'int *' | | `-DeclRefExpr 0x559d840e1408 'int *':'int *' lvalue Var 0x559d840e11b0 '__end1' 'int *':'int *' | |-UnaryOperator 0x559d840e1498 'int *':'int *' lvalue prefix '++' | | `-DeclRefExpr 0x559d840e1478 'int *':'int *' lvalue Var 0x559d840e1110 '__begin1' 'int *':'int *' | |-DeclStmt 0x559d840e0df0 | | `-VarDecl 0x559d840e0d88 col:10 used i 'int' cinit | | `-ImplicitCastExpr 0x559d840e1500 'int' | | `-UnaryOperator 0x559d840e14e8 'int' lvalue prefix '*' cannot overflow | | `-ImplicitCastExpr 0x559d840e14d0 'int *':'int *' | | `-DeclRefExpr 0x559d840e14b0 'int *':'int *' lvalue Var 0x559d840e1110 '__begin1' 'int *':'int *' | `-CompoundStmt 0x559d840eabc8 | `-CXXOperatorCallExpr 0x559d840eab90 'basic_ostream >':'std::basic_ostream' lvalue | |-ImplicitCastExpr 0x559d840eab78 'basic_ostream > &(*)(basic_ostream > &, const char *)' | | `-DeclRefExpr 0x559d840eab00 'basic_ostream > &(basic_ostream > &, const char *)' lvalue Function 0x559d83b2e568 'operator<<' 'basic_ostream > &(basic_ostream > &, const char *)' | |-CXXOperatorCallExpr 0x559d840e8c40 'std::basic_ostream >::__ostream_type':'std::basic_ostream' lvalue | | |-ImplicitCastExpr 0x559d840e8c28 'std::basic_ostream >::__ostream_type &(*)(int)' | | | `-DeclRefExpr 0x559d840e8ba8 'std::basic_ostream >::__ostream_type &(int)' lvalue CXXMethod 0x559d83b24e58 'operator<<' 'std::basic_ostream >::__ostream_type &(int)' | | |-DeclRefExpr 0x559d840e1578 'std::ostream':'std::basic_ostream' lvalue Var 0x559d840e0578 'cout' 'std::ostream':'std::basic_ostream' | | `-ImplicitCastExpr 0x559d840e8b90 'int' | | `-DeclRefExpr 0x559d840e1598 'int' lvalue Var 0x559d840e0d88 'i' 'int' | `-ImplicitCastExpr 0x559d840eaae8 'const char *' | `-StringLiteral 0x559d840e8c78 'const char [2]' lvalue " " `-ReturnStmt 0x559d840eac00 `-IntegerLiteral 0x559d840eabe0 'int' 0