filters/StripPhpComments.php
This is a Php comment and string stripper reader that filters those lexical tokens out for purposes of simple Php parsing.
(if you have more complex Php parsing needs, use a real lexer). Since this class heavily relies on the single char read function, you are reccomended to make it work on top of a buffered reader.
- Access
- public
- Author
- Yannick Lecaillez
- Author
- hans lellelid, hans@velum.net
- Package
- phing.filters
- See
- \FilterReader
- Version
- $Id$
\StripPhpComments
This is a Php comment and string stripper reader that filters those lexical tokens out for purposes of simple Php parsing.
(if you have more complex Php parsing needs, use a real lexer). Since this class heavily relies on the single char read function, you are reccomended to make it work on top of a buffered reader.
- Parent(s)
- \BaseFilterReader < \FilterReader < \Reader
- See
- \FilterReader
- Access
- public
- Author
- Yannick Lecaillez
- Author
- hans lellelid, hans@velum.net
- Version
- $Id$
Properties

boolean
$_inString= 'false'
Whether or not the parser is currently in the middle of a string literal.
falseDetails- Type
- boolean

$_readAheadCh= '-1'
The read-ahead character, used for effectively pushing a single character back. -1 indicates that no character is in the buffer.
-1Details- Type
- n/a

\Reader
$in= ''
- Type
- \Reader
- Inherited_from
- \FilterReader::$$in
- Inherited_from
- \BaseFilterReader::$$in

$initialized= 'false'
Have the parameters passed been interpreted?
Inherited from: \BaseFilterReader::$$initializedfalseDetails- Type
- n/a
- Inherited_from
- \BaseFilterReader::$$initialized
Methods

__construct(
\Reader $in
=
null
)
:
voidConstructor used by Phing's introspection mechanism.
Inherited from: \BaseFilterReader::__construct()The original filter reader is only used for chaining purposes, never for filtering purposes (and indeed it would be useless for filtering purposes, as it has no real data to filter). ChainedReaderHelper uses this placeholder instance to create a chain of real filters.
| Name | Type | Description |
|---|---|---|
| $in | \Reader |

chain(
\reader $reader
)
:
\aCreates a new StripPhpComments using the passed in Reader for instantiation.
| Name | Type | Description |
|---|---|---|
| $reader | \reader | A Reader object providing the underlying stream. Must not be |
| Type | Description |
|---|---|
| \a | new filter based on this configuration, but filtering the specified reader |

eof(
)
:
booleanReturns whether the end of file has been reached with input stream.
Inherited from: \BaseFilterReader::eof()| Type | Description |
|---|---|
| boolean |

getInitialized(
)
:
boolean
| Type | Description |
|---|---|
| boolean | whether or not the filter is initialized |

getProject(
)
:
objectReturns the project this filter is part of.
Inherited from: \BaseFilterReader::getProject()| Type | Description |
|---|---|
| object | The project this filter is part of |

getResource(
)
:
stringReturns the filename, url, etc. that is being read from.
Inherited from: \FilterReader::getResource()\BaseFilterReader::getResource()This is critical for, e.g., ExpatParser's ability to know the filename that is throwing an ExpatParserException, etc.
| Type | Description |
|---|---|
| string |

log(
string $msg, int $level
=
Project::MSG_INFO
)
:
void
| Name | Type | Description |
|---|---|---|
| $msg | string | Message to log. |
| $level | int | Priority level. |

mark(
)
:
voidIf supported, places a "marker" (like a bookmark) at current stream position.
Inherited from: \Reader::mark()\FilterReader::mark()\BaseFilterReader::mark()A subsequent call to reset() will move stream position back to last marker (if supported).

markSupported(
)
:
booleanWhether marking is supported.
Inherited from: \Reader::markSupported()\FilterReader::markSupported()\BaseFilterReader::markSupported()| Type | Description |
|---|---|
| boolean |

read(
\off $len
=
null
)
:
\theReturns the stream without Php comments.
FIXME: Clean up this function signature, as it a) params aren't being used and b) it doesn't make much sense.
| Name | Type | Description |
|---|---|---|
| $len | \off | Offset at which to start storing characters. |
| Type | Description |
|---|---|
| \the | resulting stream, or -1 if the end of the resulting stream has been reached |
| Exception | Description |
|---|---|
| \IOException | if the underlying stream throws an IOException during reading |

readLine(
)
:
\theReads a line of text ending with '\n' (or until the end of the stream).
Inherited from: \BaseFilterReader::readLine()The returned String retains the '\n'.
| Type | Description |
|---|---|
| \the | line read, or <code>null</code> if the end of the stream has already been reached |
| Exception | Description |
|---|---|
| \IOException | if the underlying reader throws one during reading |

ready(
)
:
booleanIs stream ready for reading.
Inherited from: \Reader::ready()\FilterReader::ready()\BaseFilterReader::ready()| Type | Description |
|---|---|
| boolean |

reset(
)
:
voidReset the current position in stream to beginning or last mark (if supported).
Inherited from: \FilterReader::reset()\BaseFilterReader::reset()
setInitialized(
boolean $initialized
)
:
void
| Name | Type | Description |
|---|---|---|
| $initialized | boolean | Whether or not the filter is initialized. |

setProject(
object $project
)
:
void
| Name | Type | Description |
|---|---|---|
| $project | object | The project this filter is part of. Should not be |

skip(
int $n
)
:
voidMove stream position relative to current pos.
Inherited from: \FilterReader::skip()\BaseFilterReader::skip()| Name | Type | Description |
|---|---|---|
| $n | int |