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