Example usage for org.eclipse.jdt.core IJavaElement METHOD

List of usage examples for org.eclipse.jdt.core IJavaElement METHOD

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement METHOD.

Prototype

int METHOD

To view the source code for org.eclipse.jdt.core IJavaElement METHOD.

Click Source Link

Document

Constant representing a method or constructor.

Usage

From source file:org.eclipse.mylyn.internal.java.ui.JavaStructureBridge.java

License:Open Source License

/**
 * Some copying from://  w  w  w.  ja  v a 2 s  .c  o m
 * 
 * @see org.eclipse.jdt.ui.ProblemsLabelDecorator
 */
public boolean containsProblem(IInteractionElement node) {
    try {
        IJavaElement element = (IJavaElement) getObjectForHandle(node.getHandleIdentifier());
        switch (element.getElementType()) {
        case IJavaElement.JAVA_PROJECT:
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_INFINITE, null);
        case IJavaElement.PACKAGE_FRAGMENT:
        case IJavaElement.COMPILATION_UNIT:
        case IJavaElement.CLASS_FILE:
            return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
        case IJavaElement.PACKAGE_DECLARATION:
        case IJavaElement.IMPORT_DECLARATION:
        case IJavaElement.IMPORT_CONTAINER:
        case IJavaElement.TYPE:
        case IJavaElement.INITIALIZER:
        case IJavaElement.METHOD:
        case IJavaElement.FIELD:
        case IJavaElement.LOCAL_VARIABLE:
            ICompilationUnit cu = (ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT);
            if (cu != null) {
                return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
            }
        }
    } catch (CoreException e) {
        // ignore
    }
    return false;
}

From source file:org.eclipse.mylyn.java.ui.editor.AutoFoldingStructureProvider.java

License:Open Source License

private void computeAdditions(IJavaElement element, Map map) {
    boolean createProjection = false;
    boolean collapse = false;
    switch (element.getElementType()) {
    case IJavaElement.IMPORT_CONTAINER:
        collapse = true;/* w  ww . j av  a 2 s .  c o  m*/
        //                collapse= fAllowCollapsing && fCollapseImportContainer;
        createProjection = true;
        break;
    case IJavaElement.TYPE:
        if (isInnerType((IType) element)) {
            IMylarElement node = ContextCorePlugin.getContextManager()
                    .getElement(element.getHandleIdentifier());
            if (!MylarUiPlugin.getDefault().isGlobalFoldingEnabled()) {
                collapse = false;
            } else if (node == null || node.getInterest().isInteresting()) {
                collapse = false;
            } else {
                collapse = true;
            }
            createProjection = true;
            break;
        }
        //                collapse= fAllowCollapsing && fCollapseInnerTypes && isInnerType((IType) element);
        createProjection = true;
        break;
    case IJavaElement.METHOD:
        IMylarElement node = ContextCorePlugin.getContextManager().getElement(element.getHandleIdentifier());
        if (!MylarUiPlugin.getDefault().isGlobalFoldingEnabled()) {
            collapse = false;
        } else if (node == null || node.getInterest().isInteresting()) {
            collapse = false;
        } else {
            collapse = true;
        }
        createProjection = true;
        break;
    default:
        collapse = true;
        //                collapse= fAllowCollapsing && fCollapseMethods;
        //                createProjection= true;
        //                break;
    }

    if (createProjection) {
        IRegion[] regions = computeProjectionRanges(element);
        if (regions != null) {
            // comments
            for (int i = 0; i < regions.length - 1; i++) {
                Position position = createProjectionPosition(regions[i], null);
                boolean commentCollapse;
                if (position != null) {
                    if (i == 0 && (regions.length > 2 || fHasHeaderComment) && element == fFirstType) {
                        commentCollapse = fAllowCollapsing && fCollapseHeaderComments;
                    } else {
                        commentCollapse = fAllowCollapsing && fCollapseJavadoc;
                    }
                    map.put(new JavaProjectionAnnotation(element, commentCollapse, true), position);
                }
            }
            // code
            Position position = createProjectionPosition(regions[regions.length - 1], element);
            if (position != null)
                map.put(new JavaProjectionAnnotation(element, collapse, false), position);
        }
    }
}

