summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-11-15 19:48:16 +0000
committerMartin Odersky <odersky@gmail.com>2011-11-15 19:48:16 +0000
commit0a31808f5f190791c1edf4e8c7c34bb72e715946 (patch)
tree9b329338a21aac26898839b2fa803f2e12b9e9a8 /src/library
parent8a64ed85b9a63fd08c13f6730f038ba233d27fb6 (diff)
downloadscala-0a31808f5f190791c1edf4e8c7c34bb72e715946.tar.gz
scala-0a31808f5f190791c1edf4e8c7c34bb72e715946.tar.bz2
scala-0a31808f5f190791c1edf4e8c7c34bb72e715946.zip
Added missing file from last commit
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/reflect/api/TreeBuildUtil.scala46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/library/scala/reflect/api/TreeBuildUtil.scala b/src/library/scala/reflect/api/TreeBuildUtil.scala
new file mode 100644
index 0000000000..b437824925
--- /dev/null
+++ b/src/library/scala/reflect/api/TreeBuildUtil.scala
@@ -0,0 +1,46 @@
+package scala.reflect.api
+
+trait TreeBuildUtil extends Universe {
+
+ /** The symbol corresponding to the globally accessible class with the
+ * given fully qualified name `fullname`.
+ */
+ def staticClass(fullname: String): Symbol
+
+ /** The symbol corresponding to the globally accessible object with the
+ * given fully qualified name `fullname`.
+ */
+ def staticModule(fullname: String): Symbol
+
+ /** The this-ptype of the globally accessible object with the
+ * given fully qualified name `fullname`.
+ */
+ def thisModuleType(fullname: String): Type
+
+ /** Selects type symbol with given simple name `name` from the defined members of `owner`.
+ */
+ def selectType(owner: Symbol, name: String): Symbol
+
+ /** Selects term symbol with given name and type from the defined members of prefix type
+ * @pre The prefix type
+ * @name The name of the selected member
+ */
+ def selectTerm(owner: Symbol, name: String): Symbol
+
+ def selectOverloadedMethod(owner: Symbol, name: String, index: Int): Symbol
+
+ def selectParam(owner: Symbol, idx: Int): Symbol
+
+ def newScopeWith(decls: Symbol*): Scope
+
+ /** Create a fresh free variable symbol.
+ * @param name the name of the free variable
+ * @param tsig the type signature of the free variable
+ * @param value the value of the free variable at runtime
+ */
+ def freeVar(name: String, tsig: Type, value: Any): Symbol
+
+ /** Create a Modiiers structure given internal flags, qualifier, annotations */
+ def modifiersFromInternalFlags(flags: Long, privateWithin: Name, annotations: List[Tree]): Modifiers
+
+} \ No newline at end of file