Class: BELParser::Language::ExpressionValidator::TermResult
- Inherits:
-
Object
- Object
- BELParser::Language::ExpressionValidator::TermResult
- Includes:
- Result
- Defined in:
- lib/bel_parser/language/expression_validator.rb
Instance Attribute Summary collapse
-
#semantics_results ⇒ Object
readonly
Returns the value of attribute semantics_results.
-
#syntax_results ⇒ Object
readonly
Returns the value of attribute syntax_results.
Instance Method Summary collapse
- #detail ⇒ Object
-
#initialize(expression_node, syntax_results, semantics_results) ⇒ TermResult
constructor
A new instance of TermResult.
- #valid_semantics? ⇒ Boolean
Methods included from Result
#invalid_signature_mappings, #to_s, #valid?, #valid_signature_mappings, #valid_syntax?
Constructor Details
#initialize(expression_node, syntax_results, semantics_results) ⇒ TermResult
Returns a new instance of TermResult.
182 183 184 185 186 |
# File 'lib/bel_parser/language/expression_validator.rb', line 182 def initialize(expression_node, syntax_results, semantics_results) @expression_node = expression_node @syntax_results = syntax_results @semantics_results = semantics_results end |
Instance Attribute Details
#semantics_results ⇒ Object (readonly)
Returns the value of attribute semantics_results.
179 180 181 |
# File 'lib/bel_parser/language/expression_validator.rb', line 179 def semantics_results @semantics_results end |
#syntax_results ⇒ Object (readonly)
Returns the value of attribute syntax_results.
179 180 181 |
# File 'lib/bel_parser/language/expression_validator.rb', line 179 def syntax_results @syntax_results end |
Instance Method Details
#detail ⇒ Object
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 |
# File 'lib/bel_parser/language/expression_validator.rb', line 194 def detail report = "Valid signatures\n" valid_signature_mappings.each do |mapping| report += " #{mapping.signature}\n" mapping.results.each do |reason| report += " #{reason}\n" end end report += "\n" report += "Invalid signatures\n" invalid_signature_mappings.each do |mapping| report += " #{mapping.signature}\n" mapping.results.each do |reason| report += " #{reason}\n" end end report end |
#valid_semantics? ⇒ Boolean
188 189 190 191 192 |
# File 'lib/bel_parser/language/expression_validator.rb', line 188 def valid_semantics? @semantics_results.any? do |res| res.is_a?(Semantics::SignatureMappingSuccess) && res.expression_node == @expression_node end end |