abstract class InitialProducer extends AbstractInsnNode
A class for pseudo-instructions representing the initial producers of local values that have no producer instruction in the method:
- parameters, including
this - uninitialized local variables
- exception values in handlers
The ASM built-in SourceValue analysis yields an empty producers set for such values. This leads to ambiguities. Example (in Java one can re-assign parameter):
int foo(int a) { if (a == 0) a = 1; return a; }
In the first frame of the method, the SourceValue for parameter a gives an empty set of
producer instructions.
In the frame of the IRETURN instruction, the SourceValue for parameter a lists a single
producer instruction: the ISTORE 1. This makes it look as if there was a single producer for
a, where in fact it might still hold the parameter's initial value.
- Alphabetic
- By Inheritance
- InitialProducer
- AbstractInsnNode
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new InitialProducer()
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from InitialProducer to any2stringadd[InitialProducer] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (InitialProducer, B)
- Implicit
- This member is added by an implicit conversion from InitialProducer to ArrowAssoc[InitialProducer] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
accept(cv: MethodVisitor): Unit
- Definition Classes
- InitialProducer → AbstractInsnNode
-
final
def
acceptAnnotations(methodVisitor: MethodVisitor): Unit
- Attributes
- protected[tree]
- Definition Classes
- AbstractInsnNode
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(labels: Map[LabelNode, LabelNode]): AbstractInsnNode
- Definition Classes
- InitialProducer → AbstractInsnNode
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
cloneAnnotations(insnNode: AbstractInsnNode): AbstractInsnNode
- Attributes
- protected[tree]
- Definition Classes
- AbstractInsnNode
-
def
ensuring(cond: (InitialProducer) ⇒ Boolean, msg: ⇒ Any): InitialProducer
- Implicit
- This member is added by an implicit conversion from InitialProducer to Ensuring[InitialProducer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (InitialProducer) ⇒ Boolean): InitialProducer
- Implicit
- This member is added by an implicit conversion from InitialProducer to Ensuring[InitialProducer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): InitialProducer
- Implicit
- This member is added by an implicit conversion from InitialProducer to Ensuring[InitialProducer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): InitialProducer
- Implicit
- This member is added by an implicit conversion from InitialProducer to Ensuring[InitialProducer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getNext(): AbstractInsnNode
- Definition Classes
- AbstractInsnNode
-
def
getOpcode(): Int
- Definition Classes
- AbstractInsnNode
-
def
getPrevious(): AbstractInsnNode
- Definition Classes
- AbstractInsnNode
-
def
getType(): Int
- Definition Classes
- InitialProducer → AbstractInsnNode
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
→[B](y: B): (InitialProducer, B)
- Implicit
- This member is added by an implicit conversion from InitialProducer to ArrowAssoc[InitialProducer] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Deprecated Value Members
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from InitialProducer to StringFormat[InitialProducer] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)instead ofvalue.formatted(formatString), or use thef""string interpolator. In Java 15 and later,formattedresolves to the new method in String which has reversed parameters.
The Scala compiler and reflection APIs.