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

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

Introduction

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

Prototype

char JEM_PACKAGEFRAGMENT

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

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;//  w w  w.java2 s. c o  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.model.AJProjectModelFacade.java

License:Open Source License

private String convertToAspectJBinaryHandle(String ajHandle, boolean isSourceFromDependingProject) {
    int packageIndex = ajHandle.indexOf(JavaElement.JEM_PACKAGEFRAGMENT);
    String newHandle = "" + JavaElement.JEM_JAVAPROJECT + project.getName()
            + JavaElement.JEM_PACKAGEFRAGMENTROOT + "binaries" + ajHandle.substring(packageIndex);

    if (isSourceFromDependingProject) {
        // also must convert from a source unit to a binary unit
        newHandle = newHandle.replace(".aj'", ".class'");
        if (AspectJPlugin.USING_CU_PROVIDER) {
            newHandle = newHandle.replace(JavaElement.JEM_COMPILATIONUNIT, JavaElement.JEM_CLASSFILE);
        } else {/*from  w ww .j  ava  2  s .c om*/
            newHandle = newHandle.replace(AspectElement.JEM_ASPECT_CU, JavaElement.JEM_CLASSFILE);
        }
    }

    return newHandle;
}

From source file:org.eclipse.ajdt.core.model.AJProjectModelFacade.java

License:Open Source License

private HandleInfo qualifiedNameFromBinaryHandle(String ajHandle) {
    int packageStart = ajHandle.indexOf(JavaElement.JEM_PACKAGEFRAGMENT);
    int packageEnd = ajHandle.indexOf(JavaElement.JEM_CLASSFILE, packageStart + 1);
    if (packageEnd < 0) {
        // this is a package fragment
        String packageName = ajHandle.substring(packageStart + 1);
        return new HandleInfo(ajHandle, "", packageName, "", "", false, false, false);
    }/*w w w  .  j a  v a  2 s. c  om*/
    int typeNameEnd = ajHandle.indexOf(".class", packageEnd + 1);
    if (typeNameEnd < 0) {
        return null;
    }
    StringBuffer sb = new StringBuffer();
    String packageName = ajHandle.substring(packageStart + 1, packageEnd);
    sb.append(packageName);
    if (sb.length() > 0) {
        sb.append(".");
    }
    String simpleName = ajHandle.substring(packageEnd + 1, typeNameEnd);
    sb.append(simpleName);
    int aspectStart = ajHandle.indexOf(AspectElement.JEM_ASPECT_TYPE, typeNameEnd);
    int classStart = ajHandle.indexOf(JavaElement.JEM_TYPE, typeNameEnd);

    int typeStart = classStart == -1 ? aspectStart
            : aspectStart == -1 ? classStart : Math.min(classStart, aspectStart);

    boolean isFile = typeStart == -1;
    boolean isType;
    if (!isFile) {
        isType = typeStart + simpleName.length() + 1 == ajHandle.length();
    } else {
        isType = false;
    }
    boolean isInAspect = aspectStart >= 0;
    String restHandle = typeStart >= 0 ? ajHandle.substring(typeStart) : "";
    return new HandleInfo(ajHandle, simpleName, packageName, sb.toString(), restHandle, isFile, isType,
            isInAspect);
}

From source file:org.eclipse.jdt.internal.core.PackageFragment.java

License:Open Source License

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