Expression

/**
* @brief A common super-class that represents all kinds of expressions.
*/

Inherit from ExpressionDO

Primary key: element_oid: int

schema Expression extends ExpressionDO {
  @primary element_oid: int,
  type: string,
  element_index: int,
  parent_oid: int,
  location_oid: int,
  printable_text: string
}

Expression::getLocationOid

/**
* @brief gets the location oid of this element.
* @return int
*/
pub fn getLocationOid(self: Expression) -> int;

Expression::getPrintableText

/**
* @brief gets the printable text of this element.
* @return string
*/
pub fn getPrintableText(self: Expression) -> string;

Expression::getParentOid

/**
* @brief gets the parent oid of this element.
* @return int
*/
pub fn getParentOid(self: Expression) -> int;

Expression::getElementIndex

/**
* @brief gets the element index of this element.
* @return int
*/
pub fn getElementIndex(self: Expression) -> int;

Expression::getEnclosingScope

/**
* @brief gets the immediately enclosing scope (module, function or class) whose body contains this statement.
* @return Scope 
*/
pub fn getEnclosingScope(self: Expression) -> Scope;

Expression::getParent

/**
* @brief gets the parent of the expression.
* @return CombineElement 
*/
pub fn getParent(self: Expression) -> CombineElement;

Expression::getType

/**
* @brief gets the type of this element.
* @return string
*/
pub fn getType(self: Expression) -> string;

Expression::__all__

Data constraint method.

pub fn __all__(db: PythonDB) -> *Expression;

Expression::getAnAncestor

/**
* @brief gets an ancestor of the element.
* @return CombineElement 
*/
pub fn getAnAncestor(self: Expression) -> *CombineElement;

Expression::getLocation

/**
* @brief gets the location for the element.
* @return Location
*/
pub fn getLocation(self: Expression) -> Location;

Expression::getSize

/**
* @brief gets the size information for the element.
* @return NumberOfLines
*/
pub fn getSize(self: Expression) -> NumberOfLines;