Трейт scala.reflect.macros.Internals.ContextInternalApi
Трейт ContextInternalApi extends MacroInternalApi
Члены типа
ТрейтDecoratorApi extends AnyRef
- Классы-определения
- InternalApi
- См. также
абстрактный типDecorators <: MacroDecoratorApi
Синтаксические удобства для дополнительных внутренних API для деревьев, символов и типов
- Классы-определения
- MacroInternalApi → InternalApi
ТрейтTransformApi extends AnyRef
ТрейтTypingTransformApi extends TransformApi
Функции, доступные во время typingTransform.
- См. также
ТрейтMacroDecoratorApi extends DecoratorApi
<invalid inheritdoc annotation>
- Классы-определения
- MacroInternalApi
Члены-значения абстрактного типа
абстрактный def annotatedType(annotations: List[Universe.Annotation], underlying: Universe.Type): Universe.AnnotatedType
Создатель типов AnnotatedType.
- Классы-определения
- InternalApi
абстрактный def asFreeTerm(symbol: Universe.Symbol): Universe.FreeTermSymbol
Это символ, преобразованный к символу свободного термина.
- Классы-определения
- InternalApi
- Исключения
ScalaReflectionExceptionеслиisFreeTermложно.
абстрактный def asFreeType(symbol: Universe.Symbol): Universe.FreeTypeSymbol
Этот символ преобразуется в символ свободного типа.
- Классы-определения
- InternalApi
- Исключения
ScalaReflectionExceptionеслиisFreeTypeложно.
абстрактный def attachments(tree: Universe.Tree): Attachments { type Pos = Internals.this.universe.Position }
Прикрепление дерева.
- Классы-определения
- MacroInternalApi
абстрактный def attachments(symbol: Universe.Symbol): Attachments { type Pos = Internals.this.universe.Position }
Прикрепление символа.
- Классы-определения
- MacroInternalApi
абстрактный def boundedWildcardType(bounds: Universe.TypeBounds): Universe.BoundedWildcardType
Создатель типов BoundedWildcardType.
- Классы-определения
- InternalApi
абстрактный def captureVariable(vble: Universe.Symbol): Unit
Пометить переменную как захваченную; т.е. принудительно упаковать в тип *Ref.
- Классы-определения
- MacroInternalApi
абстрактный def capturedVariableType(vble: Universe.Symbol): Universe.Type
Преобразование типа захваченной переменной в тип *Ref.
- Классы-определения
- MacroInternalApi
абстрактный def changeOwner(tree: Universe.Tree, prev: Universe.Symbol, next: Universe.Symbol): tree.type
Сбор всех символов, определенных поддеревьями tree, которые принадлежат prev, а затем изменение их владельца на next.
Необходимый инструмент для борьбы с коррупцией цепочки владельцев при перемещении деревьев из одного лексического контекста в другой. Когда вы берете дерево с атрибутами, которое было проверено на типы в контексте, принадлежащем какому-то символу (назовем его x), и вставляете его в другое место, в контекст, принадлежащий другому символу (назовем его y), необходимо вызвать untypecheck или changeOwner(tree, x, y).
Поскольку в данный момент у untypecheck есть фундаментальная проблема, которая иногда может привести к повреждению дерева, changeOwner становится незаменимым инструментом при создании 100% надежных макросов. Будущие версии API отражения могут избавить от необходимости заниматься этими низкоуровневыми деталями, но пока все так.
- Классы-определения
- MacroInternalApi
абстрактный def classDef(sym: Universe.Symbol, impl: Universe.Template): Universe.ClassDef
Метод-фабрика для узлов ClassDef.
- Классы-определения
- InternalApi
абстрактный метод classInfoType(parents: List[Universe.Type], decls: Universe.Scope, typeSymbol: Universe.Symbol): Universe.ClassInfoType
Создатель для типов ClassInfoType.
- Определяющие классы
- InternalApi
абстрактный метод constantType(value: Universe.Constant): Universe.ConstantType
Создатель для типов ConstantType.
- Определяющие классы
- InternalApi
абстрактный метод createImporter(from0: api.Universe): Universe.Importer { val from: from0.type }
Создаёт импортёр, который перемещает артефакты рефлексии между вселенными.
- Определяющие классы
- InternalApi
- См. также
абстрактный метод deSkolemize(symbol: Universe.Symbol): Universe.Symbol
Если этот символ является сколемом, то его соответствующий параметр типа, в противном случае сам символ.
Цитата Мартина Одерски, сколемы — это синтетические типы «констант», которые являются копиями существенно связанных или универсально связанных переменных типа. Например, если находится в правой части метода:
def foo[T](x: T) = ... foo[List[T]]....
сколем с именем T относится к неизвестному экземпляру типа T при вызове foo. Он должен отличаться от параметра типа, потому что в рекурсивном вызове, как в foo[List[T]] выше, параметр типа заменяется на List[T], но типовой сколем остаётся тем же.
Другая форма сколема — это существенный сколем. Предположим, есть функция
def bar(xs: List[T] forSome { type T }) = xs.head
тогда каждый экземпляр xs в правой части будет иметь тип List[T'], где T' — свежая копия T.
- Определяющие классы
- InternalApi
абстрактный значение decorators: Decorators
- Определяющие классы
- InternalApi
- См. также
абстрактный метод defDef(sym: Universe.Symbol, rhs: (List[List[Universe.Symbol]]) => Universe.Tree): Universe.DefDef
Метод-фабрика для узлов DefDef.
- Определяющие классы
- InternalApi
абстрактный метод defDef(sym: Universe.Symbol, rhs: Universe.Tree): Universe.DefDef
Метод-фабрика для узлов DefDef.
- Определяющие классы
- InternalApi
абстрактный метод defDef(sym: Universe.Symbol, mods: Universe.Modifiers, rhs: Universe.Tree): Universe.DefDef
Метод-фабрика для узлов DefDef.
- Определяющие классы
- InternalApi
абстрактный метод defDef(sym: Universe.Symbol, vparamss: List[List[Universe.ValDef]], rhs: Universe.Tree): Universe.DefDef
Метод-фабрика для узлов DefDef.
- Определяющие классы
- InternalApi
абстрактный метод defDef(символ: Universe.Symbol, модификаторы: Universe.Modifiers, список списков параметров: List[List[Universe.ValDef]], правая часть: Universe.Tree): Universe.DefDef
Метод-фабрика для узлов DefDef.
- Определение классов
- InternalApi
абстрактный метод defineType(дерево: Universe.Tree, тип: Universe.Type): дерево.type
Подобно setType, но если это ранее пустой TypeTree, этот факт запоминается, так что untypecheck вернётся назад.
\@PP: Пытаясь пояснить вышесказанное, я обнаружил: Если defineType вызывается для TypeTree, поле типа которого равно null или NoType, это регистрируется как "wasEmpty = true". Это значение используется в ResetAttrsTraverser, который обнуляет поле типа TypeTree, для которого wasEmpty равно true, оставляя другие в покое.
untypecheck (или resetAttrs в терминологии компилятора) используется в ситуациях, когда происходит какая-то умозрительная типизация дерева, которая терпит неудачу, и дерево должно быть возвращено в прежнее состояние, чтобы попробовать снова. Таким образом, по моему мнению: использование defineType вместо setType — это способ сообщить, что устанавливаемый тип не зависит от предыдущего состояния, и поэтому его следует отказаться от него, если текущая линия запроса типа не сработает.
- Определение классов
- MacroInternalApi
абстрактный метод enclosingOwner: blackbox.Context.Symbol
Символ, связанный с самым внутренним окружающим лексическим контекстом. Переход по цепочке владельцев этого символа покажет информацию о всё более и более окружающих контекстах.
абстрактный метод enter(области: Universe.Scope, символ: Universe.Symbol): области.type
Добавляет указанный символ в указанную область.
- Определение классов
- MacroInternalApi
абстрактный метод existentialAbstraction(параметры_типов: List[Universe.Symbol], тип0: Universe.Type): Universe.Type
Создатель для экзистенциальных типов. Это генерирует:
tpe1 where { tparams }
где tpe1 — результат экстраполяции tpe относительно tparams. Экстраполяция означает, что переменные типа в tparams, встречающиеся в ковариантных позициях, заменяются верхними границами (минус любые маркеры SingletonClass), переменные типа в tparams, встречающиеся в контравариантных позициях, заменяются верхними границами, при условии, что полученный тип является законным относительно стабильности и не содержит переменной типа в tparams.
Абстракция отбрасывает все параметры типа, которые напрямую или косвенно не ссылаются на тип tpe1. Если оставшихся параметров типа нет, просто возвращает тип результата tpe.
- Определение классов
- InternalApi
абстрактный метод existentialType(квантифицированные: List[Universe.Symbol], основа: Universe.Type): Universe.ExistentialType
Создатель для типов ExistentialType.
- Определение классов
- InternalApi
абстрактный метод flags(символ: Universe.Symbol): Universe.FlagSet
Возвращает внутренние флаги, связанные с символом.
- Определение классов
- InternalApi
абстрактный метод freeTerms(дерево: Universe.Tree): List[Universe.FreeTermSymbol]
Извлекает свободные символы терминов из дерева, которое реифицировано или содержит реифицированные поддеревья.
- Определение классов
- InternalApi
абстрактный метод freeTypes(дерево: Universe.Tree): List[Universe.FreeTypeSymbol]
Извлекает свободные символы типов из дерева, которое реифицировано или содержит реифицированные поддеревья.
- Определение классов
- InternalApi
abstract def fullyInitialize(scope: Universe.Scope): scope.type
Вызывает initialize для всех символов, составляющих область видимости.
- Definition Classes
- InternalApi
abstract def fullyInitialize(tp: Universe.Type): tp.type
Вызывает initialize для всех параметром значений и типов типа.
- Definition Classes
- InternalApi
abstract def fullyInitialize(symbol: Universe.Symbol): symbol.type
Вызывает initialize для владельца и всех параметров значений и типов символа.
- Definition Classes
- InternalApi
abstract val gen: TreeGen
Расширенные фабрики деревьев
- Definition Classes
- MacroInternalApi
abstract def initialize(symbol: Universe.Symbol): symbol.type
Принудительно выполняет все ожидающие завершения, связанные с этим символом. После возвращения этого вызова символ становится неизменяемым и потокобезопасным.
- Definition Classes
- InternalApi
abstract def intersectionType(tps: List[Universe.Type], owner: Universe.Symbol): Universe.Type
Создатель типа пересечения, где пересечения одного типа заменяются самим типом, а повторяющиеся родительские классы объединяются.
!!! Повторяющиеся родительские классы не объединяются - это ошибка в комментарии или в коде?
- Definition Classes
- InternalApi
abstract def intersectionType(tps: List[Universe.Type]): Universe.Type
Создатель типа пересечения, где пересечения одного типа заменяются самим типом.
- Definition Classes
- InternalApi
abstract def isErroneous(symbol: Universe.Symbol): Boolean
Является ли этот символ или его базовый тип ошибкой проверки типов?
- Definition Classes
- InternalApi
abstract def isFreeTerm(symbol: Universe.Symbol): Boolean
Представляет ли этот символ свободный термин, захваченный реификацией? Если да, то isTerm также гарантированно будет истинным.
- Definition Classes
- InternalApi
abstract def isFreeType(symbol: Universe.Symbol): Boolean
Представляет ли этот символ свободный тип, захваченный реификацией? Если да, то isType также гарантированно будет истинным.
- Definition Classes
- InternalApi
abstract def isSkolem(symbol: Universe.Symbol): Boolean
Представляет ли этот символ определение сколема? Сколемы используются во время проверки типов для представления параметров типов, рассматриваемых изнутри своих областей видимости.
- Definition Classes
- InternalApi
abstract def labelDef(sym: Universe.Symbol, params: List[Universe.Symbol], rhs: Universe.Tree): Universe.LabelDef
Метод-фабрика для узлов LabelDef.
- Definition Classes
- InternalApi
abstract def methodType(params: List[Universe.Symbol], resultType: Universe.Type): Universe.MethodType
Создатель типов MethodType.
- Definition Classes
- InternalApi
abstract def moduleDef(sym: Universe.Symbol, impl: Universe.Template): Universe.ModuleDef
Метод-фабрика для узлов ModuleDef.
- Definition Classes
- InternalApi
abstract def newClassSymbol(owner: Universe.Symbol, name: Universe.TypeName, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): Universe.ClassSymbol
- Definition Classes
- InternalApi
abstract def newFreeTerm(name: String, value: => Any, flags: Universe.FlagSet = NoFlags, origin: String = null): Universe.FreeTermSymbol
- Definition Classes
- InternalApi
abstract def newFreeType(name: String, flags: Universe.FlagSet = NoFlags, origin: String = null): Universe.FreeTypeSymbol
- Definition Classes
- InternalApi
abstract def newMethodSymbol(owner: Universe.Symbol, name: Universe.TermName, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): Universe.MethodSymbol
- Definition Classes
- InternalApi
abstract def newModuleAndClassSymbol(owner: Universe.Symbol, name: Universe.Name, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): (Universe.ModuleSymbol, Universe.ClassSymbol)
- Definition Classes
- InternalApi
abstract def newScopeWith(elems: Universe.Symbol*): Universe.Scope
Создайте новую область видимости с заданными начальными элементами.
- Definition Classes
- InternalApi
abstract def newTermSymbol(owner: Universe.Symbol, name: Universe.TermName, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): Universe.TermSymbol
- Definition Classes
- InternalApi
abstract def newTypeSymbol(owner: Universe.Symbol, name: Universe.TypeName, pos: Universe.Position = NoPosition, flags: Universe.FlagSet = NoFlags): Universe.TypeSymbol
- Definition Classes
- InternalApi
abstract def nullaryMethodType(resultType: Universe.Type): Universe.NullaryMethodType
Создатель типов NullaryMethodType.
- Definition Classes
- InternalApi
abstract def polyType(tparams: List[Universe.Symbol], tpe: Universe.Type): Universe.PolyType
Создатель параметризаций типов, который удаляет пустые списки параметров типов. Используйте этот фабричный метод, чтобы указать, что тип имеет вид * (это полиморфное значение), пока мы не начнем отслеживать явные виды, эквивалентные typeFun (за исключением того, что последний требует tparams nonEmpty).
- Definition Classes
- InternalApi
abstract def referenceCapturedVariable(vble: Universe.Symbol): Universe.Tree
Пометить данный идентификатор как ссылку на саму захваченную переменную, подавляя обращение к ней с помощью поля elem.
- Definition Classes
- MacroInternalApi
abstract def refinedType(parents: List[Universe.Type], owner: Universe.Symbol, decls: Universe.Scope, pos: Universe.Position): Universe.Type
Создатель типов RefinedType.
- Definition Classes
- InternalApi
abstract def refinedType(parents: List[Universe.Type], owner: Universe.Symbol, decls: Universe.Scope): Universe.Type
Создатель типов RefinedType.
- Definition Classes
- InternalApi
abstract def refinedType(parents: List[Universe.Type], owner: Universe.Symbol): Universe.Type
Создатель типов RefinedType.
- Definition Classes
- InternalApi
abstract def refinedType(parents: List[Universe.Type], decls: Universe.Scope, clazz: Universe.Symbol): Universe.RefinedType
Создатель для типов RefinedType.
- Классы-определения
- InternalApi
абстрактный def refinedType(parents: Список[Тип Вселенной], decls: Область Вселенной): Очищенный тип Вселенной
Создатель для типов RefinedType.
- Классы-определения
- InternalApi
абстрактный val reificationSupport: Интерфейс поддержки реификации Вселенной
Это внутренний модуль реализации.
- Классы-определения
- InternalApi
абстрактный def removeAttachment[T](tree: Дерево Вселенной)(неявный arg0: ClassTag[T]): tree.type
Обновить прикрепление с удаленным содержимым заданного типа класса T. Возвращает само дерево.
- Классы-определения
- Интерфейс макроса Вселенной
абстрактный def removeAttachment[T](symbol: Символ Вселенной)(неявный arg0: ClassTag[T]): symbol.type
Обновить прикрепление с удаленным содержимым заданного типа класса T. Возвращает сам символ.
- Классы-определения
- Интерфейс макроса Вселенной
абстрактный def resetFlag(symbol: Символ Вселенной, flags: Набор флагов Вселенной): symbol.type
Отключает flags для символа.
- Классы-определения
- Интерфейс макроса Вселенной
абстрактный def setAnnotations(symbol: Символ Вселенной, annots: Аннотация Вселенной*): symbol.type
Устанавливает annotations символа.
- Классы-определения
- Интерфейс макроса Вселенной
абстрактный def setFlag(symbol: Символ Вселенной, flags: Набор флагов Вселенной): symbol.type
Включает flags для символа.
- Классы-определения
- Интерфейс макроса Вселенной
абстрактный def setInfo(symbol: Символ Вселенной, tpe: Тип Вселенной): symbol.type
Устанавливает info символа.
- Классы-определения
- Интерфейс макроса Вселенной
абстрактный def setName(symbol: Символ Вселенной, name: Имя Вселенной): symbol.type
Устанавливает name символа.
- Классы-определения
- Интерфейс макроса Вселенной
абстрактный def setOriginal(tt: Дерево типа Вселенной, original: Дерево Вселенной): Дерево типа Вселенной
Устанавливает поле original дерева типа.
- Классы-определения
- Интерфейс макроса Вселенной
абстрактный метод setOwner(symbol: Universe.Symbol, newowner: Universe.Symbol): symbol.type
Устанавливает owner символа.
- Определяющие классы
- MacroInternalApi
абстрактный метод setPos(tree: Universe.Tree, newpos: Universe.Position): tree.type
Устанавливает pos дерева. Возвращает само дерево.
- Определяющие классы
- MacroInternalApi
абстрактный метод setPrivateWithin(symbol: Universe.Symbol, sym: Universe.Symbol): symbol.type
Устанавливает privateWithin символа.
- Определяющие классы
- MacroInternalApi
абстрактный метод setSymbol(tree: Universe.Tree, sym: Universe.Symbol): tree.type
Устанавливает symbol дерева. Возвращает само дерево.
- Определяющие классы
- MacroInternalApi
абстрактный метод setType(tree: Universe.Tree, tp: Universe.Type): tree.type
Устанавливает tpe дерева. Возвращает само дерево.
- Определяющие классы
- MacroInternalApi
абстрактный метод singleType(pre: Universe.Type, sym: Universe.Symbol): Universe.Type
Создатель для типов SingleType.
- Определяющие классы
- InternalApi
абстрактный метод subpatterns(tree: Universe.Tree): Option[List[Universe.Tree]]
Возвращает неустановленный список подпатернов, присоединённых к селектору-заглушке узла UnApply. Полезно при написании макросов квазицитирования, выполняющих сопоставление с образцом.
- Определяющие классы
- MacroInternalApi
абстрактный метод substituteSymbols(tree: Universe.Tree, from: List[Universe.Symbol], to: List[Universe.Symbol]): Universe.Tree
Заменяет символы в to на соответствующие вхождения ссылок на символы from в этом типе.
- Определяющие классы
- InternalApi
абстрактный метод substituteThis(tree: Universe.Tree, clazz: Universe.Symbol, to: => Universe.Tree): Universe.Tree
Заменяет данное дерево to на вхождения узлов, представляющих C.this, где C относится к заданному классу clazz.
- Определяющие классы
- InternalApi
абстрактный метод substituteTypes(tree: Universe.Tree, from: List[Universe.Symbol], to: List[Universe.Type]): Universe.Tree
Заменяет типы в to на соответствующие вхождения ссылок на символы from в этом дереве.
- Определяющие классы
- InternalApi
abstract def superType(thistpe: Universe.Type, supertpe: Universe.Type): Universe.Type
A creator for SuperType types.
- Definition Classes
- InternalApi
abstract def thisType(sym: Universe.Symbol): Universe.Type
A creator for ThisType types.
- Definition Classes
- InternalApi
abstract def transform(tree: blackbox.Context.Tree)(transformer: (blackbox.Context.Tree, TransformApi) => blackbox.Context.Tree): blackbox.Context.Tree
Преобразует заданное дерево, используя предоставленную функцию.
- См. также
abstract def typeBounds(lo: Universe.Type, hi: Universe.Type): Universe.TypeBounds
A creator for TypeBounds types.
- Definition Classes
- InternalApi
abstract def typeDef(sym: Universe.Symbol): Universe.TypeDef
A factory method for TypeDef nodes.
- Definition Classes
- InternalApi
abstract def typeDef(sym: Universe.Symbol, rhs: Universe.Tree): Universe.TypeDef
A factory method for TypeDef nodes.
- Definition Classes
- InternalApi
abstract def typeRef(pre: Universe.Type, sym: Universe.Symbol, args: List[Universe.Type]): Universe.Type
A creator for TypeRef types.
- Definition Classes
- InternalApi
abstract def typingTransform(tree: blackbox.Context.Tree, owner: blackbox.Context.Symbol)(transformer: (blackbox.Context.Tree, TypingTransformApi) => blackbox.Context.Tree): blackbox.Context.Tree
Преобразует заданное дерево в заданном владельце, используя предоставленную функцию.
- См. также
abstract def typingTransform(tree: blackbox.Context.Tree)(transformer: (blackbox.Context.Tree, TypingTransformApi) => blackbox.Context.Tree): blackbox.Context.Tree
Преобразует заданное дерево с помощью предоставленной функции.
- См. также
абстрактный def unlink(scope: Universe.Scope, sym: Universe.Symbol): scope.type
Удаляет заданный символ из данного области видимости.
- Определяющие классы
- MacroInternalApi
абстрактный def updateAttachment[T](tree: Universe.Tree, attachment: T)(неявный arg0: ClassTag[T]): tree.type
Обновляет привязку с помощью слота загрузки T, добавленного/обновленного с предоставленным значением. Заменяет существующую загрузку того же типа, если она существует. Возвращает само дерево.
- Определяющие классы
- MacroInternalApi
абстрактный def updateAttachment[T](symbol: Universe.Symbol, attachment: T)(неявный arg0: ClassTag[T]): symbol.type
Обновляет привязку с помощью слота загрузки T, добавленного/обновленного с предоставленным значением. Заменяет существующую загрузку того же типа, если она существует. Возвращает сам символ.
- Определяющие классы
- MacroInternalApi
абстрактный def valDef(sym: Universe.Symbol): Universe.ValDef
Метод-фабрика для узлов ValDef.
- Определяющие классы
- InternalApi
абстрактный def valDef(sym: Universe.Symbol, rhs: Universe.Tree): Universe.ValDef
Метод-фабрика для узлов ValDef.
- Определяющие классы
- InternalApi
Члены-значения конкретного типа
final def !=(arg0: Any): Boolean
- Определяющие классы
- AnyRef → Any
final def ##(): Int
- Определяющие классы
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из blackbox.Context.ContextInternalApi вany2stringadd[blackbox.Context.ContextInternalApi] с помощью метода any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (blackbox.Context.ContextInternalApi, B)
- Неявный
- Этот член добавлен неявным преобразованием из blackbox.Context.ContextInternalApi вArrowAssoc[blackbox.Context.ContextInternalApi] с помощью метода ArrowAssoc в scala.Predef.
- Определяющие классы
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
- Определяющие классы
- AnyRef → Any
final def asInstanceOf[T0]: T0
- Определяющие классы
- Any
def clone(): AnyRef
- Атрибуты
- protected[java.lang]
- Определяющие классы
- AnyRef
- Аннотации
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
def ensuring(cond: (blackbox.Context.ContextInternalApi) => Boolean, msg: => Any): blackbox.Context.ContextInternalApi
- Неявный
- Этот член добавлен неявным преобразованием из blackbox.Context.ContextInternalApi вEnsuring[blackbox.Context.ContextInternalApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (blackbox.Context.ContextInternalApi) => Boolean): blackbox.Context.ContextInternalApi
- Неявный
- Этот член добавлен неявным преобразованием из blackbox.Context.ContextInternalApi вEnsuring[blackbox.Context.ContextInternalApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): blackbox.Context.ContextInternalApi
- Неявный
- Этот член добавлен неявным преобразованием из blackbox.Context.ContextInternalApi вEnsuring[blackbox.Context.ContextInternalApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): blackbox.Context.ContextInternalApi
- Неявный
- Этот член добавляется неявным преобразованием из blackbox.Context.ContextInternalApi в Ensuring[blackbox.Context.ContextInternalApi] выполненным методом Ensuring в scala.Predef.
- Классы определения
- Ensuring
final def eq(arg0: AnyRef): Boolean
- Классы определения
- AnyRef
def equals(arg0: AnyRef): Boolean
- Классы определения
- AnyRef → Any
def finalize(): Unit
- Атрибуты
- protected[java.lang]
- Классы определения
- AnyRef
- Аннотации
- @throws(classOf[java.lang.Throwable])
def formatted(fmtstr: String): String
- Неявный
- Этот член добавляется неявным преобразованием из blackbox.Context.ContextInternalApi в StringFormat[blackbox.Context.ContextInternalApi] выполненным методом StringFormat в scala.Predef.
- Классы определения
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_ <: AnyRef]
- Классы определения
- AnyRef → Any
- Аннотации
- @native()
def hashCode(): Int
- Классы определения
- AnyRef → Any
- Аннотации
- @native()
final def isInstanceOf[T0]: Boolean
- Классы определения
- Any
def manifestToTypeTag[T](mirror: Any, manifest: Manifest[T]): api.Universe.TypeTag[T]
Преобразование scala.reflect.Manifest в scala.reflect.api.TypeTags#TypeTag.
Компилятор обычно автоматически генерирует эти преобразования, когда манифест для типа T находится в области видимости, и требуется неявное значение типа TypeTag[T], но этот метод также можно вызывать вручную. Например:
manifestToTypeTag(scala.reflect.runtime.currentMirror, implicitly[Manifest[String]])
- Классы определения
- InternalApi
final def ne(arg0: AnyRef): Boolean
- Классы определения
- AnyRef
final def notify(): Unit
- Классы определения
- AnyRef
- Аннотации
- @native()
final def notifyAll(): Unit
- Классы определения
- AnyRef
- Аннотации
- @native()
final def synchronized[T0](arg0: => T0): T0
- Классы определения
- AnyRef
def toString(): String
- Классы определения
- AnyRef → Any
def typeTagToManifest[T](mirror: Any, tag: api.Universe.TypeTag[T])(implicit arg0: ClassTag[T]): Manifest[T]
Преобразование scala.reflect.api.TypeTags#TypeTag в scala.reflect.Manifest.
Компилятор обычно автоматически генерирует эти преобразования, когда метка типа для типа T находится в области видимости, и требуется неявное значение типа Manifest[T], но этот метод также можно вызывать вручную. Например:
typeTagToManifest(scala.reflect.runtime.currentMirror, implicitly[TypeTag[String]])
- Классы определения
- InternalApi
final def wait(): Unit
- Определяющие классы
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Определяющие классы
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
- Определяющие классы
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException]) @native()
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala-reflect/scala/reflect/macros/Internals$ContextInternalApi.html
scala.reflect.api.Internals