Class: AutoC::Module::Source
Instance Attribute Summary collapse
-
#file_name ⇒ Object
readonly
Returns the value of attribute file_name.
-
#index ⇒ Object
readonly
Returns the value of attribute index.
Attributes inherited from File
Instance Method Summary collapse
-
#initialize(m, i) ⇒ Source
constructor
A new instance of Source.
- #main? ⇒ Boolean
- #new_stream ⇒ Object
- #size ⇒ Object
- #smallest? ⇒ Boolean
- #write(stream) ⇒ Object
Methods inherited from File
Constructor Details
#initialize(m, i) ⇒ Source
Returns a new instance of Source.
200 201 202 203 204 |
# File 'lib/autoc/code.rb', line 200 def initialize(m, i) super(m) @index = i @file_name = @module.source_count > 1 ? "#{@module.name.downcase}_auto#{index}.c" : "#{@module.name.downcase}_auto.c" end |
Instance Attribute Details
#file_name ⇒ Object (readonly)
Returns the value of attribute file_name.
198 199 200 |
# File 'lib/autoc/code.rb', line 198 def file_name @file_name end |
#index ⇒ Object (readonly)
Returns the value of attribute index.
198 199 200 |
# File 'lib/autoc/code.rb', line 198 def index @index end |
Instance Method Details
#main? ⇒ Boolean
206 207 208 |
# File 'lib/autoc/code.rb', line 206 def main? equal?(@module.main_source) end |
#new_stream ⇒ Object
220 221 222 |
# File 'lib/autoc/code.rb', line 220 def new_stream ::File.new(@file_name, "w") end |
#size ⇒ Object
214 215 216 217 218 |
# File 'lib/autoc/code.rb', line 214 def size size = 0 @entities.each {|e| size += e.source_size} size end |
#smallest? ⇒ Boolean
210 211 212 |
# File 'lib/autoc/code.rb', line 210 def smallest? equal?(@module.smallest_source) end |
#write(stream) ⇒ Object
224 225 226 227 228 229 230 231 232 |
# File 'lib/autoc/code.rb', line 224 def write(stream) stream << %$ /* AUTOMATICALLY GENERATED SOURCE FILE. DO NOT MODIFY. */ #include "#{@module.header.file_name}" $ sorted = AutoC.priority_sort(entities) sorted.each {|e| e.write_decls(stream)} sorted.each {|e| e.write_defs(stream)} end |