From source file:org.eclipse.objectteams.otdt.core.OTModelManager.java

License:Open Source License

/**
 * Add the propriate Object Teams Model element for a given IType 
 *//*w w w .ja  va  2  s  . com*/
public IOTType addType(IType elem, int typeDeclFlags, String baseClassName, String baseClassAnchor,
        boolean isRoleFile) {
    IJavaElement parent = elem.getParent();
    IOTType result = null;

    switch (parent.getElementType()) {
    case IJavaElement.COMPILATION_UNIT:
    case IJavaElement.CLASS_FILE:
        if (isRoleFile) { //  could also be a teeam, which is handled inside the constructor
            if (elem.isBinary()) {
                MAPPING.addOTElement(result = new BinaryRoleType(elem, parent, typeDeclFlags, baseClassName,
                        baseClassAnchor));
            } else {
                MAPPING.addOTElement(
                        result = new RoleFileType(elem, parent, typeDeclFlags, baseClassName, baseClassAnchor));
            }
        } else if (TypeHelper.isTeam(typeDeclFlags)) {
            MAPPING.addOTElement(result = new OTType(IOTJavaElement.TEAM, elem, null, typeDeclFlags));
        }
        break;
    case IJavaElement.TYPE:
        IType encType = (IType) parent;
        IOTType otmParent = MAPPING.getOTElement(encType);

        result = maybeAddRoleType(elem, otmParent, typeDeclFlags, baseClassName, baseClassAnchor);
        break;
    //do nothing if anonymous type
    case IJavaElement.METHOD:
        break;
    case IJavaElement.INITIALIZER:
        break;
    case IJavaElement.FIELD:
        break;
    //TODO (jwl) Wether anonymous types are roles or not will be discoverable with 
    //           a future implementation (probably with the help of a newer version of the compiler)

    //             case IJavaElement.METHOD:
    //              IMethod encMethod   = (IMethod)parent;
    //              otmParent = MAPPING.getOTElement(encMethod.getDeclaringType());
    //              
    //              addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
    //              break;
    //          case IJavaElement.INITIALIZER:
    //              IInitializer encInitializer   = (IInitializer)parent;
    //              otmParent = MAPPING.getOTElement(encInitializer.getDeclaringType());
    //              
    //              addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
    //              break;
    //          case IJavaElement.FIELD:
    //              IField encField   = (IField)parent;
    //              otmParent = MAPPING.getOTElement(encField.getDeclaringType());
    //              
    //              addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
    //              break;
    default:
        new Throwable("Warning: unexpected parent for OT element: " + parent).printStackTrace(); //$NON-NLS-1$
        break;
    }
    return result;
}

From source file:org.eclipse.objectteams.otdt.debug.ui.internal.actions.OTToggleBreakpointAdapter.java

License:Open Source License

/**
 * Returns the IType associated with the <code>IJavaElement</code> passed in
 * @param element the <code>IJavaElement</code> to get the type from
 * @return the corresponding <code>IType</code> for the <code>IJavaElement</code>, or <code>null</code> if there is not one.
 * @since 3.3/*from   ww  w  .  ja  v a2  s .  c o  m*/
 */
protected IType getType(IJavaElement element) {
    switch (element.getElementType()) {
    case IJavaElement.FIELD: {
        return ((IField) element).getDeclaringType();
    }
    case IJavaElement.METHOD: {
        return ((IMethod) element).getDeclaringType();
    }
    case IJavaElement.TYPE: {
        return (IType) element;
    }
    default: {
        return null;
    }
    }
}

From source file:org.eclipse.objectteams.otdt.debug.ui.internal.actions.OTToggleBreakpointAdapter.java

License:Open Source License

