Class DeclarationTranslation
java.lang.Object
org.rumbledb.compiler.translation.DeclarationTranslation
Translates grammar-neutral declaration contexts into expression-tree declarations.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <SeqTypeCtx extends org.antlr.v4.runtime.ParserRuleContext,ExprSingleCtx extends org.antlr.v4.runtime.ParserRuleContext>
VariableDeclarationcontextItemDecl(ContextItemDeclContext<SeqTypeCtx, ExprSingleCtx> ctx, TranslationContext translationContext, Function<SeqTypeCtx, SequenceType> processSequenceType, Function<ExprSingleCtx, Expression> visitExprSingle) static <AnnotationsCtx extends org.antlr.v4.runtime.ParserRuleContext,FunctionNameCtx extends org.antlr.v4.runtime.ParserRuleContext, VarBindingCtx extends org.antlr.v4.runtime.ParserRuleContext, SeqTypeCtx extends org.antlr.v4.runtime.ParserRuleContext, ReturnTypeCtx extends org.antlr.v4.runtime.ParserRuleContext, FnBodyCtx extends org.antlr.v4.runtime.ParserRuleContext>
FunctionDeclarationfunctionDecl(FunctionDeclContext<AnnotationsCtx, FunctionNameCtx, VarBindingCtx, SeqTypeCtx, ReturnTypeCtx, FnBodyCtx> ctx, TranslationContext translationContext, Function<AnnotationsCtx, List<Annotation>> processAnnotations, Function<FunctionNameCtx, Name> parseFunctionName, Function<VarBindingCtx, Name> parseVariableBinding, Function<SeqTypeCtx, SequenceType> processSequenceType, Function<ReturnTypeCtx, SequenceType> processReturnType, Function<FnBodyCtx, StatementsAndOptionalExpr> visitStatementsAndOptionalExpr) static <EqNameCtx extends org.antlr.v4.runtime.ParserRuleContext,StringLiteralCtx extends org.antlr.v4.runtime.ParserRuleContext>
OptionDeclarationoptionDecl(OptionDeclContext<EqNameCtx, StringLiteralCtx> ctx, TranslationContext translationContext, BiFunction<EqNameCtx, TranslationNameResolver.NameRole, Name> parseEqName, Function<StringLiteralCtx, String> processStringLiteral) static <AnnotationsCtx extends org.antlr.v4.runtime.ParserRuleContext,VarBindingCtx extends org.antlr.v4.runtime.ParserRuleContext, SeqTypeCtx extends org.antlr.v4.runtime.ParserRuleContext, ExprSingleCtx extends org.antlr.v4.runtime.ParserRuleContext>
VariableDeclarationvarDecl(VarDeclContext<AnnotationsCtx, VarBindingCtx, SeqTypeCtx, ExprSingleCtx> ctx, TranslationContext translationContext, Function<AnnotationsCtx, List<Annotation>> processAnnotations, Function<VarBindingCtx, Name> parseVariableBinding, Function<SeqTypeCtx, SequenceType> processSequenceType, Function<ExprSingleCtx, Expression> visitExprSingle)
-
Method Details
-
optionDecl
public static <EqNameCtx extends org.antlr.v4.runtime.ParserRuleContext,StringLiteralCtx extends org.antlr.v4.runtime.ParserRuleContext> OptionDeclaration optionDecl(OptionDeclContext<EqNameCtx, StringLiteralCtx> ctx, TranslationContext translationContext, BiFunction<EqNameCtx, TranslationNameResolver.NameRole, Name> parseEqName, Function<StringLiteralCtx, String> processStringLiteral) -
varDecl
public static <AnnotationsCtx extends org.antlr.v4.runtime.ParserRuleContext,VarBindingCtx extends org.antlr.v4.runtime.ParserRuleContext, VariableDeclaration varDeclSeqTypeCtx extends org.antlr.v4.runtime.ParserRuleContext, ExprSingleCtx extends org.antlr.v4.runtime.ParserRuleContext> (VarDeclContext<AnnotationsCtx, VarBindingCtx, SeqTypeCtx, ExprSingleCtx> ctx, TranslationContext translationContext, Function<AnnotationsCtx, List<Annotation>> processAnnotations, Function<VarBindingCtx, Name> parseVariableBinding, Function<SeqTypeCtx, SequenceType> processSequenceType, Function<ExprSingleCtx, Expression> visitExprSingle) -
contextItemDecl
public static <SeqTypeCtx extends org.antlr.v4.runtime.ParserRuleContext,ExprSingleCtx extends org.antlr.v4.runtime.ParserRuleContext> VariableDeclaration contextItemDecl(ContextItemDeclContext<SeqTypeCtx, ExprSingleCtx> ctx, TranslationContext translationContext, Function<SeqTypeCtx, SequenceType> processSequenceType, Function<ExprSingleCtx, Expression> visitExprSingle) -
functionDecl
public static <AnnotationsCtx extends org.antlr.v4.runtime.ParserRuleContext,FunctionNameCtx extends org.antlr.v4.runtime.ParserRuleContext, FunctionDeclaration functionDeclVarBindingCtx extends org.antlr.v4.runtime.ParserRuleContext, SeqTypeCtx extends org.antlr.v4.runtime.ParserRuleContext, ReturnTypeCtx extends org.antlr.v4.runtime.ParserRuleContext, FnBodyCtx extends org.antlr.v4.runtime.ParserRuleContext> (FunctionDeclContext<AnnotationsCtx, FunctionNameCtx, VarBindingCtx, SeqTypeCtx, ReturnTypeCtx, FnBodyCtx> ctx, TranslationContext translationContext, Function<AnnotationsCtx, List<Annotation>> processAnnotations, Function<FunctionNameCtx, Name> parseFunctionName, Function<VarBindingCtx, Name> parseVariableBinding, Function<SeqTypeCtx, SequenceType> processSequenceType, Function<ReturnTypeCtx, SequenceType> processReturnType, Function<FnBodyCtx, StatementsAndOptionalExpr> visitStatementsAndOptionalExpr)
-