public ProcedureDeclaration(IntLiteral index, TypeIdentifier returnType, Identifier identifier, List <Parameter> parameters, CompoundStatement body) : base(DeclarationType.Procedure, identifier)
 {
     Index      = index;
     ReturnType = returnType;
     Parameters = parameters;
     Body       = body;
 }
Esempio n. 2
0
 public VariableDeclaration(VariableModifier modifier, TypeIdentifier type, Identifier identifier, Expression initializer)
     : base(DeclarationType.Variable, identifier)
 {
     Modifier    = modifier;
     Type        = type;
     Initializer = initializer;
 }
 public FunctionDeclaration(IntLiteral index, TypeIdentifier returnType, Identifier identifier, List <Parameter> parameters)
     : base(DeclarationType.Function, identifier)
 {
     Index      = index;
     ReturnType = returnType;
     Parameters = parameters;
 }
Esempio n. 4
0
        public override void Visit(TypeIdentifier typeIdentifier)
        {
            if (typeof(T) == typeof(TypeIdentifier))
            {
                mCollectedNodes.Add(typeIdentifier as T);
            }

            base.Visit(typeIdentifier);
        }
Esempio n. 5
0
        public static VariableDeclaration FromLibraryConstant(FlowScriptModuleConstant libraryConstant)
        {
            var modifier    = new VariableModifier(VariableModifierKind.Constant);
            var type        = new TypeIdentifier(KeywordDictionary.KeywordToValueType[libraryConstant.Type]);
            var identifier  = new Identifier(type.ValueKind, libraryConstant.Name);
            var initializer = Expression.FromText(libraryConstant.Value);

            return(new VariableDeclaration(modifier, type, identifier, initializer));
        }
Esempio n. 6
0
 public ArrayVariableDeclaration(VariableModifier modifier, TypeIdentifier type, Identifier identifier, IntLiteral size, Expression initializer)
     : base(modifier, type, identifier, initializer)
 {
     Size = size;
 }