filters/StripPhpComments.php

Show: inherited
Table of Contents

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

Package: phing\filters

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

Propertyprivateboolean  $_inString= 'false'

Whether or not the parser is currently in the middle of a string literal.

Default valuefalseDetails
Type
boolean
Propertyprivate  $_readAheadCh= '-1'

The read-ahead character, used for effectively pushing a single character back. -1 indicates that no character is in the buffer.

Default value-1Details
Type
n/a
Propertyprotected\Reader  $in= ''
inherited

Inherited from: \FilterReader::$$in\BaseFilterReader::$$in
Details
Type
\Reader
Inherited_from
\FilterReader::$$in  
Inherited_from
\BaseFilterReader::$$in  
Propertyprotected  $initialized= 'false'
inherited

Have the parameters passed been interpreted?

Inherited from: \BaseFilterReader::$$initialized
Default valuefalseDetails
Type
n/a
Inherited_from
\BaseFilterReader::$$initialized  
Propertyprotected  $project= 'null'
inherited

The Phing project this filter is part of.

Inherited from: \BaseFilterReader::$$project
Default valuenullDetails
Type
n/a
Inherited_from
\BaseFilterReader::$$project  

Methods

methodpublic__construct( \Reader $in = null ) : void
inherited

Constructor 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.

Parameters
Name Type Description
$in \Reader
methodpublicchain( \reader $reader ) : \a

Creates a new StripPhpComments using the passed in Reader for instantiation.

Parameters
Name Type Description
$reader \reader

A Reader object providing the underlying stream. Must not be null.

Returns
Type Description
\a new filter based on this configuration, but filtering the specified reader
methodpublicclose( ) : void
inherited

Close stream.

Inherited from: \FilterReader::close()\BaseFilterReader::close()
Throws
Exception Description
\IOException if there is an error closing stream
methodpubliceof( ) : boolean
inherited

Returns whether the end of file has been reached with input stream.

Inherited from: \BaseFilterReader::eof()
Returns
Type Description
boolean
methodpublicgetInitialized( ) : boolean
inherited

Returns the initialized status.

Inherited from: \BaseFilterReader::getInitialized()
Returns
Type Description
boolean whether or not the filter is initialized
methodpublicgetProject( ) : object
inherited

Returns the project this filter is part of.

Inherited from: \BaseFilterReader::getProject()
Returns
Type Description
object The project this filter is part of
methodpublicgetResource( ) : string
inherited

Returns 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.

Returns
Type Description
string
methodpubliclog( string $msg, int $level = Project::MSG_INFO ) : void
inherited

Convenience method to support logging in filters.

Inherited from: \BaseFilterReader::log()
Parameters
Name Type Description
$msg string

Message to log.

$level int

Priority level.

methodpublicmark( ) : void
inherited

If 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).

methodpublicmarkSupported( ) : boolean
Returns
Type Description
boolean
methodpublicread( \off $len = null ) : \the

Returns 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.

Parameters
Name Type Description
$len \off

Offset at which to start storing characters.

Returns
Type Description
\the resulting stream, or -1 if the end of the resulting stream has been reached
Throws
Exception Description
\IOException if the underlying stream throws an IOException during reading
methodpublicreadChar( ) : void

methodpublicreadLine( ) : \the
inherited

Reads a line of text ending with '\n' (or until the end of the stream).

Inherited from: \BaseFilterReader::readLine()

The returned String retains the '\n'.

Returns
Type Description
\the line read, or <code>null</code> if the end of the stream has already been reached
Throws
Exception Description
\IOException if the underlying reader throws one during reading
methodpublicready( ) : boolean
inherited

Is stream ready for reading.

Inherited from: \Reader::ready()\FilterReader::ready()\BaseFilterReader::ready()
Returns
Type Description
boolean
methodpublicreset( ) : void
inherited

Reset the current position in stream to beginning or last mark (if supported).

Inherited from: \FilterReader::reset()\BaseFilterReader::reset()
methodpublicsetInitialized( boolean $initialized ) : void
inherited

Sets the initialized status.

Inherited from: \BaseFilterReader::setInitialized()
Parameters
Name Type Description
$initialized boolean

Whether or not the filter is initialized.

methodpublicsetProject( object $project ) : void
inherited

Sets the project to work with.

Inherited from: \BaseFilterReader::setProject()
Parameters
Name Type Description
$project object

The project this filter is part of. Should not be null.

methodpublicsetReader(  $in ) : void
Parameters
Name Type Description
$in
methodpublicskip( int $n ) : void
inherited

Move stream position relative to current pos.

Inherited from: \FilterReader::skip()\BaseFilterReader::skip()
Parameters
Name Type Description
$n int
Documentation was generated by DocBlox 0.18.1.