diff --git a/reference/reflection/reflectiongenerator.xml b/reference/reflection/reflectiongenerator.xml
new file mode 100644
index 0000000000..e5a18bc7ed
--- /dev/null
+++ b/reference/reflection/reflectiongenerator.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+ The ReflectionGenerator class
+ ReflectionGenerator
+
+
+
+
+
+ &reftitle.intro;
+
+ The ReflectionGenerator class reports
+ information about a generator.
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+
+ ReflectionGenerator
+
+
+
+
+ ReflectionGenerator
+
+
+
+ &Methods;
+
+
+
+
+
+
+
+
+ &reference.reflection.entities.reflectiongenerator;
+
+
+
+
diff --git a/reference/reflection/reflectiongenerator/construct.xml b/reference/reflection/reflectiongenerator/construct.xml
new file mode 100644
index 0000000000..d7b95fd71e
--- /dev/null
+++ b/reference/reflection/reflectiongenerator/construct.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+ ReflectionGenerator::__construct
+ Constructs a ReflectionGenerator object
+
+
+
+ &reftitle.description;
+
+ public ReflectionGenerator::__construct
+ Generatorgenerator
+
+
+ Constructs a ReflectionGenerator object.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ generator
+
+
+ A generator object.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+ &reftitle.examples;
+
+
+ ReflectionGenerator::__construct example
+
+getFunction()->name}
+Line: {$reflectionGen->getExecutingLine()}
+File: {$reflectionGen->getExecutingFile()}
+output;
+]]>
+
+ &example.outputs.similar;
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ ReflectionGenerator::getFunction
+ ReflectionGenerator::getExecutingLine
+ ReflectionGenerator::getExecutingFile
+
+
+
+
+
+
+
diff --git a/reference/reflection/reflectiongenerator/getexecutingfile.xml b/reference/reflection/reflectiongenerator/getexecutingfile.xml
new file mode 100644
index 0000000000..71ed4ebd6e
--- /dev/null
+++ b/reference/reflection/reflectiongenerator/getexecutingfile.xml
@@ -0,0 +1,98 @@
+
+
+
+
+
+ ReflectionGenerator::getExecutingFile
+ Gets the file name of the currently executing generator
+
+
+
+ &reftitle.description;
+
+ public stringReflectionGenerator::getExecutingFile
+
+
+
+ Get the full path and file name of the currently executing generator.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the full path and file name of the currently executing generator.
+
+
+
+
+ &reftitle.examples;
+
+
+ ReflectionGenerator::getExecutingFile example
+
+gen();
+
+$reflectionGen = new ReflectionGenerator($gen);
+
+echo "File: {$reflectionGen->getExecutingFile()}";
+]]>
+
+ &example.outputs.similar;
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ ReflectionGenerator::getExecutingLine
+ ReflectionGenerator::getExecutingGenerator
+
+
+
+
+
+
+
diff --git a/reference/reflection/reflectiongenerator/getexecutinggenerator.xml b/reference/reflection/reflectiongenerator/getexecutinggenerator.xml
new file mode 100644
index 0000000000..1df890238c
--- /dev/null
+++ b/reference/reflection/reflectiongenerator/getexecutinggenerator.xml
@@ -0,0 +1,102 @@
+
+
+
+
+
+ ReflectionGenerator::getExecutingGenerator
+ Gets the executing Generator object
+
+
+
+ &reftitle.description;
+
+ public GeneratorReflectionGenerator::getExecutingGenerator
+
+
+
+ Get the executing Generator object
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the currently executing Generator object.
+
+
+
+
+ &reftitle.examples;
+
+
+ ReflectionGenerator::getExecutingGenerator example
+
+gen();
+
+$reflectionGen = new ReflectionGenerator($gen);
+
+$gen2 = $reflectionGen->getExecutingGenerator();
+
+var_dump($gen2 === $gen);
+var_dump($gen2->current());
+]]>
+
+ &example.outputs.similar;
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ ReflectionGenerator::getExecutingLine
+ ReflectionGenerator::getExecutingFile
+
+
+
+
+
+
+
diff --git a/reference/reflection/reflectiongenerator/getexecutingline.xml b/reference/reflection/reflectiongenerator/getexecutingline.xml
new file mode 100644
index 0000000000..6e007c02f7
--- /dev/null
+++ b/reference/reflection/reflectiongenerator/getexecutingline.xml
@@ -0,0 +1,98 @@
+
+
+
+
+
+ ReflectionGenerator::getExecutingLine
+ Gets the currently executing line of the generator
+
+
+
+ &reftitle.description;
+
+ public intReflectionGenerator::getExecutingLine
+
+
+
+ Get the currently executing line number of the generator.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the line number of the currently executing statement in the generator.
+
+
+
+
+ &reftitle.examples;
+
+
+ ReflectionGenerator::getExecutingLine example
+
+gen();
+
+$reflectionGen = new ReflectionGenerator($gen);
+
+echo "Line: {$reflectionGen->getExecutingLine()}";
+]]>
+
+ &example.outputs.similar;
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ ReflectionGenerator::getExecutingGenerator
+ ReflectionGenerator::getExecutingFile
+
+
+
+
+
+
+
diff --git a/reference/reflection/reflectiongenerator/getfunction.xml b/reference/reflection/reflectiongenerator/getfunction.xml
new file mode 100644
index 0000000000..d57ddd2e18
--- /dev/null
+++ b/reference/reflection/reflectiongenerator/getfunction.xml
@@ -0,0 +1,101 @@
+
+
+
+
+
+ ReflectionGenerator::getFunction
+ Gets the function name of the generator
+
+
+
+ &reftitle.description;
+
+ public ReflectionFunctionAbstractReflectionGenerator::getFunction
+
+
+
+ Enables the function name of the generator to be obtained by returning a
+ class derived from ReflectionFunctionAbstract.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns a ReflectionFunctionAbstract class. This will
+ be ReflectionFunction for functions, or
+ ReflectionMethod for methods.
+
+
+
+
+ &reftitle.examples;
+
+
+ ReflectionGenerator::getFunction example
+
+getFunction());
+]]>
+
+ &example.outputs.similar;
+
+
+ string(3) "gen"
+}
+]]>
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ ReflectionGenerator::getThis
+ ReflectionGenerator::getTrace
+
+
+
+
+
+
+
diff --git a/reference/reflection/reflectiongenerator/getthis.xml b/reference/reflection/reflectiongenerator/getthis.xml
new file mode 100644
index 0000000000..d46b22a34b
--- /dev/null
+++ b/reference/reflection/reflectiongenerator/getthis.xml
@@ -0,0 +1,100 @@
+
+
+
+
+
+ ReflectionGenerator::getThis
+ Gets the $this value of the generator
+
+
+
+ &reftitle.description;
+
+ public objectReflectionGenerator::getThis
+
+
+
+ Get the $this value that the generator has access to.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the $this value, or &null; if the generator was
+ not created in a class context.
+
+
+
+
+ &reftitle.examples;
+
+
+ ReflectionGenerator::getThis example
+
+gen();
+
+$reflectionGen = new ReflectionGenerator($gen);
+
+var_dump($reflectionGen->getThis());
+]]>
+
+ &example.outputs.similar;
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ ReflectionGenerator::getFunction
+ ReflectionGenerator::getTrace
+
+
+
+
+
+
+
diff --git a/reference/reflection/reflectiongenerator/gettrace.xml b/reference/reflection/reflectiongenerator/gettrace.xml
new file mode 100644
index 0000000000..c444dafdbf
--- /dev/null
+++ b/reference/reflection/reflectiongenerator/gettrace.xml
@@ -0,0 +1,171 @@
+
+
+
+
+
+ ReflectionGenerator::getTrace
+ Gets the trace of the executing generator
+
+
+
+ &reftitle.description;
+
+ public arrayReflectionGenerator::getTrace
+ intoptionsDEBUG_BACKTRACE_PROVIDE_OBJECT
+
+
+ Get the trace of the currently executing generator.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ options
+
+
+ The value of options can be any of the following
+ the following flags.
+
+
+
+ Available options
+
+
+
+ Option
+ Description
+
+
+
+
+
+ DEBUG_BACKTRACE_PROVIDE_OBJECT
+
+
+ Default.
+
+
+
+
+ DEBUG_BACKTRACE_IGNORE_ARGS
+
+
+ Don't include the argument information for functions in the stack
+ trace.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Returns the trace of the currently executing generator.
+
+
+
+
+ &reftitle.examples;
+
+
+ ReflectionGenerator::getTrace example
+
+valid(); // start the generator
+
+var_dump((new ReflectionGenerator($gen))->getTrace());
+]]>
+
+ &example.outputs.similar;
+
+
+ array(4) {
+ ["file"]=>
+ string(18) "example.php"
+ ["line"]=>
+ int(8)
+ ["function"]=>
+ string(3) "foo"
+ ["args"]=>
+ array(0) {
+ }
+ }
+ [1]=>
+ array(4) {
+ ["file"]=>
+ string(18) "example.php"
+ ["line"]=>
+ int(12)
+ ["function"]=>
+ string(3) "bar"
+ ["args"]=>
+ array(0) {
+ }
+ }
+}
+]]>
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ ReflectionGenerator::getFunction
+ ReflectionGenerator::getThis
+
+
+
+
+
+
+