01: /*
02: * $Id: ClassType.java,v 1.8 2002/09/16 08:05:03 jkl Exp $
03: *
04: * Copyright (c) 2002 Njet Communications Ltd. All Rights Reserved.
05: *
06: * Use is subject to license terms, as defined in
07: * Anvil Sofware License, Version 1.1. See LICENSE
08: * file, or http://njet.org/license-1.1.txt
09: */
10: package anvil.script;
11:
12: import anvil.codec.ConstantPool;
13: import anvil.core.Any;
14: import anvil.core.AnyClass;
15: import anvil.java.util.BindingEnumeration;
16:
17: /**
18: * interface ClassType
19: *
20: * @author: Jani Lehtimäki
21: */
22: public interface ClassType extends Scope {
23:
24: public String getQualifiedName();
25:
26: public String getPathinfo();
27:
28: public boolean isInstanceOf(Type ofType);
29:
30: public ClassRef getBase();
31:
32: public ClassType getBaseClass();
33:
34: public Type lookupInheritedDeclaration(String name);
35:
36: public InterfaceRef[] getInterfaces();
37:
38: public CompilableFunction getConstructor();
39:
40: public int getConstructorReference(ConstantPool pool);
41:
42: public String getDescriptor();
43:
44: public ClassType[] getEnclosingClasses();
45:
46: public AnyClass newInstance();
47:
48: public BindingEnumeration getMembers(AnyClass instance);
49:
50: public ClassDispatcher getDispatcher(Context context);
51:
52: }
|