Annotation for marking
PsiElement
subclasses usages that they will be used in
language-abstracted way:
- No modification methods should be directly called on such instances
- Usages should be aware of
PsiElement.getLanguage()
, and not be hardcoded to dedicated language
- Instances could be "virtual" and don't have physical representations
- Complex operations should be performed via corresponding
LanguageExtensionPoint
or similar API
org.jetbrains.uast.UClass
-like instances should be supported
Note: this annotation considered as kind-of "transitional" until generic language-independent API will be implemented