Spec-Zone.ru › Homebrew

Класс: CompilerFailure Частный

Наследует:
Object
  • Object
  • CompilerFailure
показать всё
Определён в:
compilers/compiler_failure.rb

Обзор

Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.

Класс для проверки совместимости компилятора с формулой.

Краткое описание атрибутов экземпляра свернуть

  • #type ⇒ Symbol только для чтения частный

Краткое описание методов класса свернуть

  • .create(spec, &block) ⇒ T.attached_class частный

Краткое описание методов экземпляра свернуть

  • #cause(_) ⇒ void частный

    Причина больше не используется, поэтому нет необходимости сохранять ссылку на строку.

  • #fails_with?(compiler) ⇒ Boolean частный
  • #version(val = T.unsafe(nil)) ⇒ Version (также: #build) частный

Подробное описание атрибутов экземпляра

#type ⇒ Symbol (только для чтения)

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Symbol)


7
8
9
# File 'compilers/compiler_failure.rb', line 7

def type
  @type
end

Подробное описание методов класса

.create(spec, &block) ⇒ T.attached_class

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • spec (Symbol, Hash{Symbol => String})
  • block (T.proc.void, nil)

Возвращает:

  • (T.attached_class)


26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'compilers/compiler_failure.rb', line 26

def self.create(spec, &block)
  # Non-Apple compilers are in the format fails_with compiler => version
  if spec.is_a?(Hash)
    compiler, major_version = spec.first
    raise ArgumentError, "The `fails_with` hash syntax only supports GCC" if compiler != :gcc

    type = compiler
    # so `fails_with gcc: "7"` simply marks all 7 releases incompatible
    version = "#{major_version}.999"
    exact_major_match = true
  else
    type = spec
    version = 9999
    exact_major_match = false
  end
  new(type, version, exact_major_match:, &block)
end

Подробное описание методов экземпляра

#cause(_) ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Причина больше не используется, поэтому нет необходимости сохранять ссылку на строку.

Параметры:

  • _ (String)


21
# File 'compilers/compiler_failure.rb', line 21

def cause(_); end

#fails_with?(compiler) ⇒ Boolean

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • compiler (CompilerSelector::Compiler)

Возвращает:

  • (Boolean)


45
46
47
48
49
50
51
52
53
54
# File 'compilers/compiler_failure.rb', line 45

def fails_with?(compiler)
  version_matched = if type != :gcc
    version >= compiler.version
  elsif @exact_major_match
    gcc_major(version) == gcc_major(compiler.version) && version >= compiler.version
  else
    gcc_major(version) >= gcc_major(compiler.version)
  end
  type == compiler.type && version_matched
end

#version(val = T.unsafe(nil)) ⇒ Version Также известен как: build

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • val (Integer, String) (по умолчанию: T.unsafe(nil))

Возвращает:

  • (Version)


10
11
12
13
# File 'compilers/compiler_failure.rb', line 10

def version(val = T.unsafe(nil))
  @version = Version.parse(val.to_s) if val
  @version
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/CompilerFailure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API