UnityScript.Parser.UnityScriptParser.AddFunctionTo C# (CSharp) Méthode

AddFunctionTo() public méthode

public AddFunctionTo ( Boo.Lang.Compiler.Ast.TypeDefinition type, IToken nameToken, IToken getter, IToken setter ) : Method
type Boo.Lang.Compiler.Ast.TypeDefinition
nameToken IToken
getter IToken
setter IToken
Résultat Boo.Lang.Compiler.Ast.Method
        public Method AddFunctionTo(TypeDefinition type, IToken nameToken, IToken getter, IToken setter)
        {
            Method method;
            string name = nameToken.getText();
            LexicalInfo info = ToLexicalInfo(nameToken);
            Method method1 = method = new Method(info);
            method.set_Name(name);
            Method node = !IsConstructorName(name, type) ? method : new Constructor(info);
            if ((getter != null) || (setter != null))
            {
                Property property = type.get_Members().get_Item(name) as Property;
                if (property == null)
                {
                    Property property2;
                    Property property1 = property2 = new Property(info);
                    property2.set_Name(name);
                    property = property2;
                    type.get_Members().Add(property);
                }
                if (getter != null)
                {
                    if (property.get_Getter() != null)
                    {
                        throw new AssertionFailedException("p.Getter is null");
                    }
                    property.set_Getter(node);
                }
                else
                {
                    if (property.get_Setter() != null)
                    {
                        throw new AssertionFailedException("p.Setter is null");
                    }
                    property.set_Setter(node);
                }
                this.FlushAttributes(property);
                return node;
            }
            type.get_Members().Add(node);
            this.FlushAttributes(node);
            return node;
        }
UnityScriptParser