package org.python.pydev.debug.ui; import org.eclipse.core.expressions.PropertyTester; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IAdaptable; import org.python.pydev.editor.codecompletion.revisited.PythonPathHelper; import org.python.pydev.navigator.elements.IWrappedResource; public class PythonTypePropertyTester extends PropertyTester { public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { IFile iFile = getIFile(receiver); if (iFile != null) { if (PythonPathHelper.markAsPyDevFileIfDetected(iFile)) { return true; } } return false; } private IFile getIFile(Object receiver) { if (receiver instanceof IWrappedResource) { IWrappedResource wrappedResource = (IWrappedResource) receiver; Object actualObject = wrappedResource.getActualObject(); if (actualObject instanceof IFile) { return (IFile) actualObject; } } if (receiver instanceof IAdaptable) { IAdaptable iAdaptable = (IAdaptable) receiver; return (IFile) iAdaptable.getAdapter(IFile.class); } return null; } }