Try to convert Select(qual, name) to a SelectFromTypeTree.
Try to convert Select(qual, name) to a SelectFromTypeTree.
Translate names in Select/Ident nodes to type names.
Translate names in Select/Ident nodes to type names.
Used in situations where you need to access value of an expression several times
Used in situations where you need to access value of an expression several times
Creates a tree representing new Object { stats }.
Creates a tree representing new Object { stats }. To make sure an anonymous subclass of Object is created, if there are no stats, a () is added.
Cast tree
to type pt
by creating
one of the calls of the form
Cast tree
to type pt
by creating
one of the calls of the form
x.asInstanceOf[pt
] up to phase uncurry
x.asInstanceOf[pt
]() if after uncurry but before erasure
x.$asInstanceOf[pt
]() if at or after erasure
Generate a cast for tree Tree representing Array with elem type elemtp to expected type pt.
Generate a cast for tree Tree representing Array with elem type elemtp to expected type pt.
Make forwarder to method target
, passing all parameters in params
Make forwarder to method target
, passing all parameters in params
Builds a fully attributed, synthetic import node.
Builds a fully attributed, synthetic import node.
import qualSym
.{name
=> toName
}
A creator for a call to a scala.
A creator for a call to a scala.reflect.Manifest or ClassManifest factory method.
full or partial manifest (target will be Manifest or ClassManifest)
name of the factory method (e.g. "classType")
the type argument
value arguments
the tree
Create a method based on a Function
Create a method based on a Function
Used both to under -Ydelambdafy:method
create a lifted function and
under -Ydelamdafy:inline
to create the apply method on the anonymous
class.
It creates a method definition with value params cloned from the original lambda. Then it calls a supplied function to create the body and types the result. Finally everything is wrapped up in a DefDef
The owner for the new method
name for the new method
flags to be put on the method in addition to FINAL
Make a synchronized block on 'monitor'.
Make a synchronized block on 'monitor'.
Return the synchronized part of the double-checked locking idiom around the syncBody tree.
Return the synchronized part of the double-checked locking idiom around the syncBody tree. It guards with cond
and
synchronizez on clazz.this
. Additional statements can be included after initialization,
(outside the synchronized block).
The idiom works only if the condition is using a volatile field.
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
Builds a fully attributed, synthetic wildcard import node.
Builds a fully attributed, synthetic wildcard import node.
Applies a wrapArray call to an array, making it a WrappedArray.
Applies a wrapArray call to an array, making it a WrappedArray. Don't let a reference type parameter be inferred, in case it's a singleton: apply the element type directly.
Tree generation, usually based on existing symbols.