summaryrefslogtreecommitdiff
path: root/compiler/jvm
diff options
context:
space:
mode:
authorsvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-09-18 14:48:54 +0000
committersvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-09-18 14:48:54 +0000
commitf189dd518215af7507a4ea3c19bfaf30b3b8ac8c (patch)
treeaaf0ac7d49b1f2dde9432dda5d4af1b9086af094 /compiler/jvm
parentf08785642dea319aca349b3a959c7770ce3925df (diff)
downloadfpc-f189dd518215af7507a4ea3c19bfaf30b3b8ac8c.tar.gz
ncal.pas:
* extend tcallnode with the ability to pass a tspecializationcontext so that tcallcandidates can do a final specialization * the final procdef is registered at the end of tcallnode.pass_typecheck git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31763 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/jvm')
-rw-r--r--compiler/jvm/njvmcal.pas2
-rw-r--r--compiler/jvm/njvmcnv.pas10
-rw-r--r--compiler/jvm/njvminl.pas4
-rw-r--r--compiler/jvm/njvmld.pas2
-rw-r--r--compiler/jvm/njvmmem.pas4
5 files changed, 11 insertions, 11 deletions
diff --git a/compiler/jvm/njvmcal.pas b/compiler/jvm/njvmcal.pas
index e4aa37c576..09a9c2a74a 100644
--- a/compiler/jvm/njvmcal.pas
+++ b/compiler/jvm/njvmcal.pas
@@ -591,7 +591,7 @@ implementation
in theory do that, because the parameter nodes have already
been bound to the current procdef's parasyms }
remove_hidden_paras;
- result:=ccallnode.create(left,tprocsym(sym),symtableproc,methodpointer,callnodeflags);
+ result:=ccallnode.create(left,tprocsym(sym),symtableproc,methodpointer,callnodeflags,nil);
result.flags:=flags;
left:=nil;
methodpointer:=nil;
diff --git a/compiler/jvm/njvmcnv.pas b/compiler/jvm/njvmcnv.pas
index 7dc603f6ae..66d642698e 100644
--- a/compiler/jvm/njvmcnv.pas
+++ b/compiler/jvm/njvmcnv.pas
@@ -524,7 +524,7 @@ implementation
with a single #0 }
result:=ccallnode.create(ccallparanode.create(left,nil),tprocsym(ps),
ps.owner,
- cloadvmtaddrnode.create(ctypenode.create(java_ansistring)),[]);
+ cloadvmtaddrnode.create(ctypenode.create(java_ansistring)),[],nil);
include(result.flags,nf_isproperty);
result:=ctypeconvnode.create_explicit(result,resultdef);
{ reused }
@@ -863,7 +863,7 @@ implementation
{ call the (static class) method to get the raw bits }
result:=ccallnode.create(ccallparanode.create(left,nil),
tprocsym(psym),psym.owner,
- cloadvmtaddrnode.create(ctypenode.create(csym.typedef)),[]);
+ cloadvmtaddrnode.create(ctypenode.create(csym.typedef)),[],nil);
{ convert the result to the result type of this type conversion node }
inserttypeconv_explicit(result,resultdef);
{ left is reused }
@@ -882,7 +882,7 @@ implementation
internalerror(2011062601);
result:=ccallnode.create(ccallparanode.create(left,nil),
tprocsym(psym),psym.owner,
- cloadvmtaddrnode.create(ctypenode.create(todef.classdef)),[]);
+ cloadvmtaddrnode.create(ctypenode.create(todef.classdef)),[],nil);
{ convert the result to the result type of this type conversion node }
inserttypeconv_explicit(result,resultdef);
{ left is reused }
@@ -899,7 +899,7 @@ implementation
if not assigned(psym) or
(psym.typ<>procsym) then
internalerror(2011062602);
- result:=ccallnode.create(nil,tprocsym(psym),psym.owner,left,[]);
+ result:=ccallnode.create(nil,tprocsym(psym),psym.owner,left,[],nil);
{ convert the result to the result type of this type conversion node }
inserttypeconv_explicit(result,resultdef);
{ left is reused }
@@ -1506,7 +1506,7 @@ implementation
if not assigned(ps) or
(ps.typ<>procsym) then
internalerror(2011041910);
- call:=ccallnode.create(ccallparanode.create(node.left,nil),tprocsym(ps),ps.owner,ctypeconvnode.create_explicit(node.right,jlclass),[]);
+ call:=ccallnode.create(ccallparanode.create(node.left,nil),tprocsym(ps),ps.owner,ctypeconvnode.create_explicit(node.right,jlclass),[],nil);
node.left:=nil;
node.right:=nil;
firstpass(call);
diff --git a/compiler/jvm/njvminl.pas b/compiler/jvm/njvminl.pas
index 3141b48016..8c11487459 100644
--- a/compiler/jvm/njvminl.pas
+++ b/compiler/jvm/njvminl.pas
@@ -595,7 +595,7 @@ implementation
internalerror(2011031403);
stringnonnull:=cassignmentnode.create(
ctemprefnode.create(lentemp),
- ccallnode.create(nil,tprocsym(psym),psym.owner,stringtemp,[]));
+ ccallnode.create(nil,tprocsym(psym),psym.owner,stringtemp,[],nil));
{ else-path: length is 0 }
stringnull:=cassignmentnode.create(
ctemprefnode.create(lentemp),
@@ -618,7 +618,7 @@ implementation
internalerror(2011052402);
result:=
ccallnode.create(nil,tprocsym(psym),psym.owner,
- ctypeconvnode.create_explicit(caddrnode.create_internal(left),java_shortstring),[]);
+ ctypeconvnode.create_explicit(caddrnode.create_internal(left),java_shortstring),[],nil);
{ reused }
left:=nil;
end
diff --git a/compiler/jvm/njvmld.pas b/compiler/jvm/njvmld.pas
index 0115d99889..0b576f0eda 100644
--- a/compiler/jvm/njvmld.pas
+++ b/compiler/jvm/njvmld.pas
@@ -142,7 +142,7 @@ function tjvmassignmentnode.pass_1: tnode;
ccallnode.create(
ccallparanode.create(right,
ccallparanode.create(tvecnode(target).right,nil)),
- tprocsym(psym),psym.owner,tvecnode(target).left,[]);
+ tprocsym(psym),psym.owner,tvecnode(target).left,[],nil);
right:=nil;
tvecnode(target).left:=nil;
tvecnode(target).right:=nil;
diff --git a/compiler/jvm/njvmmem.pas b/compiler/jvm/njvmmem.pas
index 26c00c7b21..c6beca7b21 100644
--- a/compiler/jvm/njvmmem.pas
+++ b/compiler/jvm/njvmmem.pas
@@ -332,7 +332,7 @@ implementation
if not assigned(vs) or
(tsym(vs).typ<>procsym) then
internalerror(2011041901);
- result:=ccallnode.create(nil,tprocsym(vs),vs.owner,left,[]);
+ result:=ccallnode.create(nil,tprocsym(vs),vs.owner,left,[],nil);
inserttypeconv_explicit(result,resultdef);
{ reused }
left:=nil;
@@ -385,7 +385,7 @@ implementation
{ Pascal strings are 1-based, Java strings 0-based }
result:=ccallnode.create(ccallparanode.create(
caddnode.create(subn,right,genintconstnode(1)),nil),tprocsym(psym),
- psym.owner,ctypeconvnode.create_explicit(left,stringclass),[]);
+ psym.owner,ctypeconvnode.create_explicit(left,stringclass),[],nil);
left:=nil;
right:=nil;
exit;