feat: update event mechanism

add event type local and global, clients have to use contractID and topic to subscribe local event; allow clients to subscribe topics (will not be recorded)
This commit is contained in:
Frank.R.Wu 2021-10-31 23:07:15 +08:00
parent 1ce2d05992
commit 9553f2a783
14 changed files with 12198 additions and 15492 deletions

View File

@ -1,10 +1,23 @@
package org.bdware.sc.conn; package org.bdware.sc.conn;
import io.netty.channel.Channel;
import io.netty.util.Timeout; import io.netty.util.Timeout;
public abstract class ResultCallback { public abstract class ResultCallback {
// private static final Logger LOGGER = LogManager.getLogger(ResultCallback.class); // private static final Logger LOGGER = LogManager.getLogger(ResultCallback.class);
Timeout task; Timeout task;
private Channel channel;
public ResultCallback() {
}
public ResultCallback(Channel channel) {
this.channel = channel;
}
public Channel getChannel() {
return channel;
}
public abstract void onResult(String str); public abstract void onResult(String str);

View File

@ -3,19 +3,18 @@ package org.bdware.sc.node;
import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.CommonTokenStream;
import org.bdware.sc.event.REvent.REventSemantics; import org.bdware.sc.event.REvent.REventSemantics;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List; import static org.bdware.sc.event.REvent.REventSemantics.AT_LEAST_ONCE;
import java.util.Map;
import java.util.Set;
import java.util.HashSet;
public class ContractNode { public class ContractNode {
private final List<ImportNode> imports; private final List<ImportNode> imports;
private final List<ClassNode> clzs; private final List<ClassNode> clzs;
private final List<FunctionNode> functions; private final List<FunctionNode> functions;
private final Map<String, FunctionNode> functionMap; private final Map<String, FunctionNode> functionMap;
private final Set<String> dependentContracts;
public Map<String, REventSemantics> events; public Map<String, REventSemantics> events;
public Map<String, REventSemantics> logs;
public List<AnnotationNode> annotations; public List<AnnotationNode> annotations;
public boolean sigRequired; public boolean sigRequired;
public String memorySet; public String memorySet;
@ -25,7 +24,6 @@ public class ContractNode {
List<LogType> logTypes; List<LogType> logTypes;
YjsType yjsType; YjsType yjsType;
boolean instrumentBranch; boolean instrumentBranch;
private final Set<String> dependentContracts;
public ContractNode(String name) { public ContractNode(String name) {
contractName = name; contractName = name;
@ -35,6 +33,7 @@ public class ContractNode {
functionMap = new HashMap<>(); functionMap = new HashMap<>();
isBundle = false; isBundle = false;
events = new HashMap<>(); events = new HashMap<>();
logs = new HashMap<>();
annotations = new ArrayList<>(); annotations = new ArrayList<>();
permission = new ArrayList<>(); permission = new ArrayList<>();
instrumentBranch = false; instrumentBranch = false;
@ -119,8 +118,11 @@ public class ContractNode {
functionMap.put(fn.functionName, fn); functionMap.put(fn.functionName, fn);
} }
clzs.addAll(contract.clzs); clzs.addAll(contract.clzs);
contract.events.forEach((e, s) -> this.events.put(e, s)); this.events.putAll(contract.events);
if (null != contract.permission) permission.addAll(contract.permission); this.logs.putAll(contract.logs);
if (null != contract.permission) {
permission.addAll(contract.permission);
}
if (null != contract.annotations) { if (null != contract.annotations) {
annotations.addAll(contract.annotations); annotations.addAll(contract.annotations);
} }
@ -144,15 +146,12 @@ public class ContractNode {
dependentContracts.add(contractName); dependentContracts.add(contractName);
} }
public void addEvent(String eventName) { public void addEvent(String eventName, String semantics, boolean isGlobal) {
this.events.put(eventName, REventSemantics.AT_LEAST_ONCE); Map<String, REventSemantics> pointer = (isGlobal ? this.events : this.logs);
}
public void addEvent(String eventName, String semantics) {
try { try {
this.events.put(eventName, REventSemantics.valueOf(semantics)); pointer.put(eventName, REventSemantics.valueOf(semantics));
} catch (IllegalArgumentException | NullPointerException e) { } catch (IllegalArgumentException | NullPointerException e) {
this.events.put(eventName, REventSemantics.AT_LEAST_ONCE); pointer.put(eventName, AT_LEAST_ONCE);
} }
} }
@ -190,11 +189,11 @@ public class ContractNode {
this.yjsType = yjsType1; this.yjsType = yjsType1;
} }
public void setInstrumentBranch(boolean b) {
instrumentBranch = b;
}
public boolean getInstrumentBranch() { public boolean getInstrumentBranch() {
return instrumentBranch; return instrumentBranch;
} }
public void setInstrumentBranch(boolean b) {
instrumentBranch = b;
}
} }

View File

@ -1,5 +1,7 @@
package org.bdware.sc.visitor; package org.bdware.sc.visitor;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.bdware.sc.node.*; import org.bdware.sc.node.*;
import org.bdware.sc.parser.YJSParser; import org.bdware.sc.parser.YJSParser;
import org.bdware.sc.parser.YJSParser.*; import org.bdware.sc.parser.YJSParser.*;
@ -9,7 +11,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class ContractReader extends YJSParserBaseVisitor<ContractNode> { public class ContractReader extends YJSParserBaseVisitor<ContractNode> {
// private static final Logger LOGGER = LogManager.getLogger(ContractReader.class); private static final Logger LOGGER = LogManager.getLogger(ContractReader.class);
String fileName; String fileName;
public ContractReader(String fileName) { public ContractReader(String fileName) {
@ -101,11 +103,12 @@ public class ContractReader extends YJSParserBaseVisitor<ContractNode> {
} else if (null != clzOrFunction.eventDeclaration()) { } else if (null != clzOrFunction.eventDeclaration()) {
EventDeclarationContext event = clzOrFunction.eventDeclaration(); EventDeclarationContext event = clzOrFunction.eventDeclaration();
EventSemanticsContext eventSemanticsContext = event.eventSemantics(); EventSemanticsContext eventSemanticsContext = event.eventSemantics();
if (null == eventSemanticsContext) { EventGlobalOrLocalContext eventGlobalOrLocalContext = event.eventGlobalOrLocal();
node.addEvent(event.Identifier().getText()); String semantics = (null == eventSemanticsContext ? null : eventSemanticsContext.getText());
} else { boolean isGlobal =
node.addEvent(event.Identifier().getText(), eventSemanticsContext.getText()); (null != eventGlobalOrLocalContext &&
} eventGlobalOrLocalContext.getText().equals("global"));
node.addEvent(event.Identifier().getText(), semantics, isGlobal);
} }
} }
// ctx.getSourceInterval() // ctx.getSourceInterval()

View File

@ -218,10 +218,12 @@ public class Contract extends SM2Verifiable implements Serializable {
this.Mask.put(FunctionName, Mask); this.Mask.put(FunctionName, Mask);
} }
public long getBuildTime() {
return buildTime;
}
public void setBuildTime(long buildTime) { public void setBuildTime(long buildTime) {
this.buildTime = buildTime; this.buildTime = buildTime;
} }
public long getBuildTime() { return buildTime; }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -89,33 +89,35 @@ AtToken=88
AtLeastOnce=89 AtLeastOnce=89
AtMostOnce=90 AtMostOnce=90
OnlyOnce=91 OnlyOnce=91
Class=92 Global=92
Enum=93 Local=93
Extends=94 Class=94
Super=95 Enum=95
Const=96 Extends=96
Export=97 Super=97
Import=98 Const=98
Contract=99 Export=99
Module=100 Import=100
Oracle=101 Contract=101
Implements=102 Module=102
Let=103 Oracle=103
Private=104 Implements=104
Public=105 Let=105
Interface=106 Private=106
Package=107 Public=107
Protected=108 Interface=108
Static=109 Package=109
Yield=110 Protected=110
Identifier=111 Static=111
StringLiteral=112 Yield=112
TemplateStringLiteral=113 Identifier=113
WhiteSpaces=114 StringLiteral=114
LineTerminator=115 TemplateStringLiteral=115
HtmlComment=116 WhiteSpaces=116
CDataComment=117 LineTerminator=117
UnexpectedCharacter=118 HtmlComment=118
CDataComment=119
UnexpectedCharacter=120
'['=4 '['=4
']'=5 ']'=5
'('=6 '('=6
@ -198,22 +200,24 @@ UnexpectedCharacter=118
'AT_LEAST_ONCE'=89 'AT_LEAST_ONCE'=89
'AT_MOST_ONCE'=90 'AT_MOST_ONCE'=90
'ONLY_ONCE'=91 'ONLY_ONCE'=91
'class'=92 'global'=92
'enum'=93 'local'=93
'extends'=94 'class'=94
'super'=95 'enum'=95
'const'=96 'extends'=96
'export'=97 'super'=97
'import'=98 'const'=98
'contract'=99 'export'=99
'module'=100 'import'=100
'oracle'=101 'contract'=101
'implements'=102 'module'=102
'let'=103 'oracle'=103
'private'=104 'implements'=104
'public'=105 'let'=105
'interface'=106 'private'=106
'package'=107 'public'=107
'protected'=108 'interface'=108
'static'=109 'package'=109
'yield'=110 'protected'=110
'static'=111
'yield'=112

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -89,33 +89,35 @@ AtToken=88
AtLeastOnce=89 AtLeastOnce=89
AtMostOnce=90 AtMostOnce=90
OnlyOnce=91 OnlyOnce=91
Class=92 Global=92
Enum=93 Local=93
Extends=94 Class=94
Super=95 Enum=95
Const=96 Extends=96
Export=97 Super=97
Import=98 Const=98
Contract=99 Export=99
Module=100 Import=100
Oracle=101 Contract=101
Implements=102 Module=102
Let=103 Oracle=103
Private=104 Implements=104
Public=105 Let=105
Interface=106 Private=106
Package=107 Public=107
Protected=108 Interface=108
Static=109 Package=109
Yield=110 Protected=110
Identifier=111 Static=111
StringLiteral=112 Yield=112
TemplateStringLiteral=113 Identifier=113
WhiteSpaces=114 StringLiteral=114
LineTerminator=115 TemplateStringLiteral=115
HtmlComment=116 WhiteSpaces=116
CDataComment=117 LineTerminator=117
UnexpectedCharacter=118 HtmlComment=118
CDataComment=119
UnexpectedCharacter=120
'['=4 '['=4
']'=5 ']'=5
'('=6 '('=6
@ -198,22 +200,24 @@ UnexpectedCharacter=118
'AT_LEAST_ONCE'=89 'AT_LEAST_ONCE'=89
'AT_MOST_ONCE'=90 'AT_MOST_ONCE'=90
'ONLY_ONCE'=91 'ONLY_ONCE'=91
'class'=92 'global'=92
'enum'=93 'local'=93
'extends'=94 'class'=94
'super'=95 'enum'=95
'const'=96 'extends'=96
'export'=97 'super'=97
'import'=98 'const'=98
'contract'=99 'export'=99
'module'=100 'import'=100
'oracle'=101 'contract'=101
'implements'=102 'module'=102
'let'=103 'oracle'=103
'private'=104 'implements'=104
'public'=105 'let'=105
'interface'=106 'private'=106
'package'=107 'public'=107
'protected'=108 'interface'=108
'static'=109 'package'=109
'yield'=110 'protected'=110
'static'=111
'yield'=112

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
package org.bdware.sc.parser;// Generated from /Users/frankrwu/Workspace/JetBrains/Idea/BDContract/genparser/input/YJSParser.g4 by ANTLR 4.9.1 package org.bdware.sc.parser;// Generated from /Users/frankrwu/Workspace/JetBrains/Idea/bdcontract-bundle/genparser/input/YJSParser.g4 by ANTLR 4.9.1
import org.antlr.v4.runtime.tree.ParseTreeVisitor; import org.antlr.v4.runtime.tree.ParseTreeVisitor;
/** /**
@ -12,933 +11,718 @@ import org.antlr.v4.runtime.tree.ParseTreeVisitor;
public interface YJSParserVisitor<T> extends ParseTreeVisitor<T> { public interface YJSParserVisitor<T> extends ParseTreeVisitor<T> {
/** /**
* Visit a parse tree produced by {@link YJSParser#program}. * Visit a parse tree produced by {@link YJSParser#program}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitProgram(YJSParser.ProgramContext ctx); T visitProgram(YJSParser.ProgramContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#contractDeclar}. * Visit a parse tree produced by {@link YJSParser#contractDeclar}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitContractDeclar(YJSParser.ContractDeclarContext ctx); T visitContractDeclar(YJSParser.ContractDeclarContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#annotations}. * Visit a parse tree produced by {@link YJSParser#annotations}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitAnnotations(YJSParser.AnnotationsContext ctx); T visitAnnotations(YJSParser.AnnotationsContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#annotation}. * Visit a parse tree produced by {@link YJSParser#annotation}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitAnnotation(YJSParser.AnnotationContext ctx); T visitAnnotation(YJSParser.AnnotationContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#annotationArgs}. * Visit a parse tree produced by {@link YJSParser#annotationArgs}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitAnnotationArgs(YJSParser.AnnotationArgsContext ctx); T visitAnnotationArgs(YJSParser.AnnotationArgsContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#annotationLiteral}. * Visit a parse tree produced by {@link YJSParser#annotationLiteral}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitAnnotationLiteral(YJSParser.AnnotationLiteralContext ctx); T visitAnnotationLiteral(YJSParser.AnnotationLiteralContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#clzOrFunctionDeclaration}. * Visit a parse tree produced by {@link YJSParser#clzOrFunctionDeclaration}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitClzOrFunctionDeclaration(YJSParser.ClzOrFunctionDeclarationContext ctx); T visitClzOrFunctionDeclaration(YJSParser.ClzOrFunctionDeclarationContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#eventSemantics}. * Visit a parse tree produced by {@link YJSParser#eventSemantics}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitEventSemantics(YJSParser.EventSemanticsContext ctx); T visitEventSemantics(YJSParser.EventSemanticsContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#eventDeclaration}. * Visit a parse tree produced by {@link YJSParser#eventDeclaration}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitEventDeclaration(YJSParser.EventDeclarationContext ctx); T visitEventDeclaration(YJSParser.EventDeclarationContext ctx);
/**
* Visit a parse tree produced by {@link YJSParser#eventGlobalOrLocal}.
* @param ctx the parse tree
* @return the visitor result
*/
T visitEventGlobalOrLocal(YJSParser.EventGlobalOrLocalContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#sourceElement}. * Visit a parse tree produced by {@link YJSParser#sourceElement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitSourceElement(YJSParser.SourceElementContext ctx); T visitSourceElement(YJSParser.SourceElementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#importStmts}. * Visit a parse tree produced by {@link YJSParser#importStmts}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitImportStmts(YJSParser.ImportStmtsContext ctx); T visitImportStmts(YJSParser.ImportStmtsContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#importStmt}. * Visit a parse tree produced by {@link YJSParser#importStmt}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitImportStmt(YJSParser.ImportStmtContext ctx); T visitImportStmt(YJSParser.ImportStmtContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#exportStmt}. * Visit a parse tree produced by {@link YJSParser#exportStmt}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitExportStmt(YJSParser.ExportStmtContext ctx); T visitExportStmt(YJSParser.ExportStmtContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#versionName}. * Visit a parse tree produced by {@link YJSParser#versionName}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitVersionName(YJSParser.VersionNameContext ctx); T visitVersionName(YJSParser.VersionNameContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#statement}. * Visit a parse tree produced by {@link YJSParser#statement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitStatement(YJSParser.StatementContext ctx); T visitStatement(YJSParser.StatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#block}. * Visit a parse tree produced by {@link YJSParser#block}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitBlock(YJSParser.BlockContext ctx); T visitBlock(YJSParser.BlockContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#statementList}. * Visit a parse tree produced by {@link YJSParser#statementList}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitStatementList(YJSParser.StatementListContext ctx); T visitStatementList(YJSParser.StatementListContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#variableStatement}. * Visit a parse tree produced by {@link YJSParser#variableStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitVariableStatement(YJSParser.VariableStatementContext ctx); T visitVariableStatement(YJSParser.VariableStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#variableDeclarationList}. * Visit a parse tree produced by {@link YJSParser#variableDeclarationList}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitVariableDeclarationList(YJSParser.VariableDeclarationListContext ctx); T visitVariableDeclarationList(YJSParser.VariableDeclarationListContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#variableDeclaration}. * Visit a parse tree produced by {@link YJSParser#variableDeclaration}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitVariableDeclaration(YJSParser.VariableDeclarationContext ctx); T visitVariableDeclaration(YJSParser.VariableDeclarationContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#emptyStatement}. * Visit a parse tree produced by {@link YJSParser#emptyStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitEmptyStatement(YJSParser.EmptyStatementContext ctx); T visitEmptyStatement(YJSParser.EmptyStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#expressionStatement}. * Visit a parse tree produced by {@link YJSParser#expressionStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitExpressionStatement(YJSParser.ExpressionStatementContext ctx); T visitExpressionStatement(YJSParser.ExpressionStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#ifStatement}. * Visit a parse tree produced by {@link YJSParser#ifStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitIfStatement(YJSParser.IfStatementContext ctx); T visitIfStatement(YJSParser.IfStatementContext ctx);
/** /**
* Visit a parse tree produced by the {@code DoStatement} * Visit a parse tree produced by the {@code DoStatement}
* labeled alternative in {@link YJSParser#iterationStatement}. * labeled alternative in {@link YJSParser#iterationStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitDoStatement(YJSParser.DoStatementContext ctx); T visitDoStatement(YJSParser.DoStatementContext ctx);
/** /**
* Visit a parse tree produced by the {@code WhileStatement} * Visit a parse tree produced by the {@code WhileStatement}
* labeled alternative in {@link YJSParser#iterationStatement}. * labeled alternative in {@link YJSParser#iterationStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitWhileStatement(YJSParser.WhileStatementContext ctx); T visitWhileStatement(YJSParser.WhileStatementContext ctx);
/** /**
* Visit a parse tree produced by the {@code ForStatement} * Visit a parse tree produced by the {@code ForStatement}
* labeled alternative in {@link YJSParser#iterationStatement}. * labeled alternative in {@link YJSParser#iterationStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitForStatement(YJSParser.ForStatementContext ctx); T visitForStatement(YJSParser.ForStatementContext ctx);
/** /**
* Visit a parse tree produced by the {@code ForVarStatement} * Visit a parse tree produced by the {@code ForVarStatement}
* labeled alternative in {@link YJSParser#iterationStatement}. * labeled alternative in {@link YJSParser#iterationStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitForVarStatement(YJSParser.ForVarStatementContext ctx); T visitForVarStatement(YJSParser.ForVarStatementContext ctx);
/** /**
* Visit a parse tree produced by the {@code ForInStatement} * Visit a parse tree produced by the {@code ForInStatement}
* labeled alternative in {@link YJSParser#iterationStatement}. * labeled alternative in {@link YJSParser#iterationStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitForInStatement(YJSParser.ForInStatementContext ctx); T visitForInStatement(YJSParser.ForInStatementContext ctx);
/** /**
* Visit a parse tree produced by the {@code ForVarInStatement} * Visit a parse tree produced by the {@code ForVarInStatement}
* labeled alternative in {@link YJSParser#iterationStatement}. * labeled alternative in {@link YJSParser#iterationStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitForVarInStatement(YJSParser.ForVarInStatementContext ctx); T visitForVarInStatement(YJSParser.ForVarInStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#varModifier}. * Visit a parse tree produced by {@link YJSParser#varModifier}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitVarModifier(YJSParser.VarModifierContext ctx); T visitVarModifier(YJSParser.VarModifierContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#continueStatement}. * Visit a parse tree produced by {@link YJSParser#continueStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitContinueStatement(YJSParser.ContinueStatementContext ctx); T visitContinueStatement(YJSParser.ContinueStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#breakStatement}. * Visit a parse tree produced by {@link YJSParser#breakStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitBreakStatement(YJSParser.BreakStatementContext ctx); T visitBreakStatement(YJSParser.BreakStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#returnStatement}. * Visit a parse tree produced by {@link YJSParser#returnStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitReturnStatement(YJSParser.ReturnStatementContext ctx); T visitReturnStatement(YJSParser.ReturnStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#withStatement}. * Visit a parse tree produced by {@link YJSParser#withStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitWithStatement(YJSParser.WithStatementContext ctx); T visitWithStatement(YJSParser.WithStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#switchStatement}. * Visit a parse tree produced by {@link YJSParser#switchStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitSwitchStatement(YJSParser.SwitchStatementContext ctx); T visitSwitchStatement(YJSParser.SwitchStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#caseBlock}. * Visit a parse tree produced by {@link YJSParser#caseBlock}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitCaseBlock(YJSParser.CaseBlockContext ctx); T visitCaseBlock(YJSParser.CaseBlockContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#caseClauses}. * Visit a parse tree produced by {@link YJSParser#caseClauses}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitCaseClauses(YJSParser.CaseClausesContext ctx); T visitCaseClauses(YJSParser.CaseClausesContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#caseClause}. * Visit a parse tree produced by {@link YJSParser#caseClause}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitCaseClause(YJSParser.CaseClauseContext ctx); T visitCaseClause(YJSParser.CaseClauseContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#defaultClause}. * Visit a parse tree produced by {@link YJSParser#defaultClause}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitDefaultClause(YJSParser.DefaultClauseContext ctx); T visitDefaultClause(YJSParser.DefaultClauseContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#throwStatement}. * Visit a parse tree produced by {@link YJSParser#throwStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitThrowStatement(YJSParser.ThrowStatementContext ctx); T visitThrowStatement(YJSParser.ThrowStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#tryStatement}. * Visit a parse tree produced by {@link YJSParser#tryStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitTryStatement(YJSParser.TryStatementContext ctx); T visitTryStatement(YJSParser.TryStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#catchProduction}. * Visit a parse tree produced by {@link YJSParser#catchProduction}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitCatchProduction(YJSParser.CatchProductionContext ctx); T visitCatchProduction(YJSParser.CatchProductionContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#finallyProduction}. * Visit a parse tree produced by {@link YJSParser#finallyProduction}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitFinallyProduction(YJSParser.FinallyProductionContext ctx); T visitFinallyProduction(YJSParser.FinallyProductionContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#debuggerStatement}. * Visit a parse tree produced by {@link YJSParser#debuggerStatement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitDebuggerStatement(YJSParser.DebuggerStatementContext ctx); T visitDebuggerStatement(YJSParser.DebuggerStatementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#functionDeclaration}. * Visit a parse tree produced by {@link YJSParser#functionDeclaration}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitFunctionDeclaration(YJSParser.FunctionDeclarationContext ctx); T visitFunctionDeclaration(YJSParser.FunctionDeclarationContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#classDeclaration}. * Visit a parse tree produced by {@link YJSParser#classDeclaration}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitClassDeclaration(YJSParser.ClassDeclarationContext ctx); T visitClassDeclaration(YJSParser.ClassDeclarationContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#classTail}. * Visit a parse tree produced by {@link YJSParser#classTail}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitClassTail(YJSParser.ClassTailContext ctx); T visitClassTail(YJSParser.ClassTailContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#classElement}. * Visit a parse tree produced by {@link YJSParser#classElement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitClassElement(YJSParser.ClassElementContext ctx); T visitClassElement(YJSParser.ClassElementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#methodDefinition}. * Visit a parse tree produced by {@link YJSParser#methodDefinition}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitMethodDefinition(YJSParser.MethodDefinitionContext ctx); T visitMethodDefinition(YJSParser.MethodDefinitionContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#formalParameterList}. * Visit a parse tree produced by {@link YJSParser#formalParameterList}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitFormalParameterList(YJSParser.FormalParameterListContext ctx); T visitFormalParameterList(YJSParser.FormalParameterListContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#formalParameterArg}. * Visit a parse tree produced by {@link YJSParser#formalParameterArg}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitFormalParameterArg(YJSParser.FormalParameterArgContext ctx); T visitFormalParameterArg(YJSParser.FormalParameterArgContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#lastFormalParameterArg}. * Visit a parse tree produced by {@link YJSParser#lastFormalParameterArg}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitLastFormalParameterArg(YJSParser.LastFormalParameterArgContext ctx); T visitLastFormalParameterArg(YJSParser.LastFormalParameterArgContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#functionBody}. * Visit a parse tree produced by {@link YJSParser#functionBody}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitFunctionBody(YJSParser.FunctionBodyContext ctx); T visitFunctionBody(YJSParser.FunctionBodyContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#sourceElements}. * Visit a parse tree produced by {@link YJSParser#sourceElements}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitSourceElements(YJSParser.SourceElementsContext ctx); T visitSourceElements(YJSParser.SourceElementsContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#arrayLiteral}. * Visit a parse tree produced by {@link YJSParser#arrayLiteral}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitArrayLiteral(YJSParser.ArrayLiteralContext ctx); T visitArrayLiteral(YJSParser.ArrayLiteralContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#elementList}. * Visit a parse tree produced by {@link YJSParser#elementList}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitElementList(YJSParser.ElementListContext ctx); T visitElementList(YJSParser.ElementListContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#lastElement}. * Visit a parse tree produced by {@link YJSParser#lastElement}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitLastElement(YJSParser.LastElementContext ctx); T visitLastElement(YJSParser.LastElementContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#objectLiteral}. * Visit a parse tree produced by {@link YJSParser#objectLiteral}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitObjectLiteral(YJSParser.ObjectLiteralContext ctx); T visitObjectLiteral(YJSParser.ObjectLiteralContext ctx);
/** /**
* Visit a parse tree produced by the {@code PropertyExpressionAssignment} * Visit a parse tree produced by the {@code PropertyExpressionAssignment}
* labeled alternative in {@link YJSParser#propertyAssignment}. * labeled alternative in {@link YJSParser#propertyAssignment}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitPropertyExpressionAssignment(YJSParser.PropertyExpressionAssignmentContext ctx); T visitPropertyExpressionAssignment(YJSParser.PropertyExpressionAssignmentContext ctx);
/** /**
* Visit a parse tree produced by the {@code ComputedPropertyExpressionAssignment} * Visit a parse tree produced by the {@code ComputedPropertyExpressionAssignment}
* labeled alternative in {@link YJSParser#propertyAssignment}. * labeled alternative in {@link YJSParser#propertyAssignment}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitComputedPropertyExpressionAssignment(YJSParser.ComputedPropertyExpressionAssignmentContext ctx); T visitComputedPropertyExpressionAssignment(YJSParser.ComputedPropertyExpressionAssignmentContext ctx);
/** /**
* Visit a parse tree produced by the {@code PropertyShorthand} * Visit a parse tree produced by the {@code PropertyShorthand}
* labeled alternative in {@link YJSParser#propertyAssignment}. * labeled alternative in {@link YJSParser#propertyAssignment}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitPropertyShorthand(YJSParser.PropertyShorthandContext ctx); T visitPropertyShorthand(YJSParser.PropertyShorthandContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#propertyName}. * Visit a parse tree produced by {@link YJSParser#propertyName}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitPropertyName(YJSParser.PropertyNameContext ctx); T visitPropertyName(YJSParser.PropertyNameContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#arguments}. * Visit a parse tree produced by {@link YJSParser#arguments}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitArguments(YJSParser.ArgumentsContext ctx); T visitArguments(YJSParser.ArgumentsContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#lastArgument}. * Visit a parse tree produced by {@link YJSParser#lastArgument}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitLastArgument(YJSParser.LastArgumentContext ctx); T visitLastArgument(YJSParser.LastArgumentContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#expressionSequence}. * Visit a parse tree produced by {@link YJSParser#expressionSequence}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitExpressionSequence(YJSParser.ExpressionSequenceContext ctx); T visitExpressionSequence(YJSParser.ExpressionSequenceContext ctx);
/** /**
* Visit a parse tree produced by the {@code TemplateStringExpression} * Visit a parse tree produced by the {@code TemplateStringExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitTemplateStringExpression(YJSParser.TemplateStringExpressionContext ctx); T visitTemplateStringExpression(YJSParser.TemplateStringExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code TernaryExpression} * Visit a parse tree produced by the {@code TernaryExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitTernaryExpression(YJSParser.TernaryExpressionContext ctx); T visitTernaryExpression(YJSParser.TernaryExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code LogicalAndExpression} * Visit a parse tree produced by the {@code LogicalAndExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitLogicalAndExpression(YJSParser.LogicalAndExpressionContext ctx); T visitLogicalAndExpression(YJSParser.LogicalAndExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code PreIncrementExpression} * Visit a parse tree produced by the {@code PreIncrementExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitPreIncrementExpression(YJSParser.PreIncrementExpressionContext ctx); T visitPreIncrementExpression(YJSParser.PreIncrementExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code ObjectLiteralExpression} * Visit a parse tree produced by the {@code ObjectLiteralExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitObjectLiteralExpression(YJSParser.ObjectLiteralExpressionContext ctx); T visitObjectLiteralExpression(YJSParser.ObjectLiteralExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code InExpression} * Visit a parse tree produced by the {@code InExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitInExpression(YJSParser.InExpressionContext ctx); T visitInExpression(YJSParser.InExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code LogicalOrExpression} * Visit a parse tree produced by the {@code LogicalOrExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitLogicalOrExpression(YJSParser.LogicalOrExpressionContext ctx); T visitLogicalOrExpression(YJSParser.LogicalOrExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code NotExpression} * Visit a parse tree produced by the {@code NotExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitNotExpression(YJSParser.NotExpressionContext ctx); T visitNotExpression(YJSParser.NotExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code PreDecreaseExpression} * Visit a parse tree produced by the {@code PreDecreaseExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitPreDecreaseExpression(YJSParser.PreDecreaseExpressionContext ctx); T visitPreDecreaseExpression(YJSParser.PreDecreaseExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code ArgumentsExpression} * Visit a parse tree produced by the {@code ArgumentsExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitArgumentsExpression(YJSParser.ArgumentsExpressionContext ctx); T visitArgumentsExpression(YJSParser.ArgumentsExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code ThisExpression} * Visit a parse tree produced by the {@code ThisExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitThisExpression(YJSParser.ThisExpressionContext ctx); T visitThisExpression(YJSParser.ThisExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code UnaryMinusExpression} * Visit a parse tree produced by the {@code UnaryMinusExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitUnaryMinusExpression(YJSParser.UnaryMinusExpressionContext ctx); T visitUnaryMinusExpression(YJSParser.UnaryMinusExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code AssignmentExpression} * Visit a parse tree produced by the {@code AssignmentExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitAssignmentExpression(YJSParser.AssignmentExpressionContext ctx); T visitAssignmentExpression(YJSParser.AssignmentExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code PostDecreaseExpression} * Visit a parse tree produced by the {@code PostDecreaseExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitPostDecreaseExpression(YJSParser.PostDecreaseExpressionContext ctx); T visitPostDecreaseExpression(YJSParser.PostDecreaseExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code TypeofExpression} * Visit a parse tree produced by the {@code TypeofExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitTypeofExpression(YJSParser.TypeofExpressionContext ctx); T visitTypeofExpression(YJSParser.TypeofExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code InstanceofExpression} * Visit a parse tree produced by the {@code InstanceofExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitInstanceofExpression(YJSParser.InstanceofExpressionContext ctx); T visitInstanceofExpression(YJSParser.InstanceofExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code UnaryPlusExpression} * Visit a parse tree produced by the {@code UnaryPlusExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitUnaryPlusExpression(YJSParser.UnaryPlusExpressionContext ctx); T visitUnaryPlusExpression(YJSParser.UnaryPlusExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code ArrowFunctionExpression} * Visit a parse tree produced by the {@code ArrowFunctionExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitArrowFunctionExpression(YJSParser.ArrowFunctionExpressionContext ctx); T visitArrowFunctionExpression(YJSParser.ArrowFunctionExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code EqualityExpression} * Visit a parse tree produced by the {@code EqualityExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitEqualityExpression(YJSParser.EqualityExpressionContext ctx); T visitEqualityExpression(YJSParser.EqualityExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code BitXOrExpression} * Visit a parse tree produced by the {@code BitXOrExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitBitXOrExpression(YJSParser.BitXOrExpressionContext ctx); T visitBitXOrExpression(YJSParser.BitXOrExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code SuperExpression} * Visit a parse tree produced by the {@code SuperExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitSuperExpression(YJSParser.SuperExpressionContext ctx); T visitSuperExpression(YJSParser.SuperExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code MultiplicativeExpression} * Visit a parse tree produced by the {@code MultiplicativeExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitMultiplicativeExpression(YJSParser.MultiplicativeExpressionContext ctx); T visitMultiplicativeExpression(YJSParser.MultiplicativeExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code BitShiftExpression} * Visit a parse tree produced by the {@code BitShiftExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitBitShiftExpression(YJSParser.BitShiftExpressionContext ctx); T visitBitShiftExpression(YJSParser.BitShiftExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code ParenthesizedExpression} * Visit a parse tree produced by the {@code ParenthesizedExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitParenthesizedExpression(YJSParser.ParenthesizedExpressionContext ctx); T visitParenthesizedExpression(YJSParser.ParenthesizedExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code AdditiveExpression} * Visit a parse tree produced by the {@code AdditiveExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitAdditiveExpression(YJSParser.AdditiveExpressionContext ctx); T visitAdditiveExpression(YJSParser.AdditiveExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code RelationalExpression} * Visit a parse tree produced by the {@code RelationalExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitRelationalExpression(YJSParser.RelationalExpressionContext ctx); T visitRelationalExpression(YJSParser.RelationalExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code PostIncrementExpression} * Visit a parse tree produced by the {@code PostIncrementExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitPostIncrementExpression(YJSParser.PostIncrementExpressionContext ctx); T visitPostIncrementExpression(YJSParser.PostIncrementExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code BitNotExpression} * Visit a parse tree produced by the {@code BitNotExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitBitNotExpression(YJSParser.BitNotExpressionContext ctx); T visitBitNotExpression(YJSParser.BitNotExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code NewExpression} * Visit a parse tree produced by the {@code NewExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitNewExpression(YJSParser.NewExpressionContext ctx); T visitNewExpression(YJSParser.NewExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code LiteralExpression} * Visit a parse tree produced by the {@code LiteralExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitLiteralExpression(YJSParser.LiteralExpressionContext ctx); T visitLiteralExpression(YJSParser.LiteralExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code ArrayLiteralExpression} * Visit a parse tree produced by the {@code ArrayLiteralExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitArrayLiteralExpression(YJSParser.ArrayLiteralExpressionContext ctx); T visitArrayLiteralExpression(YJSParser.ArrayLiteralExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code MemberDotExpression} * Visit a parse tree produced by the {@code MemberDotExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitMemberDotExpression(YJSParser.MemberDotExpressionContext ctx); T visitMemberDotExpression(YJSParser.MemberDotExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code MemberIndexExpression} * Visit a parse tree produced by the {@code MemberIndexExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitMemberIndexExpression(YJSParser.MemberIndexExpressionContext ctx); T visitMemberIndexExpression(YJSParser.MemberIndexExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code IdentifierExpression} * Visit a parse tree produced by the {@code IdentifierExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitIdentifierExpression(YJSParser.IdentifierExpressionContext ctx); T visitIdentifierExpression(YJSParser.IdentifierExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code BitAndExpression} * Visit a parse tree produced by the {@code BitAndExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitBitAndExpression(YJSParser.BitAndExpressionContext ctx); T visitBitAndExpression(YJSParser.BitAndExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code BitOrExpression} * Visit a parse tree produced by the {@code BitOrExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitBitOrExpression(YJSParser.BitOrExpressionContext ctx); T visitBitOrExpression(YJSParser.BitOrExpressionContext ctx);
/** /**
* Visit a parse tree produced by the {@code AssignmentOperatorExpression} * Visit a parse tree produced by the {@code AssignmentOperatorExpression}
* labeled alternative in {@link YJSParser#singleExpression}. * labeled alternative in {@link YJSParser#singleExpression}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitAssignmentOperatorExpression(YJSParser.AssignmentOperatorExpressionContext ctx); T visitAssignmentOperatorExpression(YJSParser.AssignmentOperatorExpressionContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#arrowFunctionParameters}. * Visit a parse tree produced by {@link YJSParser#arrowFunctionParameters}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitArrowFunctionParameters(YJSParser.ArrowFunctionParametersContext ctx); T visitArrowFunctionParameters(YJSParser.ArrowFunctionParametersContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#arrowFunctionBody}. * Visit a parse tree produced by {@link YJSParser#arrowFunctionBody}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitArrowFunctionBody(YJSParser.ArrowFunctionBodyContext ctx); T visitArrowFunctionBody(YJSParser.ArrowFunctionBodyContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#assignmentOperator}. * Visit a parse tree produced by {@link YJSParser#assignmentOperator}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitAssignmentOperator(YJSParser.AssignmentOperatorContext ctx); T visitAssignmentOperator(YJSParser.AssignmentOperatorContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#literal}. * Visit a parse tree produced by {@link YJSParser#literal}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitLiteral(YJSParser.LiteralContext ctx); T visitLiteral(YJSParser.LiteralContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#numericLiteral}. * Visit a parse tree produced by {@link YJSParser#numericLiteral}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitNumericLiteral(YJSParser.NumericLiteralContext ctx); T visitNumericLiteral(YJSParser.NumericLiteralContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#identifierName}. * Visit a parse tree produced by {@link YJSParser#identifierName}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitIdentifierName(YJSParser.IdentifierNameContext ctx); T visitIdentifierName(YJSParser.IdentifierNameContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#reservedWord}. * Visit a parse tree produced by {@link YJSParser#reservedWord}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitReservedWord(YJSParser.ReservedWordContext ctx); T visitReservedWord(YJSParser.ReservedWordContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#keyword}. * Visit a parse tree produced by {@link YJSParser#keyword}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */
T visitKeyword(YJSParser.KeywordContext ctx); T visitKeyword(YJSParser.KeywordContext ctx);
/** /**
* Visit a parse tree produced by {@link YJSParser#eos}. * Visit a parse tree produced by {@link YJSParser#eos}.
*
* @param ctx the parse tree * @param ctx the parse tree
* @return the visitor result * @return the visitor result
*/ */