public void SetFromParsedLine(ParsedLine otherParsedLine) { mCodeItems = otherParsedLine.mCodeItems; }
public void TestParsedLine() { var parsedLine = new ParsedLine("this.DoSomething(firstArgument, secondArgument)"); var match = parsedLine.GetMatchingBracketForBracketAtIndex(1); if (match != 5) { throw new Exception("The matching closing bracket code item index should be 5, but it's " + match); } parsedLine.ConsolidateMethodContents(); if (parsedLine.CodeItems.Count != 2) { throw new Exception("There should only be 2 code items, but there are " + parsedLine.CodeItems.Count); } parsedLine = new ParsedLine("new Vector3()"); if (parsedLine[1].CodeType == CodeType.MethodCall) { throw new Exception("The type should be a constructor, not method call"); } parsedLine = new ParsedLine("x() + y"); if (parsedLine.CodeItems.Count != 5) { throw new Exception("There should be 5 CodeItems in the parsed line"); } parsedLine = new ParsedLine("x"); parsedLine.CombineToExpressions(); if (parsedLine.Count != 1) { throw new Exception("Error combining to expressions"); } parsedLine = new ParsedLine("x.y.z"); parsedLine.CombineToExpressions(); if (parsedLine.Count != 1) { throw new Exception("Error combining to expressions"); } parsedLine = new ParsedLine("x.y.z + a.b.c"); parsedLine.CombineToExpressions(); if (parsedLine.Count != 3) { throw new Exception("Error combining to expressions"); } parsedLine = new ParsedLine("x()"); parsedLine.CombineToExpressions(); if (parsedLine.Count != 1) { throw new Exception("Error combining to expressions"); } parsedLine = new ParsedLine("x().y"); parsedLine.CombineToExpressions(); if (parsedLine.Count != 1) { throw new Exception("Error combining to expressions"); } parsedLine = new ParsedLine("x() + y"); parsedLine.CombineToExpressions(); if (parsedLine.Count != 3) { throw new Exception("Error combining to expressions"); } parsedLine = new ParsedLine("x(3+4) + y"); parsedLine.CombineToExpressions(); if (parsedLine.Count != 3) { throw new Exception("Error combining to expressions"); } parsedLine = new ParsedLine("ToolEmitters.FindByName().Emit;"); parsedLine.ConsolidateMethodContents(); parsedLine.CombineToExpressions(); if (parsedLine.Count != 2) { throw new Exception("Error combining to expressions"); } }