|
@@ -426,6 +426,7 @@ TYPE
|
|
prevScope := currentScope;
|
|
prevScope := currentScope;
|
|
currentScope := x;
|
|
currentScope := x;
|
|
e := x.firstConstant;
|
|
e := x.firstConstant;
|
|
|
|
+ nextHighest := highest;
|
|
WHILE (e # NIL) DO
|
|
WHILE (e # NIL) DO
|
|
Register(e,x,FALSE);
|
|
Register(e,x,FALSE);
|
|
IF SymbolNeedsResolution(e) THEN
|
|
IF SymbolNeedsResolution(e) THEN
|
|
@@ -433,7 +434,7 @@ TYPE
|
|
value := ConstantExpression(e.value);
|
|
value := ConstantExpression(e.value);
|
|
value := NewConversion(e.position,value,x.ownerEnumeration,NIL);
|
|
value := NewConversion(e.position,value,x.ownerEnumeration,NIL);
|
|
ELSE
|
|
ELSE
|
|
- value := SyntaxTree.NewEnumerationValue(e.position,highest+1);
|
|
|
|
|
|
+ value := SyntaxTree.NewEnumerationValue(e.position,nextHighest+1);
|
|
value.SetType(x.ownerEnumeration);
|
|
value.SetType(x.ownerEnumeration);
|
|
END;
|
|
END;
|
|
IF (value.resolved # NIL) & (value.resolved IS SyntaxTree.EnumerationValue) THEN
|
|
IF (value.resolved # NIL) & (value.resolved IS SyntaxTree.EnumerationValue) THEN
|