/**
 * Returns if the text selection is a valid method or not
 * @param selection the text selection//  w w w.j a v  a  2 s  .  com
 * @param part the associated workbench part
 * @return true if the selection is a valid method, false otherwise
 */
private boolean isMethod(ITextSelection selection, IWorkbenchPart part) {
    ITextEditor editor = getTextEditor(part);
    if (editor != null) {
        IJavaElement element = getJavaElement(editor.getEditorInput());
        if (element != null) {
            try {
                if (element instanceof ICompilationUnit) {
                    element = ((ICompilationUnit) element).getElementAt(selection.getOffset());
                } else if (element instanceof IClassFile) {
                    element = ((IClassFile) element).getElementAt(selection.getOffset());
                }
                return element != null && element.getElementType() == IJavaElement.METHOD;
            } catch (JavaModelException e) {
                return false;
            }
        }
    }
    return false;
}

From source file:org.eclipse.objectteams.otdt.debug.ui.internal.actions.OTToggleBreakpointAdapter.java

License:Open Source License

public void toggleBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
    ISelection sel = translateToMembers(part, selection);
    if (sel instanceof IStructuredSelection) {
        IMember member = (IMember) ((IStructuredSelection) sel).getFirstElement();
        int mtype = member.getElementType();
        if (mtype == IJavaElement.FIELD || mtype == IJavaElement.METHOD || mtype == IJavaElement.INITIALIZER) {
            // remove line breakpoint if present first
            if (selection instanceof ITextSelection) {
                ITextSelection ts = (ITextSelection) selection;
                IType declaringType = member.getDeclaringType();
                IResource resource = BreakpointUtils.getBreakpointResource(declaringType);
                IJavaLineBreakpoint breakpoint = JDIDebugModel.lineBreakpointExists(resource,
                        getQualifiedName(declaringType), ts.getStartLine() + 1);
                if (breakpoint != null) {
                    deleteBreakpoint(breakpoint, part, null);
                    return;
                }//from  ww  w  .  j av a 2  s  .c o m
                CompilationUnit unit = parseCompilationUnit(getTextEditor(part));
                //ObjectTeams: (visibility) OTValidBreakpointLocationLocator instead of ValidBreakpointLocationLocator
                OTValidBreakpointLocationLocator loc = new OTValidBreakpointLocationLocator(unit,
                        ts.getStartLine() + 1, true, true);
                unit.accept(loc);
                if (loc.getLocationType() == OTValidBreakpointLocationLocator.LOCATION_METHOD) {
                    toggleMethodBreakpoints(part, sel);
                } else if (loc.getLocationType() == OTValidBreakpointLocationLocator.LOCATION_FIELD) {
                    toggleWatchpoints(part, ts);
                } else if (loc.getLocationType() == OTValidBreakpointLocationLocator.LOCATION_LINE) {
                    toggleLineBreakpoints(part, ts);
                }
                // carp}
            }
        } else if (member.getElementType() == IJavaElement.TYPE) {
            toggleClassBreakpoints(part, sel);
        } else {
            //fall back to old behavior, always create a line breakpoint
            toggleLineBreakpoints(part, selection, true, null);
        }
    }
}

From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.CallinMarker.java

License:Open Source License

/** set the base element (class or method) to which this marker is attached. */
public void setBaseElement(IMember baseElement) {
    _attribs.put(CallinMarker.ATTR_BASE_ELEMENT, baseElement.getHandleIdentifier());
    if (baseElement.getElementType() == IJavaElement.TYPE) {
        _attribs.put(IMarker.MESSAGE, OTDTUIPlugin.getResourceString("CallinMarker.playedby_tooltip") + ' ' //$NON-NLS-1$
                + baseElement.getElementName());
    } else if (this.id == CALLIN_ID) {
        _attribs.put(IMarker.MESSAGE, OTDTUIPlugin.getResourceString("CallinMarker.callin_tooltip") + ' ' //$NON-NLS-1$
                + baseElement.getElementName() + "()"); //$NON-NLS-1$
    } else if (this.id == CALLOUT_ID) {
        String baseMemberName = baseElement.getElementName();
        if (baseElement.getElementType() == IJavaElement.METHOD) // not for callout to field
            baseMemberName += "()"; //$NON-NLS-1$
        _attribs.put(IMarker.MESSAGE,// w w w .  j  a va  2 s  .c o  m
                OTDTUIPlugin.getResourceString("CallinMarker.callout_tooltip") + ' ' + baseMemberName); //$NON-NLS-1$ 
    }
}

