Class: EasySwig::HFileGenerator

Inherits:
Object
  • Object
show all
Includes:
GeneratorUtil
Defined in:
lib/generators/hfile_generator.rb

Instance Method Summary collapse

Methods included from GeneratorUtil

#_process_type, #enum_snippet, #ignore_enum_values_snippet, #nested_workaround, #process_type, #template_snippet

Methods included from Query

#anonymous_enum?, #get_reference_type, #is_operator?, #is_template?, #is_template_param?, #lookup_typename, #method_has_blacklisted_types?, #name_for_friend, #name_for_operator, #name_for_template, #nested_typenames_for, #no_public_constructors?, #no_public_destructors?, #type_is_blacklisted?, #typename_is_blacklisted?

Methods included from Util

#del_prefix_class, #escape_all, #escape_const_ref_ptr, #escape_template, #gen_dir, #home_dir, #is_primitive?, #is_std?, #lib_dir, #logs_dir, #output_dir, #read_file, #rename_files, #swig_dir, #write_file

Constructor Details

#initialize(hfile) ⇒ HFileGenerator

Returns a new instance of HFileGenerator.



5
6
7
# File 'lib/generators/hfile_generator.rb', line 5

def initialize(hfile)
  @hfile = hfile
end

Instance Method Details

#generateObject



9
10
11
12
13
14
# File 'lib/generators/hfile_generator.rb', line 9

def generate
  swig_file = generate_functions
  swig_file << generate_variables
  swig_file << generate_enums
  swig_file << generate_classes
end

#generate_classesObject



48
49
50
51
52
53
54
# File 'lib/generators/hfile_generator.rb', line 48

def generate_classes
  swig_file = ''
  @hfile.ignored_classes.each { |cls|
      swig_file << %Q{%rename("$ignore") #{cls.name};} + "\n"
    }
  swig_file
end

#generate_enumsObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/generators/hfile_generator.rb', line 32

def generate_enums
  swig_file = ''
  @hfile.api_enums.each { |enum|
      if anonymous_enum?(enum)  # @Anonymous Enums
        swig_file << enum_snippet(enum)
      enum.values.each { |v|
         swig_file << "%rename($ignore) ::#{v.basename};\n"
        }
    end
    }
  @hfile.ignored_enums.each { |enum|
      swig_file << %Q{%rename("$ignore") #{enum.basename};} + "\n"
    }
  swig_file
end

#generate_functionsObject



16
17
18
19
20
21
22
# File 'lib/generators/hfile_generator.rb', line 16

def generate_functions
  swig_file = ''
  @hfile.ignored_functions.each { |func|
      swig_file << %Q{%rename("$ignore") #{func.basename};} + "\n"
    }
  swig_file
end

#generate_variablesObject



24
25
26
27
28
29
30
# File 'lib/generators/hfile_generator.rb', line 24

def generate_variables
  swig_file = ''
  @hfile.ignored_variables.each { |var|
      swig_file << %Q{%rename("$ignore") #{var.basename};} + "\n"
    }
  swig_file
end