<commit_before>/*
 * Copyright 2011 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.gradle.tooling.internal.provider;

import org.gradle.api.Project;
import org.gradle.api.Task;
import org.gradle.api.internal.GradleInternal;
import org.gradle.api.tasks.TaskContainer;
import org.gradle.tooling.internal.DefaultGradleProject;
import org.gradle.tooling.internal.DefaultGradleTask;
import org.gradle.tooling.internal.protocol.InternalGradleProject;
import org.gradle.tooling.internal.protocol.ProjectVersion3;
import org.gradle.tooling.model.GradleTask;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * Builds the GradleProject that contains the project hierarchy and task information
 *
 * @author: <NAME>, created at: 7/27/11
 */
public class GradleProjectBuilder implements BuildsModel {
    public boolean canBuild(Class type) {
        return type == InternalGradleProject.class;
    }

    public ProjectVersion3 buildAll(GradleInternal gradle) {
        DefaultGradleProject root = buildHierarchy(gradle.getRootProject());
        return root;
    }

    private DefaultGradleProject buildHierarchy(Project project) {
        List<DefaultGradleProject> children = new ArrayList<DefaultGradleProject>();
        for (Project child : project.getChildProjects().values()) {
            children.add(buildHierarchy(child));
        }
<commit_msg>Housekeeping, Specialized the return value<commit_after>/*
 * Copyright 2011 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.gradle.tooling.internal.provider;

import org.gradle.api.Project;
import org.gradle.api.Task;
import org.gradle.api.internal.GradleInternal;
import org.gradle.api.tasks.TaskContainer;
import org.gradle.tooling.internal.DefaultGradleProject;
import org.gradle.tooling.internal.DefaultGradleTask;
import org.gradle.tooling.internal.protocol.InternalGradleProject;
import org.gradle.tooling.model.GradleTask;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * Builds the GradleProject that contains the project hierarchy and task information
 *
 * @author: <NAME>, created at: 7/27/11
 */
public class GradleProjectBuilder implements BuildsModel {
    public boolean canBuild(Class type) {
        return type == InternalGradleProject.class;
    }

    public DefaultGradleProject buildAll(GradleInternal gradle) {
        DefaultGradleProject root = buildHierarchy(gradle.getRootProject());
        return root;
    }

    private DefaultGradleProject buildHierarchy(Project project) {
        List<DefaultGradleProject> children = new ArrayList<DefaultGradleProject>();
        for (Project child : project.getChildProjects().values()) {
            children.add(buildHierarchy(child));
        }

{'fraction_non_alphanumeric': 0.08615782664941785, 'fraction_numerical': 0.007244501940491591, 'mean_word_length': 4.210242587601078, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '381624', 'n_tokens_mistral': 1056, 'n_tokens_neox': 1013, 'n_words': 326}