public ResolvedClassField(ResolvedClassId classId, int variableId, int defaultClassType = -1) { ClassId = classId; VariableId = variableId; DefaultClassType = defaultClassType; myMarkers = new HashSet <Marker>(); }
public ResolvedClassField GetOrCreateClassField(ResolvedClassId classId, string fieldName) { var clazz = myClasses[classId]; var fieldId = ClassFields.FindOrAdd(fieldName); return(clazz.GetOrCreateField(fieldId)); }
public ResolvedMethod <TNode> FindMethodById(ResolvedClassId classId, ResolvedMethodId methodId) { if (classId == null) { return(null); } myClasses.TryGetValue(classId, out var clazz); return(clazz?.FindMethodInFullHierarchy(methodId)); }
public ResolvedClass <TNode> GetOrCreateClass(ClassId name) { var rawClassId = Classes.Find(name.Value); if (!rawClassId.HasValue) { rawClassId = Classes.Add(name.Value); var classId = new ResolvedClassId(rawClassId.Value); var resolvedClass = new ResolvedClass <TNode>(classId); myClasses.Add(classId, resolvedClass); return(resolvedClass); } return(myClasses[new ResolvedClassId(rawClassId.Value)]); }
public ResolvedClassField FindClassFieldById(ResolvedClassId classId, int fieldId) { var clazz = myClasses[classId]; return(clazz.GetOrCreateField(fieldId)); }
public ResolvedClass <TNode> FindClassById(ResolvedClassId id) { var exists = myClasses.TryGetValue(id, out var found); return(exists ? found : null); }