public void CollectGarbage(MetaCodeIterator metaCode, StringBuilder blockBuilder) { if (metaCode.InFunctionDefinition && referenceMap.ContainsKey(metaCode.DefiningFunction)) { foreach (var dynamicallyAllocVar in referenceMap[metaCode.DefiningFunction]) { } } }
public uint ReferenceIdentifier(IdentifierNameSyntax expression, MetaCodeIterator metaCode) { if (metaCode.InFunctionDefinition) { if (referenceMap.ContainsKey(expression.Identifier.ValueText)) { referenceMap[metaCode.DefiningFunction][expression.Identifier.ValueText] += 1; } else { var new_identifier_ref = new Dictionary <string, uint>(); new_identifier_ref.Add(expression.Identifier.ValueText, 1); referenceMap.Add(metaCode.DefiningFunction, new_identifier_ref); } return(referenceMap[metaCode.DefiningFunction][expression.Identifier.ValueText]); } return(0); }