idea/community.git
3 years agovcs-ignore: implement ability to update ignore files
Dmitry Zhuravlev [Fri, 2 Nov 2018 13:33:54 +0000 (16:33 +0300)]
vcs-ignore: implement ability to update ignore files

3 years agovcs-ignore: add ignore language psi
Dmitry Zhuravlev [Mon, 29 Oct 2018 13:36:19 +0000 (16:36 +0300)]
vcs-ignore: add ignore language psi

Language grammar files for generating parser and lexer are mostly taken from .ignore plugin. It was used to generate PSI elements definitions for ignore language.

3 years ago[gradle] don't feed properties into a processor if processor doesn't want them
Daniil Ovchinnikov [Thu, 18 Apr 2019 12:09:54 +0000 (15:09 +0300)]
[gradle] don't feed properties into a processor if processor doesn't want them

This fixes GradleDistributionsTest#'distribution via unqualified property reference'.

3 years agoOrder and group exported EditorConfig sections by file patterns
Rustam Vishnyakov [Thu, 18 Apr 2019 11:51:20 +0000 (14:51 +0300)]
Order and group exported EditorConfig sections by file patterns

3 years agoremove BegCheckBoxUI
Konstantin Bulenkov [Thu, 18 Apr 2019 11:47:59 +0000 (13:47 +0200)]
remove BegCheckBoxUI

3 years agocleanup, notnull
Alexey Kudravtsev [Thu, 18 Apr 2019 00:02:14 +0000 (03:02 +0300)]
cleanup, notnull

3 years agooptimization: do not query next char from document eagerly
Alexey Kudravtsev [Wed, 17 Apr 2019 21:22:40 +0000 (00:22 +0300)]
optimization: do not query next char from document eagerly

3 years agohighlighters cleanup
Alexey Kudravtsev [Wed, 17 Apr 2019 21:21:37 +0000 (00:21 +0300)]
highlighters cleanup

3 years agoa couple more typing performance tests
Alexey Kudravtsev [Wed, 17 Apr 2019 15:42:05 +0000 (18:42 +0300)]
a couple more typing performance tests

3 years agosmall optimization
Alexey Kudravtsev [Wed, 17 Apr 2019 15:41:40 +0000 (18:41 +0300)]
small optimization

3 years agocleanup
Alexey Kudravtsev [Wed, 17 Apr 2019 13:04:33 +0000 (16:04 +0300)]
cleanup

3 years agoAnt TargetFilter - do not throw WriteExternalException
Vladimir Krivosheev [Thu, 18 Apr 2019 10:59:03 +0000 (12:59 +0200)]
Ant TargetFilter - do not throw WriteExternalException

3 years agoremove BegButtonUI
Konstantin Bulenkov [Thu, 18 Apr 2019 11:28:50 +0000 (13:28 +0200)]
remove BegButtonUI

3 years agoUpdating versions of project dependencies: secondJreBuild->11_0_2b226.5
Vitaly Provodin [Thu, 18 Apr 2019 11:08:37 +0000 (14:08 +0300)]
Updating versions of project dependencies: secondJreBuild->11_0_2b226.5

Vitaly Provodin

3 years ago[gradle] update GradleDistributionsTest#'distributions closure delegate' test data
Daniil Ovchinnikov [Thu, 18 Apr 2019 10:58:43 +0000 (13:58 +0300)]
[gradle] update GradleDistributionsTest#'distributions closure delegate' test data

3 years ago[gradle] @CompileStatic GradleHighlightingBaseTest
Daniil Ovchinnikov [Thu, 18 Apr 2019 10:52:19 +0000 (13:52 +0300)]
[gradle] @CompileStatic GradleHighlightingBaseTest

3 years agoRevert "optimization: avoid computing dir info twice"
Tagir Valeev [Thu, 18 Apr 2019 10:46:26 +0000 (17:46 +0700)]
Revert "optimization: avoid computing dir info twice"

This reverts commit b9efff2a
This change caused incorrect propagation of LanguageLevel for nested modules

3 years agodo not throw WriteExternalException and do not use it as a control exception
Vladimir Krivosheev [Thu, 18 Apr 2019 09:44:25 +0000 (11:44 +0200)]
do not throw WriteExternalException and do not use it as a control exception

