ElementAccessExpression

/**
* An element access expression.
*
* Example:
* ```
* o['p']
* ```
*/

Inherit from AccessExpression

Primary key: id: int

schema ElementAccessExpression extends AccessExpression {
  @primary id: int
}

ElementAccessExpression::getATrailingComment

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

ElementAccessExpression::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.
*/
pub fn getAnAncestorByLevel(self: ElementAccessExpression, level: int) -> Node;

ElementAccessExpression::getEndLineNumber

pub fn getEndLineNumber(self: ElementAccessExpression) -> int;

ElementAccessExpression::getADescendant

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

ElementAccessExpression::getEnclosingFunction

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

ElementAccessExpression::getParentOid

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

ElementAccessExpression::getEndColumnNumber

pub fn getEndColumnNumber(self: ElementAccessExpression) -> int;

ElementAccessExpression::getLastChild

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

ElementAccessExpression::getParent

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

ElementAccessExpression::getExpression

/**
* Gets the expression on which the property is accessed.
*/
pub fn getExpression(self: ElementAccessExpression) -> LeftHandSideExpression;

ElementAccessExpression::isOptionalChaining

/**
* Determines whether this access expression is optional chaining.
*/
pub fn isOptionalChaining(self: ElementAccessExpression) -> bool;

ElementAccessExpression::getRelativePath

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

ElementAccessExpression::getChild

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

ElementAccessExpression::getCallee

/**
* Gets the callee (GetAccessorDeclaration or SetAccessorDeclaration) of this access expression.
*/
pub fn getCallee(self: ElementAccessExpression) -> FunctionLikeDeclaration;

ElementAccessExpression::getIndex

pub fn getIndex(self: ElementAccessExpression) -> int;

ElementAccessExpression::getFile

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

ElementAccessExpression::getALeadingComment

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

ElementAccessExpression::getAComment

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

ElementAccessExpression::getADecorator

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

ElementAccessExpression::getArgumentExpression

pub fn getArgumentExpression(self: ElementAccessExpression) -> Expression;

ElementAccessExpression::__all__

Data constraint method.

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

ElementAccessExpression::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: ElementAccessExpression, level: int) -> *Node;

ElementAccessExpression::getLocation

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

ElementAccessExpression::getAModifier

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

ElementAccessExpression::getKind

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

ElementAccessExpression::getPropertyName

pub fn getPropertyName(self: ElementAccessExpression) -> string;

ElementAccessExpression::getModifier

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

ElementAccessExpression::getText

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

ElementAccessExpression::getDecorator

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

ElementAccessExpression::getChildCount

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

ElementAccessExpression::getAChild

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

ElementAccessExpression::getStartColumnNumber

pub fn getStartColumnNumber(self: ElementAccessExpression) -> int;

ElementAccessExpression::getPropertyExpression

/**
* Gets the property expression of this AccessExpression.
*/
pub fn getPropertyExpression(self: ElementAccessExpression) -> Expression;

ElementAccessExpression::getStartLineNumber

pub fn getStartLineNumber(self: ElementAccessExpression) -> int;

ElementAccessExpression::getAnAncestor

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

ElementAccessExpression::getRoot

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

ElementAccessExpression::getSymbol

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

ElementAccessExpression::getAnAncestorEnclosingFunction

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