1: <?php
2: /**
3: * PHP Token Reflection
4: *
5: * Version 1.3.1
6: *
7: * LICENSE
8: *
9: * This source file is subject to the new BSD license that is bundled
10: * with this library in the file LICENSE.
11: *
12: * @author Ondřej Nešpor
13: * @author Jaroslav Hanslík
14: */
15:
16: namespace TokenReflection;
17:
18: /**
19: * Common reflection extension interface.
20: */
21: interface IReflectionExtension extends IReflection
22: {
23: /**
24: * Returns a class reflection.
25: *
26: * @param string $name Class name
27: * @return \TokenReflection\IReflectionClass|null
28: */
29: public function getClass($name);
30:
31: /**
32: * Returns reflections of classes defined by this extension.
33: *
34: * @return array
35: */
36: public function getClasses();
37:
38: /**
39: * Returns class names defined by this extension.
40: *
41: * @return array
42: */
43: public function getClassNames();
44:
45: /**
46: * Returns a constant reflection.
47: *
48: * @param string $name Constant name
49: * @return \TokenReflection\IReflectionConstant
50: */
51: public function getConstantReflection($name);
52:
53: /**
54: * Returns reflections of constants defined by this extension.
55: *
56: * This method has this name just for consistence with the rest of reflection.
57: *
58: * @return array
59: * @see \TokenReflection\IReflectionExtension::getConstantReflections()
60: */
61: public function getConstantReflections();
62:
63: /**
64: * Returns a constant value.
65: *
66: * @param string $name Constant name
67: * @return mixed|false
68: */
69: public function getConstant($name);
70:
71: /**
72: * Returns values of constants defined by this extension.
73: *
74: * This method exists just for consistence with the rest of reflection.
75: *
76: * @return array
77: */
78: public function getConstants();
79:
80: /**
81: * Returns a function reflection.
82: *
83: * @param string $name Function name
84: * @return \TokenReflection\IReflectionFunction
85: */
86: public function getFunction($name);
87:
88: /**
89: * Returns reflections of functions defined by this extension.
90: *
91: * @return array
92: */
93: public function getFunctions();
94:
95: /**
96: * Returns function names defined by this extension.
97: *
98: * @return array
99: */
100: public function getFunctionNames();
101:
102: /**
103: * Returns the string representation of the reflection object.
104: *
105: * @return string
106: */
107: public function __toString();
108: }
109: