internal void AddDocument(LuaDocumentStatement document) { if (document != null) { document_.Add(document); } }
public void SetStaticCtor(LuaConstructorAdapterExpressionSyntax function, LuaDocumentStatement document) { Contract.Assert(staticCtor_ == null); staticCtor_ = new LuaConstructorDeclaration() { Function = function, Document = document, }; }
public void AddCtor(LuaConstructorAdapterExpressionSyntax function, bool insertFirst, LuaDocumentStatement document = null) { if (insertFirst) { ctors_.Insert(0, new LuaConstructorDeclaration() { Function = function, Document = document, }); } else { ctors_.Add(new LuaConstructorDeclaration() { Function = function, Document = document, }); } }
public void AddMethod(LuaIdentifierNameSyntax name, LuaFunctionExpressionSyntax method, bool isPrivate, LuaDocumentStatement document = null, bool isMoreThanLocalVariables = false, bool isInterfaceDefaultMethod = false) { if (document != null && document.HasIgnoreAttribute) { return; } if (isMoreThanLocalVariables) { CheckTooManyVariables(true); if (document != null && !document.IsEmpty) { methodList_.Statements.Add(document); } var left = LuaIdentifierNameSyntax.MorenManyLocalVarTempTable.MemberAccess(name); methodList_.Statements.Add(left.Assignment(method)); if (isInterfaceDefaultMethod) { AddInterfaceDefaultMethod(name, left); } else { AddResultTable(name, left); } } else { local_.Variables.Add(name); if (document != null && !document.IsEmpty) { methodList_.Statements.Add(document); } methodList_.Statements.Add(name.Assignment(method)); if (!isPrivate) { if (isInterfaceDefaultMethod) { AddInterfaceDefaultMethod(name); } else { AddResultTable(name); } } } }
public void Add(LuaDocumentStatement document) { Statements.AddRange(document.Statements); attr_ |= document.attr_; }
public void AddMethod(LuaIdentifierNameSyntax name, LuaFunctionExpressionSyntax method, bool isPrivate, LuaDocumentStatement document = null) { if (document != null && document.HasIgnoreAttribute) { return; } local_.Variables.Add(name); LuaAssignmentExpressionSyntax assignment = new LuaAssignmentExpressionSyntax(name, method); if (document != null && !document.IsEmpty) { methodList_.Statements.Add(document); } methodList_.Statements.Add(new LuaExpressionStatementSyntax(assignment)); if (!isPrivate) { AddResultTable(name); } }
public LuaLocalFunctionSyntx(LuaIdentifierNameSyntax identifierName, LuaFunctionExpressionSyntax functionExpression, LuaDocumentStatement documentation = null) { IdentifierName = identifierName ?? throw new ArgumentNullException(nameof(identifierName)); FunctionExpression = functionExpression ?? throw new ArgumentNullException(nameof(functionExpression)); if (documentation != null) { Comments.Statements.Add(documentation); } }
public void AddMethod(LuaIdentifierNameSyntax name, LuaFunctionExpressionSyntax method, bool isPrivate, LuaDocumentStatement document = null, bool isMoreThanLocalVariables = false) { if (document != null && document.HasIgnoreAttribute) { return; } if (isMoreThanLocalVariables) { if (!hasTooManyLocalVariables_) { methodList_.Statements.Add(new LuaShortCommentStatement(" too many local variables (limit is 200)")); methodList_.Statements.Add(new LuaLocalVariableDeclaratorSyntax(LuaIdentifierNameSyntax.MorenManyLocalVarTempTable, LuaTableExpression.Empty)); hasTooManyLocalVariables_ = true; } if (document != null && !document.IsEmpty) { methodList_.Statements.Add(document); } var left = new LuaMemberAccessExpressionSyntax(LuaIdentifierNameSyntax.MorenManyLocalVarTempTable, name); methodList_.Statements.Add(new LuaAssignmentExpressionSyntax(left, method)); AddResultTable(name, left); } else { local_.Variables.Add(name); if (document != null && !document.IsEmpty) { methodList_.Statements.Add(document); } methodList_.Statements.Add(new LuaAssignmentExpressionSyntax(name, method)); if (!isPrivate) { AddResultTable(name); } } }