+- ApexFile[@DefiningType = "GroupingInSoql", @RealLoc = true]
   +- UserClass[@DefiningType = "GroupingInSoql", @Image = "GroupingInSoql", @InterfaceNames = (), @Nested = false, @RealLoc = true, @SimpleName = "GroupingInSoql", @SuperClassName = ""]
      +- ModifierNode[@Abstract = false, @DefiningType = "GroupingInSoql", @DeprecatedTestMethod = false, @Final = false, @Global = false, @InheritedSharing = false, @Modifiers = 1, @Override = false, @Private = false, @Protected = false, @Public = true, @RealLoc = true, @Static = false, @Test = false, @TestOrTestSetup = false, @Transient = false, @Virtual = false, @WebService = false, @WithSharing = false, @WithoutSharing = false]
      +- Method[@Arity = 0, @CanonicalName = "getDefects", @Constructor = false, @DefiningType = "GroupingInSoql", @Image = "getDefects", @RealLoc = true, @ReturnType = "List<AggregateResult>", @StaticInitializer = false]
         +- ModifierNode[@Abstract = false, @DefiningType = "GroupingInSoql", @DeprecatedTestMethod = false, @Final = false, @Global = false, @InheritedSharing = false, @Modifiers = 2, @Override = false, @Private = true, @Protected = false, @Public = false, @RealLoc = true, @Static = false, @Test = false, @TestOrTestSetup = false, @Transient = false, @Virtual = false, @WebService = false, @WithSharing = false, @WithoutSharing = false]
         +- BlockStatement[@CurlyBrace = true, @DefiningType = "GroupingInSoql", @RealLoc = true]
            +- VariableDeclarationStatements[@DefiningType = "GroupingInSoql", @RealLoc = true]
            |  +- ModifierNode[@Abstract = false, @DefiningType = "GroupingInSoql", @DeprecatedTestMethod = false, @Final = false, @Global = false, @InheritedSharing = false, @Modifiers = 0, @Override = false, @Private = false, @Protected = false, @Public = false, @RealLoc = false, @Static = false, @Test = false, @TestOrTestSetup = false, @Transient = false, @Virtual = false, @WebService = false, @WithSharing = false, @WithoutSharing = false]
            |  +- VariableDeclaration[@DefiningType = "GroupingInSoql", @Image = "defects", @RealLoc = true, @Type = "AggregateResult[]"]
            |     +- SoqlExpression[@CanonicalQuery = "SELECT\n              OBJ1__c O1,\n              OBJ2__c O2,\n              OBJ3__c O3,\n              SUM(OBJ4__c) O4,\n              GROUPING(OBJ1__c) O1Group,\n              GROUPING(OBJ2__c) O2Group,\n              GROUPING(OBJ3__c) O3Group\n            FROM OBJ4__c\n            GROUP BY ROLLUP(OBJ1__c, OBJ2__c, OBJ3__c)", @DefiningType = "GroupingInSoql", @Query = "SELECT\n              OBJ1__c O1,\n              OBJ2__c O2,\n              OBJ3__c O3,\n              SUM(OBJ4__c) O4,\n              GROUPING(OBJ1__c) O1Group,\n              GROUPING(OBJ2__c) O2Group,\n              GROUPING(OBJ3__c) O3Group\n            FROM OBJ4__c\n            GROUP BY ROLLUP(OBJ1__c, OBJ2__c, OBJ3__c)", @RealLoc = true]
            |     +- VariableExpression[@DefiningType = "GroupingInSoql", @Image = "defects", @RealLoc = true]
            |        +- EmptyReferenceExpression[@DefiningType = null, @RealLoc = false]
            +- ReturnStatement[@DefiningType = "GroupingInSoql", @RealLoc = true]
               +- VariableExpression[@DefiningType = "GroupingInSoql", @Image = "defects", @RealLoc = true]
                  +- EmptyReferenceExpression[@DefiningType = null, @RealLoc = false]
