diff options
author | schinz <schinz@epfl.ch> | 2003-05-14 13:04:13 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-05-14 13:04:13 +0000 |
commit | 7f08642a0a44a90da287e176f3a820e328ce6d3d (patch) | |
tree | 556a686e86befc6adbbbd1a39ece0ca9e370d35d /sources/scalac/symtab/Type.java | |
parent | b9ff893fdfcca3f97c5c953ba46461cf623c4b14 (diff) | |
download | scala-7f08642a0a44a90da287e176f3a820e328ce6d3d.tar.gz scala-7f08642a0a44a90da287e176f3a820e328ce6d3d.tar.bz2 scala-7f08642a0a44a90da287e176f3a820e328ce6d3d.zip |
- added valueParams method
Diffstat (limited to 'sources/scalac/symtab/Type.java')
-rw-r--r-- | sources/scalac/symtab/Type.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sources/scalac/symtab/Type.java b/sources/scalac/symtab/Type.java index f201027d75..110a0f80bc 100644 --- a/sources/scalac/symtab/Type.java +++ b/sources/scalac/symtab/Type.java @@ -369,6 +369,23 @@ public class Type implements Modifiers, Kinds, TypeTags { return Symbol.EMPTY_ARRAY; } + /** Get value parameters of method or EMPTY_ARRAY if not + * applicable. + */ + public Symbol[] valueParams() { + switch (this) { + case PolyType(_, Type result): + return result.valueParams(); + case MethodType(Symbol[] vparams, _): + return vparams; + case TypeRef(_, Symbol sym, _): + if (sym.kind == CLASS) return sym.valueParams(); + else return sym.info().valueParams(); + default: + return Symbol.EMPTY_ARRAY; + } + } + /** If this type is a (possibly polymorphic) method type, its result type * after applying all method argument sections, * otherwise the type itself. |