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 parameter interface.
20: */
21: interface IReflectionParameter extends IReflection
22: {
23: /**
24: * Returns the declaring class.
25: *
26: * @return \TokenReflection\IReflectionClass|null
27: */
28: public function getDeclaringClass();
29:
30: /**
31: * Returns the declaring class name.
32: *
33: * @return string|null
34: */
35: public function getDeclaringClassName();
36:
37: /**
38: * Returns the declaring function.
39: *
40: * @return \TokenReflection\IReflectionFunctionBase
41: */
42: public function getDeclaringFunction();
43:
44: /**
45: * Returns the declaring function name.
46: *
47: * @return string
48: */
49: public function getDeclaringFunctionName();
50:
51: /**
52: * Returns the definition start line number in the file.
53: *
54: * @return integer
55: */
56: public function getStartLine();
57:
58: /**
59: * Returns the definition end line number in the file.
60: *
61: * @return integer
62: */
63: public function getEndLine();
64:
65: /**
66: * Returns the appropriate docblock definition.
67: *
68: * @return string|boolean
69: */
70: public function getDocComment();
71:
72: /**
73: * Returns the default value.
74: *
75: * @return mixed
76: */
77: public function getDefaultValue();
78:
79: /**
80: * Returns the part of the source code defining the paramter default value.
81: *
82: * @return string
83: */
84: public function getDefaultValueDefinition();
85:
86: /**
87: * Retutns if a default value for the parameter is available.
88: *
89: * @return boolean
90: */
91: public function isDefaultValueAvailable();
92:
93: /**
94: * Returns the position within all parameters.
95: *
96: * @return integer
97: */
98: public function getPosition();
99:
100: /**
101: * Returns if the parameter expects an array.
102: *
103: * @return boolean
104: */
105: public function isArray();
106:
107: /**
108: * Returns reflection of the required class of the value.
109: *
110: * @return \TokenReflection\IReflectionClass|null
111: */
112: public function getClass();
113:
114: /**
115: * Returns the required class name of the value.
116: *
117: * @return string|null
118: */
119: public function getClassName();
120:
121: /**
122: * Returns if the the parameter allows NULL.
123: *
124: * @return boolean
125: */
126: public function allowsNull();
127:
128: /**
129: * Returns if the parameter is optional.
130: *
131: * @return boolean
132: */
133: public function isOptional();
134:
135: /**
136: * Returns if the parameter value is passed by reference.
137: *
138: * @return boolean
139: */
140: public function isPassedByReference();
141:
142: /**
143: * Returns if the paramter value can be passed by value.
144: *
145: * @return boolean
146: */
147: public function canBePassedByValue();
148:
149: /**
150: * Returns the string representation of the reflection object.
151: *
152: * @return string
153: */
154: public function __toString();
155: }
156: