object IndylambdaScalaClosures
- Alphabetic
- By Inheritance
- IndylambdaScalaClosures
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val LambdaMetafactoryClassName: String
- val LambdaMetafactoryMethodDesc: String
- val LambdaMetafactoryMethodName: String
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
findAccessedFields(lambdaProxy: SerializedLambda, lambdaClassLoader: ClassLoader, accessedFields: Map[Class[_], Set[String]], findTransitively: Boolean): Unit
Scans an indylambda Scala closure, along with its lexically nested closures, and populate the accessed fields info on which fields on the outer object are accessed.
Scans an indylambda Scala closure, along with its lexically nested closures, and populate the accessed fields info on which fields on the outer object are accessed.
This is equivalent to getInnerClosureClasses() + InnerClosureFinder + FieldAccessFinder fused into one for processing indylambda closures. The traversal order along the call graph is the same for all three combined, so they can be fused together easily while maintaining the same ordering as the existing implementation.
Precondition: this function expects the
accessedFieldsto be populated with all known outer classes and their super classes to be in the map as keys, e.g. initializing via ClosureCleaner.initAccessedFields. -
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda]
Check if the given reference is a indylambda style Scala closure.
Check if the given reference is a indylambda style Scala closure. If so (e.g. for Scala 2.12+ closures), return a non-empty serialization proxy (SerializedLambda) of the closure; otherwise (e.g. for Scala 2.11 closures) return None.
- maybeClosure
the closure to check.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def inspect(closure: AnyRef): SerializedLambda
- def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean
-
def
isInnerClassCtorCapturingOuter(op: Int, owner: String, name: String, desc: String, callerInternalName: String): Boolean
Check if the callee of a call site is a inner class constructor.
Check if the callee of a call site is a inner class constructor.
- A constructor has to be invoked via INVOKESPECIAL
- A constructor's internal name is "<init>" and the return type is "V" (void)
- An inner class' first argument in the signature has to be a reference to the enclosing "this", aka
$outerin Scala.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): Boolean
Check if the handle represents a target method that is:
Check if the handle represents a target method that is:
- a STATIC method that implements a Scala lambda body in the indylambda style
- captures the enclosing
this, i.e. the first argument is a reference to the same type as the owning class. Returns true if both criteria above are met.
-
def
isLambdaMetafactory(bsmHandle: Handle): Boolean
Check if the handle represents the LambdaMetafactory that indylambda Scala closures use for creating the lambda class and getting a closure instance.
- lazy val log: Logger
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated