<extensions defaultExtensionNs="com.intellij"> … <fileTypeFactory implementation="com.intellij.lang.properties.PropertiesFileTypeFactory"/> … </extensions>
--charat
, which modifies the generated code so that it works with IDEA (which requires CharSequence instead of an array of characters).TokenType.BAD_CHARACTER
. And, moreover, the lexer should not interrupt its work until the end of the parsing.. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
. :
getIndexer() - , /, ; getKeyDescriptor() - , . - EnumeratorStringDescriptor ( ); getValueExternalizer() - , ; getInputFilter() - ; getVersion() - . , .
, ScalarIndexExtension.
, , DataIndexer.map() , , - . , , .
FileBasedIndex, :
getAllKeys() processAllKeys() - , , . , , , . getValues() - , ( , ); getContainingFiles() - , ; processValues() - , .
, IDEA . , . , PsiSearchHelper. - FilenameIndex, . FileTypeIndex - .
, PSI-, .
PSI- AST (.. ), stub- ( ), .
Stub- ( , , ). , , , PSI- AST.
Bean- , PSI- (, , ..). .
, PSI- . , , , .
, , :
, StubElement (); (); , PSI- StubBasedPsiElement (); , PSI- StubBasedPsiElementBase (). : ASTNode, - ; , IStubElementType PSI- (). createPsi() createStub(), serialize() deserialize() ; , IStubElementType (); , PSI- , PSI- (: Property.getKey()).
, :
( ParserDefinition.getFileNodeType()) , IStubFileElementType; plugin.xml, , IElementType, ().
Source: https://habr.com/ru/post/187224/
All Articles