B
    b-	                 @   s4   d Z ddlZddlmZ dd ZG dd deZdS )	z[Scanner for the Digital Mars "D" programming language.

Coded by Andy Friesen, 17 Nov 2003
    N   )Classicc              C   s
   t  } | S )z?Return a prototype Scanner instance for scanning D source files)D)Zds r   .lib/python3.7/site-packages/SCons/Scanner/D.pyDScanner    s    r   c                   s,   e Zd Z fddZdd Zdd Z  ZS )r   c                s   t  jddddd d S )Nr   z
$DSUFFIXESZDPATHz0(?:import\s+)([\w\s=,.]+)(?:\s*:[\s\w,=]+)?(?:;))namesuffixesZpath_variableZregex)super__init__)self)	__class__r   r   r   &   s
    z
D.__init__c             C   sP   | dd}tjj|d |f| }|d krHtjj|d |f| }||fS )N./z.dz.di)replaceSConsZNodeZFSZ	find_file)r   ZincludeZ
source_dirpathZincir   r   r   find_include.   s
    zD.find_includec             C   sR   g }xH| j | D ]4}x.|dD ] }|dd }||  q&W qW |S )N,=)ZcrefindallZget_text_contentssplitappendstrip)r   ZnodeZincludesZiiiZjjjZkkkr   r   r   find_include_names7   s    zD.find_include_names)__name__
__module____qualname__r   r   r   __classcell__r   r   )r   r   r   %   s   	r   )__doc__ZSCons.Node.FSr    r   r   r   r   r   r   r   <module>   s   