Try to convert Select(qual, name) to a SelectFromTypeTree.
Translate names in Select/Ident nodes to type names.
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.
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.reflect.Manifest or ClassManifest factory method.
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'.
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.
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.
XXX to resolve: TreeGen only assumes global is a SymbolTable, but TreeDSL at the moment expects a Global. Can we get by with SymbolTable?