// Rendered by UMod Pretty Printer at 2026-02-01_13h18m33 // See also the UMod user documentation online. MODEL LLJava = EXT Character FROM java.lang.Character EXT String FROM java.lang.String EXT Integer FROM java.lang.Integer EXT Long FROM java.lang.Long EXT Float FROM java.lang.Float EXT Double FROM java.lang.Double EXT SourceId SOURCE FROM eu.bandm.tools.lljava.absy.SourceId EXT Location SOURCE FROM eu.bandm.tools.location.Location ENUM HandleKind = GetField, GetStatic, PutField, PutStatic, InvokeVirtual, InvokeStatic, InvokeSpecial, NewInvokeSpecial, InvokeInterface ENUM Condition = Eq, NEq, LEq, GEq, LT, GT, Eq0, NEq0, LEq0, GEq0, LT0, GT0, EqNull, NEqNull ENUM Modifier = Public, Protected, Private, Abstract, Static, Interface, Enum, Annotation, Final, Synthetic, Super, Bridge, Strictfp, Volatile, Transient, Synchronized, Native, Varargs, Mandated ENUM Strategy = Virtual, Special, Static, Interface, Dynamic TOPLEVEL CLASS Node ABSTRACT location OPT Location | Exception range GotoInterval type OPT ClassReference target GotoPoint | AnnotationValue ABSTRACT | | ArrayAnnotationValue elems SEQ AnnotationValue | | EnumAnnotationValue type QualId name Id | | ClassAnnotationValue name QualId | | NestedAnnotationValue annotation Annotation | | ConstantAnnotationValue literal Literal | MemberFullName ABSTRACT name Id | | MemberDynamicName factory MethodHandleExpr bootstrapArguments SEQ LoadableExpr | | MemberStaticName owner OPT QualId | CodeInterval ABSTRACT | | GotoInterval start Name end OPT Name startTarget OPT Block endTarget OPT Block | | InlineInterval body Block | MethodBody ABSTRACT | | DefaultMethodBody value AnnotationValue | | AbstractMethodBody | | CodeMethodBody block Block exceptionTable SEQ Exception maxLocals OPT Integer maxOperands OPT Integer stackMapPlaces SET Instruction stackMap SEQ StackFrameDelta | LoadArgument ABSTRACT | | StoreArgument ABSTRACT | | | VariableAccess ABSTRACT target OPT Slot | | | | VariableRef name Name | | | | This | | | | SlotReference index int wide bool | | | | SlotRef | | | ArrayAccess type OPT Type | | LoadableExpr ABSTRACT entry ABSTRACT GETTER Loadable | | | MethodTypeExpr result ResultExpr parameters SEQ TypeExpr entry OPT MethodType | | | Literal ABSTRACT | | | | LongLiteral value Long entry OPT ConstantLong | | | | FloatLiteral value Float entry OPT ConstantFloat | | | | BooleanLiteral value bool entry OPT ConstantInteger | | | | CharLiteral value Character entry OPT ConstantInteger | | | | IntLiteral value Integer entry OPT ConstantInteger | | | | DoubleLiteral value Double entry OPT ConstantDouble | | | | StringLiteral value String entry OPT ConstantString | | | DynamicExpr type TypeExpr fullName MemberDynamicName | | | ClassExpr type ClassTypeExpr entry OPT ClassRef | | | MethodHandleExpr target MethodHandleTarget entry OPT MethodHandle | | NullLiteral | MemberReference ABSTRACT fullName ABSTRACT GETTER MemberFullName entry ABSTRACT GETTER OPT MemberRef | | MethodReference asInterface bool result ResultExpr fullName MemberFullName parameters SEQ MethodReferenceParameter entry OPT AbstractMethodRef dynamicEntry OPT InvokeDynamic | | FieldReference type TypeExpr fullName MemberStaticName entry OPT FieldRef | CodePoint ABSTRACT | | InlinePoint body Block | | GotoPoint id Name target OPT Block | ResultExpr ABSTRACT erasure OPT Result | | VoidExpr | | ReturnsExpr type TypeExpr | ModifierExpr ABSTRACT | | SimpleModifierExpr modifier Modifier | | Annotation name QualId runtimeVisible bool elems Id->AnnotationValue | Modifiable ABSTRACT annotations SEQ Annotation modifiers SET Modifier | | Attributable ABSTRACT attrs SEQ Attribute | | | Member ABSTRACT name Id nameEntry OPT ConstantUTF8 descriptorEntry OPT ConstantUTF8 signatureEntry OPT ConstantUTF8 | | | | Field type TypeExpr initializer OPT Literal | | | | Method typeParameters SEQ TypeParameter result ResultExpr parameters SEQ Parameter exceptions SEQ ClassReference body MethodBody | | | InnerClass name OPT Id definition OPT Class | | | Class name QualId innerName OPT Id typeParameters SEQ TypeParameter superClass ClassReference interfaces SEQ ClassReference fields SEQ Field methods SEQ Method innerClasses SEQ InnerClass pool SEQ ConstantPoolEntry thisEntry OPT ClassRef signatureEntry OPT ConstantUTF8 | | Parameter type TypeExpr name OPT Name variable OPT Variable | ClassParent | ClassReference type ClassTypeExpr entry OPT ClassRef | Statement ABSTRACT | | LocalClass target Class | | Local type TypeExpr name OPT Name variable OPT Variable | | Block labels SEQ Name implicit bool elems SEQ Statement controlEnv Name->Block dataEnv Name->Variable | | Label name Name | | Instruction ABSTRACT pre OPT StackFrame post OPT StackFrame | | | If neg bool condition Condition body CodePoint | | | Dup | | | Swap | | | ArithInstruction ABSTRACT | | | | Cmp ABSTRACT | | | | | CmpIntegral | | | | | CmpLT | | | | | CmpGT | | | | | CmpFloating greaterNaN bool | | | | Neg | | | | Shift ABSTRACT | | | | | Shr | | | | | Shl | | | | | UShr | | | | Inc target VariableAccess increment int | | | | And | | | | Add | | | | XOr | | | | Sub | | | | Rem | | | | Or | | | | Div | | | | Mul | | | Load arg LoadArgument | | | Switch cases SEQ Case | | | Jump ABSTRACT | | | | Goto target GotoPoint | | | | Return | | | | Throw | | | Pop | | | MethodHandleTarget ABSTRACT target ABSTRACT GETTER MemberReference | | | | Invoke modifiers SET Modifier strategy OPT Strategy target MethodReference | | | | FieldAccess ABSTRACT statically bool target FieldReference | | | | | Get | | | | | Put | | | Length | | | Nop | | | Store arg StoreArgument | | | Monitor ABSTRACT | | | | Enter | | | | Exit | | | Try body CodeInterval handlers SEQ Handler | | | TypeInstruction ABSTRACT type ABSTRACT GETTER TypeExpr entry OPT ClassRef | | | | Instanceof type ReferenceTypeExpr | | | | New type ReferenceTypeExpr multiarray int | | | | Cast type TypeExpr | MethodReferenceParameter type OPT TypeExpr | Handler type OPT ClassReference body CodePoint | TypeArgument ABSTRACT annotations SEQ Annotation erasure ABSTRACT GETTER OPT Type | | TypeExpr ABSTRACT | | | ReferenceTypeExpr ABSTRACT erasure OPT RefType | | | | ClassTypeExpr name QualId arguments SEQ TypeArgument parameter bool | | | | ArrayTypeExpr base TypeExpr specified bool | | | PrimitiveTypeExpr erasure PrimitiveType | | Wildcard bound OPT TypeBound erasure OPT RefType | TypeParameter annotations SEQ Annotation name Id bound UpperTypeBound | DimensionExpr specified bool annotations SEQ Annotation | TypeBound ABSTRACT limit ReferenceTypeExpr erasure OPT Type | | LowerTypeBound | | UpperTypeBound interfaces SEQ ReferenceTypeExpr | Case labels SET Integer isDefault bool body CodePoint Slot ALGEBRAIC type Type index int StackFrameDelta ALGEBRAIC delta int next StackFrame Result ABSTRACT ALGEBRAIC | Void ALGEBRAIC | Type ABSTRACT ALGEBRAIC | | PrimitiveType ABSTRACT ALGEBRAIC | | | CharType ALGEBRAIC | | | BooleanType ALGEBRAIC | | | IntType ALGEBRAIC | | | FloatType ALGEBRAIC | | | WideType ABSTRACT ALGEBRAIC | | | | DoubleType ALGEBRAIC | | | | LongType ALGEBRAIC | | | ByteType ALGEBRAIC | | | ShortType ALGEBRAIC | | RefType ABSTRACT ALGEBRAIC | | | ArrayType ALGEBRAIC element Type | | | ClassType ALGEBRAIC name QualId StackFrame ALGEBRAIC locals SEQ VType operands SEQ VType uninitThis bool QualId ALGEBRAIC qualifier SEQ Id id Id ConstantPoolEntry ABSTRACT ALGEBRAIC | ConstantUTF8 ALGEBRAIC text string | AbstractDynamic ABSTRACT ALGEBRAIC bootstrap BootstrapMethod nametype NameAndType | | Dynamic ALGEBRAIC | | InvokeDynamic ALGEBRAIC | MemberRef ABSTRACT ALGEBRAIC owner ClassRef nametype NameAndType | | FieldRef ALGEBRAIC | | AbstractMethodRef ABSTRACT ALGEBRAIC | | | InterfaceMethodRef ALGEBRAIC | | | MethodRef ALGEBRAIC | Loadable ABSTRACT ALGEBRAIC | | ConstantDoubleValue ABSTRACT ALGEBRAIC | | | ConstantLong ALGEBRAIC value Long | | | ConstantDouble ALGEBRAIC value Double | | ConstantSingleValue ABSTRACT ALGEBRAIC | | | ConstantInteger ALGEBRAIC value Integer | | | ConstantString ALGEBRAIC value ConstantUTF8 | | | ConstantFloat ALGEBRAIC value Float | | ClassRef ALGEBRAIC name ConstantUTF8 | | MethodHandle ALGEBRAIC kind HandleKind reference MemberRef | | MethodType ALGEBRAIC descriptor ConstantUTF8 | NameAndType ALGEBRAIC name ConstantUTF8 descriptor ConstantUTF8 VType ABSTRACT ALGEBRAIC | Category2VType ABSTRACT ALGEBRAIC | | LongVType ALGEBRAIC | | DoubleVType ALGEBRAIC | | TwoWordVType ALGEBRAIC | Category1VType ABSTRACT ALGEBRAIC | | UninitializedNewVType ALGEBRAIC offset New | | AbstractIntVType ABSTRACT ALGEBRAIC | | | IntVType ALGEBRAIC | | | ByteVType ALGEBRAIC | | | CharVType ALGEBRAIC | | | ShortVType ALGEBRAIC | | | BooleanVType ALGEBRAIC | | ReferenceVType ALGEBRAIC | | NullVType ALGEBRAIC | | ObjectVType ALGEBRAIC classname string | | FloatVType ALGEBRAIC | | UninitializedThisVType ALGEBRAIC | | OneWordVType ALGEBRAIC | | UninitializedVType ALGEBRAIC | TopVType ALGEBRAIC Attribute ABSTRACT name ABSTRACT GETTER ConstantUTF8 | CustomAttribute name ConstantUTF8 attrs SEQ Attribute | ExceptionsAttribute name ConstantUTF8 | StackMapTableAttribute name ConstantUTF8 | BootstrapMethodsAttribute name ConstantUTF8 bootstrapMethods SEQ BootstrapMethod | CodeAttribute name ConstantUTF8 stackMap OPT StackMapTableAttribute | AnnotationDefaultAttribute name ConstantUTF8 | SignatureAttribute ABSTRACT name ConstantUTF8 signature OPT ConstantUTF8 | | ClassSignatureAttribute | | MethodSignatureAttribute | | FieldSignatureAttribute | ConstantValueAttribute name ConstantUTF8 Id ALGEBRAIC text String Variable ALGEBRAIC type Type name Name BootstrapMethod ALGEBRAIC handle MethodHandle arguments SEQ Loadable Anonymity Name ABSTRACT ALGEBRAIC | ImplicitName ALGEBRAIC id Anonymity | ExplicitName ALGEBRAIC id Id MethodName END MODEL // LLJava