Interface LanguageService

All Known Subinterfaces:
VersionedLanguageService
All Known Implementing Classes:
DefaultLanguageService

public interface LanguageService
Service that provides a Language given a name, and information about the language.
  • Method Details

    • getLanguage

      Language getLanguage(LanguageID languageID) throws LanguageNotFoundException
      Returns the language with the given language ID
      Parameters:
      languageID - the ID of language to retrieve
      Returns:
      the Language matching the given ID
      Throws:
      LanguageNotFoundException - if no language can be found for the given ID
    • getDefaultLanguage

      Language getDefaultLanguage(Processor processor) throws LanguageNotFoundException
      Returns the default Language to use for the given processor;
      Parameters:
      processor - the processor for which to get a language.
      Throws:
      LanguageNotFoundException - if there is no languages at all for the given processor.
    • getLanguageDescription

      LanguageDescription getLanguageDescription(LanguageID languageID) throws LanguageNotFoundException
      Get language information for the given language ID.
      Parameters:
      languageID - the id for the language.
      Returns:
      language information for the given language ID.
      Throws:
      LanguageNotFoundException - if there is no language for the given ID.
    • getLanguageDescriptions

      List<LanguageDescription> getLanguageDescriptions(boolean includeDeprecatedLanguages)
      Returns all known language Descriptions
      Parameters:
      includeDeprecatedLanguages - TODO
      Returns:
      all know language Descriptions.
    • getLanguageDescriptions

      @Deprecated List<LanguageDescription> getLanguageDescriptions(Processor processor, Endian endianness, Integer size, String variant)
      Deprecated.
      Returns all known language descriptions which satisfy the criteria identify by the non-null parameters. A null value implies a don't-care wildcard value.
      Parameters:
      processor - the processor for which to get a language
      endianness - big or little
      size - processor address space size (in bits)
      variant - the processor version (usually 'default')
      Returns:
      the language descriptions that fit the parameters
    • getLanguageCompilerSpecPairs

      List<LanguageCompilerSpecPair> getLanguageCompilerSpecPairs(LanguageCompilerSpecQuery query)
      Returns all known language/compiler spec pairs which satisfy the criteria identify by the non-null parameters. A null value implies a don't-care wildcard value. OMITS DEPRECATED LANGUAGES.
      Parameters:
      query - TODO
      Returns:
    • getLanguageCompilerSpecPairs

      List<LanguageCompilerSpecPair> getLanguageCompilerSpecPairs(ExternalLanguageCompilerSpecQuery query)
      Returns all known language/compiler spec pairs which satisfy the criteria identify by the non-null parameters. A null value implies a don't-care wildcard value. OMITS DEPRECATED LANGUAGES. This uses an ExternalLanguageCompilerSpecQuery rather than a LanguageCompilerSpecQuery.
      Parameters:
      query -
      Returns:
    • getLanguageDescriptions

      List<LanguageDescription> getLanguageDescriptions(Processor processor)
      Returns all language Descriptions associated with the given processor.
      Parameters:
      processor - the processor for which to retrieve all know language descriptions.