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