Changeset 341 for cpp/frams


Ignore:
Timestamp:
03/24/15 20:52:35 (10 years ago)
Author:
Maciej Komosinski
Message:

Fixed using null as object reference

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/vm/framscript.y

    r337 r341  
    10101010             }
    10111011
    1012      | expr '.' member
     1012     | stackexpr '.' member
    10131013             { trctx.emitLine(); $$.constant=0; $$.ident=0; SString t=$1.getString(); t+="."; t+=$3.getString(); $$.setString(t);
    10141014             if ($3.constant)
     
    10191019             }
    10201020
    1021      | plusminus expr '.' member
     1021     | plusminus stackexpr '.' member
    10221022             { trctx.emitLine(); $$.constant=0; $$.ident=0; SString t=$2.getString(); t+="."; t+=$4.getString(); $$.setString(t);
    10231023             if ($4.constant)
     
    10301030             }
    10311031
    1032      | expr '.' member plusminus
     1032     | stackexpr '.' member plusminus
    10331033             { trctx.emitLine(); $$.constant=0; $$.ident=0; SString t=$1.getString(); t+="."; t+=$3.getString(); $$.setString(t);
    10341034             if ($3.constant)
     
    10411041             }
    10421042
    1043      | expr '.' member assign_op expr
     1043     | stackexpr '.' member assign_op expr
    10441044             { trctx.emitLine(); $$.constant=0; $$.ident=0; SString t=$1.getString(); t+="."; t+=$3.getString(); $$.setString(t);
    10451045             if ($3.constant)
     
    10691069             }
    10701070
    1071      | expr '.' member '=' stackexpr
     1071     | stackexpr '.' member '=' stackexpr
    10721072             { trctx.emitLine(); $$=$5; $$.assign=1; $$.parens=0; $$.ident=0;
    10731073             if ($3.constant)
     
    10831083             }
    10841084
    1085      | expr '.' member '(' arguments ')'
     1085     | stackexpr '.' member '(' arguments ')'
    10861086             { trctx.emitLine(); $$.constant=0; $$.ident=0; SString t=$1.getString(); t+="."; t+=$3.getString(); $$.setString(t);
    10871087             int adj=0;
     
    11061106             }
    11071107
    1108       | expr '[' expr ']' '=' expr    // shortcut: expr.set(expr,expr)
     1108      | stackexpr '[' expr ']' '=' expr    // shortcut: expr.set(expr,expr)
    11091109             { trctx.emitLine(); $$=$6; $$.assign=1; $$.parens=0; $$.ident=0;
    11101110             if ($3.constant)
     
    11241124             }
    11251125
    1126       | expr '[' expr ']'    /* shortcut: expr.get(expr) */
     1126      | stackexpr '[' expr ']'    /* shortcut: expr.get(expr) */
    11271127             { trctx.emitLine(); $$.constant=0; $$.ident=0; SString t=$1.getString(); t+=".get"; $$.setString(t);
    11281128             if ($3.constant)
Note: See TracChangeset for help on using the changeset viewer.