Class: Norikra::Query::ASTExpression

Inherits:
ASTNode
  • Object
show all
Defined in:
lib/norikra/query/ast.rb

Constant Summary collapse

SIMPLE_PROPERTY_REFERENCE_NODES =
[
  "caseExpression", "evalOrExpression", "evalAndExpression", "bitWiseExpression", "negatedExpression",
  "evalEqualsExpression", "evalRelationalExpression", "concatenationExpr", "additiveExpression",
  "multiplyExpression", "unaryExpression", "eventPropertyOrLibFunction", "eventProperty"
]

Instance Attribute Summary

Attributes inherited from ASTNode

#children, #name, #tree

Instance Method Summary collapse

Methods inherited from ASTNode

#chain, #child, #fields, #find, #has_a?, #initialize, #listup, #to_a

Constructor Details

This class inherits a constructor from Norikra::Query::ASTNode

Instance Method Details

#nodetype?(*sym) ⇒ Boolean

[“expression”,

["caseExpression", ["evalOrExpression", ["evalAndExpression", ["bitWiseExpression", ["negatedExpression",
  ["evalEqualsExpression", ["evalRelationalExpression", ["concatenationExpr", ["additiveExpression",
    ["multiplyExpression", ["unaryExpression", ["eventPropertyOrLibFunction",
      ["eventProperty",
        ["eventPropertyAtomic", ["eventPropertyIdent", ["keywordAllowedIdent", "s"]]]]]]]]]]]]]]]]]]]

Returns:

  • (Boolean)


952
953
954
# File 'lib/norikra/query/ast.rb', line 952

def nodetype?(*sym)
  sym.include?(:expression)
end

#propertyReference?Boolean

Returns:

  • (Boolean)


961
962
963
964
# File 'lib/norikra/query/ast.rb', line 961

def propertyReference?
  end_node = self.chain(*SIMPLE_PROPERTY_REFERENCE_NODES)
  end_node && end_node.nodetype?(:property)
end