rem: includes += '#include "' + i + '_bind.h"\n'; 
add: includes += '#include "' + i.replace(/::/g, '_') + '_bind.h"\n'; 
context: function write_binding_new( compound ){    // This is just looking at brush.cpp and determining the order of the source..    var includes = '';    var bindingCtor = '';    var statics = '';    var ctor = '';    var methodLut = '';    compound.enums = {};    compound.externalBindings = {};    compound.memberList = compound.def.elementsByTagName( "memberdef" );    // Eventually all of these should be moved to their own functions, but once again    // lets get it working first..    // These are vars we need for all of this to work correctly    var compoundIncludes = compound.def.firstChildElement('includes').toElement().toString();//    println ( "compoundIncludes: " + compoundIncludes );    includes += '#include "' + compound.name + '_bind.h"\n';    includes += '#include <' + compoundIncludes + '>\n';    includes += '#include <object_binding.h>\n';    if (compound.isVariant)        includes += '#include <value_binding.h>\n';    else        includes += '#include <variant_binding.h>\n';    // Binding Ctor    bindingCtor +=        '\n' +        'using namespace KJSEmbed;\n' +        '\n' +        'const KJS::ClassInfo ' + compound.binding + '::info = { "'+ compound.name + '", &' + compound.bindingBase + '::info, 0, 0 };\n' +        compound.name + 'Binding::' + compound.binding + '( KJS::ExecState *exec, const ' + compound.name +' &value )\n';    if (compound.bindingBase == 'ValueBinding')        bindingCtor += '   : ' + compound.bindingBase + '(exec, "' + compound.name + '", value)\n';    else        bindingCtor += '   : ' + compound.bindingBase + '(exec, value)\n';    bindingCtor +=        '{\n' +        '    StaticBinding::publish(exec, this, ' + compound.data + '::methods() );\n' +        '    StaticBinding::publish(exec, this, ' + compound.bindingFactory + '::methods() );\n' +        '}\n\n';    var enums = write_enums( compound );    var methods = write_methods( compound );    // Statics    statics += 'NO_STATICS( KJSEmbed::' + compound.data + ' )';    // Ctor    ctor = write_ctor( compound );    // Method LUT    methodLut += write_method_lut( compound );    // Write everything    var fileName = output_dir + compound.name + '_bind.cpp';    var bindingFile = new File( fileName );    if( !bindingFile.open( File.WriteOnly ) )        throw "Unable to open output binding, " + fileName;    println('Required External Bindings:');    for (var i in compound.externalBindings)    {        println('    ' + i);        includes += '#include "' + i + '_bind.h"\n';        includes += '#include <' + i + '>\n';     }    bindingFile.writeln( includes );    bindingFile.writeln( bindingCtor );    bindingFile.writeln( methods );    bindingFile.writeln( enums );    bindingFile.writeln( statics );    bindingFile.writeln( ctor );    bindingFile.writeln( methodLut );    bindingFile.close();}
meta: 1078	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1078/b3d4de9ac5be1c72f674d604a931a64f8122556c/generatebinding.js/clean/kjsembed/autobind/values/generatebinding.js