Ejemplo n.º 1
0
 public ResolvedClassField(ResolvedClassId classId, int variableId, int defaultClassType = -1)
 {
     ClassId          = classId;
     VariableId       = variableId;
     DefaultClassType = defaultClassType;
     myMarkers        = new HashSet <Marker>();
 }
Ejemplo n.º 2
0
        public ResolvedClassField GetOrCreateClassField(ResolvedClassId classId, string fieldName)
        {
            var clazz   = myClasses[classId];
            var fieldId = ClassFields.FindOrAdd(fieldName);

            return(clazz.GetOrCreateField(fieldId));
        }
Ejemplo n.º 3
0
        public ResolvedMethod <TNode> FindMethodById(ResolvedClassId classId, ResolvedMethodId methodId)
        {
            if (classId == null)
            {
                return(null);
            }

            myClasses.TryGetValue(classId, out var clazz);

            return(clazz?.FindMethodInFullHierarchy(methodId));
        }
Ejemplo n.º 4
0
        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)]);
        }
Ejemplo n.º 5
0
        public ResolvedClassField FindClassFieldById(ResolvedClassId classId, int fieldId)
        {
            var clazz = myClasses[classId];

            return(clazz.GetOrCreateField(fieldId));
        }
Ejemplo n.º 6
0
        public ResolvedClass <TNode> FindClassById(ResolvedClassId id)
        {
            var exists = myClasses.TryGetValue(id, out var found);

            return(exists ? found : null);
        }