Changeset 374


Ignore:
Timestamp:
Jan 5, 2015, 10:13:04 AM (5 years ago)
Author:
Maxim Reznik
Message:

Add Is_String function for check static values

Location:
trunk/ada-2012/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/ada-2012/src/api/gela-value_sets.ads

    r370 r374  
    4545   --  Return Name (Args)
    4646
     47   not overriding function Is_String
     48     (Self  : Value_Set;
     49      Value : Gela.Semantic_Types.Value_Index) return Boolean is abstract;
     50   --  Check if given value is string
     51
    4752   not overriding function Image
    4853     (Self  : Value_Set;
  • trunk/ada-2012/src/asis/asis-extensions-static_expressions.adb

    r349 r374  
    1515      return Self.Is_Static;
    1616   end Is_Static;
     17
     18   ---------------
     19   -- Is_String --
     20   ---------------
     21
     22   function Is_String (Self : Value) return Boolean is
     23   begin
     24      return Self.Is_String;
     25   end Is_String;
    1726
    1827   ------------------
     
    7281              Expression.Data.Enclosing_Compilation;
    7382         begin
    74             return (True, Comp.Context.Values.Image (V.Result));
     83            return (Is_Static => True,
     84                    Is_String => Comp.Context.Values.Is_String (V.Result),
     85                    Image     => Comp.Context.Values.Image (V.Result));
    7586         end;
    7687      end if;
  • trunk/ada-2012/src/asis/asis-extensions-static_expressions.ads

    r332 r374  
    88
    99   function Is_Static (Self : Value) return Boolean;
     10   function Is_String (Self : Value) return Boolean;
    1011   function Value_Image (Self : Value) return Asis.Program_Text;
    1112
     
    1415   type Value is tagged record
    1516      Is_Static : Boolean := False;
     17      Is_String : Boolean := False;
    1618      Image     : League.Strings.Universal_String;
    1719   end record;
  • trunk/ada-2012/src/semantic/gela-plain_value_sets.adb

    r370 r374  
    225225   end Image;
    226226
     227   ---------------
     228   -- Is_String --
     229   ---------------
     230
     231   overriding function Is_String
     232     (Self  : Value_Set;
     233      Value : Gela.Semantic_Types.Value_Index) return Boolean is
     234   begin
     235      return Self.Vector.Element (Value).Kind = String_Value;
     236   end Is_String;
     237
    227238   ---------------------
    228239   -- Numeric_Literal --
  • trunk/ada-2012/src/semantic/gela-plain_value_sets.ads

    r370 r374  
    8888      Value : out Gela.Semantic_Types.Value_Index);
    8989
     90   overriding function Is_String
     91     (Self  : Value_Set;
     92      Value : Gela.Semantic_Types.Value_Index) return Boolean;
     93
    9094   overriding function Image
    9195     (Self  : Value_Set;
Note: See TracChangeset for help on using the changeset viewer.