javax.tools.JavaFileObject.Kind#CLASS源码实例Demo

下面列出了javax.tools.JavaFileObject.Kind#CLASS 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: kan-java   文件: DynaFileManager.java
public JavaFileObject getJavaFileForOutput(Location location, String className, Kind kind, FileObject sibling) throws IOException {
    if (Kind.CLASS != kind && Kind.SOURCE != kind)
        throw new IOException("Unsupported output kind: " + kind);
    if (!(location instanceof StandardLocation))
        throw new IOException("Unsupported output location: " + location);
    switch ((StandardLocation) location) {
    case CLASS_OUTPUT:
        return getOrCreateMemFileByClassName(className, this.classes, JavaClassFile.class);
    case SOURCE_OUTPUT:
        return getOrCreateMemFileByClassName(className, this.srcs, JavaSourceFile.class);
    case CLASS_PATH:
    case SOURCE_PATH:
    case ANNOTATION_PROCESSOR_PATH:
    case PLATFORM_CLASS_PATH:
    default:
        throw new IOException("Unsupported output location: " + location);
    }
}
 
源代码2 项目: openjdk-jdk9   文件: ToolBox.java
/**
 * Constructs a memory file object.
 * @param name binary name of the class to be stored in this file object
 */
MemoryFileObject(Location location, String name, JavaFileObject.Kind kind) {
    super(URI.create("mfm:///" + name.replace('.','/') + kind.extension),
          Kind.CLASS);
    this.location = location;
    this.name = name;
}
 
源代码3 项目: ghidra   文件: ResourceFileJavaFileManager.java
private void gatherFiles(ResourceFile root, ResourceFile file, List<JavaFileObject> accumulator,
		Set<Kind> kinds, boolean recurse) {
	ResourceFile[] listFiles = file.listFiles();
	for (ResourceFile resourceFile : listFiles) {
		if (resourceFile.isDirectory()) {
			if (recurse) {
				gatherFiles(root, resourceFile, accumulator, kinds, recurse);
			}
		}
		else {
			for (Kind kind : kinds) {
				if (kind == Kind.CLASS) {
					if (resourceFile.getName().endsWith(".class")) {
						accumulator.add(createFileObject(root, resourceFile, kind));
						break;
					}
				}
				else if (kind == Kind.SOURCE) {
					if (resourceFile.getName().endsWith(".java")) {
						accumulator.add(createFileObject(root, resourceFile, kind));
						break;
					}
				}
			}
		}
	}

}
 
源代码4 项目: openjdk-8-source   文件: BaseFileManager.java
public static Kind getKind(String name) {
    if (name.endsWith(Kind.CLASS.extension))
        return Kind.CLASS;
    else if (name.endsWith(Kind.SOURCE.extension))
        return Kind.SOURCE;
    else if (name.endsWith(Kind.HTML.extension))
        return Kind.HTML;
    else
        return Kind.OTHER;
}
 
源代码5 项目: toothpick   文件: InMemoryJavaFileManager.java
public JavaFileObject getJavaFileForInput(Location location, String className, Kind kind)
    throws IOException {
  if (location == StandardLocation.CLASS_OUTPUT
      && buffers.containsKey(className)
      && kind == Kind.CLASS) {
    final byte[] bytes = buffers.get(className).toByteArray();
    return new SimpleJavaFileObject(URI.create(className), kind) {
      public InputStream openInputStream() {
        return new ByteArrayInputStream(bytes);
      }
    };
  }
  return fileManager.getJavaFileForInput(location, className, kind);
}
 
源代码6 项目: java-n-IDE-for-Android   文件: BaseFileManager.java
public static Kind getKind(String name) {
    if (name.endsWith(Kind.CLASS.extension))
        return Kind.CLASS;
    else if (name.endsWith(Kind.SOURCE.extension))
        return Kind.SOURCE;
    else if (name.endsWith(Kind.HTML.extension))
        return Kind.HTML;
    else
        return Kind.OTHER;
}
 
源代码7 项目: oxygen   文件: DynamicJavaFileManager.java
@Override
public JavaFileObject getJavaFileForOutput(Location location, String className, Kind kind,
    FileObject sibling) throws IOException {
  if (kind == Kind.CLASS && location == StandardLocation.CLASS_OUTPUT) {
    ByteCode byteCode = byteCodes.get(className);
    if (byteCode == null) {
      byteCode = new ByteCode(className, kind);
      byteCodes.put(className, byteCode);
    }
    return byteCode;
  }
  return super.getJavaFileForOutput(location, className, kind, sibling);
}
 
源代码8 项目: openjdk-jdk9   文件: Modules.java
@Override
public void visitExports(JCExports tree) {
    Iterable<Symbol> packageContent = tree.directive.packge.members().getSymbols();
    List<JavaFileObject> filesToCheck = List.nil();
    boolean packageNotEmpty = false;
    for (Symbol sym : packageContent) {
        if (sym.kind != Kinds.Kind.TYP)
            continue;
        ClassSymbol csym = (ClassSymbol) sym;
        if (sym.completer.isTerminal() ||
            csym.classfile.getKind() == Kind.CLASS) {
            packageNotEmpty = true;
            filesToCheck = List.nil();
            break;
        }
        if (csym.classfile.getKind() == Kind.SOURCE) {
            filesToCheck = filesToCheck.prepend(csym.classfile);
        }
    }
    for (JavaFileObject jfo : filesToCheck) {
        if (findPackageInFile.findPackageNameOf(jfo) == tree.directive.packge.fullname) {
            packageNotEmpty = true;
            break;
        }
    }
    if (!packageNotEmpty) {
        log.error(tree.qualid.pos(), Errors.PackageEmptyOrNotFound(tree.directive.packge));
    }
    msym.directives = msym.directives.prepend(tree.directive);
}
 
@Override public JavaFileObject getJavaFileForOutput(Location location, String className, final Kind kind, FileObject sibling) throws IOException {
	if (className.startsWith("lombok.dummy.ForceNewRound")) {
		final String name = className.replace(".", "/") + kind.extension;
		return LombokFileObjects.createEmpty(compiler, name, kind);
	}
	JavaFileObject fileObject = fileManager.getJavaFileForOutput(location, className, kind, sibling);
	if (kind != Kind.CLASS) {
		return fileObject;
	}
	return LombokFileObjects.createIntercepting(compiler, fileObject, className, diagnostics);
}
 
源代码10 项目: openjdk-jdk8u   文件: BaseFileManager.java
public static Kind getKind(String name) {
    if (name.endsWith(Kind.CLASS.extension))
        return Kind.CLASS;
    else if (name.endsWith(Kind.SOURCE.extension))
        return Kind.SOURCE;
    else if (name.endsWith(Kind.HTML.extension))
        return Kind.HTML;
    else
        return Kind.OTHER;
}
 
源代码11 项目: openjdk-jdk8u-backup   文件: BaseFileManager.java
public static Kind getKind(String name) {
    if (name.endsWith(Kind.CLASS.extension))
        return Kind.CLASS;
    else if (name.endsWith(Kind.SOURCE.extension))
        return Kind.SOURCE;
    else if (name.endsWith(Kind.HTML.extension))
        return Kind.HTML;
    else
        return Kind.OTHER;
}
 
源代码12 项目: openjdk-jdk9   文件: BaseFileManager.java
public static Kind getKind(String name) {
    if (name.endsWith(Kind.CLASS.extension))
        return Kind.CLASS;
    else if (name.endsWith(Kind.SOURCE.extension))
        return Kind.SOURCE;
    else if (name.endsWith(Kind.HTML.extension))
        return Kind.HTML;
    else
        return Kind.OTHER;
}
 
源代码13 项目: dragonwell8_jdk   文件: MemoryClassLoader.java
Output(String name) {
    super(name, Kind.CLASS);
}
 
源代码14 项目: TencentKona-8   文件: MemoryFileManager.java
/**
 * Constructs a JavaClassInArray object.
 * @param name binary name of the class to be stored in this file object
 */
JavaClassInArray(String name) {
    super(uriFromString("mfm:///" + name.replace('.','/') + Kind.CLASS.extension),
          Kind.CLASS);
    this.name = name;
}
 
源代码15 项目: openjdk-jdk8u-backup   文件: MemoryClassLoader.java
Output(String name) {
    super(name, Kind.CLASS);
}
 
源代码16 项目: openjdk-8-source   文件: MemoryClassLoader.java
Output(String name) {
    super(name, Kind.CLASS);
}
 
源代码17 项目: openjdk-8   文件: MemoryClassLoader.java
Output(String name) {
    super(name, Kind.CLASS);
}
 
源代码18 项目: openjdk-8-source   文件: MemoryFileManager.java
/**
 * Constructs a JavaClassInArray object.
 * @param name binary name of the class to be stored in this file object
 */
JavaClassInArray(String name) {
    super(uriFromString("mfm:///" + name.replace('.','/') + Kind.CLASS.extension),
          Kind.CLASS);
    this.name = name;
}
 
源代码19 项目: openjdk-jdk8u   文件: MemoryClassLoader.java
Output(String name) {
    super(name, Kind.CLASS);
}
 
源代码20 项目: jdk8u-jdk   文件: MemoryClassLoader.java
Output(String name) {
    super(name, Kind.CLASS);
}