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