public override CompiledFragment Compile(CompiledMethod method) { if (FirstChild == null) { return(null); } // Apply the current line: method.CurrentLine = LineNumber; try{ // Compile operator chains: (d=a+b+c;) CompilationServices.CompileOperators(this, method); // Compile the now singular operator: CompiledFragment cFrag = FirstChild.Compile(method) as CompiledFragment; return(cFrag); }catch (CompilationException e) { if (e.LineNumber == -1) { // Setup line number: e.LineNumber = LineNumber; } // Rethrow: throw e; } }