class FFI::Clang::CodeCompletion::Results

Attributes

results[R]
size[R]

Public Class Methods

new(code_complete_results, translation_unit) click to toggle source
Calls superclass method
# File lib/ffi/clang/code_completion.rb, line 36
def initialize(code_complete_results, translation_unit)
        super code_complete_results.pointer
        @translation_unit = translation_unit
        @code_complete_results = code_complete_results
        initialize_results
end
release(pointer) click to toggle source
# File lib/ffi/clang/code_completion.rb, line 43
def self.release(pointer)
        Lib.dispose_code_complete_results(pointer)
end

Public Instance Methods

container_kind() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 75
def container_kind
        is_incomplete = MemoryPointer.new :uint
        Lib.get_code_complete_get_container_kind(@code_complete_results, is_incomplete)
end
container_usr() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 71
def container_usr
        Lib.extract_string Lib.get_code_complete_get_container_usr(@code_complete_results)
end
contexts() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 67
def contexts
        Lib.opts_from Lib::CompletionContext, Lib.get_code_complete_get_contexts(@code_complete_results)
end
diagnostic(i) click to toggle source
# File lib/ffi/clang/code_completion.rb, line 57
def diagnostic(i)
        Diagnostic.new(@translation_unit, Lib.get_code_complete_get_diagnostic(@code_complete_results, i))
end
diagnostics() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 61
def diagnostics
        num_diagnostics.times.map { |i|
                Diagnostic.new(@translation_unit, Lib.get_code_complete_get_diagnostic(@code_complete_results, i))
        }
end
each(&block) click to toggle source
# File lib/ffi/clang/code_completion.rb, line 47
def each(&block)
        @results.each do |token|
                block.call(token)
        end
end
incomplete?() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 80
def incomplete?
        is_incomplete = MemoryPointer.new :uint
        Lib.get_code_complete_get_container_kind(@code_complete_results, is_incomplete)
        is_incomplete.read_uint != 0
end
inspect() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 95
def inspect
        @results.inspect
end
num_diagnostics() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 53
def num_diagnostics
        Lib.get_code_complete_get_num_diagnostics(@code_complete_results)
end
objc_selector() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 86
def objc_selector
        Lib.extract_string Lib.get_code_complete_get_objc_selector(@code_complete_results)
end
sort!() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 90
def sort!
        Lib.sort_code_completion_results(@code_complete_results[:results], @code_complete_results[:num])
        initialize_results
end

Private Instance Methods

initialize_results() click to toggle source
# File lib/ffi/clang/code_completion.rb, line 101
def initialize_results
        @size = @code_complete_results[:num]
        cur_ptr = @code_complete_results[:results]
        @results = []
        @size.times {
                @results << Result.new(Lib::CXCompletionResult.new(cur_ptr))
                cur_ptr += Lib::CXCompletionResult.size
        }
end