Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
# debug = open('debug.txt', 'a')
# debug.write('foo\n')
# debug.write('infile [' + cog.inFile + ']\n')
infile = cog.inFile
cppfile = infile.replace('.h','.cpp')
splitinfile = infile.replace('\\','/').split('/')
infilename = splitinfile[ len(splitinfile) - 1 ]
classname = infilename.replace('.h','')
# cog.outl('// classname: ' + classname)
# cog.outl('// cppfile: ' + infilename.replace('.h','.cpp'))
f = open(cppfile, 'r')
in_multiline_comment = False
in_header = False;
line = f.readline()
cog.outl('// generated, using cog:')
while(line != ''):
# cog.outl(line)
if(line.strip().find("/*") >= 0):
in_multiline_comment = True
if(line.strip().find("*/") >= 0):
in_multiline_comment = False
if not in_multiline_comment:
if(in_header or line.find(classname + '::') >= 0 and line.find("(") >= 0 and line.strip().find("//") != 0) and line.find(";") < 0:
in_header = True
fnheader = line.replace('template< typename T >', '').replace(classname + '::', '')
fnheader = fnheader.replace('{', '')
fnheader = fnheader.replace(') :', ')')
if fnheader.find(")") >= 0:
in_header = False
fnheader = fnheader.strip().replace(')', ');')
fnheader = fnheader.strip().replace(';const', 'const;')
def add_templated():
# debug = open('debug.txt', 'a')
# debug.write('foo\n')
# debug.write('infile [' + cog.inFile + ']\n')
infile = cog.inFile
cppfile = infile.replace('.h','.cpp')
splitinfile = infile.replace('\\','/').split('/')
infilename = splitinfile[ len(splitinfile) - 1 ]
classname = infilename.replace('.h','')
# cog.outl('// classname: ' + classname)
# cog.outl('// cppfile: ' + infilename.replace('.h','.cpp'))
f = open(cppfile, 'r')
in_multiline_comment = False
in_header = False;
line = f.readline()
cog.outl('// generated, using cog:')
while(line != ''):
# cog.outl(line)
if(line.strip().find("/*") >= 0):
in_multiline_comment = True
if(line.strip().find("*/") >= 0):
def add(classname=''):
# debug = open('debug.txt', 'a')
# debug.write('foo\n')
# debug.write('infile [' + cog.inFile + ']\n')
infile = cog.inFile
splitinfile = infile.replace('\\','/').split('/')
infilename = splitinfile[ len(splitinfile) - 1 ]
if classname == '':
classname = infilename.replace('.h','')
cppfile = infile.replace('.h','.cpp')
# cog.outl('// classname: ' + classname)
# cog.outl('// cppfile: ' + infilename.replace('.h','.cpp'))
f = open(cppfile, 'r')
in_multiline_comment = False
in_header = False;
line = f.readline()
cog.outl('// generated, using cog:')
while(line != ''):
# cog.outl(line)
if(line.strip().find("/*") >= 0):
in_multiline_comment = True
def write_kernel3( kernelVarName, kernel_filename, kernelName, options ):
# cog.outl( 'string kernelFilename = "' + kernel_filename + '";' )
cog.outl( '// generated using cog:' )
f = open( kernel_filename, 'r')
line = f.readline()
cog.outl( 'const char * ' + kernelVarName + 'Source = R"DELIM(\n' )
while( line != '' ):
cog.outl( '' + line.rstrip() )
line = f.readline()
cog.outl( ')DELIM";')
f.close()
cog.outl( kernelVarName + ' = cl->buildKernelFromString( ' + kernelVarName + 'Source, "' + kernelName + '", ' + options + ', "' + kernel_filename + '" );' )
# cog.outl(fnheader);
if thisdec != '' and not got_all_header:
thisdec += ' '
thisdec += fnheader + '\n'
if got_all_header:
decs_by_acc[thisaccess].append(thisdec)
thisdec = ''
thisaccess = default_access
line = f.readline()
f.close()
cog.outl('// generated, using cog:')
for accessor in ['public', 'protected', 'private']:
decs = decs_by_acc[accessor]
if len(decs) > 0:
cog.outl('')
cog.outl('{accessor}:'.format(accessor=accessor))
for dec in decs:
cog.out(dec)
cog.outl('')
def go(classname, ints = [], floats = []):
cog.outl( '// generated, using cog:' )
for thisint in ints:
cog.outl('int ' + thisint + ' = 0;')
for thisfloat in floats:
cog.outl('float ' + thisfloat + ' = 0;')
for thisint in ints:
thisintTitlecase = thisint[0].upper() + thisint[1:]
cog.outl(classname + ' ' + thisintTitlecase + '( int ' + '_' + thisint + ' ) {')
cog.outl(' this->' + thisint + ' = _' + thisint + ';')
cog.outl(' return *this;')
cog.outl('}')
for thisfloat in floats:
thisfloatTitlecase = thisfloat[0].upper() + thisfloat[1:]
cog.outl(classname + ' ' + thisfloatTitlecase + '( float ' + '_' + thisfloat + ' ) {')
cog.outl(' this->' + thisfloat + ' = _' + thisfloat + ';')
cog.outl(' return *this;')
cog.outl('}')
def write_kernel( var_name, kernel_filename ):
cog.outl( '// generated using cog, from ' + kernel_filename + ':' )
cog.outl( 'const char * ' + var_name + 'Source = ' )
write_file2( kernel_filename )
cog.outl( '"";')
def write_kernel( var_name, kernel_filename ):
cog.outl( '// generated using cog, from ' + kernel_filename + ':' )
cog.outl( 'const char * ' + var_name + 'Source = ' )
write_file2( kernel_filename )
cog.outl( '"";')
" // it to be a function using the 'constexpr' keyword.\n")
cog.out(" static const unsigned size = %d;\n\n" % len(self.fields))
cog.out("};\n\n") # close class
for f in self.fields:
cog.out("template<>\n"
"struct type::info_with_hash<%du>\n"
"{\n"
" typedef %s_INFO type;\n"
"};\n\n" % (self.__get_name_hash(f.name), f.name))
cog.out("namespace {\n\n")
for f in self.fields:
cog.out("const type %s(type::make_from_info<%s_INFO>());\n" % (f.name, f.name))
cog.out("\n}\n\n") # close anonymous namespace
cog.out("}\n") # close enum namespace
with file(plugin_file, 'r') as f:
for line in f.readlines():
if line.strip().startswith('EDITORS_LST = '):
found = True
line = ' EDITORS_LST = %s\n' % (lst,)
new_lines.append(line)
assert found
with file(plugin_file, 'w') as f:
f.write(''.join(new_lines))
cog.RunCogInFiles([plugin_file])
cog.RunCogInFiles([
os.path.join(parent_dir, 'src', 'org', 'brainwy', 'liclipsetext', 'editor', 'common',
'partitioning', 'rules', 'RulesFactory.java')])
cog.RunCogInFiles([os.path.join(parent_dir, 'languages', 'html.liclipse')])
cog.RunCogInFiles([os.path.join(parent_dir, 'languages', 'dart.liclipse')])
base_compare = os.path.join(parent_dir, 'src', 'org', 'brainwy', 'liclipsetext', 'editor', 'compare')
for x in lst:
x['kind_upper'] = x['kind'].title().replace(' ', '').replace('.', '')
template = '''// Automatically Generated in install.py
package org.brainwy.liclipsetext.editor.compare;
public class %(kind_upper)sContentViewerCreator extends AbstractContentViewerCreator {
public %(kind_upper)sContentViewerCreator() {
super("%(kind)s");
}