void setArrayExpression ( BSHArrayInitializer init ) { this . isArrayExpression = true ; if ( parent instanceof BSHAssignment ) { BSHAssignment ass = ( BSHAssignment ) parent ; if ( null != ass . operator && ass . operator == ParserConstants . ASSIGN ) this . isMapExpression = true ; if ( this . isMapExpression && init . jjtGetParent ( ) instanceof BSHArrayInitializer ) init . setMapInArray ( true ) ; } }
Called from BSHArrayInitializer during node creation informing us that we are an array expression . If parent BSHAssignment has an ASSIGN operation then this is a map expression . If the initializer reference has multiple dimensions it gets configure as being a map in array .