Exemplo n.º 1
0
Arquivo: AST.cs Projeto: chenzuo/blue
 // For overloaded operators
 // No modifiers needed since op overloading must be public & static.
 // Have a special constructor so that we can set the IsOp flag and
 // get a safe string name. 
 public MethodDecl(
     BinaryExp.BinaryOp op,
     TypeSig tRetType,
     ParamVarDecl[] arParams,
     BlockStatement stmtBody
 )
 {
     m_fIsOpOverload = true;
     string strName  = GetOpOverloadedName(op);
     m_idName        = new Identifier(strName, tRetType.Location);
     m_tRetType      = tRetType;
     m_arParams      = (arParams != null) ? arParams : new ParamVarDecl[0];        
     m_stmtBody      = stmtBody;
     
     //m_mods          = new Modifiers(Modifiers.EFlags.Public | Modifiers.EFlags.Static);
     m_mods = new Modifiers();
     m_mods.SetPublic();
     m_mods.SetStatic();
     
     Debug.Assert(m_idName != null);        
     Debug.Assert(m_stmtBody != null);
     Debug.Assert(m_arParams != null);
 }