# statements before an explicit constructor invocation class Base { Base(int value) {} } class Child extends Base { Child(int value) { int adjusted = value + 1; super(adjusted); consume(adjusted); } } ==> Program( ClassDeclaration( class, Definition, ClassBody( ConstructorDeclaration( Definition, FormalParameters( FormalParameter( PrimitiveType, Definition)), ConstructorBody))), ClassDeclaration( class, Definition, Superclass(extends, TypeName), ClassBody( ConstructorDeclaration( Definition, FormalParameters( FormalParameter( PrimitiveType, Definition)), ConstructorBody( LocalVariableDeclaration( PrimitiveType, VariableDeclarator( Definition, AssignOp, BinaryExpression( Identifier, ArithOp, IntegerLiteral))), ExplicitConstructorInvocation( super, ArgumentList(Identifier)), ExpressionStatement( MethodInvocation( MethodName(Identifier), ArgumentList(Identifier))))))))