Example usage for org.eclipse.jdt.internal.core JavaElement JEM_METHOD

List of usage examples for org.eclipse.jdt.internal.core JavaElement JEM_METHOD

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core JavaElement JEM_METHOD.

Prototype

char JEM_METHOD

To view the source code for org.eclipse.jdt.internal.core JavaElement JEM_METHOD.

Click Source Link

Usage

From source file:org.eclipse.ajdt.core.AJMementoTokenizer.java

License:Open Source License

public String nextToken() {
    int start = this.index;
    StringBuffer buffer = null;/*from  w  ww. j av  a2 s  . co  m*/
    switch (this.memento[this.index++]) {
    case JavaElement.JEM_ESCAPE:
        buffer = new StringBuffer();
        buffer.append(this.memento[this.index]);
        start = ++this.index;
        break;
    case JavaElement.JEM_COUNT:
        return COUNT;
    case JavaElement.JEM_JAVAPROJECT:
        return JAVAPROJECT;
    case JavaElement.JEM_PACKAGEFRAGMENTROOT:
        return PACKAGEFRAGMENTROOT;
    case JavaElement.JEM_PACKAGEFRAGMENT:
        return PACKAGEFRAGMENT;
    case JavaElement.JEM_FIELD:
        return FIELD;
    case JavaElement.JEM_METHOD:
        return METHOD;
    case JavaElement.JEM_INITIALIZER:
        return INITIALIZER;
    case JavaElement.JEM_COMPILATIONUNIT:
        return COMPILATIONUNIT;
    case JavaElement.JEM_CLASSFILE:
        return CLASSFILE;
    case JavaElement.JEM_TYPE:
        return TYPE;
    case JavaElement.JEM_PACKAGEDECLARATION:
        return PACKAGEDECLARATION;
    case JavaElement.JEM_IMPORTDECLARATION:
        return IMPORTDECLARATION;
    case JavaElement.JEM_LOCALVARIABLE:
        return LOCALVARIABLE;
    case JavaElement.JEM_TYPE_PARAMETER:
        return TYPE_PARAMETER;
    case JavaElement.JEM_ANNOTATION:
        return ANNOTATION;
    // begin AspectJ change
    case AspectElement.JEM_ADVICE:
        return ADVICE;
    case AspectElement.JEM_ASPECT_TYPE:
        return ASPECT_TYPE;
    case AspectElement.JEM_CODEELEMENT:
        return CODEELEMENT;
    case AspectElement.JEM_ITD_METHOD:
        return ITD_METHOD;
    case AspectElement.JEM_ITD_FIELD:
        return ITD_FIELD;
    case AspectElement.JEM_DECLARE:
        return DECLARE;
    case AspectElement.JEM_POINTCUT:
        return POINTCUT;

    case AspectElement.JEM_ASPECT_CU:
        // only return here if JDT weaving is off
        // if JDT weaving is on, then a * here
        // means that we are in an on demand import declaration
        if (!AspectJPlugin.USING_CU_PROVIDER) {
            return ASPECT_CU;
        }
        // end AspectJ change
    }
    loop: while (this.index < this.length) {
        switch (this.memento[this.index]) {
        case JavaElement.JEM_ESCAPE:
            if (buffer == null)
                buffer = new StringBuffer();
            buffer.append(this.memento, start, this.index - start);
            start = ++this.index;
            break;
        case JavaElement.JEM_COUNT:
        case JavaElement.JEM_JAVAPROJECT:
        case JavaElement.JEM_PACKAGEFRAGMENTROOT:
        case JavaElement.JEM_PACKAGEFRAGMENT:
        case JavaElement.JEM_FIELD:
        case JavaElement.JEM_METHOD:
        case JavaElement.JEM_INITIALIZER:
        case JavaElement.JEM_COMPILATIONUNIT:
        case JavaElement.JEM_CLASSFILE:
        case JavaElement.JEM_TYPE:
        case JavaElement.JEM_PACKAGEDECLARATION:
        case JavaElement.JEM_IMPORTDECLARATION:
        case JavaElement.JEM_LOCALVARIABLE:
        case JavaElement.JEM_TYPE_PARAMETER:
        case JavaElement.JEM_ANNOTATION:
            // begin AspectJ change
        case AspectElement.JEM_ADVICE:
        case AspectElement.JEM_ASPECT_TYPE:
        case AspectElement.JEM_CODEELEMENT:
        case AspectElement.JEM_ITD_METHOD:
        case AspectElement.JEM_ITD_FIELD:
        case AspectElement.JEM_DECLARE:
        case AspectElement.JEM_POINTCUT:
            break loop;
        // end AspectJ change

        // begin AspectJ change
        case AspectElement.JEM_ASPECT_CU:
            // only break here if JDT weaving is off
            // if JDT weaving is on, then a * here
            // means that we are in an on demand import declaration
            if (!AspectJPlugin.USING_CU_PROVIDER) {
                break loop;
            }
            // end AspectJ change
        }
        this.index++;
    }
    if (buffer != null) {
        buffer.append(this.memento, start, this.index - start);
        return buffer.toString();
    }
    return new String(this.memento, start, this.index - start);
}

