class BELParser::Language::ExpressionValidator::TermResult

Attributes

semantics_results[R]
syntax_results[R]

Public Class Methods

new(expression_node, syntax_results, semantics_results) click to toggle source
# 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

Public Instance Methods

detail() click to toggle source
# 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?() click to toggle source
# 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