Buggy code:
expressionContext . setCanHandleArrayOperators ( true ) ; ExpressionContext . setInstance ( expressionContext ) ; int columnsCount = ( endColumn - startColumn ) + 3 ; Node node = cell . getNode ( ) ; if ( node == null ) { throw new IllegalArgumentException ( ( ( ( ( ( ( "Cell<seq2seq4repair_space>[" + workbookName ) + "]" ) + sheetName ) + "!" ) + ( cell . getAddress ( ) . toOpenLString ( ) ) ) + "<seq2seq4repair_space>contains<seq2seq4repair_space>incorrect<seq2seq4repair_space>value.<seq2seq4repair_space>It<seq2seq4repair_space>will<seq2seq4repair_space>be<seq2seq4repair_space>skipped" ) ) ; } node . setRootNode ( true ) ; boolean isOutFunction = ( node instanceof FunctionNode ) && ( "Out" . equals ( ( ( FunctionNode ) ( node ) ) . getName ( ) ) ) ; gridBuilder . addCell ( ( ( "Spreadsheet<seq2seq4repair_space>SpreadsheetResult<seq2seq4repair_space>" + tableName ) + "()" ) , columnsCount ) . nextRow ( ) ; gridBuilder . addCell ( "#" ) ; gridBuilder . addCell ( "Calculation" ) ; for ( int i = startColumn ; i <= endColumn ; i ++ ) { gridBuilder . addCell ( ( ( "C" + i ) + "<seq2seq4repair_space>:<seq2seq4repair_space>Object" ) ) ; } gridBuilder . nextRow ( ) ; CellInspector . NodeSize nodeSize = CellInspector . inspect ( cell . getNode ( ) , true ) ; int resultRows = nodeSize . getResultHeight ( ) ; int resultColumns = nodeSize . getResultWidth ( ) ; if ( resultColumns == 1 ) { gridBuilder . addCell ( "Result<seq2seq4repair_space>:<seq2seq4repair_space>Object[]" ) . addCell ( ( ( "=<seq2seq4repair_space>new<seq2seq4repair_space>Object[" + resultRows ) + "]" ) ) ; } else { gridBuilder . addCell ( "Result<seq2seq4repair_space>:<seq2seq4repair_space>Object[][]" ) . addCell ( ( ( ( ( "=<seq2seq4repair_space>new<seq2seq4repair_space>Object[" + resultRows ) + "][" ) + resultColumns ) + "]" ) ) ; } gridBuilder . nextRow ( ) ; for ( int step = 0 ; step < resultRows ; step ++ ) { gridBuilder . addCell ( ( ( "Step" + step ) + "<seq2seq4repair_space>:<seq2seq4repair_space>Object" ) ) ; for ( int column = startColumn ; column < ( startColumn + resultColumns ) ; column ++ ) { expressionContext . setCurrentRow ( ( startRow + step ) ) ; expressionContext . setCurrentColumn ( column ) ; String expression ; try { if ( node instanceof ValueHolder ) { expression = ( ( ValueHolder ) ( node ) ) . asString ( ) ; } else { String formula = ( isOutFunction ) ? ( ( FunctionNode ) ( node ) ) . getArguments ( ) . get ( 0 ) . toOpenLString ( ) : node . toOpenLString ( ) ; if ( resultColumns == 1 ) { expression = ( ( "=<seq2seq4repair_space>$Calculation$Result[" + step ) + "]<seq2seq4repair_space>=<seq2seq4repair_space>" ) + formula ; } else { expression = ( ( ( ( "=<seq2seq4repair_space>$Calculation$Result[" + step ) + "][" ) + ( column - startColumn ) ) + "]<seq2seq4repair_space>=<seq2seq4repair_space>" ) + formula ; } } } catch ( RuntimeException e ) { expression = "" ; log . error ( e . getMessage ( ) , e ) ; addError ( gridBuilder . getRow ( ) , gridBuilder . getColumn ( ) , cell , e ) ; } gridBuilder . addCell ( expression ) ; } gridBuilder . nextRow ( ) ; } expressionContext . setOutArray ( isOutFunction ) ; for ( int row = startRow ; row <= endRow ; row ++ ) { gridBuilder . addCell ( ( "R" + row ) ) ; gridBuilder . addCell ( null ) ; for ( int column = startColumn ; column <= endColumn ; column ++ ) { expressionContext . setCurrentRow ( row ) ; expressionContext . setCurrentColumn ( column ) ; String expression ; try { if ( node instanceof ValueHolder ) { expression = ( ( ValueHolder ) ( node ) ) . asString ( ) ; } else { if ( isOutFunction ) { expression = "=<seq2seq4repair_space>" + ( node . toOpenLString ( ) ) ; } else { int rowShift = row - startRow ; int columnShift = column - startColumn ; <START_BUG> expression = ( ( ( "=<seq2seq4repair_space>Out(" + rowShift ) + ",<seq2seq4repair_space>" ) + columnShift ) + ",<seq2seq4repair_space>$Calculation$Result)" ; <END_BUG> } } } catch ( RuntimeException e ) { expression = "" ; log . error ( e . getMessage ( ) , e ) ; addError ( gridBuilder . getRow ( ) , gridBuilder . getColumn ( ) , cell , e ) ; } gridBuilder . addCell ( expression ) ; } gridBuilder . nextRow ( ) ; } gridBuilder . nextRow ( ) ; } finally { ExpressionContext . removeInstance ( ) ; } } private List < String > getCurrentRow ( List < List < String > > conditions , CellReference reference ) { } private int getCurrentColumnNumber ( List < String > columnNumbers , CellReference reference ) { } private void addCells ( StringGridBuilder gridBuilder , String cellsOnSheetName , List < List < String > > conditions ) { } @ Override public IParsedCode parseAsModule ( IOpenSourceCodeModule source ) { } private void initTypes ( ExtensionModule module ) { } protected List < String > getImports ( ) { } protected WorkbookSyntaxNode [ ] getWorkbooks ( ExtensionModule module , XlsWorkbookSourceCodeModule workbookSourceCodeModule , XmlRulesModuleSourceCodeModule sourceCodeModule ) { } protected WorksheetSyntaxNode getWorksheet ( XlsSheetSourceCodeModule sheetSource , LazyWorkbook workbook , Sheet sheet , ExtensionModule module , TablePartProcessor tablePartProcessor , XmlRulesModuleSourceCodeModule sourceCodeModule ) { } private TableSyntaxNode preprocessTable ( IGridTable table , XlsSheetSourceCodeModule source , TablePartProcessor tablePartProcessor ) throws OpenLCompilationException { } private static class ConditionsComparator implements Comparator < Integer > { private final List < ConditionImpl > conditions ; public ConditionsComparator ( List < ConditionImpl > conditions ) { } @ Override public int compare ( Integer o1 , Integer o2 ) { } } private static class ConditionPath { private final boolean vertical ; private final int index ; private ConditionPath ( boolean vertical , int index ) { } public boolean isVertical ( ) { }

Fix:
expression = ( ( ( "=<seq2seq4repair_space>Print(" + rowShift ) + ",<seq2seq4repair_space>" ) + columnShift ) + ",<seq2seq4repair_space>$Calculation$Result)" ;