All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.pmd.lang.modelica.resolver.SubcomponentResolver Maven / Gradle / Ivy

The newest version!
/**
 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
 */

package net.sourceforge.pmd.lang.modelica.resolver;

import net.sourceforge.pmd.lang.modelica.resolver.internal.ResolutionState;

/**
 * This interface represents something that, being looked up by some prefix of composite name,
 * may resolve further name parts. Lexically, this is represented by a dot-notation.
 *
 * Please do not confuse this with {@link ModelicaScope} representing lexical scope,
 * that resolves names as if they are written in the corresponding part of the source file.
 */
public interface SubcomponentResolver {
    /**
     * Resolves `name as if resolving subcomponents through the type of base component
     *
     * @param state The resolution state
     * @param name  The name to resolve
     * @return The resolved declarations
     */
     ResolutionResult safeResolveComponent(Class clazz, ResolutionState state, CompositeName name);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy