public Set<? extends CharSequence> getAllTypeNames() { TypeSystem.lock(); try { Set<CharSequence> names = new HashSet<CharSequence>(); names.addAll(getDefaultTypes().keySet()); // Walk the list backward so we resolve type dependencies in the correct order List<ITypeLoader> loaders = getAllTypeLoaders(); for (int i = loaders.size() - 1; i >= 0; i--) { names.addAll(loaders.get(i).getAllTypeNames()); } return names; } finally { TypeSystem.unlock(); } }
public Set<? extends CharSequence> getAllTypeNames() { TypeSystem.lock(); try { Set<CharSequence> names = new HashSet<CharSequence>(); names.addAll(getDefaultTypes().keySet()); // Walk the list backward so we resolve type dependencies in the correct order List<ITypeLoader> loaders = getAllTypeLoaders(); for (int i = loaders.size() - 1; i >= 0; i--) { names.addAll(loaders.get(i).getAllTypeNames()); } return names; } finally { TypeSystem.unlock(); } }
public static Set<TypeName> getTypeNames(String parentNamespace, ITypeLoader loader) { Set<TypeName> typeNames = new HashSet<TypeName>(); for (CharSequence typeNameCS : loader.getAllTypeNames()) { String typeName = typeNameCS.toString(); String packageName = GosuClassUtil.getPackage(typeName); if (packageName.equals(parentNamespace)) { typeNames.add(new TypeName(typeName, loader, TypeName.Kind.TYPE, TypeName.Visibility.PUBLIC)); } } for (CharSequence namespaceCs : loader.getAllNamespaces()) { String namespace = namespaceCs.toString(); String containingPackageName = GosuClassUtil.getPackage(namespace); if (containingPackageName.equals(parentNamespace)) { typeNames.add(new TypeName(GosuClassUtil.getNameNoPackage(namespace), loader, TypeName.Kind.NAMESPACE, TypeName.Visibility.PUBLIC)); } } return typeNames; }
public static Set<TypeName> getTypeNames(String parentNamespace, ITypeLoader loader) { Set<TypeName> typeNames = new HashSet<TypeName>(); for (CharSequence typeNameCS : loader.getAllTypeNames()) { String typeName = typeNameCS.toString(); String packageName = GosuClassUtil.getPackage(typeName); if (packageName.equals(parentNamespace)) { typeNames.add(new TypeName(typeName, loader, TypeName.Kind.TYPE, TypeName.Visibility.PUBLIC)); } } for (CharSequence namespaceCs : loader.getAllNamespaces()) { String namespace = namespaceCs.toString(); String containingPackageName = GosuClassUtil.getPackage(namespace); if (containingPackageName.equals(parentNamespace)) { typeNames.add(new TypeName(GosuClassUtil.getNameNoPackage(namespace), loader, TypeName.Kind.NAMESPACE, TypeName.Visibility.PUBLIC)); } } return typeNames; }
for( CharSequence typeName : loader.getAllTypeNames() )
protected void compileGosu() throws IOException { // FIXME-isd: Iterate through gosu classes in the source directories only... ITypeLoader typeLoader = TypeSystem.getTypeLoader(GosuClassTypeLoader.class, TypeSystem.getCurrentModule()); Set<? extends CharSequence> allTypeNames = typeLoader.getAllTypeNames(); int count = 0; for (CharSequence cs : allTypeNames) { String typeName = cs.toString(); if (includeType(typeName)) { IType type = TypeSystem.getByFullName(typeName); if (type instanceof IGosuClass) { IGosuClass gosuClass = (IGosuClass) type; // Write class + inner classes String fileName = type.getName().replace('.', '/'); count += compileClass(gosuClass, fileName); } } } getLog().info("Compiled " + count + " Gosu types to the " + getOutputFolder()); }