LValue

/**
* A RefExpr that is written to.
* 1. x = 1; x is LValue
* 2. o.p = 1; o.p is LValue
*/

Inherit from RefExpr

Primary key: id: int

schema LValue extends RefExpr {
  @primary id: int
}

LValue::getRelativePath

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

LValue::getLastChild

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

LValue::getEndColumnNumber

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

LValue::getParent

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

LValue::getKind

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

LValue::getAModifier

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

LValue::getStartLineNumber

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

LValue::getDecorator

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

LValue::getADecorator

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

LValue::getAComment

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

LValue::getModifier

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

LValue::hasSymbol

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

LValue::getChildCount

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

LValue::getChild

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

LValue::getAnAncestor

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

LValue::getText

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

LValue::getRhs

/**
* Get the source of the expression that is written to this LValue.
*/
pub fn getRhs(self: LValue) -> Expression;

LValue::getRoot

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

LValue::getEnclosingFunction

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

LValue::getADescendant

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

LValue::getRefName

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

LValue::getParentOid

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

LValue::getAChild

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

LValue::getStartColumnNumber

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

LValue::__all__

Data constraint method.

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

LValue::getLocation

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

LValue::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.
*/
  • Parameter self: LValue
  • Parameter level: int
  • Return *Node
pub fn getADescendantByLevel(self: LValue, level: int) -> *Node;

LValue::getDefNode

/**
* Get the defination node in cfg.
*/
pub fn getDefNode(self: LValue) -> ControlFlowNode;

LValue::getSymbol

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

LValue::getAnAncestorEnclosingFunction

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

LValue::getIndex

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

LValue::getEndLineNumber

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

LValue::getATrailingComment

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

LValue::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: LValue
  • Parameter level: int
  • Return Node
pub fn getAnAncestorByLevel(self: LValue, level: int) -> Node;

LValue::getALeadingComment

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

LValue::getFile

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