Package org.aspectj.org.eclipse.jdt.internal.compiler

Examples of org.aspectj.org.eclipse.jdt.internal.compiler.ClassFile


    ClassFile[] cfs = result.getClassFiles();
    UnwovenClassFile[] ret = new UnwovenClassFile[result.compiledTypes.size()];
    int i=0;
    for (Iterator iterator = result.compiledTypes.keySet().iterator(); iterator.hasNext();) {
      char[] className = (char[])iterator.next();
      ClassFile cf = (ClassFile)result.compiledTypes.get(className);
      // OPTIMIZE use char[] for classname
      ClassFileBasedByteCodeProvider p = new ClassFileBasedByteCodeProvider(cf);
      String fileName = nameProvider.getOutputClassFileName(cf.fileName(), result);
      ret[i++] = new UnwovenClassFileWithThirdPartyManagedBytecode(fileName,new String(className).replace('/','.'),p);
    }
    return ret;
  }
View Full Code Here


    CodeSnippetClassFile.createProblemType(this, this.scope.referenceCompilationUnit().compilationResult);
    return;
  }
  try {
    // create the result for a compiled type
    ClassFile classFile = new CodeSnippetClassFile(this.binding, enclosingClassFile, false);
    // generate all fiels
    classFile.addFieldInfos();
    if (this.binding.isMemberType()) {
      classFile.recordInnerClasses(this.binding);
    } else if (this.binding.isLocalType()) {
      enclosingClassFile.recordInnerClasses(this.binding);
      classFile.recordInnerClasses(this.binding);
    }

    if (this.memberTypes != null) {
      for (int i = 0, max = this.memberTypes.length; i < max; i++) {
        TypeDeclaration memberType = this.memberTypes[i];
        classFile.recordInnerClasses(memberType.binding);
        memberType.generateCode(this.scope, classFile);
      }
    }
    // generate all methods
    classFile.setForMethodInfos();
    if (this.methods != null) {
      for (int i = 0, max = this.methods.length; i < max; i++) {
        this.methods[i].generateCode(this.scope, classFile);
      }
    }
   
    // generate all methods
    classFile.addSpecialMethods();

    if (this.ignoreFurtherInvestigation){ // trigger problem type generation for code gen errors
      throw new AbortType(this.scope.referenceCompilationUnit().compilationResult, null);
    }

    // finalize the compiled type result
    classFile.addAttributes();
    this.scope.referenceCompilationUnit().compilationResult.record(this.binding.constantPoolName(), classFile);
  } catch (AbortType e) {
    if (this.binding == null)
      return;
    CodeSnippetClassFile.createProblemType(this, this.scope.referenceCompilationUnit().compilationResult);
View Full Code Here

      if (result.hasErrors()) {
        this.hasErrors = true;
      } else {
        ClassFile[] classFiles = result.getClassFiles();
        for (int i = 0; i < classFiles.length; i++) {
          ClassFile classFile = classFiles[i];
/*
     
          char[] filename = classFile.fileName();
          int length = filename.length;
          char[] relativeName = new char[length + 6];
View Full Code Here

      if (result.hasErrors()) {
        this.hasErrors = true;
      } else {
        ClassFile[] classFiles = result.getClassFiles();
        for (int i = 0; i < classFiles.length; i++) {
          ClassFile classFile = classFiles[i];
/*
     
          char[] filename = classFile.fileName();
          int length = filename.length;
          char[] relativeName = new char[length + 6];
View Full Code Here

    }
  }
  VariablesInfo installedVars = this.context.installedVars;
  ClassFile[] classFiles = installedVars.classFiles;
  for (int i = 0; i < classFiles.length; i++) {
    ClassFile classFile = classFiles[i];
    if (CharOperation.equals(compoundTypeName, classFile.getCompoundName())) {
      ClassFileReader binary = null;
      try {
        binary = new ClassFileReader(classFile.getBytes(), null);
      } catch (ClassFormatException e) {
        e.printStackTrace()// Should never happen since we compiled this type
        return null;
      }
      return new NameEnvironmentAnswer(binary, null /*no access restriction*/);
 
View Full Code Here

public boolean acceptClassFiles(ClassFile[] classFiles, char[] codeSnippetClassName) {
  int length = classFiles.length;
  byte[][] classFileBytes = new byte[length][];
  String[][] compoundNames = new String[length][];
  for (int i = 0; i < length; i++) {
    ClassFile classFile = classFiles[i];
    classFileBytes[i] = classFile.getBytes();
    char[][] classFileCompundName = classFile.getCompoundName();
    int length2 = classFileCompundName.length;
    String[] compoundName = new String[length2];
    for (int j = 0; j < length2; j++){
      compoundName[j] = new String(classFileCompundName[j]);
    }
View Full Code Here

      generateClasspathStructure = true;
    } // else leave currentDestinationPath null
    if (currentDestinationPath != null) {
      for (int i = 0, fileCount = classFiles.length; i < fileCount; i++) {
        // retrieve the key and the corresponding classfile
        ClassFile classFile = classFiles[i];
        char[] filename = classFile.fileName();
        int length = filename.length;
        char[] relativeName = new char[length + 6];
        System.arraycopy(filename, 0, relativeName, 0, length);
        System.arraycopy(SuffixConstants.SUFFIX_class, 0, relativeName, length, 6);
        CharOperation.replace(relativeName, '/', File.separatorChar);
View Full Code Here

      engine.lookupEnvironment.cacheBinaryType(binaryType, null /*no access restriction*/);
    }
   
    ClassFile[] classFiles = installedVars.classFiles;
    for (int i = 0; i < classFiles.length; i++) {
      ClassFile classFile = classFiles[i];
      IBinaryType binary = null;
      try {
        binary = new ClassFileReader(classFile.getBytes(), null);
      } catch (ClassFormatException e) {
        e.printStackTrace(); // Should never happen since we compiled this type
      }
      engine.lookupEnvironment.cacheBinaryType(binary, null /*no access restriction*/);
    }
 
View Full Code Here

private void deployCodeSnippetClassIfNeeded(IRequestor requestor) {
  if (this.codeSnippetBinary == null) {
    // Deploy CodeSnippet class (only once)
    requestor.acceptClassFiles(
      new ClassFile[] {
        new ClassFile() {
          public byte[] getBytes() {
            return getCodeSnippetBytes();
          }
          public char[][] getCompoundName() {
            return EvaluationConstants.ROOT_COMPOUND_NAME;
View Full Code Here

      // otherwise an AbortCompilation is thrown in 1.5 mode since the enclosing type
      // is needed to resolve a nested type
      Util.sort(classes, new Util.Comparer() {
        public int compare(Object a, Object b) {
          if (a == b) return 0;
          ClassFile enclosing = ((ClassFile) a).enclosingClassFile;
          while (enclosing != null) {
            if (enclosing == b)
              return 1;
            enclosing = enclosing.enclosingClassFile;
          }
View Full Code Here

TOP

Related Classes of org.aspectj.org.eclipse.jdt.internal.compiler.ClassFile

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.