class BELParser::Language::Semantics::NonCausalNestedStatementWarning

Represents a {SemanticsWarning} when a nested {BELParser::Parsers::AST::Statement} has a non-causal relationship.

Attributes

non_causal_relationship[R]

Public Class Methods

new(stmt_node, spec, rel) click to toggle source
Calls superclass method
# File lib/bel_parser/language/semantics/non_causal_nested_statement.rb, line 30
def initialize(stmt_node, spec, rel)
  super(stmt_node, spec)
  @non_causal_relationship = spec.relationship(rel)
end

Public Instance Methods

to_s() click to toggle source
# File lib/bel_parser/language/semantics/non_causal_nested_statement.rb, line 35
        def to_s
          causal_relationships =
            @specification
            .causal_relationships
            .map(&:long)
            .join(', ')
          <<-MSG.gsub(/ {12}/, '')
            Nested statement is not a causal relationship.
             The "#{non_causal_relationship.long}" relationship is not causal.
             Causal Relationships: #{causal_relationships}
          MSG
        end