From c39826e69ed3f897d9201fc0e63c28023b52e0a6 Mon Sep 17 00:00:00 2001 From: paltherr Date: Fri, 12 Mar 2004 17:33:10 +0000 Subject: - Moved TermSymbol.{lookup,define} into Analyzer --- sources/scalac/symtab/Symbol.java | 39 +++++---------------------------------- 1 file changed, 5 insertions(+), 34 deletions(-) (limited to 'sources/scalac/symtab/Symbol.java') diff --git a/sources/scalac/symtab/Symbol.java b/sources/scalac/symtab/Symbol.java index 541285f3ed..897dc075cd 100644 --- a/sources/scalac/symtab/Symbol.java +++ b/sources/scalac/symtab/Symbol.java @@ -88,6 +88,11 @@ public abstract class Symbol implements Modifiers, Kinds { // Factories -------------------------------------------------------------- + /** Creates a new constructor of this symbol. */ + public final TermSymbol newTerm(int pos, int flags, Name name) { + return new TermSymbol(pos, name, this, flags, 0); + } + /** Creates a new constructor of this symbol. */ public final TermSymbol newConstructor(int pos, int flags) { assert isType(): Debug.show(this); @@ -1461,40 +1466,6 @@ public class TermSymbol extends Symbol { assert name.isTermName(): Debug.show(this); } - public static TermSymbol define( - int pos, Name name, Symbol owner, int flags, Scope scope) { - TermSymbol symbol = lookup(pos, name, owner, flags, scope); - if (symbol != null) return symbol; - return new TermSymbol(pos, name, owner, flags); - } - public static TermSymbol lookup( - int pos, Name name, Symbol owner, int flags, Scope scope) { - Scope.Entry e = scope.lookupEntry(name); - if (e.owner == scope && e.sym.isExternal() && e.sym.kind == VAL) { - TermSymbol sym = (TermSymbol) e.sym; - if (sym.isInitialized()) { - switch (sym.type()) { - case OverloadedType(Symbol[] alts, Type[] alttypes): - int i = 0; - while (i < alts.length && !alts[i].isExternal()) - i++; - if (i < alts.length) { - //System.out.println("PATCH: " + alts[i] + ":" + alttypes[i]);//DEBUG - alts[i].update(pos, flags); - if (i == alts.length - 1) - sym.update(pos, sym.flags); - return (TermSymbol) alts[i]; - } - throw new ApplicationError("TermSymbol.define " + sym); - } - } - sym.update(pos, flags); - return sym; - } else { - return null; - } - } - /** Dummy symbol for template of given class */ public static Symbol newLocalDummy(Symbol clazz) { -- cgit v1.2.3