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