1 29 30 package com.caucho.quercus.parser; 31 32 import com.caucho.quercus.expr.ExprFactory; 33 import com.caucho.quercus.program.Function; 34 import com.caucho.quercus.program.InterpretedClassDef; 35 import com.caucho.util.L10N; 36 37 import java.util.ArrayList ; 38 import java.util.HashMap ; 39 40 43 public class GlobalScope extends Scope { 44 private final static L10N L = new L10N(GlobalScope.class); 45 46 private ExprFactory _exprFactory; 47 48 private HashMap <String ,Function> _functionMap 49 = new HashMap <String ,Function>(); 50 51 private HashMap <String ,InterpretedClassDef> _classMap 52 = new HashMap <String ,InterpretedClassDef>(); 53 54 GlobalScope(ExprFactory exprFactory) 55 { 56 _exprFactory = exprFactory; 57 } 58 59 62 public void addFunction(String name, Function function) 63 { 64 _functionMap.put(name.toLowerCase(), function); 65 } 66 67 70 public InterpretedClassDef addClass(String name, 71 String parentName, 72 ArrayList <String > ifaceList) 73 { 74 InterpretedClassDef cl = _classMap.get(name); 75 76 if (cl == null) { 77 String []ifaceArray = new String [ifaceList.size()]; 78 ifaceList.toArray(ifaceArray); 79 80 cl = _exprFactory.createClassDef(name, parentName, ifaceArray); 81 82 _classMap.put(name, cl); 83 } 84 85 return cl; 86 } 87 88 91 public HashMap <String ,Function> getFunctionMap() 92 { 93 return _functionMap; 94 } 95 96 99 public HashMap <String ,InterpretedClassDef> getClassMap() 100 { 101 return _classMap; 102 } 103 } 104 105 | Popular Tags |