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