use of com.perl5.lang.perl.psi.mro.PerlMroType in project Perl5-IDEA by Camelcade.
the class PerlNamespaceDefinitionElementType method deserialize.
@NotNull
@Override
public PerlNamespaceDefinitionStub deserialize(@NotNull StubInputStream dataStream, StubElement parentStub) throws IOException {
String packageName = PerlStubSerializationUtil.readString(dataStream);
PerlMroType mroType = PerlMroType.valueOf(PerlStubSerializationUtil.readString(dataStream));
List<String> parentNamespaces = PerlStubSerializationUtil.readStringsList(dataStream);
List<String> EXPORT = PerlStubSerializationUtil.readStringsList(dataStream);
List<String> EXPORT_OK = PerlStubSerializationUtil.readStringsList(dataStream);
Map<String, List<String>> EXPORT_TAGS = PerlStubSerializationUtil.readStringListMap(dataStream);
assert packageName != null;
assert parentNamespaces != null;
assert EXPORT != null;
assert EXPORT_OK != null;
return createStubElement(parentStub, packageName, mroType, parentNamespaces, EXPORT, EXPORT_OK, EXPORT_TAGS, desearializeAnnotations(dataStream));
}
use of com.perl5.lang.perl.psi.mro.PerlMroType in project Perl5-IDEA by Camelcade.
the class PerlNamespaceDefinitionMixin method getMroType.
@Override
public PerlMroType getMroType() {
PerlNamespaceDefinitionStub stub = getStub();
if (stub != null) {
return stub.getMroType();
}
if (mroTypeCache == null) {
MroSearcher searcher = new MroSearcher();
PerlPsiUtil.processNamespaceStatements(this, searcher);
mroTypeCache = searcher.getResult();
}
return mroTypeCache;
}
Aggregations