Package eu.bandm.tools.lljava.parser
Class LLJavaGrammar
java.lang.Object
eu.bandm.tools.lljava.parser.LLJavaGrammar
- Direct Known Subclasses:
LLJavaParser
-
Field Summary
Modifier and TypeFieldDescription(package private) final Parser<SourceId,
LLJavaLexer.TokenType> protected static final Parser.Pragma
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected static <A> Expression<SourceId,
LLJavaLexer.TokenType, A> angle
(Expression<SourceId, LLJavaLexer.TokenType, A> body) annotation
(Expression<SourceId, LLJavaLexer.TokenType, LLJava.Annotation> annotation) protected abstract LLJava.Annotation
annotation
(Reducer.Context<SourceId> context, LLJava.QualId name, List<Map.Entry<LLJava.Id, LLJava.AnnotationValue>> elems) annotationValue
(Expression<SourceId, LLJavaLexer.TokenType, LLJava.Annotation> annotation, Expression<SourceId, LLJavaLexer.TokenType, LLJava.AnnotationValue> annotationValue) arrayAnnotationValue
(Expression<SourceId, LLJavaLexer.TokenType, LLJava.AnnotationValue> annotationValue) protected abstract LLJava.Block
block
(Reducer.Context<SourceId> context, List<LLJava.Statement> statements) protected static <A> Expression<SourceId,
LLJavaLexer.TokenType, A> brace
(Expression<SourceId, LLJavaLexer.TokenType, A> body) protected static <A> Expression<SourceId,
LLJavaLexer.TokenType, A> bracket
(Expression<SourceId, LLJavaLexer.TokenType, A> body) protected abstract LLJava.Cast
castInstruction
(Reducer.Context<SourceId> context, LLJava.TypeExpr type) protected abstract LLJava.Handler
catchHandler
(Reducer.Context<SourceId> context, List<LLJava.Label> prefixLabels, Optional<LLJava.ClassReference> type, List<LLJava.Label> infixLabels, LLJava.CodePoint body) protected abstract LLJava.CharLiteral
charLiteral
(Reducer.Context<SourceId> context, String text) protected static <A> CheckedList<A>
protected abstract LLJava.Class
classDefinition
(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.QualId name, List<LLJava.TypeParameter> typeParameters, LLJava.ClassReference superclass, List<LLJava.ClassReference> interfaces, List<LLJava.Member> members) protected abstract LLJava.ClassTypeExpr
classType
(Reducer.Context<SourceId> context, LLJava.QualId name, List<LLJava.TypeArgument> arguments) protected abstract LLJava.Cmp
cmpInstruction
(Reducer.Context<SourceId> context, Optional<Boolean> greater) protected abstract LLJava.CodeMethodBody
codeMethodBody
(Reducer.Context<SourceId> context, LLJava.Block block) protected static <A> Expression<SourceId,
LLJavaLexer.TokenType, List<A>> comma
(Expression<SourceId, LLJavaLexer.TokenType, A> body) protected Expression<SourceId,
LLJavaLexer.TokenType, Void> command
(LLJavaLexer.TokenType type) protected <A> Expression<SourceId,
LLJavaLexer.TokenType, A> command
(LLJavaLexer.TokenType type, Expression<SourceId, LLJavaLexer.TokenType, A> operand) protected abstract LLJava.Condition
condition
(Reducer.Context<SourceId> context, LLJavaLexer.TokenType operator, LLJava.LoadArgument operand) protected static <A> Expression<SourceId,
LLJavaLexer.TokenType, A> constant
(LLJavaLexer.TokenType type, A value) protected abstract LLJava.DimensionExpr
dimensionExpr
(Reducer.Context<SourceId> context, List<LLJava.Annotation> annotations, boolean specified) protected abstract LLJava.DoubleLiteral
doubleLiteral
(Reducer.Context<SourceId> context, String text) protected abstract LLJava.DynamicExpr
dynamicReference
(Reducer.Context<SourceId> context, LLJava.TypeExpr type, LLJava.MemberDynamicName fullName) protected abstract LLJava.Field
fieldDefinition
(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.TypeExpr type, LLJava.Id name, Optional<LLJava.Literal> initializer) protected Expression<SourceId,
LLJavaLexer.TokenType, Boolean> flag
(LLJavaLexer.TokenType type, Parser.Pragma... pragmas) protected abstract LLJava.FloatLiteral
floatLiteral
(Reducer.Context<SourceId> context, String text) protected abstract LLJava.Get
getInstruction
(Reducer.Context<SourceId> context, Void dummy, boolean statically, LLJava.FieldReference field) protected abstract LLJava.Goto
gotoInstruction
(Reducer.Context<SourceId> context, LLJava.GotoPoint target) protected abstract LLJava.GotoInterval
gotoInterval
(Reducer.Context<SourceId> context, LLJava.Name start, Optional<LLJava.Name> end) protected abstract LLJava.Id
id
(Reducer.Context<SourceId> context, String text) protected abstract LLJava.If
ifInstruction
(Reducer.Context<SourceId> context, boolean negative, LLJava.Condition condition, LLJava.CodePoint target) protected abstract LLJava.Inc
incInstruction
(Reducer.Context<SourceId> context, LLJava.VariableRef target, int increment) protected abstract LLJava.Instanceof
instanceofInstruction
(Reducer.Context<SourceId> context, LLJava.TypeExpr type) protected abstract LLJava.IntLiteral
intLiteral
(Reducer.Context<SourceId> context, String text) protected abstract LLJava.Annotation
invisible
(Reducer.Context<SourceId> context, LLJava.Annotation annotation) protected abstract LLJava.Invoke
invokeInstruction
(Reducer.Context<SourceId> context, Void dummy, List<LLJava.ModifierExpr> modifiers, LLJava.MethodReference ref) protected abstract LLJava.Load
loadInstruction
(Reducer.Context<SourceId> context, LLJava.LoadArgument argument) protected static <A extends LLJava.Node>
Aprotected static <A extends LLJava.Node>
Alocate
(A target, Reducer.Context<SourceId> context) protected abstract LLJava.LongLiteral
longLiteral
(Reducer.Context<SourceId> context, String text) protected abstract LLJava.MemberDynamicName
memberDynamicName
(Reducer.Context<SourceId> context, LLJava.MethodHandleExpr factory, List<LLJava.LoadableExpr> bootstrapArguments, LLJava.Id name) protected abstract LLJava.MemberStaticName
memberStaticName
(Reducer.Context<SourceId> context, LLJava.QualId name) protected abstract LLJava.Method
methodDefinition
(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, List<LLJava.TypeParameter> typeParameters, LLJava.ResultExpr returnType, LLJava.Id name, List<LLJava.Parameter> parameters, List<LLJava.ClassReference> exceptions, LLJava.MethodBody body) protected abstract LLJava.MethodHandleExpr
methodHandle
(Reducer.Context<SourceId> context, LLJava.MethodHandleTarget target) protected abstract LLJava.Parameter
methodParameter
(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.TypeExpr type, Optional<LLJava.Name> name) protected abstract LLJava.MethodReference
methodReference
(Reducer.Context<SourceId> context, LLJava.ResultExpr returnType, LLJava.MemberFullName name, List<LLJava.MethodReferenceParameter> params) protected abstract LLJava.MethodTypeExpr
methodType
(Reducer.Context<SourceId> context, LLJava.ResultExpr result, List<LLJava.TypeExpr> parameters) protected abstract LLJava.New
newInstruction
(Reducer.Context<SourceId> context, LLJava.TypeExpr baseType, List<LLJava.DimensionExpr> dims) protected static <A> Expression<SourceId,
LLJavaLexer.TokenType, A> paren
(Expression<SourceId, LLJavaLexer.TokenType, A> body) protected abstract LLJava.Put
putInstruction
(Reducer.Context<SourceId> context, Void dummy, boolean statically, LLJava.FieldReference field) protected abstract LLJava.QualId
qualId
(Reducer.Context<SourceId> context, List<LLJava.Id> ids) protected <A1,
A2, R extends LLJava.Node>
Expression<SourceId,LLJavaLexer.TokenType, R> simple
(BiFunction<? super A1, ? super A2, ? extends R> constructor, AbstractExpression<SourceId, LLJavaLexer.TokenType, A1> arg1, AbstractExpression<SourceId, LLJavaLexer.TokenType, A2> arg2) protected <A,
R extends LLJava.Node>
Expression<SourceId,LLJavaLexer.TokenType, R> simple
(Function<? super A, ? extends R> constructor, AbstractExpression<SourceId, LLJavaLexer.TokenType, A> arg1) protected <R extends LLJava.Node>
Expression<SourceId,LLJavaLexer.TokenType, R> simple
(Supplier<? extends R> constructor, LLJavaLexer.TokenType... types) protected List<Map.Entry<LLJava.Id,
LLJava.AnnotationValue>> protected abstract LLJava.Instruction
simpleInstruction
(Reducer.Context<SourceId> context, LLJavaLexer.TokenType type) protected abstract LLJava.Store
storeInstruction
(Reducer.Context<SourceId> context, LLJava.StoreArgument argument) protected abstract LLJava.StringLiteral
stringLiteral
(Reducer.Context<SourceId> context, List<String> text) protected abstract LLJava.Case
switchCase
(Reducer.Context<SourceId> context, List<Optional<LLJava.IntLiteral>> labels, LLJava.CodePoint target) protected abstract LLJava.Switch
switchInstruction
(Reducer.Context<SourceId> context, List<LLJava.Case> cases) protected abstract LLJava.Try
tryInstruction
(Reducer.Context<SourceId> context, LLJava.CodeInterval body, List<LLJava.Handler> handlers) protected abstract LLJava.TypeExpr
type
(Reducer.Context<SourceId> context, LLJava.TypeExpr base, List<LLJava.DimensionExpr> array) protected abstract LLJava.TypeParameter
typeParameter
(Reducer.Context<SourceId> context, List<LLJava.Annotation> annotations, LLJava.Id name, Optional<LLJava.UpperTypeBound> bound) protected static Expression<SourceId,
LLJavaLexer.TokenType, Content<SourceId, LLJavaLexer.TokenType>> unparsedLiteral
(LLJavaLexer.TokenType... types) protected static Expression<SourceId,
LLJavaLexer.TokenType, String> unparsedLiteralText
(LLJavaLexer.TokenType... types)
-
Field Details
-
id
-
qualId
-
qualifier
-
intLiteral
-
longLiteral
-
floatLiteral
-
doubleLiteral
-
booleanLiteral
-
charLiteral
-
stringLiteral
-
nullLiteral
-
literal
-
modifier
-
simpleModifierExpr
public final Expression<SourceId,LLJavaLexer.TokenType, simpleModifierExprLLJava.SimpleModifierExpr> -
constantAnnotationValue
public final Expression<SourceId,LLJavaLexer.TokenType, constantAnnotationValueLLJava.ConstantAnnotationValue> -
classAnnotationValue
public final Expression<SourceId,LLJavaLexer.TokenType, classAnnotationValueLLJava.ClassAnnotationValue> -
enumAnnotationValue
public final Expression<SourceId,LLJavaLexer.TokenType, enumAnnotationValueLLJava.EnumAnnotationValue> -
annotation
-
invisibleAnnotation
-
annotationValue
-
modifierExpr
-
modifiers
-
primitiveType
-
primitiveTypeExpr
-
classType
-
baseType
-
dimensionExpr
-
type
-
typeParameter
-
typeParameters
-
voidResult
-
returnsResult
-
result
-
memberStaticName
-
fieldReference
-
getInstruction
-
putInstruction
-
methodReferenceParameter
public final Expression<SourceId,LLJavaLexer.TokenType, methodReferenceParameterLLJava.MethodReferenceParameter> -
methodReferenceNonrecursive
public final Expression<SourceId,LLJavaLexer.TokenType, methodReferenceNonrecursiveLLJava.MethodReference> -
invokeInstructionNonrecursive
-
methodHandleTarget
public final Expression<SourceId,LLJavaLexer.TokenType, methodHandleTargetLLJava.MethodHandleTarget> -
methodHandle
-
methodType
-
classLiteral
-
loadable
-
memberDynamicName
-
memberFullName
-
methodReference
-
classReference
-
localName
-
label
-
localVariable
-
thisExpr
-
variableReference
-
arrayExpr
-
storeArgument
-
storeInstruction
-
invokeInstruction
-
loadArgument
-
loadInstruction
-
operator
-
condition
-
castInstruction
-
instanceofInstruction
-
newInstruction
-
gotoInterval
-
gotoReference
-
gotoInstruction
-
incInstruction
-
cmpOperator
-
cmpInstruction
-
block
-
initializer
-
fieldDefinition
-
methodParameter
-
methodParameters
-
abstractMethodBody
public final Expression<SourceId,LLJavaLexer.TokenType, abstractMethodBodyLLJava.AbstractMethodBody> -
defaultMethodBody
-
codeMethodBody
-
methodBody
-
exceptions
-
methodDefinition
-
superclass
-
superinterfaces
-
memberDefinition
-
classDeclarator
-
classDefinition
-
main
-
greedy
-
-
Constructor Details
-
LLJavaGrammar
public LLJavaGrammar()
-
-
Method Details
-
arrayAnnotationValue
public final Expression<SourceId,LLJavaLexer.TokenType, arrayAnnotationValueLLJava.ArrayAnnotationValue> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.AnnotationValue> annotationValue) -
nestedAnnotationValue
public final Expression<SourceId,LLJavaLexer.TokenType, nestedAnnotationValueLLJava.NestedAnnotationValue> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Annotation> annotation) -
annotationValue
public final Expression<SourceId,LLJavaLexer.TokenType, annotationValueLLJava.AnnotationValue> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Annotation> annotation, Expression<SourceId, LLJavaLexer.TokenType, LLJava.AnnotationValue> annotationValue) -
annotationValue
public final Expression<SourceId,LLJavaLexer.TokenType, annotationValueLLJava.AnnotationValue> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Annotation> annotation) -
elementValuePair
public final Expression<SourceId,LLJavaLexer.TokenType, elementValuePairMap.Entry<LLJava.Id, LLJava.AnnotationValue>> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Annotation> annotation) -
elementValuePairs
public final Expression<SourceId,LLJavaLexer.TokenType, elementValuePairsList<Map.Entry<LLJava.Id, LLJava.AnnotationValue>>> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Annotation> annotation) -
annotation
public final Expression<SourceId,LLJavaLexer.TokenType, annotationLLJava.Annotation> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Annotation> annotation) -
upperTypeBound
public final Expression<SourceId,LLJavaLexer.TokenType, upperTypeBoundLLJava.UpperTypeBound> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.ClassTypeExpr> classType) -
lowerTypeBound
public final Expression<SourceId,LLJavaLexer.TokenType, lowerTypeBoundLLJava.LowerTypeBound> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.ClassTypeExpr> classType) -
typeBound
public final Expression<SourceId,LLJavaLexer.TokenType, typeBoundLLJava.TypeBound> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.ClassTypeExpr> classType) -
wildcard
public final Expression<SourceId,LLJavaLexer.TokenType, wildcardLLJava.Wildcard> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.ClassTypeExpr> classType) -
typeArgument
public final Expression<SourceId,LLJavaLexer.TokenType, typeArgumentLLJava.TypeArgument> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.ClassTypeExpr> classType) -
typeArguments
public final Expression<SourceId,LLJavaLexer.TokenType, typeArgumentsList<LLJava.TypeArgument>> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.ClassTypeExpr> classType) -
classType
public final Expression<SourceId,LLJavaLexer.TokenType, classTypeLLJava.ClassTypeExpr> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.ClassTypeExpr> classType) -
memberDynamicName
public final Expression<SourceId,LLJavaLexer.TokenType, memberDynamicNameLLJava.MemberDynamicName> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.LoadableExpr> loadable) -
dynamicReference
public final Expression<SourceId,LLJavaLexer.TokenType, dynamicReferenceLLJava.DynamicExpr> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.LoadableExpr> loadable) -
loadable
public final Expression<SourceId,LLJavaLexer.TokenType, loadableLLJava.LoadableExpr> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.LoadableExpr> loadable) -
ifInstruction
public final Expression<SourceId,LLJavaLexer.TokenType, ifInstructionLLJava.If> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
inlineInterval
public final Expression<SourceId,LLJavaLexer.TokenType, inlineIntervalLLJava.InlineInterval> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
codeInterval
public final Expression<SourceId,LLJavaLexer.TokenType, codeIntervalLLJava.CodeInterval> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
inlineReference
public final Expression<SourceId,LLJavaLexer.TokenType, inlineReferenceLLJava.InlinePoint> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
codeReference
public final Expression<SourceId,LLJavaLexer.TokenType, codeReferenceLLJava.CodePoint> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
catchHandler
public final Expression<SourceId,LLJavaLexer.TokenType, catchHandlerLLJava.Handler> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
tryInstruction
public final Expression<SourceId,LLJavaLexer.TokenType, tryInstructionLLJava.Try> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
switchCase
public final Expression<SourceId,LLJavaLexer.TokenType, switchCaseLLJava.Case> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
switchInstruction
public final Expression<SourceId,LLJavaLexer.TokenType, switchInstructionLLJava.Switch> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
instruction
public final Expression<SourceId,LLJavaLexer.TokenType, instructionLLJava.Instruction> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
statement
public final Expression<SourceId,LLJavaLexer.TokenType, statementLLJava.Statement> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
block
public final Expression<SourceId,LLJavaLexer.TokenType, blockLLJava.Block> (Expression<SourceId, LLJavaLexer.TokenType, LLJava.Block> block) -
id
protected abstract LLJava.Id id(Reducer.Context<SourceId> context, String text) throws Reducer.Abort - Throws:
Reducer.Abort
-
qualId
protected abstract LLJava.QualId qualId(Reducer.Context<SourceId> context, List<LLJava.Id> ids) throws Reducer.Abort - Throws:
Reducer.Abort
-
intLiteral
protected abstract LLJava.IntLiteral intLiteral(Reducer.Context<SourceId> context, String text) throws Reducer.Abort - Throws:
Reducer.Abort
-
longLiteral
protected abstract LLJava.LongLiteral longLiteral(Reducer.Context<SourceId> context, String text) throws Reducer.Abort - Throws:
Reducer.Abort
-
floatLiteral
protected abstract LLJava.FloatLiteral floatLiteral(Reducer.Context<SourceId> context, String text) throws Reducer.Abort - Throws:
Reducer.Abort
-
doubleLiteral
protected abstract LLJava.DoubleLiteral doubleLiteral(Reducer.Context<SourceId> context, String text) throws Reducer.Abort - Throws:
Reducer.Abort
-
charLiteral
protected abstract LLJava.CharLiteral charLiteral(Reducer.Context<SourceId> context, String text) throws Reducer.Abort - Throws:
Reducer.Abort
-
stringLiteral
protected abstract LLJava.StringLiteral stringLiteral(Reducer.Context<SourceId> context, List<String> text) throws Reducer.Abort - Throws:
Reducer.Abort
-
methodHandle
protected abstract LLJava.MethodHandleExpr methodHandle(Reducer.Context<SourceId> context, LLJava.MethodHandleTarget target) throws Reducer.Abort - Throws:
Reducer.Abort
-
methodType
protected abstract LLJava.MethodTypeExpr methodType(Reducer.Context<SourceId> context, LLJava.ResultExpr result, List<LLJava.TypeExpr> parameters) throws Reducer.Abort - Throws:
Reducer.Abort
-
dynamicReference
protected abstract LLJava.DynamicExpr dynamicReference(Reducer.Context<SourceId> context, LLJava.TypeExpr type, LLJava.MemberDynamicName fullName) throws Reducer.Abort - Throws:
Reducer.Abort
-
annotation
protected abstract LLJava.Annotation annotation(Reducer.Context<SourceId> context, LLJava.QualId name, List<Map.Entry<LLJava.Id, LLJava.AnnotationValue>> elems) throws Reducer.Abort- Throws:
Reducer.Abort
-
invisible
protected abstract LLJava.Annotation invisible(Reducer.Context<SourceId> context, LLJava.Annotation annotation) throws Reducer.Abort - Throws:
Reducer.Abort
-
dimensionExpr
protected abstract LLJava.DimensionExpr dimensionExpr(Reducer.Context<SourceId> context, List<LLJava.Annotation> annotations, boolean specified) throws Reducer.Abort - Throws:
Reducer.Abort
-
classType
protected abstract LLJava.ClassTypeExpr classType(Reducer.Context<SourceId> context, LLJava.QualId name, List<LLJava.TypeArgument> arguments) throws Reducer.Abort - Throws:
Reducer.Abort
-
typeParameter
protected abstract LLJava.TypeParameter typeParameter(Reducer.Context<SourceId> context, List<LLJava.Annotation> annotations, LLJava.Id name, Optional<LLJava.UpperTypeBound> bound) throws Reducer.Abort - Throws:
Reducer.Abort
-
type
protected abstract LLJava.TypeExpr type(Reducer.Context<SourceId> context, LLJava.TypeExpr base, List<LLJava.DimensionExpr> array) throws Reducer.Abort - Throws:
Reducer.Abort
-
fieldDefinition
protected abstract LLJava.Field fieldDefinition(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.TypeExpr type, LLJava.Id name, Optional<LLJava.Literal> initializer) throws Reducer.Abort - Throws:
Reducer.Abort
-
getInstruction
protected abstract LLJava.Get getInstruction(Reducer.Context<SourceId> context, Void dummy, boolean statically, LLJava.FieldReference field) throws Reducer.Abort - Throws:
Reducer.Abort
-
putInstruction
protected abstract LLJava.Put putInstruction(Reducer.Context<SourceId> context, Void dummy, boolean statically, LLJava.FieldReference field) throws Reducer.Abort - Throws:
Reducer.Abort
-
storeInstruction
protected abstract LLJava.Store storeInstruction(Reducer.Context<SourceId> context, LLJava.StoreArgument argument) throws Reducer.Abort - Throws:
Reducer.Abort
-
loadInstruction
protected abstract LLJava.Load loadInstruction(Reducer.Context<SourceId> context, LLJava.LoadArgument argument) throws Reducer.Abort - Throws:
Reducer.Abort
-
invokeInstruction
protected abstract LLJava.Invoke invokeInstruction(Reducer.Context<SourceId> context, Void dummy, List<LLJava.ModifierExpr> modifiers, LLJava.MethodReference ref) throws Reducer.Abort - Throws:
Reducer.Abort
-
condition
protected abstract LLJava.Condition condition(Reducer.Context<SourceId> context, LLJavaLexer.TokenType operator, LLJava.LoadArgument operand) throws Reducer.Abort - Throws:
Reducer.Abort
-
ifInstruction
protected abstract LLJava.If ifInstruction(Reducer.Context<SourceId> context, boolean negative, LLJava.Condition condition, LLJava.CodePoint target) throws Reducer.Abort - Throws:
Reducer.Abort
-
switchCase
protected abstract LLJava.Case switchCase(Reducer.Context<SourceId> context, List<Optional<LLJava.IntLiteral>> labels, LLJava.CodePoint target) throws Reducer.Abort - Throws:
Reducer.Abort
-
switchInstruction
protected abstract LLJava.Switch switchInstruction(Reducer.Context<SourceId> context, List<LLJava.Case> cases) throws Reducer.Abort - Throws:
Reducer.Abort
-
castInstruction
protected abstract LLJava.Cast castInstruction(Reducer.Context<SourceId> context, LLJava.TypeExpr type) throws Reducer.Abort - Throws:
Reducer.Abort
-
instanceofInstruction
protected abstract LLJava.Instanceof instanceofInstruction(Reducer.Context<SourceId> context, LLJava.TypeExpr type) throws Reducer.Abort - Throws:
Reducer.Abort
-
newInstruction
protected abstract LLJava.New newInstruction(Reducer.Context<SourceId> context, LLJava.TypeExpr baseType, List<LLJava.DimensionExpr> dims) throws Reducer.Abort - Throws:
Reducer.Abort
-
gotoInterval
protected abstract LLJava.GotoInterval gotoInterval(Reducer.Context<SourceId> context, LLJava.Name start, Optional<LLJava.Name> end) throws Reducer.Abort - Throws:
Reducer.Abort
-
catchHandler
protected abstract LLJava.Handler catchHandler(Reducer.Context<SourceId> context, List<LLJava.Label> prefixLabels, Optional<LLJava.ClassReference> type, List<LLJava.Label> infixLabels, LLJava.CodePoint body) throws Reducer.Abort - Throws:
Reducer.Abort
-
tryInstruction
protected abstract LLJava.Try tryInstruction(Reducer.Context<SourceId> context, LLJava.CodeInterval body, List<LLJava.Handler> handlers) throws Reducer.Abort - Throws:
Reducer.Abort
-
gotoInstruction
protected abstract LLJava.Goto gotoInstruction(Reducer.Context<SourceId> context, LLJava.GotoPoint target) throws Reducer.Abort - Throws:
Reducer.Abort
-
incInstruction
protected abstract LLJava.Inc incInstruction(Reducer.Context<SourceId> context, LLJava.VariableRef target, int increment) throws Reducer.Abort - Throws:
Reducer.Abort
-
simpleInstruction
protected abstract LLJava.Instruction simpleInstruction(Reducer.Context<SourceId> context, LLJavaLexer.TokenType type) throws Reducer.Abort - Throws:
Reducer.Abort
-
cmpInstruction
protected abstract LLJava.Cmp cmpInstruction(Reducer.Context<SourceId> context, Optional<Boolean> greater) throws Reducer.Abort - Throws:
Reducer.Abort
-
block
protected abstract LLJava.Block block(Reducer.Context<SourceId> context, List<LLJava.Statement> statements) throws Reducer.Abort - Throws:
Reducer.Abort
-
memberStaticName
protected abstract LLJava.MemberStaticName memberStaticName(Reducer.Context<SourceId> context, LLJava.QualId name) throws Reducer.Abort - Throws:
Reducer.Abort
-
memberDynamicName
protected abstract LLJava.MemberDynamicName memberDynamicName(Reducer.Context<SourceId> context, LLJava.MethodHandleExpr factory, List<LLJava.LoadableExpr> bootstrapArguments, LLJava.Id name) throws Reducer.Abort - Throws:
Reducer.Abort
-
methodReference
protected abstract LLJava.MethodReference methodReference(Reducer.Context<SourceId> context, LLJava.ResultExpr returnType, LLJava.MemberFullName name, List<LLJava.MethodReferenceParameter> params) throws Reducer.Abort - Throws:
Reducer.Abort
-
methodParameter
protected abstract LLJava.Parameter methodParameter(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.TypeExpr type, Optional<LLJava.Name> name) throws Reducer.Abort - Throws:
Reducer.Abort
-
codeMethodBody
protected abstract LLJava.CodeMethodBody codeMethodBody(Reducer.Context<SourceId> context, LLJava.Block block) throws Reducer.Abort - Throws:
Reducer.Abort
-
methodDefinition
protected abstract LLJava.Method methodDefinition(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, List<LLJava.TypeParameter> typeParameters, LLJava.ResultExpr returnType, LLJava.Id name, List<LLJava.Parameter> parameters, List<LLJava.ClassReference> exceptions, LLJava.MethodBody body) throws Reducer.Abort - Throws:
Reducer.Abort
-
classDefinition
protected abstract LLJava.Class classDefinition(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.QualId name, List<LLJava.TypeParameter> typeParameters, LLJava.ClassReference superclass, List<LLJava.ClassReference> interfaces, List<LLJava.Member> members) throws Reducer.Abort - Throws:
Reducer.Abort
-
unparsedLiteral
protected static Expression<SourceId,LLJavaLexer.TokenType, unparsedLiteralContent<SourceId, LLJavaLexer.TokenType>> (LLJavaLexer.TokenType... types) -
unparsedLiteralText
protected static Expression<SourceId,LLJavaLexer.TokenType, unparsedLiteralTextString> (LLJavaLexer.TokenType... types) -
constant
protected static <A> Expression<SourceId,LLJavaLexer.TokenType, constantA> (LLJavaLexer.TokenType type, A value) -
brace
protected static <A> Expression<SourceId,LLJavaLexer.TokenType, braceA> (Expression<SourceId, LLJavaLexer.TokenType, A> body) -
paren
protected static <A> Expression<SourceId,LLJavaLexer.TokenType, parenA> (Expression<SourceId, LLJavaLexer.TokenType, A> body) -
bracket
protected static <A> Expression<SourceId,LLJavaLexer.TokenType, bracketA> (Expression<SourceId, LLJavaLexer.TokenType, A> body) -
angle
protected static <A> Expression<SourceId,LLJavaLexer.TokenType, angleA> (Expression<SourceId, LLJavaLexer.TokenType, A> body) -
comma
protected static <A> Expression<SourceId,LLJavaLexer.TokenType, commaList<A>> (Expression<SourceId, LLJavaLexer.TokenType, A> body) -
simpleAnnotation
protected List<Map.Entry<LLJava.Id,LLJava.AnnotationValue>> simpleAnnotation(LLJava.AnnotationValue value) -
command
-
command
protected <A> Expression<SourceId,LLJavaLexer.TokenType, commandA> (LLJavaLexer.TokenType type, Expression<SourceId, LLJavaLexer.TokenType, A> operand) -
flag
protected Expression<SourceId,LLJavaLexer.TokenType, flagBoolean> (LLJavaLexer.TokenType type, Parser.Pragma... pragmas) -
locate
-
locate
-
simple
protected <R extends LLJava.Node> Expression<SourceId,LLJavaLexer.TokenType, simpleR> (Supplier<? extends R> constructor, LLJavaLexer.TokenType... types) -
simple
protected <A,R extends LLJava.Node> Expression<SourceId,LLJavaLexer.TokenType, simpleR> (Function<? super A, ? extends R> constructor, AbstractExpression<SourceId, LLJavaLexer.TokenType, A> arg1) -
simple
protected <A1,A2, Expression<SourceId,R extends LLJava.Node> LLJavaLexer.TokenType, simpleR> (BiFunction<? super A1, ? super A2, ? extends R> constructor, AbstractExpression<SourceId, LLJavaLexer.TokenType, A1> arg1, AbstractExpression<SourceId, LLJavaLexer.TokenType, A2> arg2) -
check
-