From source file:org.eclipse.ajdt.core.javaelements.AspectJMemberElement.java

License:Open Source License

/**
 * @see JavaElement#getHandleMemento()
 */
protected char getHandleMementoDelimiter() {
    return JavaElement.JEM_METHOD;
}

From source file:org.eclipse.objectteams.otdt.internal.core.CalloutToFieldMapping.java

License:Open Source License

@Override
protected void getBaseMethodsForHandle(StringBuffer buff) {
    escapeMementoName(buff, this.baseFieldHandle.getSelector());
    buff.append(JavaElement.JEM_METHOD);
    escapeMementoName(buff, this.baseFieldHandle.getFieldType());
}

From source file:org.eclipse.objectteams.otdt.internal.core.CalloutToFieldMapping.java

License:Open Source License

public static IFieldAccessSpec createFieldData(MementoTokenizer memento, boolean isSetter) {
    String selector = memento.nextToken();
    String cur = memento.nextToken();
    if (cur.charAt(0) == JavaElement.JEM_METHOD)
        cur = memento.nextToken(); // skip initial separator
    StringBuffer buffer = new StringBuffer();
    while (cur.length() == 1 && Signature.C_ARRAY == cur.charAt(0)) { // backward compatible with 3.0 mementos
        buffer.append(Signature.C_ARRAY);
        if (!memento.hasMoreTokens())
            break;
        cur = memento.nextToken();//w  w  w . j av  a  2  s  .c  om
    }
    buffer.append(cur);
    String fieldType = buffer.toString();
    memento.nextToken(); // skip separator
    return new FieldData(selector, fieldType, isSetter);
}

From source file:org.eclipse.objectteams.otdt.internal.core.MethodMapping.java

License:Open Source License

protected void getMethodForHandle(IMethodSpec method, StringBuffer buff) {
    escapeMementoName(buff, method.getSelector());
    if (this.hasSignature) {
        for (String argType : method.getArgumentTypes()) {
            buff.append(JavaElement.JEM_METHOD);
            escapeMementoName(buff, argType);
        }/*from   w  ww .j  a  va2s.c  o  m*/
        buff.append(JavaElement.JEM_METHOD);
        escapeMementoName(buff, method.getReturnType());
    }
    buff.append(OTJavaElement.OTEM_METHODMAPPING);
}

From source file:org.eclipse.objectteams.otdt.internal.core.MethodMapping.java

License:Open Source License

public static MethodData createMethodData(MementoTokenizer memento, String selector) {
    String cur = memento.nextToken();
    if (cur.charAt(0) == JavaElement.JEM_METHOD)
        cur = memento.nextToken(); // skip initial separator
    List<String> argTypes = new ArrayList<String>();
    while (cur.charAt(0) != OTJavaElement.OTEM_METHODMAPPING) {
        StringBuffer buffer = new StringBuffer();
        while (cur.length() == 1 && Signature.C_ARRAY == cur.charAt(0)) { // backward compatible with 3.0 mementos
            buffer.append(Signature.C_ARRAY);
            if (!memento.hasMoreTokens())
                break;
            cur = memento.nextToken();//from   ww  w  .ja  va 2s. c  o m
        }
        buffer.append(cur);
        argTypes.add(buffer.toString());
        if (memento.nextToken().charAt(0) != JavaElement.JEM_METHOD)
            break;
        cur = memento.nextToken();
    }
    String returnType = null;
    if (argTypes.size() > 0)
        returnType = argTypes.remove(argTypes.size() - 1);
    return new MethodData(selector, argTypes.toArray(new String[argTypes.size()]), null, returnType, false);
}