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