module Boleite::GUI::Contracts

Defined in:

boleite/gui/gui.cr

Constant Summary

CLASS_DATA = ClassData(Boleite::GUI).new
CONTRACTED_METHODS = ["target_size(args)", "initialize(gfx, default_font)", "enable(parent_input)", "disable(parent_input)", "global_input_router()", "global_input_receiver()", "add_root(root : Root)", "remove_root(root : Root)", "move_to_front(root : Root)", "render()", "find_repaint_widgets()", "each_root()", "pulse()", "handle_root_mouse_over(pos : Vector2f)"] of _
CONTRACTS = {:next_def => nil, def add_root(root : Root) @router.register(root.input) @roots << root root.mark_dirty end => [{:requires, "!(@roots.includes?(root))", do !(@roots.includes?(root)) end}], def move_to_front(root : Root) if @roots.last != root @roots.delete(root) @router.unregister(root.input) @roots << root @router.register_at(1, root.input) root.mark_dirty end end => [{:requires, "@roots.includes?(root)", do @roots.includes?(root) end}]} of _ => _
IGNORED_METHODS = ["finalize", "contract_pre_add_root", "contract_post_add_root", "contract_requires_add_root", "contract_ensures_add_root", "contract_pre_move_to_front", "contract_post_move_to_front", "contract_requires_move_to_front", "contract_ensures_move_to_front"] of _
INVARIANTS = [] of _

Class Method Summary

Macro Summary

Class Method Detail

def self.on_assert_fail(condition, type) #

[View source]
def self.on_contract_fail(contract, condition, type, method) #

[View source]

Macro Detail

macro add_contract(stage, str, &test) #

[View source]
macro add_invariant(str, &test) #

[View source]
macro ignore_method(method) #

[View source]