Class Exprent
- java.lang.Object
-
- org.jetbrains.java.decompiler.modules.decompiler.exps.Exprent
-
- All Implemented Interfaces:
IMatchable
- Direct Known Subclasses:
AnnotationExprent,ArrayExprent,AssertExprent,AssignmentExprent,ConstExprent,ExitExprent,FieldExprent,FunctionExprent,IfExprent,InvocationExprent,MonitorExprent,NewExprent,SwitchExprent,SwitchHeadExprent,VarExprent,YieldExprent
public abstract class Exprent extends java.lang.Object implements IMatchable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExprent.Type-
Nested classes/interfaces inherited from interface org.jetbrains.java.decompiler.struct.match.IMatchable
IMatchable.MatchProperties
-
-
Field Summary
Fields Modifier and Type Field Description static intBOTH_FLAGSjava.util.BitSetbytecodeintidprotected static java.lang.ThreadLocal<java.util.Map<java.lang.String,VarType>>inferredLambdaTypesstatic intMULTIPLE_USESstatic intSIDE_EFFECTS_FREEExprent.Typetype
-
Constructor Summary
Constructors Modifier Constructor Description protectedExprent(Exprent.Type type)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddBytecodeOffsets(java.util.BitSet bytecodeOffsets)booleanallowNewlineAfterQualifier()protected voidappendParameters(TextBuffer buf, java.util.List<VarType> genericArgs)CheckTypesResultcheckExprTypeBounds()booleancontainsExprent(Exprent exprent)booleancontainsVar(VarVersionPair var)abstract Exprentcopy()IMatchablefindObject(MatchNode matchNode, int index)protected voidgatherGenerics(VarType upperBound, VarType ret, java.util.Map<VarType,VarType> genericsMap)java.util.List<Exprent>getAllExprents()java.util.List<Exprent>getAllExprents(boolean recursive)java.util.List<Exprent>getAllExprents(boolean recursive, boolean self)protected abstract java.util.List<Exprent>getAllExprents(java.util.List<Exprent> list)java.util.Set<VarVersionPair>getAllVariables()abstract voidgetBytecodeRange(java.util.BitSet values)intgetExprentUse()VarTypegetExprType()protected voidgetGenericArgs(java.util.List<java.lang.String> fparams, java.util.Map<VarType,VarType> genericsMap, java.util.List<VarType> genericArgs)VarTypegetInferredExprType(VarType upperBound)protected java.util.Map<VarType,java.util.List<VarType>>getNamedGenerics()intgetPrecedence()booleanmatch(MatchNode matchNode, MatchEngine engine)protected voidmeasureBytecode(java.util.BitSet values)protected static voidmeasureBytecode(java.util.BitSet values, java.util.List<? extends Exprent> list)protected static voidmeasureBytecode(java.util.BitSet values, Exprent exprent)voidreplaceExprent(Exprent oldExpr, Exprent newExpr)voidsetInvocationInstance()voidsetIsQualifier()static java.util.List<? extends Exprent>sortIndexed(java.util.List<? extends Exprent> lst)TextBuffertoJava()abstract TextBuffertoJava(int indent)java.lang.StringtoString()
-
-
-
Field Detail
-
MULTIPLE_USES
public static final int MULTIPLE_USES
- See Also:
- Constant Field Values
-
SIDE_EFFECTS_FREE
public static final int SIDE_EFFECTS_FREE
- See Also:
- Constant Field Values
-
BOTH_FLAGS
public static final int BOTH_FLAGS
- See Also:
- Constant Field Values
-
inferredLambdaTypes
protected static java.lang.ThreadLocal<java.util.Map<java.lang.String,VarType>> inferredLambdaTypes
-
type
public final Exprent.Type type
-
id
public final int id
-
bytecode
public java.util.BitSet bytecode
-
-
Constructor Detail
-
Exprent
protected Exprent(Exprent.Type type)
-
-
Method Detail
-
getPrecedence
public int getPrecedence()
-
getExprType
public VarType getExprType()
-
getExprentUse
public int getExprentUse()
-
checkExprTypeBounds
public CheckTypesResult checkExprTypeBounds()
-
containsExprent
public boolean containsExprent(Exprent exprent)
-
containsVar
public boolean containsVar(VarVersionPair var)
-
getAllExprents
public final java.util.List<Exprent> getAllExprents(boolean recursive)
-
getAllExprents
public final java.util.List<Exprent> getAllExprents(boolean recursive, boolean self)
-
getAllVariables
public java.util.Set<VarVersionPair> getAllVariables()
-
getAllExprents
public final java.util.List<Exprent> getAllExprents()
-
getAllExprents
protected abstract java.util.List<Exprent> getAllExprents(java.util.List<Exprent> list)
-
copy
public abstract Exprent copy()
-
toJava
public TextBuffer toJava()
-
toJava
public abstract TextBuffer toJava(int indent)
-
addBytecodeOffsets
public void addBytecodeOffsets(java.util.BitSet bytecodeOffsets)
-
getBytecodeRange
public abstract void getBytecodeRange(java.util.BitSet values)
-
measureBytecode
protected void measureBytecode(java.util.BitSet values)
-
measureBytecode
protected static void measureBytecode(java.util.BitSet values, Exprent exprent)
-
measureBytecode
protected static void measureBytecode(java.util.BitSet values, java.util.List<? extends Exprent> list)
-
sortIndexed
public static java.util.List<? extends Exprent> sortIndexed(java.util.List<? extends Exprent> lst)
-
gatherGenerics
protected void gatherGenerics(VarType upperBound, VarType ret, java.util.Map<VarType,VarType> genericsMap)
-
getGenericArgs
protected void getGenericArgs(java.util.List<java.lang.String> fparams, java.util.Map<VarType,VarType> genericsMap, java.util.List<VarType> genericArgs)
-
appendParameters
protected void appendParameters(TextBuffer buf, java.util.List<VarType> genericArgs)
-
setInvocationInstance
public void setInvocationInstance()
-
setIsQualifier
public void setIsQualifier()
-
allowNewlineAfterQualifier
public boolean allowNewlineAfterQualifier()
-
findObject
public IMatchable findObject(MatchNode matchNode, int index)
- Specified by:
findObjectin interfaceIMatchable
-
match
public boolean match(MatchNode matchNode, MatchEngine engine)
- Specified by:
matchin interfaceIMatchable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-