From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.CallinMarkerRemover.java

License:Open Source License

public static void removeCallinMarker(IMember member, IResource resource) {
    // we need to pass the resource, as the method might already be removed and hence would
    // not be able to give us a resource.
    if (resource.exists()) {
        try {//from w  w  w.java2s.com
            IMarker marker;
            if (member.getElementType() == IJavaElement.METHOD) {
                marker = getCallinMarker(member, CallinMarker.CALLIN_ID, resource);
                if (marker != null)
                    marker.delete();
            }
            // method or field:
            marker = getCallinMarker(member, CallinMarker.CALLOUT_ID, resource);
            if (marker != null)
                marker.delete();
        } catch (ResourceException ex) {
            // tree might be locked for modifications
            // FIXME(SH): handle this case, currently we just ignore this situation
        } catch (CoreException ex) {
            OTDTUIPlugin.logException("Problems removing callin marker", ex); //$NON-NLS-1$
        }
    }
}

From source file:org.eclipse.objectteams.otdt.internal.ui.packageview.PackageExplorerAdaptor.ContentProvider.java

License:Open Source License

@SuppressWarnings("nls")
    public static boolean isGenerated(IJavaElement elem) {
        // TODO (SH): check whether ViewerFilters can do the job better.

        // all kinds of generated features determined by name:
        String name = elem.getElementName();
        final String[] patterns = new String[] { "_OT$", "TSuper__OT__", // general OT-prefix 
                "class$", "access$", "val$", "this$" // std. java synthetics.
        };/*from   ww w .  j a  v  a 2s  .c o  m*/
        for (int i = 0; i < patterns.length; i++) {
            if (name.indexOf(patterns[i]) >= 0)
                return true;
        }

        switch (elem.getElementType()) {
        case IJavaElement.TYPE:
        case IOTJavaElement.ROLE:
            // Predifined role types (non-overridable)?
            final String[] fullPatterns = new String[] { "IConfined", "Confined", "__OT__Confined", "ILowerable", // special OT types       
            };
            for (int i = 0; i < fullPatterns.length; i++) {
                if (name.equals(fullPatterns[i]))
                    return true;
            }
            break;
        case IJavaElement.METHOD:
            // tsuper-method?
            IMethod method = (IMethod) elem;
            String[] paramTypes = method.getParameterTypes();
            if (paramTypes.length > 0) {
                String lastType = Signature.getSimpleName(Signature.toString(paramTypes[paramTypes.length - 1]));
                if (lastType.startsWith("TSuper__OT__"))
                    return true;
            }
            break;
        }

        // Synthetic role interface?
        if (elem.getElementType() == IOTJavaElement.ROLE) {
            IType type = (IType) elem;
            try {
                if (Flags.isSynthetic(type.getFlags()))
                    return true;
            } catch (JavaModelException ex) {
                // nop
            }
        }
        return false;
    }

From source file:org.eclipse.objectteams.otdt.tests.AbstractJavaModelTests.java

License:Open Source License

/**
 * Select a method in a compilation unit identified with the nth occurence in the source of a given selection.
 * @param unit// w w  w.  ja  va 2s  . c om
 * @param selection
 * @param occurences
 * @return IMethod
 * @throws JavaModelException
 */
protected IMethod selectMethod(ICompilationUnit unit, String selection, int occurences)
        throws JavaModelException {
    return (IMethod) selectJavaElement(unit, selection, occurences, IJavaElement.METHOD);
}