Bladeren bron

Fix non-VAR parameters.

Vladislav Folts 11 jaren geleden
bovenliggende
commit
b5ab324747
7 gewijzigde bestanden met toevoegingen van 10 en 10 verwijderingen
  1. BIN
      bin/compiled.zip
  2. 1 1
      src/ob/Cast.ob
  3. 2 2
      src/ob/Code.ob
  4. 1 1
      src/ob/Lexer.ob
  5. 1 1
      src/ob/Procedure.ob
  6. 2 2
      src/ob/Scope.ob
  7. 3 3
      src/ob/Types.ob

BIN
bin/compiled.zip


+ 1 - 1
src/ob/Cast.ob

@@ -49,7 +49,7 @@ BEGIN
     RETURN result
 END findPointerBaseType;
 
-PROCEDURE matchesToNIL(t: Types.Type): BOOLEAN;
+PROCEDURE matchesToNIL(VAR t: Types.Type): BOOLEAN;
     RETURN (t IS Types.Pointer) OR (t IS Types.Procedure)
 END matchesToNIL;
 

+ 2 - 2
src/ob/Code.ob

@@ -397,7 +397,7 @@ BEGIN
     RETURN result
 END genExport;
 
-PROCEDURE genCommaList(name: STRING; closure: Closure);
+PROCEDURE genCommaList(name: STRING; VAR closure: Closure);
 BEGIN
     IF LEN(closure.result) # 0 THEN
         closure.result := closure.result + ", ";
@@ -418,7 +418,7 @@ BEGIN
     RETURN "var " + SELF.name + " = function (" + closure.result + "){" + Stream.kCR
 END ModuleGenerator.prolog;
 
-PROCEDURE genExports(s: Symbols.Symbol; closure: Closure);
+PROCEDURE genExports(s: Symbols.Symbol; VAR closure: Closure);
 VAR
     code: STRING;
 BEGIN

+ 1 - 1
src/ob/Lexer.ob

@@ -18,7 +18,7 @@ CONST
 
 TYPE
     Literal = POINTER TO RECORD
-        s: ARRAY 1 OF CHAR
+        s: STRING
     END;
 
 PROCEDURE isDigit(c: CHAR): BOOLEAN;

+ 1 - 1
src/ob/Procedure.ob

@@ -169,7 +169,7 @@ BEGIN
     processArguments(actual, expected, NIL, types);
 END checkArguments;
 
-PROCEDURE initStd*(name: STRING; call: PCall; result: Std);
+PROCEDURE initStd*(name: STRING; call: PCall; VAR result: Std);
 BEGIN
     Types.initProcedure(result, name);
     result.call := call;

+ 2 - 2
src/ob/Scope.ob

@@ -76,7 +76,7 @@ BEGIN
     RETURN result
 END makeStdSymbols;
 
-PROCEDURE init(scope: Type; stdSymbols: JsMap.Type);
+PROCEDURE init(VAR scope: Type; stdSymbols: JsMap.Type);
 BEGIN
     scope.stdSymbols := stdSymbols;
     scope.symbols := JsMap.make();
@@ -227,7 +227,7 @@ BEGIN
     JsMap.put(closure(CompiledModule).exports, id, symbol);
 END addExport;
 
-PROCEDURE defineExports*(m: CompiledModule; exports: JsMap.Type);
+PROCEDURE defineExports*(VAR m: CompiledModule; exports: JsMap.Type);
 BEGIN
     JsMap.forEach(exports, addExport, m);
 END defineExports;

+ 3 - 3
src/ob/Types.ob

@@ -419,7 +419,7 @@ PROCEDURE recordBase*(r: Record): PRecord;
     RETURN r.base
 END recordBase;
 
-PROCEDURE setRecordBase*(r: Record; type: PRecord);
+PROCEDURE setRecordBase*(VAR r: Record; type: PRecord);
 BEGIN
     r.base := type;
 END setRecordBase;
@@ -664,12 +664,12 @@ BEGIN
     RETURN result
 END makeProcedure;
 
-PROCEDURE initProcedure*(p: Procedure; name: STRING);
+PROCEDURE initProcedure*(VAR p: Procedure; name: STRING);
 BEGIN
     p.name := name;
 END initProcedure;
 
-PROCEDURE initModule*(m: Module; name: STRING);
+PROCEDURE initModule*(VAR m: Module; name: STRING);
 BEGIN
     m.name := name;
 END initModule;