internal void ImportTypeName(ref string name, ISymbol symbol) { if (baseNameNodeCounter_ == 0) { int pos = name.LastIndexOf('.'); if (pos != -1) { string prefix = name.Substring(0, pos); if (prefix != LuaIdentifierNameSyntax.System.ValueText) { string newPrefix = prefix.Replace(".", ""); var methodInfo = CurMethodInfoOrNull; if (methodInfo != null) { var syntaxReference = methodInfo.Symbol.DeclaringSyntaxReferences.First(); var root = syntaxReference.GetSyntax(); if (IsLocalVarExists(newPrefix, root)) { return; } } name = newPrefix + name.Substring(pos); CurCompilationUnit.AddImport(prefix, newPrefix, symbol.IsFromCode()); } } } }
public override LuaSyntaxNode VisitQueryExpression(QueryExpressionSyntax node) { CurCompilationUnit.ImportLinq(); LuaIdentifierNameSyntax rangeVariable = new LuaIdentifierNameSyntax(node.FromClause.Identifier.ValueText); CheckVariableDeclaratorName(ref rangeVariable, node); var fromClauseExpression = (LuaExpressionSyntax)node.FromClause.Expression.Accept(this); return(BuildQueryBody(node.Body, fromClauseExpression, rangeVariable)); }
public override LuaSyntaxNode VisitQueryExpression(QueryExpressionSyntax node) { CurCompilationUnit.ImportLinq(); var rangeVariable = AddRangeIdentifier(node.FromClause.Identifier); var collection = (LuaExpressionSyntax)node.FromClause.Accept(this); var queryExpression = BuildQueryBody(collection, node.Body, rangeVariable); queryIdentifiers_.Clear(); return(queryExpression); }