@@ -921,7 +921,7 @@ func constructSubjectClause() ElementHook {
921921 return f , nil
922922 }
923923 tkn := ce .Token ()
924- c := st .workingConstructClause
924+ c := st .WorkingConstructClause ()
925925 if c .S != nil {
926926 return nil , fmt .Errorf ("invalid subject %v in construct clause, subject already set to %v" , tkn .Type , c .S )
927927 }
@@ -952,10 +952,13 @@ func constructPredicateClause() ElementHook {
952952 return f , nil
953953 }
954954 tkn := ce .Token ()
955- c := st .workingConstructClause
955+ c := st .WorkingConstructClause ()
956956 if c .P != nil {
957957 return nil , fmt .Errorf ("invalid predicate %v in construct clause, predicate already set to %v" , tkn .Type , c .P )
958958 }
959+ if c .PID != "" {
960+ return nil , fmt .Errorf ("invalid predicate %v in construct clause, predicate already set to %v" , tkn .Type , c .PID )
961+ }
959962 if c .PBinding != "" {
960963 return nil , fmt .Errorf ("invalid predicate %v in construct clause, predicate already set to %v" , tkn .Type , c .PBinding )
961964 }
@@ -983,10 +986,13 @@ func constructObjectClause() ElementHook {
983986 return f , nil
984987 }
985988 tkn := ce .Token ()
986- c := st .WorkingClause ()
989+ c := st .WorkingConstructClause ()
987990 if c .O != nil {
988991 return nil , fmt .Errorf ("invalid object %v in construct clause, object already set to %v" , tkn .Text , c .O )
989992 }
993+ if c .OID != "" {
994+ return nil , fmt .Errorf ("invalid object %v in construct clause, objct already set to %v" , tkn .Type , c .OID )
995+ }
990996 if c .OBinding != "" {
991997 return nil , fmt .Errorf ("invalid object %v in construct clause, object already set to %v" , tkn .Type , c .OBinding )
992998 }
0 commit comments