module Boleite::Private::OpenGLShader::Contracts

Defined in:

boleite/backend/graphics/opengl_shader.cr

Constant Summary

CLASS_DATA = ClassData(Boleite::Private::OpenGLShader).new
CONTRACTED_METHODS = ["initialize(parser : ShaderParser)", "activate()", "activate(use_settings)", "set_parameter(name, value : Float32)", "set_parameter(name, value : Vector2f32)", "set_parameter(name, value : Vector3f32)", "set_parameter(name, value : Vector4f32)", "set_parameter(name, value : Matrix33f32)", "set_parameter(name, value : Matrix44f32)", "set_parameter(name, value : Texture)", "has_world_transform?()", "has_view_transform?()", "has_projection_transform?()", "set_world_transform(value)", "set_view_transform(value)", "set_projection_transform(value)", "world_transform=(value)", "view_transform=(value)", "projection_transform=(value)", "uniform_location_for(name)", "apply_settings()", "apply_textures()", "compile_objects(parser)", "link_shader()"] of _
CONTRACTS = {:next_def => nil, def set_world_transform(value) : Void set_parameter(@value_settings.world_transform, value) end => [{:requires, "has_world_transform?", do has_world_transform? end}], def set_view_transform(value) : Void set_parameter(@value_settings.view_transform, value) end => [{:requires, "has_view_transform?", do has_view_transform? end}], def set_projection_transform(value) : Void set_parameter(@value_settings.projection_transform, value) end => [{:requires, "has_projection_transform?", do has_projection_transform? end}]} of _ => _
IGNORED_METHODS = ["finalize", "contract_pre_set_world_transform", "contract_post_set_world_transform", "contract_requires_set_world_transform", "contract_ensures_set_world_transform", "contract_pre_set_view_transform", "contract_post_set_view_transform", "contract_requires_set_view_transform", "contract_ensures_set_view_transform", "contract_pre_set_projection_transform", "contract_post_set_projection_transform", "contract_requires_set_projection_transform", "contract_ensures_set_projection_transform"] 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]