package com.intellij.lang.javascript.flex.importer; import com.intellij.util.containers.BidirectionalMap; import java.util.Map; import java.util.LinkedHashMap; /** * @author Maxim.Mossienko * Date: Oct 20, 2008 * Time: 7:01:09 PM */ class Traits { Object name; MethodInfo init; Traits itraits; Traits staticTrait; Multiname base; int flags; String protectedNs; Multiname interfaces[]; Map<String, MemberInfo> names = new LinkedHashMap<>(); Map<Integer, SlotInfo> slots = new LinkedHashMap<>(); Map<Integer, MethodInfo> methods = new LinkedHashMap<>(); Map<Integer, MemberInfo> members = new LinkedHashMap<>(); BidirectionalMap<String, String> usedNamespacesToNamesMap; public String toString() { return name.toString(); } public void dump(Abc abc, String indent, String attr, final FlexByteCodeInformationProcessor processor) { for (MemberInfo m : members.values()) m.dump(abc, indent, attr, processor); } String getClassName() { final String s = name.toString(); if (s.endsWith(Abc.$)) return s.substring(0, s.length() - 1); return s; } }