Package org.benf.cfr.reader.bytecode
Class BytecodeMeta
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.BytecodeMeta
-
public class BytecodeMeta extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BytecodeMeta.CodeInfoFlag
private static class
BytecodeMeta.FlagTest
-
Field Summary
Fields Modifier and Type Field Description private java.util.EnumSet<BytecodeMeta.CodeInfoFlag>
flags
private java.util.Map<java.lang.Integer,JavaTypeInstance>
iteratedTypeHints
private java.util.Set<java.lang.Integer>
livenessClashes
private Options
options
-
Constructor Summary
Constructors Constructor Description BytecodeMeta(java.util.List<Op01WithProcessedDataAndByteJumps> op1s, AttributeCode code, Options options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static UnaryFunction<BytecodeMeta,java.lang.Boolean>
checkParam(PermittedOptionProvider.Argument<java.lang.Boolean> param)
java.util.Map<java.lang.Integer,JavaTypeInstance>
getIteratedTypeHints()
java.util.Set<java.lang.Integer>
getLivenessClashes()
boolean
has(BytecodeMeta.CodeInfoFlag flag)
static UnaryFunction<BytecodeMeta,java.lang.Boolean>
hasAnyFlag(BytecodeMeta.CodeInfoFlag... flag)
void
informLivenessClashes(java.util.Set<java.lang.Integer> slots)
void
set(BytecodeMeta.CodeInfoFlag flag)
void
takeIteratedTypeHint(InferredJavaType inferredJavaType, JavaTypeInstance itertype)
-
-
-
Field Detail
-
flags
private final java.util.EnumSet<BytecodeMeta.CodeInfoFlag> flags
-
livenessClashes
private final java.util.Set<java.lang.Integer> livenessClashes
-
iteratedTypeHints
private final java.util.Map<java.lang.Integer,JavaTypeInstance> iteratedTypeHints
-
options
private final Options options
-
-
Constructor Detail
-
BytecodeMeta
public BytecodeMeta(java.util.List<Op01WithProcessedDataAndByteJumps> op1s, AttributeCode code, Options options)
-
-
Method Detail
-
has
public boolean has(BytecodeMeta.CodeInfoFlag flag)
-
set
public void set(BytecodeMeta.CodeInfoFlag flag)
-
informLivenessClashes
public void informLivenessClashes(java.util.Set<java.lang.Integer> slots)
-
takeIteratedTypeHint
public void takeIteratedTypeHint(InferredJavaType inferredJavaType, JavaTypeInstance itertype)
-
getIteratedTypeHints
public java.util.Map<java.lang.Integer,JavaTypeInstance> getIteratedTypeHints()
-
getLivenessClashes
public java.util.Set<java.lang.Integer> getLivenessClashes()
-
hasAnyFlag
public static UnaryFunction<BytecodeMeta,java.lang.Boolean> hasAnyFlag(BytecodeMeta.CodeInfoFlag... flag)
-
checkParam
public static UnaryFunction<BytecodeMeta,java.lang.Boolean> checkParam(PermittedOptionProvider.Argument<java.lang.Boolean> param)
-
-