RefExpr

/**
* An expression can be referenced, including:
* 1. VarRef: `i++`
* 2. AccessExpression: `o.p` / `o['p']`
*/

Inherit from Node

Primary key: id: int

schema RefExpr extends Node {
  @primary id: int
}

RefExpr::getEnclosingFunction

/**
* Gets the enclosing function of it
*/
pub fn getEnclosingFunction(self: RefExpr) -> FunctionLikeDeclaration;

RefExpr::getADescendant

/**
* Gets a descendant of this node. 
*/
pub fn getADescendant(self: RefExpr) -> *Node;

RefExpr::getRoot

/**
* Gets the root top-level of this node. 
*/
pub fn getRoot(self: RefExpr) -> TopLevelDO;

RefExpr::getAnAncestor

/**
* Gets an ancestor of this node. 
*/
pub fn getAnAncestor(self: RefExpr) -> *Node;

RefExpr::getChild

/**
* Gets the `i`th child of this node.
*/
pub fn getChild(self: RefExpr, i: int) -> Node;

RefExpr::getChildCount

/**
* Gets the number of child nodes.
*/
  • Parameter self: RefExpr
  • Return int
pub fn getChildCount(self: RefExpr) -> int;

RefExpr::getAChild

/**
* Gets a child node of this node.
*/
pub fn getAChild(self: RefExpr) -> *Node;

RefExpr::getStartColumnNumber

  • Parameter self: RefExpr
  • Return int
pub fn getStartColumnNumber(self: RefExpr) -> int;

RefExpr::getAnAncestorEnclosingFunction

/**
* Gets an ancestor enclosing function of it
*/
pub fn getAnAncestorEnclosingFunction(self: RefExpr) -> *FunctionLikeDeclaration;

RefExpr::getSymbol

/**
* Gets the symbol associated with this node.
*/
pub fn getSymbol(self: RefExpr) -> Symbol;

RefExpr::getIndex

  • Parameter self: RefExpr
  • Return int
pub fn getIndex(self: RefExpr) -> int;

RefExpr::getEndLineNumber

  • Parameter self: RefExpr
  • Return int
pub fn getEndLineNumber(self: RefExpr) -> int;

RefExpr::getATrailingComment

/**
* Gets the trailing comments of it
*/
pub fn getATrailingComment(self: RefExpr) -> *Comment;

RefExpr::getAnAncestorByLevel

/**
* Gets an ancestor of this node by the level of the hierarchy.
*
* @param level: the number of levels to go up in the hierarchy.
*/
  • Parameter self: RefExpr
  • Parameter level: int
  • Return Node
pub fn getAnAncestorByLevel(self: RefExpr, level: int) -> Node;

RefExpr::getALeadingComment

/**
* Gets the leading comments of it
*/
pub fn getALeadingComment(self: RefExpr) -> *Comment;

RefExpr::getFile

/**
* Gets the file of this node.
*/
pub fn getFile(self: RefExpr) -> File;

RefExpr::getRefName

/**
* Get the name of this RefExpr.
*/
  • Parameter self: RefExpr
  • Return string
pub fn getRefName(self: RefExpr) -> string;

RefExpr::getParentOid

/**
* Gets the parent oid of this node.
*/
  • Parameter self: RefExpr
  • Return int
pub fn getParentOid(self: RefExpr) -> int;

RefExpr::__all__

Data constraint method.

pub fn __all__(db: JavascriptDB) -> *RefExpr;

RefExpr::getLocation

/**
* Gets the location of this node.
*/
pub fn getLocation(self: RefExpr) -> Location;

RefExpr::getADescendantByLevel

/**
* Gets a descendant of this node by the level of the hierarchy.
*
* @param level: the number of levels to go up in the hierarchy.
*/
pub fn getADescendantByLevel(self: RefExpr, level: int) -> *Node;

RefExpr::getText

/**
* Gets the text of this node.
*/
  • Parameter self: RefExpr
  • Return string
pub fn getText(self: RefExpr) -> string;

RefExpr::hasSymbol

/**
* Determine whether this RefExpr has symbol.
*/
  • Parameter self: RefExpr
  • Return bool
pub fn hasSymbol(self: RefExpr) -> bool;

RefExpr::getModifier

/**
* Gets the `i`th modifier.
*/
pub fn getModifier(self: RefExpr, i: int) -> Modifier;

RefExpr::getAComment

/**
* Gets the comments related to it
*/
pub fn getAComment(self: RefExpr) -> *Comment;

RefExpr::getADecorator

/**
* Gets a decorator.
*/
pub fn getADecorator(self: RefExpr) -> *Decorator;

RefExpr::getDecorator

/**
* Gets the `i`th decorator.
*/
pub fn getDecorator(self: RefExpr, i: int) -> Decorator;

RefExpr::getStartLineNumber

  • Parameter self: RefExpr
  • Return int
pub fn getStartLineNumber(self: RefExpr) -> int;

RefExpr::getAModifier

/**
* Gets a modifier.
*/
pub fn getAModifier(self: RefExpr) -> *Modifier;

RefExpr::getKind

/**
* Get the syntax kind of this node
*/
  • Parameter self: RefExpr
  • Return int
pub fn getKind(self: RefExpr) -> int;

RefExpr::getParent

/**
* Gets the parent node of this node.
*/
pub fn getParent(self: RefExpr) -> Node;

RefExpr::getEndColumnNumber

  • Parameter self: RefExpr
  • Return int
pub fn getEndColumnNumber(self: RefExpr) -> int;

RefExpr::getLastChild

/**
* Gets the last child of this node parent.
*/
pub fn getLastChild(self: RefExpr) -> Node;

RefExpr::getRelativePath

/**
* Gets the relative path of this node.
*/
  • Parameter self: RefExpr
  • Return string
pub fn getRelativePath(self: RefExpr) -> string;