Class: OCL::Implies
Overview
Instance Method Summary
collapse
Methods inherited from Block
check_condition, result, #to_s
Constructor Details
#initialize(condition, implication) ⇒ Implies
126
127
128
129
|
# File 'lib/dbc/ocl.rb', line 126
def initialize(condition, implication)
@condition = condition
@implication = implication
end
|
Instance Method Details
#cexp? ⇒ Boolean
151
152
153
|
# File 'lib/dbc/ocl.rb', line 151
def cexp?
@condition.cexp? and @implication.cexp?
end
|
#to_cexp ⇒ Object
155
156
157
|
# File 'lib/dbc/ocl.rb', line 155
def to_cexp
"#{@condition.to_cexp} ? #{@implication.to_cexp} : 1"
end
|
#to_exp(result, indent_str = '') ⇒ Object
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
# File 'lib/dbc/ocl.rb', line 131
def to_exp(result, indent_str = '')
str = ''
str << indent_str << "#{result} = 1;\n"
if @condition.cexp?
expression = @condition.to_cexp
else
expression = Block.result
str << @condition.to_exp(expression, indent_str)
end
str << indent_str << "if (#{expression}) {\n"
if @implication.cexp?
str << check_condition(@implication.to_cexp, result, "\t" << indent_str)
else
str << @implication.to_exp(result, "\t" << indent_str)
end
str << indent_str << "}\n"
end
|