3 years agoget rid of yellow code
Sergey Ignatov [Thu, 18 Apr 2019 10:39:05 +0000 (13:39 +0300)]
get rid of yellow code

3 years agoCleanup (duplicates)
Roman Shevchenko [Thu, 18 Apr 2019 10:19:54 +0000 (12:19 +0200)]
Cleanup (duplicates)

3 years agoJBR-1295: JBR layout with top level directories (jbr, jbrsdk) support
Dmitriy.Panov [Tue, 16 Apr 2019 22:48:59 +0000 (01:48 +0300)]
JBR-1295: JBR layout with top level directories (jbr, jbrsdk) support

3 years agoRemove code duplicates and unused classes (LegalCZ-321)
Konstantin Bulenkov [Thu, 18 Apr 2019 09:58:18 +0000 (11:58 +0200)]
Remove code duplicates and unused classes (LegalCZ-321)

3 years agoRemove code duplicates (LegalCZ-321)
Konstantin Bulenkov [Thu, 18 Apr 2019 08:57:49 +0000 (10:57 +0200)]
Remove code duplicates (LegalCZ-321)

3 years agoIDEA-195017 Return folder icon for directory under all virtual file systems
Ivan Buryak [Thu, 28 Mar 2019 09:56:02 +0000 (16:56 +0700)]
IDEA-195017 Return folder icon for directory under all virtual file systems

When view file system tree using `com.intellij.openapi.fileChooser.ex.FileSystemTreeImpl` earlier folder icon was applied only for directories under local file system.

3 years agoGradle: resolve DSL public types with type arguments
Vladislav.Soroka [Thu, 18 Apr 2019 08:54:41 +0000 (11:54 +0300)]
Gradle: resolve DSL public types with type arguments

3 years agoIntegrate IReparsableLeafElementType into BlockSupport
Alexander Kass [Thu, 18 Apr 2019 08:07:36 +0000 (11:07 +0300)]
Integrate IReparsableLeafElementType into BlockSupport

3 years agoSSR: don't try to match when there are no more pattern nodes (EA-120394, IDEA-197743)
Bas Leijdekkers [Wed, 17 Apr 2019 14:48:23 +0000 (16:48 +0200)]
SSR: don't try to match when there are no more pattern nodes (EA-120394, IDEA-197743)

3 years agoEA-125008 - IVFAE: PersistentFSImpl.getFileId
Anton Lobov [Thu, 18 Apr 2019 08:03:11 +0000 (10:03 +0200)]
EA-125008 - IVFAE: PersistentFSImpl.getFileId

3 years agoEA-140873 - assert: RefreshQueueImpl.execute
Anton Lobov [Thu, 18 Apr 2019 07:56:36 +0000 (09:56 +0200)]
EA-140873 - assert: RefreshQueueImpl.execute

now we have remote sources for providers, so no need to retrieve the actual file

3 years agooptimization: for physical contents calculate ImageInfoIndex using physical files
Maxim.Mossienko [Wed, 17 Apr 2019 22:19:06 +0000 (00:19 +0200)]
optimization: for physical contents calculate ImageInfoIndex using physical files

3 years agoaccessor for physical content property
Maxim.Mossienko [Wed, 17 Apr 2019 22:17:06 +0000 (00:17 +0200)]
accessor for physical content property

3 years agoextract common ImageInfo and make it immutable
Maxim.Mossienko [Wed, 17 Apr 2019 11:18:35 +0000 (13:18 +0200)]
extract common ImageInfo and make it immutable

