X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/PackageFragment.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/PackageFragment.java index 2b559f5..6b75157 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/PackageFragment.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/PackageFragment.java @@ -10,6 +10,9 @@ *******************************************************************************/ package net.sourceforge.phpdt.internal.core; +import java.util.ArrayList; +import java.util.Map; + import net.sourceforge.phpdt.core.ICompilationUnit; import net.sourceforge.phpdt.core.IJavaElement; import net.sourceforge.phpdt.core.IJavaProject; @@ -19,6 +22,8 @@ import net.sourceforge.phpdt.core.JavaModelException; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.Path; @@ -37,7 +42,7 @@ public class PackageFragment extends Openable implements IPackageFragment { * @see IPackageFragment */ protected PackageFragment(IPackageFragmentRoot root, String name) { - super(PACKAGE_FRAGMENT, null, name); + super(PACKAGE_FRAGMENT, root, name); } /** * Compute the children of this package fragment. @@ -47,26 +52,26 @@ protected PackageFragment(IPackageFragmentRoot root, String name) { *

Package fragments which are in a jar only recognize .class files ( * @see JarPackageFragment). */ -//protected boolean computeChildren(OpenableElementInfo info, IResource resource) throws JavaModelException { -// ArrayList vChildren = new ArrayList(); +protected boolean computeChildren(OpenableElementInfo info, IResource resource) throws JavaModelException { + ArrayList vChildren = new ArrayList(); // int kind = getKind(); -// String extType; + String extType; // if (kind == IPackageFragmentRoot.K_SOURCE) { -// extType = "java"; //$NON-NLS-1$ + extType = "php"; //$NON-NLS-1$ // } else { // extType = "class"; //$NON-NLS-1$ // } -// try { -// char[][] exclusionPatterns = ((PackageFragmentRoot)getPackageFragmentRoot()).fullExclusionPatternChars(); -// IResource[] members = ((IContainer) resource).members(); -// for (int i = 0, max = members.length; i < max; i++) { -// IResource child = members[i]; -// if (child.getType() != IResource.FOLDER -// && !Util.isExcluded(child, exclusionPatterns)) { -// String extension = child.getProjectRelativePath().getFileExtension(); -// if (extension != null) { -// if (extension.equalsIgnoreCase(extType)) { -// IJavaElement childElement; + try { + char[][] exclusionPatterns = ((PackageFragmentRoot)getPackageFragmentRoot()).fullExclusionPatternChars(); + IResource[] members = ((IContainer) resource).members(); + for (int i = 0, max = members.length; i < max; i++) { + IResource child = members[i]; + if (child.getType() != IResource.FOLDER + && !Util.isExcluded(child, exclusionPatterns)) { + String extension = child.getProjectRelativePath().getFileExtension(); + if (extension != null) { + if (extension.equalsIgnoreCase(extType)) { + IJavaElement childElement; // if (kind == IPackageFragmentRoot.K_SOURCE && Util.isValidCompilationUnitName(child.getName())) { // childElement = getCompilationUnit(child.getName()); // vChildren.add(childElement); @@ -74,18 +79,18 @@ protected PackageFragment(IPackageFragmentRoot root, String name) { // childElement = getClassFile(child.getName()); // vChildren.add(childElement); // } -// } -// } -// } -// } -// } catch (CoreException e) { -// throw new JavaModelException(e); -// } -// IJavaElement[] children = new IJavaElement[vChildren.size()]; -// vChildren.toArray(children); -// info.setChildren(children); -// return true; -//} + } + } + } + } + } catch (CoreException e) { + throw new JavaModelException(e); + } + IJavaElement[] children = new IJavaElement[vChildren.size()]; + vChildren.toArray(children); + info.setChildren(children); + return true; +} /** * Returns true if this fragment contains at least one java resource. * Returns false otherwise. @@ -124,9 +129,9 @@ public ICompilationUnit createCompilationUnit(String name, String contents, bool /** * @see JavaElement */ -//protected OpenableElementInfo createElementInfo() { -// return new PackageFragmentInfo(); -//} +protected OpenableElementInfo createElementInfo() { + return new PackageFragmentInfo(); +} /** * @see ISourceManipulation */ @@ -137,10 +142,10 @@ public ICompilationUnit createCompilationUnit(String name, String contents, bool /** * @see Openable */ -//protected boolean generateInfos(OpenableElementInfo info, IProgressMonitor pm, Map newElements, IResource underlyingResource) throws JavaModelException { -// -// return computeChildren(info, underlyingResource); -//} +protected boolean generateInfos(OpenableElementInfo info, IProgressMonitor pm, Map newElements, IResource underlyingResource) throws JavaModelException { + + return computeChildren(info, underlyingResource); +} ///** // * @see IPackageFragment#getClassFile(String) // */ @@ -173,16 +178,16 @@ public ICompilationUnit getCompilationUnit(String name) { /** * @see IPackageFragment#getCompilationUnits() */ -//public ICompilationUnit[] getCompilationUnits() throws JavaModelException { -// if (getKind() == IPackageFragmentRoot.K_BINARY) { -// return fgEmptyCompilationUnitList; -// } -// -// ArrayList list = getChildrenOfType(COMPILATION_UNIT); -// ICompilationUnit[] array= new ICompilationUnit[list.size()]; -// list.toArray(array); -// return array; -//} +public ICompilationUnit[] getCompilationUnits() throws JavaModelException { + if (getKind() == IPackageFragmentRoot.K_BINARY) { + return fgEmptyCompilationUnitList; + } + + ArrayList list = getChildrenOfType(COMPILATION_UNIT); + ICompilationUnit[] array= new ICompilationUnit[list.size()]; + list.toArray(array); + return array; +} /** * @see JavaElement#getHandleMementoDelimiter() */ @@ -192,9 +197,9 @@ protected char getHandleMementoDelimiter() { /** * @see IPackageFragment#getKind() */ -//public int getKind() throws JavaModelException { -// return ((IPackageFragmentRoot)getParent()).getKind(); -//} +public int getKind() throws JavaModelException { + return ((IPackageFragmentRoot)getParent()).getKind(); +} /** * Returns an array of non-java resources contained in the receiver. */ @@ -209,14 +214,14 @@ protected char getHandleMementoDelimiter() { /** * @see IJavaElement#getPath() */ -//public IPath getPath() { -// PackageFragmentRoot root = this.getPackageFragmentRoot(); -// if (root.isArchive()) { -// return root.getPath(); -// } else { -// return root.getPath().append(this.getElementName().replace('.', '/')); -// } -//} +public IPath getPath() { + PackageFragmentRoot root = this.getPackageFragmentRoot(); + if (root.isArchive()) { + return root.getPath(); + } else { + return root.getPath().append(this.getElementName().replace('.', '/')); + } +} /** * @see IJavaElement#getResource() */