Class SSAVar

  • All Implemented Interfaces:
    java.lang.Comparable<SSAVar>

    public class SSAVar
    extends java.lang.Object
    implements java.lang.Comparable<SSAVar>
    • Constructor Detail

      • SSAVar

        public SSAVar​(int regNum,
                      int v,
                      @NotNull
                      @NotNull RegisterArg assign)
    • Method Detail

      • getRegNum

        public int getRegNum()
      • getVersion

        public int getVersion()
      • getAssign

        @NotNull
        public @NotNull RegisterArg getAssign()
      • getAssignInsn

        @Nullable
        public @Nullable InsnNode getAssignInsn()
      • setAssign

        public void setAssign​(@NotNull
                              @NotNull RegisterArg assign)
      • getUseList

        public java.util.List<RegisterArg> getUseList()
      • getUseCount

        public int getUseCount()
      • getImmutableType

        @Nullable
        public @Nullable ArgType getImmutableType()
      • isTypeImmutable

        public boolean isTypeImmutable()
      • markAsImmutable

        public void markAsImmutable​(ArgType type)
      • setType

        public void setType​(ArgType type)
      • forceSetType

        public void forceSetType​(ArgType type)
      • removeUse

        public void removeUse​(RegisterArg arg)
      • addUsedInPhi

        public void addUsedInPhi​(PhiInsn phiInsn)
      • removeUsedInPhi

        public void removeUsedInPhi​(PhiInsn phiInsn)
      • updateUsedInPhiList

        public void updateUsedInPhiList()
      • getOnlyOneUseInPhi

        @Nullable
        public @Nullable PhiInsn getOnlyOneUseInPhi()
      • getUsedInPhi

        public java.util.List<PhiInsn> getUsedInPhi()
      • getPhiList

        public java.util.List<PhiInsn> getPhiList()
        Concat assign PHI insn and usedInPhi
      • isAssignInPhi

        public boolean isAssignInPhi()
      • isUsedInPhi

        public boolean isUsedInPhi()
      • setName

        public void setName​(java.lang.String name)
      • getName

        public java.lang.String getName()
      • getTypeInfo

        public TypeInfo getTypeInfo()
      • getCodeVar

        @NotNull
        public @NotNull CodeVar getCodeVar()
      • setCodeVar

        public void setCodeVar​(@NotNull
                               @NotNull CodeVar codeVar)
      • resetTypeAndCodeVar

        public void resetTypeAndCodeVar()
      • isCodeVarSet

        public boolean isCodeVarSet()
      • getDetailedVarInfo

        public java.lang.String getDetailedVarInfo​(MethodNode mth)
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • compareTo

        public int compareTo​(@NotNull
                             @NotNull SSAVar o)
        Specified by:
        compareTo in interface java.lang.Comparable<SSAVar>
      • toShortString

        public java.lang.String toShortString()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object