3 years agoDedicated method to obtain feature ID when reporting icon clicks to FUS (IDEA-CR...
Dmitry Jemerov [Thu, 18 Apr 2019 07:09:21 +0000 (09:09 +0200)]
Dedicated method to obtain feature ID when reporting icon clicks to FUS (IDEA-CR-46018)

3 years agoIDEA-CR-46396 Escaped commands printed without extra quotes
Alexandr Evstigneev [Thu, 18 Apr 2019 07:09:25 +0000 (10:09 +0300)]
IDEA-CR-46396 Escaped commands printed without extra quotes

3 years agoIDEA-CR-46400 replaced list of meged outputs with ProcessOutput object
Alexandr Evstigneev [Thu, 18 Apr 2019 07:08:10 +0000 (10:08 +0300)]
IDEA-CR-46400 replaced list of meged outputs with ProcessOutput object

3 years ago`LookbackSequence` moved to the *intellij.platform.projectModel*
Nicolay Mitropolsky [Wed, 17 Apr 2019 12:18:07 +0000 (15:18 +0300)]
`LookbackSequence` moved to the *intellij.platform.projectModel*

as long as it is a current shelter for the Kotlin-utils

3 years agoExpressionUtils#getQualifierOrThis -> getEffectiveQualifier, nullable now (cannot...
Tagir Valeev [Thu, 18 Apr 2019 06:03:27 +0000 (13:03 +0700)]
ExpressionUtils#getQualifierOrThis -> getEffectiveQualifier, nullable now (cannot construct this expression for outer anonymous class)

Fixes EA-140652 - assert: JavaParserUtil.parseFragment

3 years agoReplaceWithMutableCollectionIntention: added intention to convert immutable collectio...
Artemiy Sartakov [Thu, 18 Apr 2019 05:41:46 +0000 (12:41 +0700)]
ReplaceWithMutableCollectionIntention: added intention to convert immutable collections to mutable ones (IDEA-196755)

3 years agoSet rootProjectName when copying BuildParticipant
Ying Chen [Thu, 18 Apr 2019 05:09:24 +0000 (08:09 +0300)]
Set rootProjectName when copying BuildParticipant

3 years agoExpressionUtils#getQualifierOrThis: support local classes (partial fix for EA-140652)
Tagir Valeev [Thu, 18 Apr 2019 04:55:45 +0000 (11:55 +0700)]
ExpressionUtils#getQualifierOrThis: support local classes (partial fix for EA-140652)

3 years agonpm: show terminal console actions in main toolbar for better layout (WEB-37992)
Sergey Simonchik [Wed, 17 Apr 2019 21:47:45 +0000 (00:47 +0300)]
npm: show terminal console actions in main toolbar for better layout (WEB-37992)

3 years ago[ui] correct URL in a default "new build available" message (IDEA-210624)
Roman Shevchenko [Wed, 17 Apr 2019 21:14:02 +0000 (23:14 +0200)]
[ui] correct URL in a default "new build available" message (IDEA-210624)

3 years ago[platform] fixes potential NPE (IDEA-CR-46331)
Roman Shevchenko [Wed, 17 Apr 2019 20:59:56 +0000 (22:59 +0200)]
[platform] fixes potential NPE (IDEA-CR-46331)

3 years agoMerge remote-tracking branch 'origin/master'
Roman Shevchenko [Wed, 17 Apr 2019 19:49:01 +0000 (21:49 +0200)]
Merge remote-tracking branch 'origin/master'

3 years ago[ui] deprecates unused API; drops implementations
Roman Shevchenko [Wed, 17 Apr 2019 19:47:56 +0000 (21:47 +0200)]
[ui] deprecates unused API; drops implementations

3 years agoterminal: use kotlin properly; fix tests (IDEA-CR-46423)
Sergey Simonchik [Wed, 17 Apr 2019 19:30:31 +0000 (22:30 +0300)]
terminal: use kotlin properly; fix tests (IDEA-CR-46423)

3 years agoCleanup (formatting)
Roman Shevchenko [Wed, 17 Apr 2019 19:25:32 +0000 (21:25 +0200)]
Cleanup (formatting)

3 years agoapply fixes in LowLevelSearchUtil#diagnoseInvalidRange
Daniil Ovchinnikov [Wed, 17 Apr 2019 19:04:08 +0000 (22:04 +0300)]
apply fixes in LowLevelSearchUtil#diagnoseInvalidRange

3 years agoIDEA-178054: align expand/collapse icon with the previous row icon
Sergey Malenkov [Wed, 17 Apr 2019 17:22:59 +0000 (20:22 +0300)]
IDEA-178054: align expand/collapse icon with the previous row icon

3 years ago[groovy] @NotNull in GrClassReferenceType constructors
Daniil Ovchinnikov [Wed, 17 Apr 2019 18:36:24 +0000 (21:36 +0300)]
[groovy] @NotNull in GrClassReferenceType constructors

3 years ago[groovy] faster equals/hashCode for GrClassReferenceType
Daniil Ovchinnikov [Wed, 17 Apr 2019 18:32:24 +0000 (21:32 +0300)]
[groovy] faster equals/hashCode for GrClassReferenceType

3 years agofix test data
Anna Kozlova [Wed, 17 Apr 2019 18:41:35 +0000 (20:41 +0200)]
fix test data

3 years agoFix NPE at IDE restart
Vassiliy.Kudryashov [Wed, 17 Apr 2019 18:08:01 +0000 (21:08 +0300)]
Fix NPE at IDE restart

3 years agoIDEA-211225 Bundled plugins: highlight <idea-version>
Yann Cébron [Wed, 17 Apr 2019 17:10:04 +0000 (19:10 +0200)]
IDEA-211225 Bundled plugins: highlight <idea-version>

3 years agofreeze reporting prototype - enabled reporting
Egor Ushakov [Wed, 17 Apr 2019 16:55:10 +0000 (19:55 +0300)]
freeze reporting prototype - enabled reporting

3 years agoDon't use modules with internal module type as roots in navbar
Dmitry Jemerov [Wed, 17 Apr 2019 16:49:39 +0000 (18:49 +0200)]
Don't use modules with internal module type as roots in navbar

3 years agoKill Griffon plugin
Dmitry Jemerov [Wed, 17 Apr 2019 15:05:53 +0000 (17:05 +0200)]
Kill Griffon plugin

It supports an old version of the framework and has <50 downloads per update from the plugin repo.

3 years agodon't preselect qualifier in New Package dialog (IDEA-209397)
peter [Wed, 17 Apr 2019 16:46:52 +0000 (18:46 +0200)]
don't preselect qualifier in New Package dialog (IDEA-209397)

3 years agomake DialogWrapperPeer.HAVE_INITIAL_SELECTION final
peter [Wed, 17 Apr 2019 12:52:57 +0000 (14:52 +0200)]
make DialogWrapperPeer.HAVE_INITIAL_SELECTION final

3 years ago[groovy] delay partial context bindings computation until actually needed
Daniil Ovchinnikov [Wed, 17 Apr 2019 16:47:47 +0000 (19:47 +0300)]
[groovy] delay partial context bindings computation until actually needed

3 years agoPY-35434 Don't duplicate quotes inserted inside literal f-string parts
Mikhail Golubev [Wed, 17 Apr 2019 11:04:56 +0000 (13:04 +0200)]
PY-35434 Don't duplicate quotes inserted inside literal f-string parts

It happens partly because we still represent quotes there as individual tokens
of type FSTRING_TEXT due to the way the recovering lexer for f-strings is
implemented, thus we treat a quote and a subsequent bracket or whitespace as
two different lexemes.

3 years agogitignore stale_outputs_checked cleaner markers by pattern
Dmitry Zhuravlev [Wed, 17 Apr 2019 16:26:21 +0000 (19:26 +0300)]
gitignore stale_outputs_checked cleaner markers by pattern

3 years ago[groovy] use GrReferenceExpression#getStaticReference (because it's caching) in facto...
Daniil Ovchinnikov [Wed, 17 Apr 2019 16:18:28 +0000 (19:18 +0300)]
[groovy] use GrReferenceExpression#getStaticReference (because it's caching) in factory.kt#createDescriptor

3 years agoAdd WrapConstant annotation for proper conversion to human-readable values in externa...
Rustam Vishnyakov [Wed, 17 Apr 2019 16:05:56 +0000 (19:05 +0300)]
Add WrapConstant annotation for proper conversion to human-readable values in external formats (Json, editorconfig)

3 years agopty: replace withWindowsAnsiColorEnabled with "pty4j.win.disable.ansi.in.console...
Sergey Simonchik [Wed, 17 Apr 2019 16:07:23 +0000 (19:07 +0300)]
pty: replace withWindowsAnsiColorEnabled with "pty4j.win.disable.ansi.in.console.mode" system property (IDEA-CR-46256)

3 years ago[groovy] inline inference.kt#getTopLevelTypeCached
Daniil Ovchinnikov [Wed, 17 Apr 2019 16:06:23 +0000 (19:06 +0300)]
[groovy] inline inference.kt#getTopLevelTypeCached

3 years agoLocalInspectionEP: Javadoc
Yann Cébron [Wed, 17 Apr 2019 15:53:26 +0000 (17:53 +0200)]
LocalInspectionEP: Javadoc

3 years agoLanguageExtensionPoint: Javadoc
Yann Cébron [Wed, 17 Apr 2019 15:41:53 +0000 (17:41 +0200)]
LanguageExtensionPoint: Javadoc

3 years agoInspectionEP: Javadoc
Yann Cébron [Wed, 17 Apr 2019 15:29:35 +0000 (17:29 +0200)]
InspectionEP: Javadoc

3 years agoInspectionProfileEntry: Javadoc
Yann Cébron [Wed, 17 Apr 2019 15:19:49 +0000 (17:19 +0200)]
InspectionProfileEntry: Javadoc

3 years ago[groovy] reduce timing in GroovyStressPerformanceTest#'test using SSA variables in...
Daniil Ovchinnikov [Wed, 17 Apr 2019 15:12:13 +0000 (18:12 +0300)]
[groovy] reduce timing in GroovyStressPerformanceTest#'test using SSA variables in a for loop'

3 years ago[groovy] delegate GrClassReferenceType#getParameterCount to underlying reference...
Daniil Ovchinnikov [Wed, 17 Apr 2019 14:50:20 +0000 (17:50 +0300)]
[groovy] delegate GrClassReferenceType#getParameterCount to underlying reference element' type argument list

3 years agoadd PsiTreeUtil#countChildrenOfType
Daniil Ovchinnikov [Wed, 17 Apr 2019 14:48:50 +0000 (17:48 +0300)]
add PsiTreeUtil#countChildrenOfType

3 years agoterminal: add "Move Left/Right" actions to tab title context menu and make shortcuts...
Sergey Simonchik [Wed, 17 Apr 2019 15:09:24 +0000 (18:09 +0300)]
terminal: add "Move Left/Right" actions to tab title context menu and make shortcuts configurable

Requested by yole in https://youtrack.jetbrains.com/issue/IDEA-202809#focus=streamItem-27-3409279.0-0

3 years agolarge files support: use `toString` not so eager
Sergey Ignatov [Wed, 17 Apr 2019 14:52:52 +0000 (17:52 +0300)]
large files support: use `toString` not so eager

3 years agoSchemeManager - ability to use VFS for load schemes (for upsource)
Vladimir Krivosheev [Wed, 17 Apr 2019 14:20:17 +0000 (16:20 +0200)]
SchemeManager - ability to use VFS for load schemes (for upsource)

3 years agoIDEA-CR-45934 introduce DigestUtil to address performance issue - SUN provider should...
Vladimir Krivosheev [Wed, 17 Apr 2019 13:20:48 +0000 (15:20 +0200)]
IDEA-CR-45934 introduce DigestUtil to address performance issue - SUN provider should be used always and we don't need to find another one

3 years ago[groovy] speed up GrTypeArgumentListImpl#isDiamond
Daniil Ovchinnikov [Wed, 17 Apr 2019 14:16:42 +0000 (17:16 +0300)]
[groovy] speed up GrTypeArgumentListImpl#isDiamond

3 years ago[service-view] move event listener interface to upper level
Konstantin Aleev [Wed, 17 Apr 2019 14:10:17 +0000 (17:10 +0300)]
[service-view] move event listener interface to upper level

3 years agoDon't overwrite temporary settings from code style modifiers
Rustam Vishnyakov [Wed, 17 Apr 2019 13:38:09 +0000 (16:38 +0300)]
Don't overwrite temporary settings from code style modifiers

3 years agofreeze reporting prototype - freeze threshold
Egor Ushakov [Wed, 17 Apr 2019 13:41:03 +0000 (16:41 +0300)]
freeze reporting prototype - freeze threshold

3 years ago[service-view] do not center selection when run configuration is selected
Konstantin Aleev [Wed, 17 Apr 2019 13:24:39 +0000 (16:24 +0300)]
[service-view] do not center selection when run configuration is selected

3 years ago[service-view] support links in service presentation
Konstantin Aleev [Wed, 17 Apr 2019 13:22:35 +0000 (16:22 +0300)]
[service-view] support links in service presentation

3 years agoRunDashboard: cleanup cell renderer and mouse listener
Konstantin Aleev [Wed, 17 Apr 2019 11:16:45 +0000 (14:16 +0300)]
RunDashboard: cleanup cell renderer and mouse listener

3 years agoIDEA-211211 [spring-boot] move edit path action to context menu
Konstantin Aleev [Tue, 16 Apr 2019 12:59:47 +0000 (15:59 +0300)]
IDEA-211211 [spring-boot] move edit path action to context menu

3 years agoJava: Don't show synthetic class name of array in quick doc for .length and .clone...
Pavel Dolgov [Wed, 17 Apr 2019 12:59:01 +0000 (15:59 +0300)]
Java: Don't show synthetic class name of array in quick doc for .length and .clone() (IDEA-208812)

3 years ago[groovy] implement GroovyReference#advancedResolve via #resolve(boolean)
Daniil Ovchinnikov [Wed, 17 Apr 2019 13:20:05 +0000 (16:20 +0300)]
[groovy] implement GroovyReference#advancedResolve via #resolve(boolean)

Most of implementations already implement #resolve, so we can eliminate array instantiation in default #multiResolve
implementation.

3 years ago[file-history] cleanup
Julia Beliaeva [Wed, 17 Apr 2019 13:29:36 +0000 (16:29 +0300)]
[file-history] cleanup

3 years ago[git] mark GitLogUtil with ApiStatus.Internal as it should not be used in plugins
Julia Beliaeva [Wed, 17 Apr 2019 13:29:17 +0000 (16:29 +0300)]
[git] mark GitLogUtil with ApiStatus.Internal as it should not be used in plugins

3 years agoIDEA-199881 Fixes and esp. "Import class" shall go first in Alt-Enter
Dmitry Avdeev [Wed, 17 Apr 2019 12:09:35 +0000 (15:09 +0300)]
IDEA-199881 Fixes and esp. "Import class" shall go first in Alt-Enter

fixed blinking test

3 years agoDedicated place for actions invoked via keyboard and mouse shortcuts (FUS-325)
Dmitry Jemerov [Wed, 17 Apr 2019 13:14:18 +0000 (15:14 +0200)]
Dedicated place for actions invoked via keyboard and mouse shortcuts (FUS-325)

3 years agoBetter combobox paddings selection.
Kirill Kirichenko [Wed, 17 Apr 2019 13:03:46 +0000 (16:03 +0300)]
Better combobox paddings selection.

3 years agoIDEA-211062 'Ctrl+C' from 'Evaluate' window copyes 'Collecting data..' instead of...
Egor Ushakov [Wed, 17 Apr 2019 12:55:40 +0000 (15:55 +0300)]
IDEA-211062 'Ctrl+C' from 'Evaluate' window copyes 'Collecting data..' instead of actual value

3 years agoIDEA-CR-42233 add @see tag
Vladimir Krivosheev [Wed, 17 Apr 2019 12:51:21 +0000 (14:51 +0200)]
IDEA-CR-42233 add @see tag

3 years agoIDEA-CR-42353 Formatter.getInstance() should use own cache
Vladimir Krivosheev [Wed, 17 Apr 2019 12:13:49 +0000 (14:13 +0200)]
IDEA-CR-42353 Formatter.getInstance() should use own cache

3 years agospeed-up scheme loading a little bit - do not check isDirectory()
Vladimir Krivosheev [Wed, 17 Apr 2019 12:09:31 +0000 (14:09 +0200)]
speed-up scheme loading a little bit - do not check isDirectory()

3 years agoremove dependency on CloudConfigProvider in CustomizeIDEWizardDialog
Vladimir Krivosheev [Wed, 17 Apr 2019 10:30:12 +0000 (12:30 +0200)]
remove dependency on CloudConfigProvider in CustomizeIDEWizardDialog

3 years agoEditor Tabs UI: 'Current' tab is harder to spot with new tabs design (#IDEA-207043)
graann [Wed, 17 Apr 2019 12:10:37 +0000 (15:10 +0300)]
Editor Tabs UI: 'Current' tab is harder to spot with new tabs design (#IDEA-207043)

3 years ago[groovy] dfa: move DfaInstance#initial to Semilattice
Daniil Ovchinnikov [Wed, 17 Apr 2019 12:35:02 +0000 (15:35 +0300)]
[groovy] dfa: move DfaInstance#initial to Semilattice

3 years agoCleanup (unneeded overrides; lambdas)
Roman Shevchenko [Wed, 17 Apr 2019 12:25:28 +0000 (14:25 +0200)]
Cleanup (unneeded overrides; lambdas)