/// <summary> /// Constructor. /// </summary> /// <param name="name">El nom.</param> /// <param name="access">Especificador d'acces.</param> /// <param name="implementation">Implementacio.</param> /// <param name="valueType">El tipus del valor.</param> /// <param name="initializer">Expressio d'inicialitzacio.</param> /// public VariableDeclaration(string name, AccessSpecifier access, ImplementationSpecifier implementation, TypeIdentifier valueType, Expression initializer) { if (String.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } Name = name; Access = access; Implementation = implementation; ValueType = valueType; Initializer = initializer; }
/// <summary> /// Constructor. /// </summary> /// <param name="name">El nom.</param> /// <param name="access">Especificador d'acces.</param> /// <param name="returnType">El tipus de retorn.</param> /// <param name="arguments">Llista d'arguments.</param> /// <param name="body">Les instruccions.</param> /// public FunctionDeclaration(string name, AccessSpecifier access, TypeIdentifier returnType, ArgumentDeclarationList arguments, Statement body) { if (String.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } Name = name; Access = access; ReturnType = returnType; this.arguments = arguments; Body = body; }
public static TypeIdentifier FromName(string name) { TypeIdentifier t; if ((cache == null) || (!cache.TryGetValue(name, out t))) { t = new TypeIdentifier(name); if (cache == null) { cache = new Dictionary <string, TypeIdentifier>(); } cache.Add(name, t); } return(t); }
/// <summary> /// Constructor. /// </summary> /// <param name="name">El nom.</param> /// <param name="valueType">El tipus del valor.</param> /// public ArgumentDeclaration(string name, TypeIdentifier valueType) { Name = name; ValueType = valueType; }
/// <summary> /// Constructor. /// </summary> /// <param name="name">El nom.</param> /// <param name="access">Especificador d'acces.</param> /// <param name="returnType">El tipus de retorn.</param> /// <param name="arguments">Llista d'arguments.</param> /// <param name="statements">La llista d'instruccions.</param> /// public FunctionDeclaration(string name, AccessSpecifier access, TypeIdentifier returnType, ArgumentDeclarationList arguments, StatementList statements) : this(name, access, returnType, arguments, new BlockStatement(statements)) { }
/// <summary> /// Constructor per defecte. /// </summary> /// public FunctionDeclaration() { Access = AccessSpecifier.Default; Implementation = ImplementationSpecifier.Default; ReturnType = TypeIdentifier.FromName("void"); }