Package org.eclipse.jdt.internal.compiler.classfmt

Examples of org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader


                                baos.write(buf, 0, count);
                            }
                            baos.flush();
                            classBytes = baos.toByteArray();
                            char[] fileName = className.toCharArray();
                            ClassFileReader classFileReader =
                                new ClassFileReader(classBytes, fileName,
                                                    true);
                            return
                                new NameEnvironmentAnswer(classFileReader);
                        }
                    } catch (IOException exc) {
View Full Code Here


                                baos.write(buf, 0, count);
                            }
                            baos.flush();
                            classBytes = baos.toByteArray();
                            char[] fileName = className.toCharArray();
                            ClassFileReader classFileReader =
                                new ClassFileReader(classBytes, fileName,
                                                    true);
                            return
                                new NameEnvironmentAnswer(classFileReader, null);
                        }
                    } catch (IOException exc) {
View Full Code Here

                                baos.write(buf, 0, count);
                            }
                            baos.flush();
                            classBytes = baos.toByteArray();
                            char[] fileName = className.toCharArray();
                            ClassFileReader classFileReader =
                                new ClassFileReader(classBytes, fileName,
                                                    true);
                            return
                                new NameEnvironmentAnswer(classFileReader, null);
                        }
                    } catch (IOException exc) {
View Full Code Here

                                baos.write(buf, 0, count);
                            }
                            baos.flush();
                            classBytes = baos.toByteArray();
                            char[] fileName = className.toCharArray();
                            ClassFileReader classFileReader =
                                new ClassFileReader(classBytes, fileName,
                                                    true);
                            return
                                new NameEnvironmentAnswer(classFileReader);
                        }
                    } catch (IOException exc) {
View Full Code Here

    }
    return null;
  }

  public TapestryCoreComponents loadComponentAttributesFromClassFile(IPackageFragmentRoot fragmentRoot, String prefix, ClassFile packi) throws JavaModelException, ClassFormatException{
    ClassFileReader reader = new ClassFileReader(packi.getBytes(), null)
    TapestryCoreComponents component = new TapestryCoreComponents();
    component.setName(String.valueOf(reader.getSourceName()));
    component.setElementLabel(prefix + ":" + component.getName().toLowerCase());
    if(reader.getFields() != null)
    for(IBinaryField  field : reader.getFields()){
      boolean parameter = false;
      if(field.getAnnotations() == null)
        continue;
      for(IBinaryAnnotation anno : field.getAnnotations()){
        if(String.valueOf(anno.getTypeName()).endsWith("/Parameter;")){
          parameter = true;
          break;
        }
      }
      if(parameter){
        component.addParameter(String.valueOf(field.getName()));
      }
    }
   
    String parentClassName = String.valueOf(reader.getSuperclassName());
    if(parentClassName != null && !parentClassName.isEmpty() && !parentClassName.equals("java/lang/Object")){
      List<String> parameters =loadParametersFromParentClass(fragmentRoot, parentClassName);
      for(String parameter : parameters){
        component.addParameter(parameter);
      }
View Full Code Here

    try {
      PackageFragment packInstance = (PackageFragment) root.getPackageFragment(packageName);
      for (Object packo : packInstance.getChildrenOfType(IJavaElement.CLASS_FILE)) {
        ClassFile packi = (ClassFile) packo;
        if (packi.getElementName().equals(className)) {
          ClassFileReader reader = null;
          try {
            reader = new ClassFileReader(packi.getBytes(),
                null);
          } catch (ClassFormatException e) {
            e.printStackTrace();
          }

          if (reader.getFields() != null)
            for (IBinaryField field : reader.getFields()) {
              boolean parameter = false;
              if (field.getAnnotations() == null)
                continue;
              for (IBinaryAnnotation anno : field.getAnnotations()) {
                if (String.valueOf(anno.getTypeName()).endsWith("/Parameter;")) {
                  parameter = true;
                  break;
                }
              }
              if (parameter) {
                list.add(String.valueOf(field.getName()));
              }
            }
          String parentClassName = String.valueOf(reader.getSuperclassName());
          if(parentClassName != null && !parentClassName.isEmpty() && !parentClassName.equals("java/lang/Object")){
            list.addAll(loadParametersFromParentClass(root, parentClassName));
          }
          return list;
        }
View Full Code Here

           * insensitive so we need to use Class.forName to effectively verify
           * the case.
           */
          if (isBinaryType(classLoader, className)) {
            byte[] classBytes = Util.readURLAsBytes(resourceURL);
            ClassFileReader cfr;
            try {
              cfr = new ClassFileReader(classBytes, null);
              NameEnvironmentAnswer out = new NameEnvironmentAnswer(cfr, null);
              nameEnvironmentAnswerForTypeName.put(qname, out);
              return out;
            } catch (ClassFormatException e) {
              // Ignored.
View Full Code Here

  }

  NameEnvironmentAnswer getNameEnvironmentAnswer() {
    if (nameEnvironmentAnswer == null) {
      try {
        ClassFileReader cfr = new ClassFileReader(bytes, location.toCharArray());
        nameEnvironmentAnswer = new NameEnvironmentAnswer(cfr, null);
      } catch (ClassFormatException e) {
        throw new RuntimeException("Unexpectedly unable to parse class file", e);
      }
    }
View Full Code Here

        Class.forName(binaryName, false, getClassLoader());
        String resourcePath = binaryName.replace('.', '/') + ".class";
        URL resource = getClassLoader().getResource(resourcePath);
        InputStream openStream = resource.openStream();
        try {
          ClassFileReader cfr = ClassFileReader.read(openStream,
              resource.toExternalForm(), true);
          return new NameEnvironmentAnswer(cfr, null);
        } finally {
          Utility.close(openStream);
        }
View Full Code Here

                                baos.write(buf, 0, count);
                            }
                            baos.flush();
                            classBytes = baos.toByteArray();
                            char[] fileName = className.toCharArray();
                            ClassFileReader classFileReader =
                                new ClassFileReader(classBytes, fileName,
                                                    true);
                            return
                                new NameEnvironmentAnswer(classFileReader, null);
                        }
                    } catch (IOException exc) {
View Full Code Here

TOP

Related Classes of org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader

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.