|
@@ -72,15 +72,10 @@ Class PropertyList Extends FuncList
|
|
|
If pdecl.IsExtension selfType=selfType.superType
|
|
|
|
|
|
If Not instance.type.ExtendsType( selfType )
|
|
|
-' Print instance.type.ToString()
|
|
|
-' Print cscope.ctype.ToString()
|
|
|
Throw New SemantEx( "Property '"+pdecl.ident+"' cannot be accessed from an instance of a different class" )
|
|
|
Endif
|
|
|
|
|
|
Return New PropertyValue( Self,instance )
|
|
|
-
|
|
|
- 'If instance Return New PropertyValue( Self,instance )
|
|
|
- 'Return Null
|
|
|
End
|
|
|
|
|
|
End
|
|
@@ -110,13 +105,6 @@ Class PropertyValue Extends Value
|
|
|
Return plist.getFunc.ToValue( instance ).Invoke( Null )
|
|
|
End
|
|
|
|
|
|
- #rem
|
|
|
- Method UpCast:Value( type:Type ) Override
|
|
|
-
|
|
|
- Return ToRValue().UpCast( type )
|
|
|
- End
|
|
|
- #end
|
|
|
-
|
|
|
Method Assign:Stmt( pnode:PNode,op:String,rvalue:Value,block:Block ) Override
|
|
|
|
|
|
Local inst:=instance
|
|
@@ -141,10 +129,6 @@ Class PropertyValue Extends Value
|
|
|
Local rtype:=BalanceAssignTypes( op,value.type,rvalue.type )
|
|
|
rvalue=New BinaryopValue( value.type,op2,value,rvalue.UpCast( rtype ) )
|
|
|
|
|
|
- 'ValidateAssignOp( op,value.type )
|
|
|
- 'Local rtype:=value.type
|
|
|
- 'If op2="shl" Or op2="shr" rtype=Type.IntType
|
|
|
- 'rvalue=New BinaryopValue( value.type,op2,value,rvalue.UpCast( rtype ) )
|
|
|
Endif
|
|
|
|
|
|
Endif
|
|
@@ -171,4 +155,3 @@ Class PropertyValue Extends Value
|
|
|
End
|
|
|
|
|
|
End
|
|
|
-
|